Commit graph

92 commits

Author SHA1 Message Date
Marc Véron
4750d321ec Bug 14949: (followup) Fix regression with hard due date
This patch fixes the regresseion as described in comment #3

To test:

- Go on smart-rules.pl and edit a line. Do not define a Hard due date, save.
  The value is "None defined".

- Edit the line, do not change anything and save.
  The value should be "None defined"

- Edit the line, define a hard due date, save.
  The date should display as expected.

- Edit the line agein, remove the hard due date, save.
  The value should be "None defined"

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-10-27 10:11:05 -03:00
Marc Véron
52c646b3ea Bug 14949: Remove C4::Dates from admin/smart-rules.pl and admin/categorie.pl
Bug to remove C4::Dates from
 - admin/smart-rules.pl
 - admin/categorie.pl

To test:

- Apply patch

- Go to Home > Administration > Circulation and fine rules (smart-rules.pl)
- Edit or add a rule
- Verify that 'Hard due date' displays and saves fine

- Go to Home > Administration > Patron categories
- Edit or add a category
- Verify that 'Until date' displays and saves fine

Note: The date picker does not warn about wrong date formats as e.g. while
      editing patrons, but that is not in the scope of this bug

Signed-off-by: Joonas Kylmälä <j.kylmala@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-10-27 10:10:57 -03:00
f86816220e Bug 13590: Add ability to charge fines at start of charge period
Right now, Koha only charges fines at the end of a given charge period.
For example, let us assume a circulation rule has a charge period of one
week ( 7 days ) and a fine of $5. This means that an item can be overdue
for 6 days without accruing a fine. Koha should allow circulation rules
to be configured to place the charge at the start of the end of the
charge period so the library can decide when the fine should accrue.

Test Plan:
1) Apply this patch
2) Run updatedatabase.pl
3) prove t/db_dependent/Circulation_Issuingrule.t
4) prove t/db_dependent/Circulation.t
5) prove t/db_dependent/Fines.t
6) Ensure you can still create/edit circulation rules

Edit: I removed the DBIx changes after a couple minutes fighting with them.
Will regenerate as usual in a RM followup / Tomas

Signed-off-by: Daniel Grobani <dgrobani@samuelmerritt.edu>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-10-22 14:51:24 -03:00
Jonathan Druart
eda4070f2b Bug 14045: Introduce the maxonsiteissueqty field as a copy of maxissueqty
This patch adds the new fields maxonsiteissueqty as a copy of the
existing maxissueqty field.

There is no brainy code here, it only adds the ability to fill the new
field from the admin interface (admin/smart-rules.pl).

Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-10-13 11:13:23 -03:00
Jonathan Druart
a6c9bd0eb5 Bug 9978: Replace license header with the correct license (GPLv3+)
Signed-off-by: Chris Nighswonger <cnighswonger@foundations.edu>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>

http://bugs.koha-community.org/show_bug.cgi?id=9987

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2015-04-20 09:59:38 -03:00
ebccf4099f Bug 5786 [QA Followup]
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2015-03-25 10:33:31 -03:00
Srdjan
1802aa9153 Bug 5786 - Move AllowOnShelfHolds and OPACItemHolds system prefs to the Circulation Matrix
C4::Reserves:
* Added OnShelfHoldsAllowed() to check issuingrules
* Added OPACItemHoldsAllowed() to check issuingrules
* IsAvailableForItemLevelRequest() changed interface, now takes
  $item_record,$borrower_record; calls OnShelfHoldsAllowed()

opac/opac-reserve.pl and opac/opac-search.pl:
* rewrote hold allowed rule to use OPACItemHoldsAllowed()
* also use OnShelfHoldsAllowed() through
* IsAvailableForItemLevelRequest()

templates:
* Removed AllowOnShelfHolds and OPACItemHolds global flags, they now
  only have meaning per item type

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>

I have tested this patch left, right and upside down for the last
several months. All tests have passed.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2015-03-25 10:33:14 -03:00
Jonathan Druart
e20270fec4 Bug 11944: use CGI( -utf8 ) everywhere
Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Dobrica Pavlinusic <dpavlin@rot13.org>

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2015-01-13 13:07:21 -03:00
Holger Meißner
633f6c150e Bug 11577: Add "Automatic renewal" to the circulation and fine rules
This patch adds a column "Automatic renewal" to the circulation and
fine rules table.

To test:

1) Add or edit some issuing rules.
2) Confirm that "Automatic Renewal" is set to "No" by default and
   can be switched to "Yes".

Sponsored-by: Hochschule für Gesundheit (hsg), Germany
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-09-17 19:23:09 -03:00
afd2418d73 Bug 11349: Change .tmpl -> .tt in scripts using templates
Since we switched to Template Toolkit we don't need to stick with the
sufix we used for HTML::Template::Pro.

This patch changes the occurences of '.tmpl' in favour of '.tt'.

To test:
- Apply the patch
- Install koha, and verify that every page can be accesed

Regards
To+

P.S. a followup will remove the glue code.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-07-17 11:05:49 -03:00
Jonathan Druart
cf77e13347 Bug 12230: (follow-up) maxsuspensiondays should be set to NULL if not set
Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-05-26 01:40:15 +00:00
Jonathan Druart
aa6117da36 Bug 12230: Set a maximum suspension days as a new issuing rule
This patch adds a new issuing rule: maxsuspensiondays.

A new column "Max. suspension duration (day)" appears in the main table
of the issuing rules.

If this value is filled, on returning an item, a patron won't be
suspended longer than this cap.

Test plan:
1/ Set "suspension in days" to 2.
2/ Check an item out to a patron and specify a due date to today - 10
days.
3/ Check the item in and verify the patron is suspended until today + 10
* 2 days.
4/ Remove the suspension.
5/ Set "Max. suspension duration" to 10.
6/ Check an item out to a patron and specify a due date to today - 10
days.
7/ Check the item in and verify the patron is suspended until today + 10
days.

Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-05-26 01:39:19 +00:00
Galen Charlton
ef25c3665b Bug 7413: (follow-up) validate norenewalbefore values better
This patch ensures both both '0' and strings consisting of zero
or more blanks are recognized by the circ rules editor as specifying
clearing the "no renewal before" value.  Concretely, this fixes
warnings of the following form when clearing this field:

    Argument "" isn't numeric in numeric eq (==)

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-04-08 22:46:28 +00:00
Holger Meißner
6fd4b4f05a Bug 7413: Add "No renewal before" to the circulation and fine rules
This patch adds a column "No renewal before" to the circulation and
fine rules table.

To test:
1) Add or edit some issuing rules.
2) Confirm that an empty entry, zero and non-numerical values for
   "No renewal before" are saved as undefined.
3) Confirm that numerical values can be entered and saved.

Sponsored-by: Hochschule für Gesundheit (hsg), Germany
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
2014-04-07 18:28:57 +00:00
Jonathan Druart
8ad00bc02f Bug 8365: Add a renewal duration in the issuing rules
Renew an issue for a number of days (filled in the issuing rules).

Test if rules work for any i[item]types and if there is no regression.

- new column issuingrules.renewalperiod
- remove all occurrences of an already removed syspref (globalDueDate)
- remove an unused routine (Overdues::GetIssuingRules)

How it works:
- On existing installations, the issuingrules.renewalperiod =
  issuingrules.loanlength. So the behaviour is the same before and after
  this patch.
- when you add a rule, you can choose a renewal period (the unit value
  is the issuingrules.unit). So you can have a renewal period in hours
  or days.
- The default value for the renewal period is 21 days (same as
  loanlength)

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Test comments on second patch.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 07:56:59 -04:00
Mark Tompsett
3779dcd085 Bug 8772 - Uninitialized variable triggers error log entry in smart_rules.pl
Changed declartion from:
  my $op = $input->param('op');
to
  my $op = $input->param('op') || q{};
in order to give an empty string default preventing error
logs from filling needlessly.

Signed-off-by: Marc Veron <veron@veron.ch>

The patch removes warnings like:
Use of uninitialized value $op in string eq at...

However there is one more warning, but it is not related to $op (addressed by this patch):
smart-rules.pl: Use of uninitialized value in string ne at .../admin/smart-rules.pl line 388.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-10-09 11:52:07 +02:00
Elliott Davis
381794ff4e [PATCH] bug_7420: Added overduefinescap to issuingrules
Replaced existing MaxFine syspref logic with overduefinescap.
Repurposed MaxFine to be the overall overdue limit for all items
overdue. Implemented new MaxFine logic in UpdateFine().

Signed-off-by: Elliott Davis <elliott@bywatersolutions.com>
Tested according to Srdjan's test plan and everything worked like he said it would.  I set fined equal to $2 and max fine equal to $1.      When I ran the fines script for overdue items fines assessed were only $1.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-07-25 18:33:20 +02:00
Srdjan
c1e5462db1 bug_8083: parameters subpermissions: manage_circ_rules and parameters_remaining_permissions
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2012-07-23 10:43:59 +02:00
Colin Campbell
6078c1acf6 Bug 2505 : use warnings in smart_rules.pl
Fix some careless code redeclaring a variable
declaring a variable in a condition
so that these don't generate errors

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2012-04-10 11:30:20 +02:00
Chris Cormack
0c40ff9f98 Merge remote-tracking branch 'kc/master' into merged_5549
Fixed conflicts

Conflicts:
	catalogue/moredetail.pl
	installer/data/mysql/updatedatabase.pl
	koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt
2012-03-22 09:36:55 +13:00
Ian Walls
d92c595dc4 Enhancement 7144: Floating Collections (per branch/itemtype)
Adds support for Floating Collections (i.e. items that don't automatically return
home when checked in at another branch) on a per branchcode/itemtype basis.

This patch adds a new column (returnbranch) to the default_circ_rules, default_branch_item_rules,
default_branch_circ_rules and branch_item_rules tables, after the 'holdsallowed' column.  While
this is coded as a varchar(15), the only currently supported values are 'homebranch', 'holdingbranch',
'noreturn' and NULL.

On upgrade, the value of HomeOrHoldingBranchReturn is used to populate the global default (which is
stored in default_circ_rules.returnbranch).

To access this value, use C4::Circulation::GetBranchItemRule.  This subroutine is altered to supply
an additional key, "returnbranch", containing this value (or 'homebranch' as a default).  No existing
usage of GetBranchItemRule should need to be modified.

The use of HomeOrHoldingBranchReturn is removed in AddReturn to instead use this subroutine.  This will
determine, on a more granular level, where the item should be transferred, after all is said and done.  If
'noreturn' is specified, then the material will remain at the branch doing the checking in.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Passes prove t xt t/db_dependent

I was able to make this feature work as advertised.
As noted above, if you want a floating rule applied across all branches, adding a single default rule won't suffice, you'll need to add the rule to all branches. That issue is not related to the functioning of *this* patch however.
2012-03-21 10:28:26 +01:00
Colin Campbell
8cea8e5cc0 Bug 5549 : Allow hourly loans to be indicated in the loan rules
Add a column indicating whether we are talking days or hours here
This work is merely a holding version pending a better version
2012-03-20 12:07:19 +13:00
Colin Campbell
df6ba9bc5f Bug 5453: Move declarations out of conditionals
Patch admin/*.pl scripts

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-07-15 15:50:20 +12:00
D Ruth Bavousett
eba64bf25d Bug 6351: Unable to delete branch-specific circulation rule
The URL on the page did not have a branchcode, so the delete failed silently, and
returned the user to the "All" rules page.  Turns out, the array for the rules was
not being populated with the branchcode!

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-05-27 21:02:44 +12:00
Ian Walls
e57dadf762 Bug 5548: Hard Due Dates Circ Rule
Implements the RFC found at http://wiki.koha-community.org/wiki/Hard_Due_Dates_Circ_Rule_RFC.  See squashed commits
messages below for details of implementation.

Squashed commit of the following:

commit 871b91af00871146eb1216ebf5ce673dda2c5925
Author: Ian Walls <ian.walls@bywatersolutions.com>
Date:   Tue Dec 28 15:09:49 2010 -0500

    Hard Due Dates dev part 3: implementing the due dates in circ

    CalcDateDue now calls GetLoanLength, rather than each invocation running separately one after another.  Therefore, instead of
    the 'loanlength' param, CalcDateDue now takes 'itype', and uses the info to get both the issuelength and the hardduedate info (if it exists)

    Global Due Date no longer populates in the sticky due date field in Circ, since it can't be determined before the item is scanned.  Any specified
    due date still overrides the circulation rules, if allowed.

    Hard Due Dates in the past will return an error message, but can be manually specified if truly desired.

    Also, a small fix to updatedatabase.pl to allow the old data to populate if possible.

commit 14d5505f3c01287a2464a759f0076c1d4b665c49
Author: Ian Walls <ian.walls@bywatersolutions.com>
Date:   Mon Dec 27 18:28:11 2010 -0500

    HardDueDates dev part 2:  adding admin interface

    Adds columns to Smart Rules page, including calendar for easy date selection.

    Removes globalDueDate and ceilingDueDates from system preferences editors

commit 76e3e3d86a7a54c6ce4253e7f68278b4dc75a0bb
Author: Ian Walls <ian.walls@bywatersolutions.com>
Date:   Mon Dec 27 15:58:05 2010 -0500

    HardDueDates dev part 1: database changes

    Adds two new columns to issuingrules, a hardduedate and a hardduedatecompare.  If globalduedate is set, use that as the universal value
    for all circ rules.  Else, if ceilingduedate is set, use that as the universal value.  Adjust the comparison accordingly (-1 before, 0
    exact, 1 after).  the old system preferences globalDueDate and ceilingDueDate are then removed.

    Rebased onto 3.03.00.032

Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Jared Camins-Esakov <jcamins@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-03-30 20:35:45 +13:00
Paul Poulain
ddbedbfc2f Bug 4330 : Adding some copyright BibLibre statements 2011-03-21 10:57:20 +13:00
Ian Walls
4735e296cf Bug 5824: Creating a circ rule for a specific library causes anomalies
The variable name for the current branch being edited was the same as the variable used in
cat-search.inc, which passed along the circ-rule library to circulation.pl, and then overriding
the set library from there.

This patch renames the template variable 'current_branch', so that it does not populate the 'branch'
param in cat-search.inc

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-03-05 20:38:36 +13:00
Donovan Jones
bce3e2e619 Bug 2505 - Add commented use warnings where missing in the admin/ directory 2010-04-21 20:20:11 +12:00
Lars Wirzenius
2c67656108 Fix FSF address in directory admin/
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-03-16 20:17:50 -04:00
Chris Cormack
89b3e11356 Can now add rental discounts - wr62194 2010-01-15 10:14:55 +01:00
Henri-Damien LAURENT
0f015abd99 smart-rules : clonerules enhancement
Cloning rules should be available as soon as there is one rule
2009-09-30 11:30:33 +02:00
Henri-Damien LAURENT
3c741d2376 Smart Rules enhancements
Adding finedays and reservesallowed and renewalsallowed management in smart rules
Adding Clone Rules
Adding CanBookBeReserved and CanItemBeReserved in C4::Reserves
Manage Reservesallowed in opac and staff interface
Manage renewalsallowed in C4/Circulation.pm
Update Database follow

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-30 11:22:20 +02:00
Michael Hafen
ee83c4ae80 smart-rules load users library instead of default
If the user isn't a super librarian load their library by default instead of
the default settings.

This would eliminate some confusion amoung my librarians.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-06 09:13:16 -04:00
Garry Collum
b776266faa Bug 2889: Added highlighting to smart-rules.tmpl
Removed unused toggle variable form smart-rules.pl and added highlighting to smart-rules.tmpl through template __odd__.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-06-11 06:10:41 -05:00
Jesse Weaver
1301705150 Add holds policies
This adds holds policy creation support to smart rules and read support to
C4/Circulation.pm, and the two reservation pages. It also adds a system
preference, AllowHoldPolicyOverride, to control whether the staff can override
these policies.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-01-16 08:21:07 -06:00
Galen Charlton
376c130153 bug 2000: addition changes to rules editor
* Added ability to specify total loans allowed at a library
  for the default patron category.  If set, the default
  limit is applied if no rule for the specific library
  and patron category is set.
* Added ability to specify default total loans allowed
  for the default library; this is applied if no rule
  for the specify library is set.
* Form now indicates if the number of current checkouts
  allowed is unlimited.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 08:19:05 -05:00
Galen Charlton
c9a7dd5520 bug 2000 - add total loan limit to alt. issuing rules
The alternate issuing rules editor can now allow
defining the maximum number of loans that a borrower
of a given category can take out per branch, regardless
of item type.

The form for entering this limit now appears below
the form for setting loan rules per patron category
and item type.  The form only appears if a specific
branch is chosen, not if the default branch is used.

Also, some terminology changes:

* "Amount Loanable" => "Current Checkouts Allowed"
* "Amount" => "Fine Amount"
* "Grace Period" => "Fine Grace Period"
* "Charging Interval" => "Fine Charging Interval"
* "Loan time" => "Loan Period"

Documentation change: new screenshots for the alternate
loan rules form.

squashme terminology

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 08:19:04 -05:00
Galen Charlton
3e9a94c546 bug 2000 - alternate issuing rules - set sorting of rules
Issuing rules are now explicitly sorted by patron category,
then item type.  The default patron category sorts last; within
a list of item types for a given patron category, the default
item type sorts last.  This follows the order in which
the issuing rules are applied.

Since the primary sort is patron category, also moved that
to be the first column in the issuing rules table.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 08:19:03 -05:00
Galen Charlton
d6934ca397 bug 2000 - alternate issuing rules - some form cleanup
Improvements to smart-rules.pl to allow it to
replace issuingrules.pl.

* standardized "borrower type" to "patron category"
* made default item type and patron category ('Any')
  translatable
* regularized construction of parameters for rule
  deletion operatrion

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 08:19:00 -05:00
Ryan Higgins
fc98d228c2 Sort dropdowns for libraries by name instead of branchcode in several staff-side interfaces.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-02 00:50:33 -05:00
Joe Atzberger
bb777e64dd smart-rules.pl - tighten regexp, Debug for warn statements, readable layout.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-22 18:02:49 -05:00
Pianohacker
947add3ff8 Added combined, line-wise smart-rules script for defining issuingrules.
Also added template for "prog" set, and modified admin-home and -menu accordingly.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-22 21:49:10 -06:00