Lines 99-108
Controller function that handles adding a new Koha::Acquisition::Bookseller obje
Link Here
|
99 |
sub add { |
99 |
sub add { |
100 |
my $c = shift->openapi->valid_input or return; |
100 |
my $c = shift->openapi->valid_input or return; |
101 |
|
101 |
|
102 |
my $vendor = $c->req->json; |
102 |
my $vendor = $c->req->json; |
103 |
my $contacts = delete $vendor->{contacts}; |
103 |
my $contacts = delete $vendor->{contacts}; |
104 |
my $interfaces = delete $vendor->{interfaces}; |
104 |
my $interfaces = delete $vendor->{interfaces}; |
105 |
my $aliases = delete $vendor->{aliases}; |
105 |
my $aliases = delete $vendor->{aliases}; |
|
|
106 |
my $extended_attributes = delete $vendor->{extended_attributes}; |
106 |
|
107 |
|
107 |
my $vendor_to_store = Koha::Acquisition::Bookseller->new_from_api( $c->req->json ); |
108 |
my $vendor_to_store = Koha::Acquisition::Bookseller->new_from_api( $c->req->json ); |
108 |
|
109 |
|
Lines 113-118
sub add {
Link Here
|
113 |
$vendor_to_store->aliases( $aliases || [] ); |
114 |
$vendor_to_store->aliases( $aliases || [] ); |
114 |
$vendor_to_store->interfaces( $interfaces || [] ); |
115 |
$vendor_to_store->interfaces( $interfaces || [] ); |
115 |
|
116 |
|
|
|
117 |
if ( scalar(@$extended_attributes) > 0 ) { |
118 |
my @extended_attributes = |
119 |
map { { 'id' => $_->{field_id}, 'value' => $_->{value} } } @{$extended_attributes}; |
120 |
$vendor_to_store->extended_attributes( \@extended_attributes ); |
121 |
} |
122 |
|
116 |
$c->res->headers->location( $c->req->url->to_string . '/' . $vendor_to_store->id ); |
123 |
$c->res->headers->location( $c->req->url->to_string . '/' . $vendor_to_store->id ); |
117 |
return $c->render( |
124 |
return $c->render( |
118 |
status => 201, |
125 |
status => 201, |
Lines 143-148
sub update {
Link Here
|
143 |
my $contacts = exists $vendor_update->{contacts} ? delete $vendor_update->{contacts} : undef; |
150 |
my $contacts = exists $vendor_update->{contacts} ? delete $vendor_update->{contacts} : undef; |
144 |
my $interfaces = exists $vendor_update->{interfaces} ? delete $vendor_update->{interfaces} : undef; |
151 |
my $interfaces = exists $vendor_update->{interfaces} ? delete $vendor_update->{interfaces} : undef; |
145 |
my $aliases = exists $vendor_update->{aliases} ? delete $vendor_update->{aliases} : undef; |
152 |
my $aliases = exists $vendor_update->{aliases} ? delete $vendor_update->{aliases} : undef; |
|
|
153 |
my $extended_attributes = |
154 |
exists $vendor_update->{extended_attributes} ? delete $vendor_update->{extended_attributes} : undef; |
146 |
|
155 |
|
147 |
$vendor->set_from_api($vendor_update); |
156 |
$vendor->set_from_api($vendor_update); |
148 |
$vendor->store(); |
157 |
$vendor->store(); |
Lines 151-156
sub update {
Link Here
|
151 |
$vendor->aliases( $aliases || [] ) if defined $aliases; |
160 |
$vendor->aliases( $aliases || [] ) if defined $aliases; |
152 |
$vendor->interfaces( $interfaces || [] ) if defined $interfaces; |
161 |
$vendor->interfaces( $interfaces || [] ) if defined $interfaces; |
153 |
|
162 |
|
|
|
163 |
if ( scalar(@$extended_attributes) > 0 ) { |
164 |
my @extended_attributes = |
165 |
map { { 'id' => $_->{field_id}, 'value' => $_->{value} } } @{$extended_attributes}; |
166 |
$vendor->extended_attributes( \@extended_attributes ); |
167 |
} |
168 |
|
154 |
return $c->render( |
169 |
return $c->render( |
155 |
status => 200, |
170 |
status => 200, |
156 |
openapi => $c->objects->to_api($vendor), |
171 |
openapi => $c->objects->to_api($vendor), |