Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Edit: Kyle, stop impersonating John Doe
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
New column has now been changed to an enum in line with comments and the strings have been amended to be picked up for translation. The file koha-tmpl/intranet-tmpl/prog/en/includes/str/checkout_renewals.inc has been removed as the variables can be included within the javascript file.
Test plan:
1) In the database shell run "show columns from checkout_renewals;" and observe that there is currently no column for recording the type of renewal
2) Apply patch
3) In the shell run "dbic" and "perl installer/data/mysql/updatedatabase.pl" to update the database schema with the new column.
4) Create some checkouts
5) Renew some checkouts manually and observe in the database that there is now a column called "renewal_type" that will have recorded these as "Manual"
6) Create some checkouts that can be automatically renewed
7) Run the cron script in automatic_renewals.pl and observe that there are now also entries with a renewal_type of "Automatic"
8) Send a GET request to http://localhost:8081/api/v1/checkouts/1/renewals and observe that the renewal_type is now returned in the response
9) In the Item Details tab for a record, there is the "Current renewals" option which has a button to view renewals. Click on this and observe that the modal now displays the new information.
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
A requirement has been requested to record whether a renewal was done manually or automatically. A column has been added to the checkout_renewals table in the database to record this and a check is now in place to determine whether the renewal was manual or automatic. The API has also been updated to reflect this new column and return the data when requested. The renewals modal view has also been updated to show what type the renewal was.
Test plan:
1) In the database shell run "show columns from checkout_renewals;" and observe that there is currently no column for recording the type of renewal
2) Apply patch
3) In the shell run "dbic" and "perl installer/data/mysql/updatedatabase.pl" to update the database schema with the new column.
4) Create some checkouts
5) Renew some checkouts manually and observe in the database that there is now a column called "renewal_type" that will have recorded these as "Manual"
6) Create some checkouts that can be automatically renewed
7) Run the cron script in automatic_renewals.pl and observe that there are now also entries with a renewal_type of "Automatic"
8) Send a GET request to http://localhost:8081/api/v1/checkouts/1/renewals and observe that the renewal_type is now returned in the response
9) In the Item Details tab for a record, there is the "Current renewals" option which has a button to view renewals. Click on this and observe that the modal now displays the new information.
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch adds a new target to the Makefile which gets
called as the first step of the "all" target. This means
that CSS and JS files get compiled every time "make" is
called.
(Note: Since the "install" target depends on "all", it will
be re-run at install time.)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch adds a trivial perl wrapper around the yarn build and calls
it from Makefile.PL.
I 'think' this is all we need to get packaging, dev and standard
installs happy with the lack of our compiled files in source.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch utilises the generic return option introduced in the previous
patch to prevent lose of context when clicking to login to add a comment
to a biblio.
Test plan
1/ Test that prior to this patch, upon clicking 'Log in to your account
to post a comment' you are redirected to opac-user.pl and thus loose
your context.
2/ Apply the patch
3/ Confirm that a login using the 'Log in to your account to post a
comment' link now redirect immediatly back the correct record and thus
maintains context.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This change checks that the OPACBaseURL exists, and uses its scheme
and authority to rewrite the URL passed through the "return"
param.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch adds the option to trigger a redirect back to the current
context after successful login using modal logins triggered from various
places in the OPAC.
To make use of this, simply add 'data-return="true"' to the modal trigger link.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This change wraps Koha plugin hook calls with exception handling
within the template plugin for Koha plugins.
Test plan:
0) Apply patch
1) Install a plugin that provides "opac_head", "opac_js",
"intranet_head", and "intranet_js" with Perl errors in them
2) Load an OPAC page
3) Note that the OPAC page loads correctly
4) Load a staff interace page
5) Note that the staff interface page loads correctly
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch chanegs the code to report only the patron's personal fines, and to report a block
from other fines in the screen message
This is to prevent overpayment on accounts from SIP machines
To test:
1 - prove t/db_dependent/SIP/Patron.t
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
In order to easily hide this new text, this patch adds the class "included-see-from-headings-info".
Also uses <div> instead of <p>.
And adds the same feature to OPAC.
Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Test plan :
1) Apply patch
2) Set system preference IncludeSeeFromInSearches to "Include"
3) Go to staff interface advanced search
4) Check you see tip text in "Search for"
5) Set system preference IncludeSeeFromInSearches to "Don't include"
6) Go to staff interface advanced search
7) Check you don't see tip text in "Search for"
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch updates administration templates so that fieldsets with the
"action" class are placed outside the form's main fieldset.
To test, apply the patch and check the following pages to confirm that
the forms look correct:
- Administration
-> Keyboard shortcuts
-> Audio alerts
-> Share content with Mana KB
- When the ManaToken system preference is empty, the page should
have two forms with updated fieldsets: the form with the "Use
Mana KB..." field and a "Configure Mana KB" form.
- With a ManaToken defined the second form should be one labeled
"Mana KB token."
-> Budgets
- Click on a budget which has existing funds.
- In the page toolbar click Planning -> Plan by libraries.
- Check the forms in the sidebar.
-> System preferences -> OverDriveAuthName
- Follow the link to "OverDrive library authnames table" and check
the form on that page.
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
As suggested by David Nind, this patch updates the call to z3950 search
on the authority edit page to match the sizing of the one from the
details page.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Now this action has the same pre-filling behaviour as the "Edit" -> "Edit Record" -> "Replace Record via Z39.50/SRU Search" action.
Author Personal - Author Meeting/Conf. - Uniform Title and Subject are filled in if the subfield contains data (like the "Edit->Replace" action).
Unimarc and Marc21 specificities are supported.
Test Plan :
1) You must have a Z39.50/SRU server for authorities
2) Go to an authority detail page (Author - Uniform title - Subject)
3)After go to "Edit"-> "Edit record" -> "Replace record via..." or
choose "Replace Record.." directly
4) See that form is also prefilled with data now
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
If the installer files exist for a given language, the translate script
won't update it.
We should get a confirmation from Bernardo (author of bug 24262), but I
don't understand why it could be needed (side-effects?)
Test plan:
Installer several times the same language, drop the DB and run the
installer+onboarding process.
Check files installed by the installer (yaml for notice templates,
biblio frameworks) have inserted the data properly in DB.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomás Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch adds unit tests to show SIP's behavior on checkout according to the
AllFinesNeedOverride, AllowFineOverride and noissuescharge sysprefs, knowingly:
+----------------------+-------------------+---------+---------+
| AllFinesNeedOverride | AllowFineOverride | Under | Over |
+----------------------+-------------------+---------+---------+
| 0 | 0 | allowed | blocked |
| 0 | 1 | allowed | blocked |
| 1 | 0 | blocked | blocked |
| 1 | 1 | blocked | blocked |
+----------------------+-------------------+---------+---------+
(the columns Under and Over are referring to "under noissuescharge" and
"over noissuescharge")
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
The warn call here was passing the full item object which leads to
HASH() in the logs.. this patch updates it to pass the itemnumber which
is more helpful.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Adapted test plan:
1) Apply this patch
2) For DUE and PREDUE notices, set the message body to the following:
Title: [% checkout.title %]
3) For DUEDGST and PREDUEDGST notices, set the message body to the following:
Titles:
[% FOREACH c IN checkouts %]
* [% c.title %][% END %]
4) Generate PREDUE and DUE notices for patrons including digests
5) Verify those notices contain the checkout titles
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Edit: tcohen renamed @issues => @checkouts as well
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Tomás Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Remove loops that only operate one one result only
Signed-off-by: Felicity Brown <Felicity.Brown@montgomerycountymd.gov>
Signed-off-by: George Veranis <gveranis@dataly.gr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Predue / due notices are limited to using itemscontent to display checkouts data. It would be nice to make all the checkouts data available for those notices so that libraries could format that data more nicely if they wish.
1) Apply this patch
2) For DUE and PREDUE notices, set the message body to the following:
Title: [% issue.title %]
3) For DUEDGST and PREDUEDGST notices, set the message body to the following:
Titles:
[% FOREACH i IN issues %]
* [% i.title %]
[% END %]
4) Generate PREDUE and DUE notices for patrons including digests
5) Verify those notices contain the checkout titles
Signed-off-by: Felicity Brown <Felicity.Brown@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
We need to order the slots chronologically, not depending on when they
have been added.
Test plan:
Create a slot 13 to 17 the another one 8 to 12
We want to display 8 to 12 before 13 to 17.
Confirm that this patch fixes that on the 3 following views:
Curbside pickups admin
Curbside pickups staff side
Curbside pickups at the OPAC
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch adds comments to the template to highlight the markup
structure.
This patch should have no effect on the page's appearance or
functionality.
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch reindents the invoice template so that it has consistent
indentation. These changes should have no visible effect on the page.
To test, apply the patch and go to Acquisitions -> Invoices.
- Perform a search which will return invoice results.
- Click on an invoice to view the details.
- Everything should look normal.
Viewing the diff while ignoring whitespace changes should show only
places where a line break was added.
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
In Suggestions management, in the table displaying all suggestions, add
a column to display suggester category. This way, it is possible for
example for the librarian managing suggestions rather to prioritize
suggestions coming from teachers than those coming from students.
TEST :
1. Apply the patch.
2. Acquisition > Suggestions.
3. There is a new column 'Suggester category'. It can be
displayed/hidden.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This makes sure that the descriptions in the pull-downs always
match for selected/unselected.
This is not only for consistency, but will also ease translations
as simple things like an additional space will create a new
string to translate.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
'Script of title' values =>
e - b/c/d/e/f/g/h
i - d/e
j - f/g
l - f
n - b/c
o - a
p - a
'Translitteral code' values =>
'g' and 'h'
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This makes sure that the focus is on the first field of the
form when adding a new currency.
To test:
* Go to administration > currencies
* Add a new currency
* Verify the focus is not on the form
* Apply patch
* Repeat, verify the focus is now on the first input "currency"
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch updates three serials templates to replace tab markup with
the use of WRAPPERs.
To test requires more data than will be found in the sample data. You
need at least one subscription with issues spanning more than one year.
I suggest creating a new subscription which starts in December, then
receive one issue from December and one in January.
Apply the patch and go to Serials.
- Perform a subscription search.
- On the search results page there should be two tabs: "Open" and
"Closed." These tabs should work correctly.
- Open the detail view of one of your subscriptions.
- You should see at least four tabs: "Information," "Planning,"
"Issues," and "Summary."
- In some cases an "Acquisition details" tab will also appear. To test
this you must go to Acquisitions and add an order to a basket by
choosing "From a subscription" option.
- Click "Serial collection" in the left-hand sidebar.
- There should be tabs for each year of subscription issues in your
collection.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch implements the template WRAPPER system (see Bug 32571) for
building tabs on the invoices page.
To test you must have at least one open invoice and one closed invoice.
- Go to Acquisitions -> Invoices.
- You should see two tabs, "Open invoices" and "Closed invoices."
- The tabs should look correct and work correctly.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch implements the template WRAPPER system (see Bug 32571) for
building tabs on the basket groups page.
To test you must have at least one active vendor, one or more closed
baskets under that vendor, and at least one basket group containing a
closed basket.
Apply the patch and go to Acquisitions -> Vendor -> Basket groups.
You should see two tabs, "Open" and "Closed." The tabs should look
correct and work correctly.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch implements the template WRAPPER system (see Bug 32571)
for building tabs on the item circulation alerts page.
To test, apply the patch and go to Administration -> Item
circulation alerts. There should be two tabs, "Checkout" and
"Check-in" which work correctly.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch implements the template WRAPPER system (see Bug 32571) for
building tabs on the library transfer limits page.
To test, apply the patch and go to Administration -> Library
transfer limits. It should look the same as before and all tabs should
function correctly.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch implements the proposed system for building tabs on the About
page.
To test, apply the patch and view the About page. It should look the
same as before and all tabs should function correctly.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>