Browse Source

Bug 9448: Add separate permission for writing off fees

Adds new sub-permissions to updatecharges, 'writeoff' for writing off
fees and 'remaining_permissions' for all other fee related activites.

Test plan:
1) Apply patch
2) Run updatedatabase.pl
3) Remove the 'writeoff' permission from your privileges
4) Attempt to write off a fee, you should not be able to
5) Re-add the 'writeoff' permission
6) Attempt to write off a fee, you should now be able to do so

Signed-off-by: Joel Sasse <jsasse@plumcreeklibrary.net>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
3.16.x
Kyle Hall 11 years ago
committed by Galen Charlton
parent
commit
d5a976b1fa
  1. 2
      installer/data/mysql/de-DE/mandatory/userpermissions.sql
  2. 2
      installer/data/mysql/en/mandatory/userpermissions.sql
  3. 2
      installer/data/mysql/es-ES/mandatory/userpermissions.sql
  4. 2
      installer/data/mysql/fr-FR/1-Obligatoire/userpermissions.sql
  5. 2
      installer/data/mysql/it-IT/necessari/userpermissions.sql
  6. 2
      installer/data/mysql/nb-NO/1-Obligatorisk/userpermissions.sql
  7. 2
      installer/data/mysql/pl-PL/mandatory/userpermissions.sql
  8. 2
      installer/data/mysql/ru-RU/mandatory/permissions_and_user_flags.sql
  9. 2
      installer/data/mysql/uk-UA/mandatory/permissions_and_user_flags.sql
  10. 8
      installer/data/mysql/updatedatabase.pl
  11. 4
      koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tt
  12. 2
      members/boraccount.pl
  13. 2
      members/mancredit.pl
  14. 2
      members/maninvoice.pl
  15. 3
      members/pay.pl
  16. 3
      members/paycollect.pl
  17. 2
      members/printfeercpt.pl
  18. 2
      members/printinvoice.pl

2
installer/data/mysql/de-DE/mandatory/userpermissions.sql

@ -11,6 +11,8 @@ INSERT INTO permissions (module_bit, code, description) VALUES
( 9, 'edit_catalogue', 'Katalogdaten bearbeiten (Titel- und Exemplardaten ändern)'),
( 9, 'fast_cataloging', 'Schnellaufnahmen anlegen'),
( 9, 'edit_items', 'Exemplare bearbeiten'),
(10, 'writeoff', 'Write off charges'),
(10, 'remaining_permissions', 'Remaining updatecharges permissions'),
(11, 'vendors_manage', 'Lieferanten verwalten'),
(11, 'contracts_manage', 'Vereinbarungen verwalten'),
(11, 'period_manage', 'Etats verwalten'),

2
installer/data/mysql/en/mandatory/userpermissions.sql

@ -11,6 +11,8 @@ INSERT INTO permissions (module_bit, code, description) VALUES
( 9, 'edit_catalogue', 'Edit catalog (Modify bibliographic/holdings data)'),
( 9, 'fast_cataloging', 'Fast cataloging'),
( 9, 'edit_items', 'Edit Items'),
(10, 'writeoff', 'Write off charges'),
(10, 'remaining_permissions', 'Remaining updatecharges permissions'),
(11, 'vendors_manage', 'Manage vendors'),
(11, 'contracts_manage', 'Manage contracts'),
(11, 'period_manage', 'Manage periods'),

2
installer/data/mysql/es-ES/mandatory/userpermissions.sql

@ -11,6 +11,8 @@ INSERT INTO permissions (module_bit, code, description) VALUES
( 9, 'edit_catalogue', 'Edit catalog (Modify bibliographic/holdings data)'),
( 9, 'fast_cataloging', 'Fast cataloging'),
( 9, 'edit_items', 'Edit Items'),
(10, 'writeoff', 'Write off charges'),
(10, 'remaining_permissions', 'Remaining updatecharges permissions'),
(11, 'vendors_manage', 'Manage vendors'),
(11, 'contracts_manage', 'Manage contracts'),
(11, 'period_manage', 'Manage periods'),

2
installer/data/mysql/fr-FR/1-Obligatoire/userpermissions.sql

@ -11,6 +11,8 @@ INSERT INTO permissions (module_bit, code, description) VALUES
( 9, 'edit_catalogue', 'Ajouter et modifier des notices au catalogue'),
( 9, 'fast_cataloging', 'Catalogage rapide'),
( 9, 'edit_items', 'Modifier des exemplaires'),
(10, 'writeoff', 'Write off charges'),
(10, 'remaining_permissions', 'Remaining updatecharges permissions'),
(13, 'edit_news', 'Ecrire des nouvelles pour l''OPAC et l''interface professionnelle'),
(13, 'label_creator', 'Créer des étiquettes à partir des données du catalogues et des adhérents'),
(13, 'edit_calendar', 'Définir les jours de fermeture de la bibliothèque'),

2
installer/data/mysql/it-IT/necessari/userpermissions.sql

@ -13,6 +13,8 @@ INSERT INTO permissions (module_bit, code, description) VALUES
( 9, 'edit_catalogue', 'Cataloga (crea/modifica dati bibliografici e di copia)'),
( 9, 'fast_cataloging', 'Catalogazione veloce'),
( 9, 'edit_items', 'Crea/modifica copie'),
(10, 'writeoff', 'Write off charges'),
(10, 'remaining_permissions', 'Remaining updatecharges permissions'),
(11, 'vendors_manage', 'Crea/modifica fornitori'),
(11, 'contracts_manage', 'Crea/modifica contratti'),
(11, 'period_manage', 'Gestisci scadenze budgets'),

2
installer/data/mysql/nb-NO/1-Obligatorisk/userpermissions.sql

@ -31,6 +31,8 @@ INSERT INTO permissions (module_bit, code, description) VALUES
( 9, 'edit_catalogue', 'Endre katalogen (Endre bibliografiske poster og eksemplaropplysninger)'),
( 9, 'fast_cataloging', 'Hurtigkatalogisering'),
( 9, 'edit_items', 'Endre eksmeplarer'),
(10, 'writeoff', 'Write off charges'),
(10, 'remaining_permissions', 'Remaining updatecharges permissions'),
(11, 'vendors_manage', 'Administrere leverandører'),
(11, 'contracts_manage', 'Administrere kontrakter'),
(11, 'period_manage', 'Administrere perioder'),

2
installer/data/mysql/pl-PL/mandatory/userpermissions.sql

@ -11,6 +11,8 @@ INSERT INTO permissions (module_bit, code, description) VALUES
( 9, 'edit_catalogue', 'Edit catalogue'),
( 9, 'fast_cataloging', 'Szybkie katalogowanie'),
( 9, 'edit_items', 'Edit Items'),
(10, 'writeoff', 'Write off charges'),
(10, 'remaining_permissions', 'Remaining updatecharges permissions'),
(11, 'vendors_manage', 'Zarządzanei dostawcami'),
(11, 'contracts_manage', 'Zarządzanie kontraktami'),
(11, 'period_manage', 'Manage periods'),

2
installer/data/mysql/ru-RU/mandatory/permissions_and_user_flags.sql

@ -37,6 +37,8 @@ INSERT INTO permissions (module_bit, code, description) VALUES
( 9, 'edit_catalogue', 'Edit catalog (Modify bibliographic/holdings data)'),
( 9, 'fast_cataloging', 'Fast cataloging'),
( 9, 'edit_items', 'Edit Items'),
(10, 'writeoff', 'Write off charges'),
(10, 'remaining_permissions', 'Remaining updatecharges permissions'),
(11, 'vendors_manage', 'Manage vendors'),
(11, 'contracts_manage', 'Manage contracts'),
(11, 'period_manage', 'Manage periods'),

2
installer/data/mysql/uk-UA/mandatory/permissions_and_user_flags.sql

@ -37,6 +37,8 @@ INSERT INTO permissions (module_bit, code, description) VALUES
( 9, 'edit_catalogue', 'Edit catalog (Modify bibliographic/holdings data)'),
( 9, 'fast_cataloging', 'Fast cataloging'),
( 9, 'edit_items', 'Edit Items'),
(10, 'writeoff', 'Write off charges'),
(10, 'remaining_permissions', 'Remaining updatecharges permissions'),
(11, 'vendors_manage', 'Manage vendors'),
(11, 'contracts_manage', 'Manage contracts'),
(11, 'period_manage', 'Manage periods'),

8
installer/data/mysql/updatedatabase.pl

@ -8129,6 +8129,14 @@ if(CheckVersion($DBversion)) {
SetVersion($DBversion);
}
$DBversion = "3.15.00.XXX";
if ( CheckVersion($DBversion) ) {
$dbh->do("INSERT INTO permissions (module_bit, code, description) VALUES ('10', 'writeoff', 'Write off charges')");
$dbh->do("INSERT INTO permissions (module_bit, code, description) VALUES ('10', 'remaining_permissions', 'Remaining updatecharges permissions')");
print "Upgrade to $DBversion done (Bug 9448 - Add separate permission for writing off fees)\n";
SetVersion ($DBversion);
}
=head1 FUNCTIONS
=head2 TableExists($table)

4
koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tt

@ -100,7 +100,7 @@ function enableCheckboxActions(){
<td>
[% IF ( line.amountoutstanding > 0 ) %]
<input type="submit" name="pay_indiv_[% line.accountno %]" value="Pay" />
<input type="submit" name="wo_indiv_[% line.accountno %]" value="Write off" />
[% IF CAN_user_updatecharges_writeoff %]<input type="submit" name="wo_indiv_[% line.accountno %]" value="Write off" />[% END %]
[% END %]
<input type="hidden" name="itemnumber[% line.accountno %]" value="[% line.itemnumber %]" />
<input type="hidden" name="description[% line.accountno %]" value="[% line.description %]" />
@ -148,7 +148,7 @@ function enableCheckboxActions(){
</table>
<fieldset class="action">
<input type="submit" id="paycollect" name="paycollect" value="Pay amount" class="submit" />
<input type="submit" name="woall" id="woall" value="Write off all" class="submit" />
[% IF CAN_user_updatecharges_writeoff %]<input type="submit" name="woall" id="woall" value="Write off all" class="submit" />[% END %]
<input type="submit" id="payselected" name="payselected" value="Pay selected" class="submit" />
<a class="cancel" href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% borrower.borrowernumber %]">Cancel</a>
</fieldset>

2
members/boraccount.pl

@ -42,7 +42,7 @@ my ($template, $loggedinuser, $cookie)
query => $input,
type => "intranet",
authnotrequired => 0,
flagsrequired => {borrowers => 1, updatecharges => 1},
flagsrequired => {borrowers => 1, updatecharges => 'remaining_permissions'},
debug => 1,
});

2
members/mancredit.pl

@ -65,7 +65,7 @@ if ($add){
query => $input,
type => "intranet",
authnotrequired => 0,
flagsrequired => $flagsrequired,
flagsrequired => { borrowers => 1, updatecharges => 'remaining_permissions' },
debug => 1,
});

2
members/maninvoice.pl

@ -83,7 +83,7 @@ if ($add){
query => $input,
type => "intranet",
authnotrequired => 0,
flagsrequired => {borrowers => 1, updatecharges => 1},
flagsrequired => {borrowers => 1, updatecharges => 'remaining_permissions'},
debug => 1,
});

3
members/pay.pl

@ -44,12 +44,13 @@ use C4::Members::Attributes qw(GetBorrowerAttributes);
our $input = CGI->new;
my $updatecharges_permissions = $input->param('woall') ? 'writeoff' : 'remaining_permissions';
our ( $template, $loggedinuser, $cookie ) = get_template_and_user(
{ template_name => 'members/pay.tmpl',
query => $input,
type => 'intranet',
authnotrequired => 0,
flagsrequired => { borrowers => 1, updatecharges => 1 },
flagsrequired => { borrowers => 1, updatecharges => $updatecharges_permissions },
debug => 1,
}
);

3
members/paycollect.pl

@ -31,12 +31,13 @@ use C4::Branch;
my $input = CGI->new();
my $updatecharges_permissions = $input->param('writeoff_individual') ? 'writeoff' : 'remaining_permissions';
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
{ template_name => 'members/paycollect.tmpl',
query => $input,
type => 'intranet',
authnotrequired => 0,
flagsrequired => { borrowers => 1, updatecharges => 1 },
flagsrequired => { borrowers => 1, updatecharges => $updatecharges_permissions },
debug => 1,
}
);

2
members/printfeercpt.pl

@ -41,7 +41,7 @@ my ($template, $loggedinuser, $cookie)
query => $input,
type => "intranet",
authnotrequired => 0,
flagsrequired => {borrowers => 1, updatecharges => 1},
flagsrequired => {borrowers => 1, updatecharges => 'remaining_permissions'},
debug => 1,
});

2
members/printinvoice.pl

@ -38,7 +38,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
query => $input,
type => "intranet",
authnotrequired => 0,
flagsrequired => { borrowers => 1, updatecharges => 1 },
flagsrequired => { borrowers => 1, updatecharges => 'remaining_permissions' },
debug => 1,
}
);

Loading…
Cancel
Save