@@ -, +, @@
- 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 %]
--