This reverts commit a693c7243c which
caused regressions.
The original loop compared start date to end date and iterated all the
way to start date equals end date. The alternate implimentation
inadvertantly looped from start date, skipped the first day then
iterated up to one day beyond end date.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This minimal class encapsulates the tabs to be passed around to the
templates, so error checking on missing bits is done in a single place.
It throws exceptions on errors
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(Too much javascript in my head...)
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
MDN says:
Using characters except ASCII letters, digits, '_', '-' and '.' may
cause compatibility problems, as they weren't allowed in HTML 4.
Though this restriction has been lifted in HTML5, an ID should start
with a letter for compatibility.
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Test Plan:
1) Enable plugins
2) Download and install the latest version of this plugin
https://git.biblibre.com/biblibre/koha-plugin-intranet-detail-hook
3) Browse to catalogue/detail.pl for a record
4) Note you see two new tabs with content
Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
To test:
1 - Create a new basket in acq, mark it as 'standing'
2 - Add an item, leave the RRP and Vendor price as 0
3 - Receive shipments for the vendor
4 - Select the title from this basket
5 - On receipt enter an actual cost
6 - Finsih receiving
7 - Go to the basket
8 - Note the total for the order and the basket are 0, keep this browser tab open
9 - Open a new browser tab and create a new non standing basket
10 - Add to basket, again with no RRP or vendor price
11 - Close the basket, receive the item
12 - Enter an actual cost on receipt
13 - Return to view the basket
14 - Total and order are $0
15 - Apply patch
16 - Refresh the basket in both tabs
17 - You now see the actual price for the orders
Signed-off-by: Rhonda Kuiper <rkuiper@roundrocktexas.gov>
Signed-off-by: Bouzid Fergani <bouzid.fergani@inlibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This just fixes a couple of typos in the POD that predate this patch but
I noticed whilst QAing this ;)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
To test:
1 - Add an item to an acquisitions basket
2 - Make sure to enter 'Actual cost'
3 - Check the db:
SELECT * FROM aqorders WHERE ordernumber={your ordernumber}
4 - Note that unitprice_tax_included and unitprice_tax_excluded are not populated
5 - Apply patch
6 - Edit that order
7 - Check DB
8 - Values should be populated
9 - Place another order, ensude values populated on creation
10 - QA people: prove -v t/db_dependent/Acquisition/populate_order_with_prices.t
Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
The timezone of the two dt was different, one was UTC, the other one was
my local one.
When we mocked DateTime->now we did not use the time zone, we must use
dt_from_string instead
Test plan:
Make sure your environment has a different time zone than UTC
`prove t/db_dependent/Circulation.t` should fail without this patch
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Do to a simple semantic typo, the branches key will always be null for the tables key of the parameters for GetPreparedLetter.
Test Plan:
0) Activate UseEmailReceipts
1) Attempt to use [% branch.branchname %] in the ACCOUNT_PAYMENT notice
2) Note it produces no output
3) Apply this patch
4) Make another payment
5) You should now see the branche's name!
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Also requires UseEmailReceipts to be activated.
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Updated contents of Describe for GetRecords to match current behaviour.
To test, ensure ILSDI is configured and then compare the output of:
http://yourserver/cgi-bin/koha/ilsdi.pl?service=Describe&verb=GetRecords
before and after applying the patch. Note that afterwards it includes
things like <onloan> and has removed elements such as <date_due> that no
longer get returned.
https://bugs.koha-community.org/show_bug.cgi?id=23429
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Bug 21987 had unexpected effects upon image quality for thumbnails.
Currently, we are working to resolve those issues but have not managed
to correct them inside the release window for this cycle. As such, I
have chosen to revert the original bug whilst we work on a resolution.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch adds explicit disablement of the sysprefs introduced by this
bug to the Search.t test to silence warnings.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch adds musical inscripts to OPAC's detail page
To test:
1. run previous patch test plan
2. apply this patch
3. edit a the marc structure of a MARC bibliographic framework, and in tag 031 enable the following subfiels to be visible in editor: 2, g, n, o, p, u
4. search the catalog for a record that belongs to that framework, and edit tag 031 with the following:
* 2:pe
* g:G-2
* n:xFCGD
* o:3/8
* p:'6B/{8B+(6B''E'B})({AFD})/{6.E3G},8B-/({6'EGF})({FAG})({GEB})/4F6-
* u:http://nonexistent.org/url/of/a/midi
5. save and click in opac view
CHECK => even though you add a 031 tag there is no musical inscript shown in opac view
6. in admin module enable OPACShowMusicalInscripts preference
7. refresh opac view
SUCCESS => it takes a few seconds to load, but you see a link that says 'Audio file' pointing to the URL you placed in 'u' subfield, and below you see the musical inscript
8. in admin module enable OPACPlayMusicalInscripts preference
9. refresh opac view
SUCCESS => You see a play button below the musical inscript, and when you click, the song is played
10. sign off
Sponsored-by: Biblioteca Provincial Fr. Mamerto Esquiú (Provincia Franciscana de la Asunción)
Co-authored-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch adds 2 new system preferences:
1. OPACShowMusicalInscripts - to toggle musical inscripts to appear in opac's detail page
2. OPACPlayMusicalInscripts - to toggle musical inscripts to be transformed and payed in midi. Depends on OPACShowMusicalInscripts to be enabled.
To test:
1. apply this patch
2. perl installer/data/mysql/updatedatabase.pl
3. search for this new preferences in admin module
SUCCESS => they appear in OPAC section.
4. sign off
Sponsored-by: Biblioteca Provincial Fr. Mamerto Esquiú (Provincia Franciscana de la Asunción)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Adds support for using the "scan indexes" action in advanced search by using faceting with a prefix filter. Requires that the field be set as facetable for anything to be found.
Test plan:
1. Apply patch
2. Go to advanced search and click "More options"
3. Select author as the search field, enter a last name and check "Scan indexes"
4. Perform search and observe the result list resembling scan results
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Test plan:
1. Verify that biblioitems.itemtype, items.itype are
mapped to a MARC field. Otherwise create those mappings.
2. Create a biblio with an itemtype
3. Create an item with a different itemtype for this biblio
4. Check out this item to a patron (P1)
5. Verify that both itemtypes are displayed in the
checkouts table (moremember.pl, circulation.pl, returns.pl)
6. Create a patron whose guarantor is P1 and verify that both itemtypes
and the ccode are displayed in the 'relatives checkouts' table
Followed test plan, patch worked as described, also passes QA test tool
Signed-off-by: Alex Buckley <alexbuckley@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch adds a link to the default bibliographic details page from
the breadcrumbs menu on the item details page.
The patch also makes a minor update to staff client CSS to allow for use
of biblio-default-view.inc to generate the link and have it styled
correctly.
To test, apply the patch and update the staff client CSS
(https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_client).
Locate an record in the catalog and view the item details page. Verify
that the breadcrumbs menu includes a link back to the bibliographic
details page as defined in the IntranetBiblioDefaultView system
preference.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
When the leader6 is set to 'i' the MARC21slim2intranetDetail.xsl
attempts to display 'SO.png' which does not exist.
TEST PLAN:
1. Find or create a record with an 'i' as the 6th position in the 000 leader.
2. Do to the OPAC detail page and staff detail for an item in that record.
3. Notice the material type icon does not display because SO.png does not exist.
4. Apply patch and restart_all
5. Look at the opac detail and staff detail page again after clearning the browser cache.
6. The material type icon now displays (MU.png), this is the same icon used on the OPAC results page.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch removes the part of the About page which gives attribution
for Noun Project icons on the staff client home page.
To test, apply the patch and view the About page in the staff client.
There should be no reference to Noun Project icons.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch updates the TinyMCE editor to the latest version (5.0.16) and
adds a translatable include file which will allow the TinyMCE interface
to show the same translation as Koha.
The configuration of the editor has been updated according to the new
version's requirements, keeping all the tools available we had before
and adding emoji support.
To test, apply the patch and enable the UseWYSIWYGinSystemPreferences
system preference.
TESTING THE UPGRADED EDITOR
- Go to Administration -> System preferences -> OPAC.
- Multiple instances of the TinyMCE editor should appear on the page:
opaccredits, OpacCustomSearch, OpacLoginInstructions, etc.
- Test adding and editing content to one or more of these editors.
Confirm that the various editor tools work correctly.
- Verify that changing the contents of any editor (including via paste)
enables the corresponding "Save all X preferences" button.
- Test the news editor under Tools -> News.
- Test the library "OPAC info" editor in libraries administration:
Administration -> Libraries -> Edit library -> OPAC info.
TESTING TRANSLATABILITY
- Update a translation:
> cd misc/translator
> perl translate update fr-FR
- Open the corresponding .po file for the staff client, e.g.
misc/translator/po/fr-FR-staff-prog.po
- Locate strings pulled from includes/str/tinymce_i18n.inc for
translation, e.g.:
#. SCRIPT
#: intranet-tmpl/prog/en/includes/str/tinymce_i18n.inc:1
#, fuzzy
msgid "File"
msgstr "Fichier :"
- Edit the "msgstr" string however you want (it's just for testing) and
remove the "fuzzy" line.
- Install the updated translation:
> perl translate install fr-FR
- Go to Administration -> System preferences -> OPAC.
- In each instance of the TinyMCE editor, the first menu item should
have as its label the translation "msgstr" string you edited.
- Check that the "About" page shows updated information about
the TinyMCE version, 5.0.16.
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
To test:
1 - Check out to a patron
2 - Note the display under the checkotu box does not have title
3 - Apply patch
4 - Checkout another item
5 - Note the title displays
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
To test:
1.Enable multi-languages
2.Set the preference 'TranslateNotices' on 'Allow'
3.Go to: tools==>Notices & slips==>Edit (one notice)
4.Click on the "Email" in the Default, uncheck the checkbox for 'HTML Messages'.
5.Save
6.Reopen the notice, nothing changed.
7.Apply the patch
8.Repeat the steps 4 and 5
9.Success.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
As of bug 20589 we no longer analyze sort fields and so we no longer need to append ".phrase"
to our sort in searches.
Additionally, sort fields based on 'sum' should also use sum in building the value to sort on
To test:
0 - Be using ES
1 - Find the most circulated item in your collection
2 - Search for '*'
3 - Sort by popularity DESC
4 - Note that item is not first
5 - Try to sort by anything but relevancy, it fails
6 - Apply patch
7 - Redo searches and sorts
8 - Things should now work as expected
Signed-off-by: Ere Maijala <ere.maijala@helsinki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
MariaDB and MySQL support different syntaxes for CHECK constraints at
different versions. To remove complexities in the updatedatabase script
I have opted to remove all CHECK constraints entirely.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch adds the ability to set a date format for the Template Toolkit filter KohaDates
Test plan:
1) Apply this patch
2) In a template, use the filter param "dateformat => 'iso'"
3) Note the output is in ISO format
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Bouzid Fergani <bouzid.fergani@inlibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Bug 22203 changed the behavior on the hold-found2 modal
that pops up when a hold is found so that whether or not
the patron's name is displayed is now governed by the
HidePatronName system preference.
However, if a hold is confirmed and you check the item
in a second time, the modal that pops up is hold-found1
and whether or not the patron's name is displayed in
the hold-found1 modal is not governed by the HidePatronName
system preference.
For the sake of consistency, the display of the patron's
name on hold-found2 and hold-found1 should both be governed
by the HidePatronName system preference.
To test:
- Place a hold on an item
- Check in the item to trigger the hold modal
- Confirm hold
- Check the item in again - verify name of patron displays
- Apply patch
- Repeat
- Verify name display now matches between the two modals
- change HidePatronName pref
- Repeat
- Name display should still match
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
The /cities endpoint is refered in several places as the reference
implementation of a route for devs to pick it for copy and pasting. Yet,
it is outdated in terms of how the tests are written.
This patch rewrites some bits so it uses BASIC auth and the built-ins
Test::Mojo provides.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
According to the coding guidelines, this endpoint should be adding the
Location header on POST actions.
To test:
1. Apply the tests patch
2. Run:
$ kshell
k$ prove t/db_dependent/api/v1/cities.t
=> FAIL: Tests fail!
3. Apply this patch
4. Repeat (1)
=> SUCCESS: Tests pass!
5. Sign off :-D
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>