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, |