Browse Source

Bug 17443: Make possible to renew patron by later of expiry and current date

Test plan
1) Apply the patch
2) Go to system preferences and find the BorrowerRenewalPeriodBase and note there is new option "the later of current and expiry date"
3) Try all three options and confirm they work as expected
   3.1) The new options should be tested et least with two patrons - one with expiry date in past and one with expiry date in future

Signed-off-by: radiuscz <radek.siman@centrum.cz>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
16.11.x
Josef Moravec 8 years ago
committed by Kyle M Hall
parent
commit
0a85759d33
  1. 14
      Koha/Patron.pm
  2. 1
      installer/data/mysql/atomicupdate/bug_17443.sql
  3. 2
      installer/data/mysql/sysprefs.sql
  4. 1
      koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/patrons.pref

14
Koha/Patron.pm

@ -295,11 +295,15 @@ Extending the subscription to the expiry date.
sub renew_account {
my ($self) = @_;
my $date =
C4::Context->preference('BorrowerRenewalPeriodBase') eq 'dateexpiry'
? dt_from_string( $self->dateexpiry )
: dt_from_string;
my $date;
if ( C4::Context->preference('BorrowerRenewalPeriodBase') eq 'combination' ) {
$date = ( dt_from_string gt dt_from_string( $self->dateexpiry ) ) ? dt_from_string : dt_from_string( $self->dateexpiry );
} else {
$date =
C4::Context->preference('BorrowerRenewalPeriodBase') eq 'dateexpiry'
? dt_from_string( $self->dateexpiry )
: dt_from_string;
}
my $patron_category = Koha::Patron::Categories->find( $self->categorycode ); # FIXME Should be $self->category
my $expiry_date = $patron_category->get_expiry_date($date);

1
installer/data/mysql/atomicupdate/bug_17443.sql

@ -0,0 +1 @@
UPDATE systempreferences SET options = "now|dateexpiry|combination", explanation = "Set whether the borrower renewal date should be counted from the dateexpiry, from the current date or by combination: if the dateexpiry is in future use dateexpiry, else use current date " WHERE variable = "BorrowerRenewalPeriodBase";

2
installer/data/mysql/sysprefs.sql

@ -82,7 +82,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `
('BlockReturnOfWithdrawnItems','1','0','If enabled, items that are marked as withdrawn cannot be returned.','YesNo'),
('BorrowerMandatoryField','surname|cardnumber',NULL,'Choose the mandatory fields for a patron\'s account','free'),
('borrowerRelationship','father|mother','','Define valid relationships between a guarantor & a guarantee (separated by | or ,)','free'),
('BorrowerRenewalPeriodBase','now','dateexpiry|now','Set whether the borrower renewal date should be counted from the dateexpiry or from the current date ','Choice'),
('BorrowerRenewalPeriodBase','now','dateexpiry|now|combination','Set whether the borrower renewal date should be counted from the dateexpiry, from the current date or by combination: if the dateexpiry is in future use dateexpiry, else use current date ','Choice'),
('BorrowersLog','1',NULL,'If ON, log edit/create/delete actions on patron data','YesNo'),
('BorrowersTitles','Mr|Mrs|Miss|Ms',NULL,'Define appropriate Titles for patrons','free'),
('BorrowerUnwantedField','',NULL,'Name the fields you don\'t need to store for a patron\'s account','free'),

1
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/patrons.pref

@ -137,6 +137,7 @@ Patrons:
choices:
now: current date.
dateexpiry: current membership expiry date.
combination: the later one of current and expiry date.
-
- pref: TalkingTechItivaPhoneNotification
choices:

Loading…
Cancel
Save