@@ -, +, @@ - Remove the new permission "delete_invoices" for a given patron, - Create an invoice, try to delete it - Add the permission --- acqui/invoice.pl | 4 ++++ installer/data/mysql/atomicupdate/bug_24157.perl | 7 ++++++- installer/data/mysql/userpermissions.sql | 1 + koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc | 5 +++++ koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoices.tt | 2 +- 5 files changed, 17 insertions(+), 2 deletions(-) --- a/acqui/invoice.pl +++ a/acqui/invoice.pl @@ -110,6 +110,10 @@ elsif ( $op && $op eq 'mod' ) { $template->param( modified => 1 ); } elsif ( $op && $op eq 'delete' ) { + + output_and_exit( $input, $cookie, $template, 'insufficient_permission' ) + unless $logged_in_patron->has_permission( { acquisition => 'delete_invoices' } ); + DelInvoice($invoiceid); defined($invoice_files) && $invoice_files->DelAllFiles(); my $referer = $input->param('referer') || 'invoices.pl'; --- a/installer/data/mysql/atomicupdate/bug_24157.perl +++ a/installer/data/mysql/atomicupdate/bug_24157.perl @@ -11,6 +11,11 @@ if( CheckVersion( $DBversion ) ) { |); + $dbh->do(q| + INSERT IGNORE INTO permissions (module_bit, code, description) VALUES + (11, 'delete_invoices', 'Delete invoices') + |); + SetVersion( $DBversion ); - print "Upgrade to $DBversion done (Bug 24157: Add new permissions reopen_closed_invoices, edit_invoices)\n"; + print "Upgrade to $DBversion done (Bug 24157: Add new permissions reopen_closed_invoices, edit_invoices delete_invoices)\n"; } --- a/installer/data/mysql/userpermissions.sql +++ a/installer/data/mysql/userpermissions.sql @@ -62,6 +62,7 @@ INSERT INTO permissions (module_bit, code, description) VALUES (11, 'edi_manage', 'Manage EDIFACT transmissions'), (11, 'reopen_closed_invoices', 'Reopen closed invoices'), (11, 'edit_invoices', 'Edit invoices'), + (11, 'delete_invoices', 'Delete invoices'), (13, 'edit_news', 'Write news for the OPAC and staff interfaces'), (13, 'label_creator', 'Create printable labels and barcodes from catalog and patron data'), (13, 'edit_calendar', 'Define days when the library is closed'), --- a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc +++ a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc @@ -659,6 +659,11 @@ Edit invoices ([% name | html %]) + [%- CASE 'delete_invoices' -%] + + Delete invoices + + ([% name | html %]) [%# self_check %] [%- CASE 'self_checkin_module' -%] --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoices.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoices.tt @@ -90,7 +90,7 @@ [% END %] [% END %] [% UNLESS invoice.receivedbiblios || invoice.receiveditems %] - [% IF CAN_user_acquisition_edit_invoices %] + [% IF CAN_user_acquisition_delete_invoices %]
  • Delete
  • [% END %] [% END %] --