|
Lines 22-27
use Mojo::Base 'Mojolicious::Controller';
Link Here
|
| 22 |
use Koha::Biblios; |
22 |
use Koha::Biblios; |
| 23 |
use Koha::DateUtils; |
23 |
use Koha::DateUtils; |
| 24 |
use Koha::Ratings; |
24 |
use Koha::Ratings; |
|
|
25 |
use Koha::RecordSources; |
| 25 |
use C4::Biblio qw( DelBiblio AddBiblio ModBiblio ); |
26 |
use C4::Biblio qw( DelBiblio AddBiblio ModBiblio ); |
| 26 |
use C4::Search qw( FindDuplicate ); |
27 |
use C4::Search qw( FindDuplicate ); |
| 27 |
|
28 |
|
|
Lines 762-768
sub update {
Link Here
|
| 762 |
); |
763 |
); |
| 763 |
} |
764 |
} |
| 764 |
|
765 |
|
| 765 |
ModBiblio( $record, $biblio->id, $frameworkcode ); |
766 |
my $record_source_id = $headers->header('x-record-source-id'); |
|
|
767 |
|
| 768 |
my $options = {}; |
| 769 |
|
| 770 |
if ($record_source_id) { |
| 771 |
|
| 772 |
# We've been passed a record source. Verify they are allowed to |
| 773 |
unless ( |
| 774 |
haspermission( |
| 775 |
$c->stash('koha.user')->userid, |
| 776 |
{ editcatalogue => 'set_record_sources' } |
| 777 |
) |
| 778 |
) |
| 779 |
{ |
| 780 |
return $c->render( |
| 781 |
status => 403, |
| 782 |
openapi => { |
| 783 |
error => |
| 784 |
'You do not have permission to set the record source' |
| 785 |
} |
| 786 |
); |
| 787 |
} |
| 788 |
|
| 789 |
# find record source name to given id |
| 790 |
my $record_source = Koha::RecordSources->search( |
| 791 |
{ record_source_id => $record_source_id } )->single; |
| 792 |
|
| 793 |
unless ($record_source) { |
| 794 |
return $c->render( |
| 795 |
status => 409, |
| 796 |
openapi => |
| 797 |
{ error => 'Given record_source_id does not exist' } |
| 798 |
); |
| 799 |
} |
| 800 |
|
| 801 |
$options->{'overlay_context'} = { source => $record_source->name }; |
| 802 |
$options->{'record_source_id'} = $record_source_id; |
| 803 |
} |
| 804 |
|
| 805 |
unless ( $options->{'overlay_context'}->{'source'} ) { |
| 806 |
$options->{'overlay_context'} = { source => '*' }; |
| 807 |
} |
| 808 |
|
| 809 |
ModBiblio( $record, $biblio->id, $frameworkcode, $options ); |
| 810 |
|
| 766 |
|
811 |
|
| 767 |
$c->render( |
812 |
$c->render( |
| 768 |
status => 200, |
813 |
status => 200, |