Jonathan Druart [Fri, 21 Sep 2018 20:55:40 +0000 (17:55 -0300)]
Bug 21396: Add 2 missing use statements in Koha::Account
1. require C4::Letters must be use C4::Letters (from bug 19191)
2. There is call to C4::Circulation::ReturnLostItem, but no use of
C4::Circulation (from bug 20631)
Test plan:
finger crossed, I ran the tests from t/db_dependent/Koha and they all
passed
Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Jon Knight [Mon, 14 May 2018 15:30:55 +0000 (15:30 +0000)]
Bug 16739: Show note instead of 500 error for 'Generate EDIFACT' when no EDI account is configured
When a book seller (vendor) does not have EDI account information configured
the basketgroup display still shows a button to generate EDIFACT output which
results in 500 error when clicked. This patch fixes two aspects of this:
a) it stops the button being displayed in the first place, replacing it with
a message that explains there is not EDIFACT configuration for the vendor.
b) if, somehow, an edifact print operation is passed to the basketgroup
script it detects the lack of an EAN and redirects back to the basket group
display page with a warning message.
To test:
1) Create a vendor with no EDI details.
2) Create a basket with some items in, then close it and add it to a basket
group for this vendor.
3) Go to that vendor's basket groups, click on the "Closed" tab and then
click on the 'generate edifact order' button. You should get a 500 error.
4) Apply this patch.
5) Repeat 3, except this time you should find that the 'generate edifact
order' button has been replaced with a note that there is
"No EDIFACT configuration for <vendor>".
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Jonathan Druart [Sat, 22 Sep 2018 14:08:16 +0000 (11:08 -0300)]
Bug 21398: Make search field mandatory when adding to a basket from an existing record
Test plan:
- Create a basket
- Click the "Add to basket" button
- Click "Search" on the first line
=> Without this patch you get an ugly screen: https://snag.gy/U8X3ZK.jpg
=> With this patch applied you will not be able to submit without
filling the input in
QA note: Yes, we could handle that controller side as well, but much
more work.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Owen Leonard [Tue, 25 Sep 2018 13:51:02 +0000 (13:51 +0000)]
Bug 21407: Can't enter new macros in the advanced cataloging editor (rancor)
This patch upgrades Codemirror to the latest version (5.40.2). Doing so
fixes a problem with the advanced cataloging editor's macro editor which
appears in the latest version of Firefox (62): The first line of the
macro editor is not visible.
To test, apply the patch and clear your browser cache if necessary.
EnableAdvancedCatalogingEditor must be set to "Enable."
- Go to Cataloging -> Advanced editor.
- Click the "Macros" toolbar button.
- In the main part of this modal window you should see a blank line
marked "1."
- Click "New macro..."
- The editor's line 1 should now be editable. Enter text to confirm that
it works correctly.
Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Jonathan Druart [Fri, 14 Sep 2018 22:56:44 +0000 (15:56 -0700)]
Bug 21297: Display public lists to existing lists when adding a new item
If there are no private lists the public lists are not displayed.
Test plan:
1) Add 10 public lists (This is when the 'More lists' menu item becomes
view-able)
2) Select an item
3) Click Add to list
4) Select 'More Lists' menu item
5) Note that 'Select an existing list' is an available option
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com> Signed-off-by: Julian Maurice <julian.maurice@biblibre.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Ere Maijala [Fri, 10 Nov 2017 06:28:01 +0000 (08:28 +0200)]
Bug 16424: Update default values in advanced editor when changing frameworks.
Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Ere Maijala [Sun, 16 Sep 2018 22:06:12 +0000 (01:06 +0300)]
Bug 16424: Handle framework code properly also when adding a new record
Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Ere Maijala [Sun, 16 Sep 2018 18:39:54 +0000 (21:39 +0300)]
Bug 16424: Make the svc/bib service keep the existing framework code
Previously the framework code would have been reset when the record was saved, but that seems to have been a mistake.
Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Ere Maijala [Sun, 16 Sep 2018 21:41:14 +0000 (00:41 +0300)]
Bug 16424: Minor CSS change for the advanced editor Settings menu
Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Ere Maijala [Sun, 16 Sep 2018 18:37:06 +0000 (21:37 +0300)]
Bug 16424: Add framework support to advanced MARC editor
Keeps the selected framework, allows selecting another and validates the record using the correct framework. Contains additional minor tweaks to display proper error messages.
To test:
1. Add a record with a non-default framework in the basic editor.
2. Switch to advanced editor and make sure the settings menu displays the correct framework.
3. Save the record and confirm that the framework code did not change.
4. Change the framework and save the record again.
5. Verify that the framework code changed.
6. Change one framework to make an extra field mandatory.
7. Make sure that the field is required in the editor when the framework above is selected but not when another framework is selected.
Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Andrew Isherwood [Wed, 19 Sep 2018 08:34:21 +0000 (09:34 +0100)]
Bug 21377: Remove erroneous "html" filter use
The "html" filter that is being applied to these variable declarations
is inappropriate and has been removed.
I've also simplified things by removing two of the extraneous variable
declarations.
To test:
- Before applying the patch, on master, view the "Manage request" page
for an ILL request
- TEST: Observe that, apart from the "Edit request" button, the various
available action buttons do not display correctly
- Apply the patch
- TEST: Refresh the page and observe that the buttons now display
correctly
Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Julian Maurice <julian.maurice@biblibre.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Owen Leonard [Fri, 6 Apr 2018 12:53:35 +0000 (12:53 +0000)]
Bug 20534: Floating toolbar when editing vendors
This patch moves the Save and Cancel controls on the vendor edit form
into a toolbar which sticks to the top of the screen as you scroll.
To test, apply the patch and Acquisitions -> New vendor.
- Confirm that as you scroll down the page, the toolbar with the Save
and Cancel buttons sticks to the top of the screen.
- Test that the Save and Cancel buttons both work correctly.
- Perform the same tests when editing an existing vendor.
Signed-off-by: Maksim Sen <maksim.sen@inlibro.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Owen Leonard [Wed, 12 Sep 2018 17:43:15 +0000 (17:43 +0000)]
Bug 21341: Style button on acquisitions existing record search with Bootstrap
This patch adds Bootstrap button styles to two links: View MARC and
Order.
Unrelated: A "modal-wide" class has been added to the View MARC modal to
give more room for the MARC view.
To test, apply the patch and go to Acquisitions -> Vendor -> Basket ->
Add to basket -> From an existing record.
In the record search results, confirm that the View MARC and Order links
are now Bootstrap buttons. Test the View MARC button and confirm that
the modal preview fills most of the screen.
Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Nick Clemens [Tue, 11 Sep 2018 16:26:04 +0000 (16:26 +0000)]
Bug 21333: Add ability to add to basket from a new file
This patch adds a workflow for adding to a basket from a file. It
removes the need to stage the file before going to the basket and allows
you to stage the file and return to the basket
To test:
1 - Have basket in acquissitions
2 - Click add to basket
3 - Note new option to 'Add from new file'
4 - Click it
5 - You will be sent to the record import tool
6 - Stage your file
7 - There is a link after staging 'Add records to basket'
8 - Click it
9 - Your items should be added
Signed-off-by: Sonia <sonia.bouis@univ-lyon3.fr> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Kyle M Hall [Fri, 2 Mar 2018 16:10:12 +0000 (11:10 -0500)]
Bug 19620: Allow skipping of patrons with valid emails for Talking Tech
Some libraries want to be able to skip patrons with valid email addresses when generated outbound files for Talking Tech.
Test Plan:
1) Apply this patch
2) Run TalkingTech_itiva_outbound.pl
Overdue will be easiest to use for testing
3) Note one or more patrons show up that have email addresses
4) Run again with -s ( or --skip-patrons-with-email )
5) Note the new file no longer has patrons with emails!
Signed-off-by: Jesse Maseto <jesse@bywatersolution.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
I did not test but changes make sense
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Alberto [Sun, 16 Sep 2018 22:34:37 +0000 (15:34 -0700)]
Bug 21350: Added icon to Pending on-site checkouts and moved
When pending on-site checkouts is enabled, it will display checkout items that are being used in the library
test plan:
1. Go to Koha administration
2. Search for "onSiteChekouts"
3. Enable "onSitecheckout"
4. Save all Circulation preferences
5. Go back to home page and click "Circulations"
6. Please confirm there is an icon and the link is below Fast cataloging
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Amended patch: replace tabs with 4 spaces
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Victor Grousset [Tue, 12 Jun 2018 14:04:37 +0000 (14:04 +0000)]
Bug 20915: Use date --iso-8601 instead of date +%Y-%m-%d
In delete_patrons.pl's POD
To be more readable and crontab friendly
Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Kyle M Hall [Thu, 26 Apr 2018 19:07:07 +0000 (15:07 -0400)]
Bug 20669: Add upgrade method to plugins
It would be nice if plugins had an upgrade method to handle altering tables and such when a new version of a plugin is installed. Right now it must be done in a completely bespoke manner.
Test Plan:
1) Apply this patch
2) Download the 2 most recent releases of the Kitchen Sink plugin
https://github.com/bywatersolutions/koha-plugin-kitchen-sink/releases
3) Install the earlier release
4) Look at the configuration page, at the bottom it should say the
plugin has never been upgraded
5) Install the newer release
6) Reload the configuration page, it should now say that the plugin
was upgraded and give you the date and time of the upgrade
Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Owen Leonard [Wed, 19 Sep 2018 14:48:08 +0000 (14:48 +0000)]
Bug 21380: Circulation history UI improvements - make barcode clickable
This patch modifies the patron circulation history template so that the
barcode of each item links to the item details page.
To test, apply the patch and view the circulation history for a patron
with multiple current or past checkouts.
In the table of titles, the barcode for each item should correctly link
to the item details page for that item.
Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Jonathan Druart [Fri, 21 Sep 2018 21:35:06 +0000 (18:35 -0300)]
Bug 21397: Mark "Routing list" tab as active when selected
/members/routing-lists.pl?borrowernumber=5 show the different tab of the
menu but "Routing lists" is not displayed as the selected one (active).
"routinglistview" must be set and passed to the template
Test plan:
Enable the RoutingSerials pref
and hit /members/routing-lists.pl?borrowernumber=42
The "Routing lists" tab must be selected/active
Followed test plan and tab now shows as active. Signed-off-by: Dilan Johnpullé <dilan@calyx.net.au> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Koha allows you to define an authorised value having length 80, but then you
can't use it.
Here is why:
The SQL field items.ccode is a varchar(10).
The SQL field authorised_values.authorised_value is a varchar(80).
Therefore the authorised value is truncated to length 10 in items.ccode and the mapping from authorised value to description string fails in Koha.
This patch increases ccode column to varchar 80, like location.
Test plan :
1) Dont apply patches
2) Check there is on item field a subfield with authorised value category CCODE
3) Check this subfield is linked with database column items.ccode
4) Create an authorised values in category CCODE with 'DOCUMENTATION'
5) Edit an item on ccode and choose 'DOCUMENTATION'
6) Save item
7) Look at items.ccode in database or export in MARCXML
8) The value is troncated to 'DOCUMENTAT'
9) Apply patches and update database with installer/data/mysql/atomicupdate/bug_5458.sql
10) Repeate step 5 to 7
11) The value is not truncated 'DOCUMENTATION'
Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Bug 20023: Password recovery using email should be case insensitive
When entering an email to recover the password, a user should not have to know or remember the casing of the given email.
Test
0) enable OpacResetPassword
1) On the OPAC, click "Forgot your password"
2) Enter your email address as in your user account BUT WITH A DIFFERENT CASING
3) Submit. This will fail.
4) Apply the patch, redo with success.
Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Jonathan Druart [Mon, 13 Aug 2018 15:40:22 +0000 (12:40 -0300)]
Bug 21196: Use replacement cost from the item type if not set at item level
When circ rules are set to cap at item replacement cost, calcfine only
checks the price in the item record, not the default replacement cost by
item type.
Note: We do not take '0' into account, what if you do not want to set
a replacement cost for an item? It is how it is done in chargelostitem
so keeping the existing behaviour, but that may be considered as a bug (?)
Test plan:
- Set useDefaultReplacementCost to use
- Set a default replacement cost for a given item type
- Create an item of that type with a replacementcost=0
- Create a circ rule for that item type that accrues fines but caps at
replacement cost
- check the item out, forcing a due date in the past
- check that item in
=> Fines should have been generated
Signed-off-by: Caroline Cyr La rose <caroline.cyr-la-rose@inlibro.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Jonathan Druart [Mon, 13 Aug 2018 15:36:41 +0000 (12:36 -0300)]
Bug 21196: Add tests
Signed-off-by: Caroline Cyr La rose <caroline.cyr-la-rose@inlibro.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Jonathan Druart [Sat, 15 Sep 2018 18:02:05 +0000 (11:02 -0700)]
Bug 21353: Display checkboxes to merge patron even if cannot manage lists
When permission 'manage_patron_lists' is off, there is no checkbox on
/cgi-bin/koha/members/member.pl to merge patrons.
Test plan:
Remove permission manage_patron_lists
Add permission edit_borrowers
Search for patrons
=> Without this patch you will not be able to select patrons to merge
(checkboxes are not displayed)
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Jonathan Druart [Fri, 14 Sep 2018 23:10:56 +0000 (16:10 -0700)]
Bug 21323: Handle multi params in redirect after login
Multi params are not handle correctly after login
Test plan:
[0] Use staff interface
[1] Use advance search and tick itemtype more than one checkbox
[2] Copy result url
[3] Logout
[4] Paste url in browser
[5] Type username and password
[6] In search result page, results limit description under breadcrumbs
will show all limits
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr> Signed-off-by: Julian Maurice <julian.maurice@biblibre.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Owen Leonard [Fri, 29 Jun 2018 14:26:17 +0000 (14:26 +0000)]
Bug 20223: Merge members-menu and circ-menu inc files
This patch removes members-menu.inc and replaces the last functional use
of it with a call to circ-menu.inc.
An invalid use of members-menu.inc has been removed from member.tt.
To test, apply the patch and open a patron record for editing. The
sidebar menu should look correct and all sidebar links should work
correctly.
View the patrons home page and confirm that nothing has broken.
Search the Koha codebase for references to members-menu.inc. There
should be none.
Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Added a (initially trivial) test in Creators/Lib.t too.
Sometimes you start something, but you end somewhere else ;)
The test seems a bit slower now (regex, lookahead, etc). But this should
not hurt label creators in daily use.
Advantages: code is even more solid, consolidated in one place and can be
tested on its own.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
TEST PLAN
---------
1) apply first patch
2) kshell kohadev
3) prove -r -v t/db_dependent/Creators/
-- failures
4) apply this patch
5) repeat 2,3
-- no failures
6) run koha qa test tools
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Jonathan Druart [Wed, 29 Aug 2018 20:05:50 +0000 (17:05 -0300)]
Bug 21281: Surround creator_templates.rows with backquotes
'rows' is a reserved word since MariaDB 10.2.4 and MySQL
https://mariadb.com/kb/en/library/mariadb-1024-release-notes/
https://dev.mysql.com/doc/refman/8.0/en/keywords.html
Test plan:
Do not apply this patch and make sure you recreate the reported issue
Apply this patch and confirm that it is now fixed.
QA will take care for the changes in installer and test files
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Bug 20819: (Follow-up) Show more clearly that a user gave no consent
See comment60 on Bugzilla.
Although I intentionally did not want to show date and time of refusal,
we can obviously add one line saying that we already have a no.
Test plan:
Login without consent and see no additional line.
Agree and verify that you see the registered on xxx line.
Disagree and verify that you now see "You indicated recently...".
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Nick Clemens [Tue, 24 Apr 2018 20:58:50 +0000 (20:58 +0000)]
Bug 20656: Better formatting for print summary
This patch is a slightly edited c&p from boraccount.tt
1 - Manually add a credit with no notes to patron
2 - Print summary
3 - Inspect the line
4 - Note that td has extra newlines and no words
5 - Apply patch
6 - Print summary again
7 - Note better formatting
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Nick Clemens [Tue, 24 Apr 2018 20:57:17 +0000 (20:57 +0000)]
Bug 20656: Don't print lines that have no balance on print summary
To test:
1 - Add at least two fines to a patron
2 - Pay off one of them
3 - Print summary - all 3 lines show
4 - Apply patch
5 - Print summary - only line with balance shows
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Marcel de Rooy [Thu, 31 May 2018 10:29:59 +0000 (12:29 +0200)]
Bug 20819: Add consent to self-registration process
We add a section for the GDPR consent in opac-memberentry (only for the
self-registration). Not when editing personal details.
Test plan:
[1] Enable selfregistration (with confirm) and GDPR policy.
[2] Register a new account in OPAC. Verify that the GDPR checkbox is
required.
[3] After you submit, you should see a date in borrower_modifications
field gdpr_proc_consent.
[4] When you confirm, verify that the consent is visible on your consents.
[5] Enable selfregistration without confirmation mail. Register again.
[6] Check your consents tab again.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Marcel de Rooy [Mon, 28 May 2018 12:59:31 +0000 (14:59 +0200)]
Bug 20819: Add check in get_template_and_user to enforce GDPR
If you choose to enforce GDPR policy, a user needs to give consent for
data processing before he does something else in the OPAC while being
logged in.
Test plan:
[1] Set GDPR_Policy to Disabled or Permissive. Usual behavior.
[2] Set to Enforced. Save a refusal on your consents. Notice that
you are logged out when saving. When you login again, all OPAC
requests are redirected to your consents tab.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Marcel de Rooy [Mon, 28 May 2018 07:28:50 +0000 (09:28 +0200)]
Bug 20819: Add your consents tab to opac-user
This patch adds a consents tab to the OPAC user account menu. We now
add a GDPR section here, but it is open for future extensions. Think of
a newsletter checkbox for instance.
Script opac-patron-consent handles the tab. And now only includes some
GDPR code but is also written for more general use too.
Test plan:
[1] Set GDPR_Policy pref to Disabled. Verify that OPAC operates as usual.
[2] Set pref to Permissive. Try to save a consent or a refusal. Note that
you are not logged out when saving a refusal.
[3] Set pref to Enforced. Save a refusal. You should be logged out.
Log in again and verify that the consents tab shows a No.
Note: a follow-up patch will add further enforcements.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Marcel de Rooy [Mon, 28 May 2018 11:05:53 +0000 (13:05 +0200)]
Bug 20819: Add Koha object classes for patron consents
Introduces Koha::Patron::Consent[s] for new table.
Adds basic CRUD test.
Test plan:
Run t/db_dependent/Koha/Patron/Consents.t
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Marcel de Rooy [Mon, 4 Jun 2018 11:11:58 +0000 (13:11 +0200)]
Bug 20819: Db rev for new table patron_consent and sysprefs
[1] We add table patron_consent.
It allows for future extension. We could e.g. save consent for newsletter etc.
[2] Add one field to borrower_modifications
Datetime the patron who self-registered, gave consent.
[3] Syspref PrivacyPolicyURL
[4] Syspref GDPR_Policy: enforced, permissive or disabled.
Test plan:
[1] Run the dbrev or do a new install.
[2] Look at the description of the new prefs in Administration.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Josef Moravec [Tue, 18 Sep 2018 20:17:46 +0000 (20:17 +0000)]
Bug 21374: Fix self registration verification
Test plan:
0) Do not apply the patch
1) Set PatronSelfRegistration to Allow
2) Set PatronSelfRegistrationVerifyByEmail to Require
3) Try to create a account using self registration and verify it (use link
in e-mail or take the url from table mesage_queue ;)
The verificatin url return ISE - DBIx::Class::Row::store_column(): No
such column 'timestamp' on Koha::Schema::Result::Borrower
4) Apply the patch
5) Try to acces the verification url again - now it should work
Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Owen Leonard [Fri, 16 Mar 2018 14:24:56 +0000 (14:24 +0000)]
Bug 19833: (follow-up) Minor corrections
This patch makes minor corrections to lines modified in the previous
ones.
On the biblio framework page, I have deleted this line because it didn't
make much sense before or after the change:
"Framework name, then go to MARC biblio to set MARC editor parameters"
In the web services preferences file, I reverted a change to
"deletedbiblio" because it refers to a table name.
I've also made corrections to instances of "biblio" in the following
pages, including changing "biblio number" to "biblionumber," since it
refers to a specific Koha column name.
- MARC detail page
- Help files:
- Record matching rule;s
- Batch item modification
- MARC modification templates
- Export data
- Staged MARC record management
Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Zoe Bennett [Wed, 17 Jan 2018 02:57:27 +0000 (02:57 +0000)]
Bug 19833: Changing the "biblios"
To Test:
Check the following files that all the "biblio" or "biblio record" are
now written in rull as "bibliographic record".
modules/about.tt
Corrected a single capitalization error during signoff
Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Corrected a single capitalization error during signoff
Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
1) Check files modules/about.tt, modules/acqui/booksellers.tt and
modules/acqui/invoices.tt for typos nad check that there are no "biblio"
and only "biblographic record".
Fixed one capitalization error during signoff.
Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Nick Clemens [Tue, 10 Jul 2018 13:48:07 +0000 (13:48 +0000)]
Bug 20564: Don't use system to unzip files
To test:
1 - Setup a zip file for patron images and cover images
2 - Test each tool
3 - Get a '500 error' after upload (note images do upload and attach)
4 - Apply patch
5 - Restart all the things
6 - Test agtain, uploads should complete and results display
Signed-off-by: George Williams <george@nekls.org> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Jane Sandberg [Sun, 16 Sep 2018 18:59:40 +0000 (11:59 -0700)]
Bug 13406: Add styling classes to authority MARC detail display
When viewing authority MARC records in the staff client (detail view), the
MARC tags were not displaying with the tag_num, tag_desc, tag_ind1,
tag_ind2, and desc classes, which made it impossible to add styles
to these specific parts of a MARC tag. This commit adds these
styles (which are the same as the classes in the bibliographic
MARC detail display).
To test:
1) Open the staff client, then click Authorities.
2) Search for an authority record.
3) Click on Details.
4) Examine some MARC fields. Note that the entire tag title line
is in a single <div>.
5) Apply this commit.
6) Repeat steps 1-3.
7) Notice that the tag title line is now separated into several
spans, each with their own classes.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Jonathan Druart [Fri, 24 Aug 2018 19:22:20 +0000 (16:22 -0300)]
Bug 21257: (bug 13618 follow-up) Handle undef values in JS before escapeHtml call
To test:
1 - Find an item with no collection or location defined
2 - Check it out to a patron
3 - Note you cannot view the checkouts table
4 - Check the console: TypeError: oObj.collection is null
5 - Apply patch
6 - Restart all the things
7 - Checkouts table should load
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Christopher Brannon <cbrannon@cdalibrary.org> Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Owen Leonard [Wed, 5 Sep 2018 14:13:25 +0000 (14:13 +0000)]
Bug 21317: Format long lists under Koha Team tab as columns
This patch adds a couple of new CSS classes for formatting content in
columns: .columns-3 and .columns-4. The four-column class is applied to
the dev team and contributing companies lists on the about page.
The patch also modifies the style of H3 on this page to improve
readability.
Unrelated: "Nelsonville Public Library" corrected to "Athens County
Public Libraries."
To test, apply the patch and regenerate staff client CSS
(https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_client).
View the various tabs on the about page and confirm that everything
looks good. Confirm that the dev team and contributing companies lists
are formatted as columns.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Owen Leonard [Fri, 3 Aug 2018 15:13:57 +0000 (15:13 +0000)]
Bug 13692: series link is taking you to just 800a instead of whole 800
This patch modifies the OPAC and staff client's XSL template for the
detail page so that series links based on a traced 490 tag use both
author and series title from the 800 tag.
To test you should have multiple titles in the same series with matching
490 and 800 tags in each record. Apply the patch and restart Plack if
necessary.
View the detail page for one of the series' titles. The "Series:" link
should link to a search which uses both series title and author.
Clicking the link should return the correct results.
Test both the OPAC and staff client.
Signed-off-by: John Sterbenz <jsterben@umich.edu> Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Chris Cormack [Fri, 14 Sep 2018 22:48:23 +0000 (22:48 +0000)]
Bug 21347: Escaped fields that should be in addorderiso2709
Test plan
1/ Stage a MARC file (if you have none staged)
2/ Create a basket in aquisitions
3/ Add an order via staged file
4/ Look at the item information tab, notice there is escaped html
5/ Apply patch
6/ Refresh page, notice it is fixed
Signed-off-by: Sonia <sonia.bouis@univ-lyon3.fr> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Owen Leonard [Fri, 10 Aug 2018 13:37:49 +0000 (13:37 +0000)]
Bug 20217: Make header's catalog search menu into a split button
This patch modifies the markup for the staff client header's catalog
search menu so that it mimics the behavior of a Bootstrap split button
(As seen on the cataloging home page's 'New from Z39.50' button).
To test, apply the patch, run 'yarn build' to regenerate the staff
client's CSS, and clear your browser cache.
- View any page in the staff client.
- Hover your mouse over the "Search" link in the header. It should
trigger a hover affect on the adjacent menu link.
- Clicking the "Search" link should take you directly to the advanced
search page.
- Clicking the adjacent menu link should display a menu containing links
to advanced search and item search.
Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Owen Leonard [Wed, 2 May 2018 16:08:29 +0000 (16:08 +0000)]
Bug 21305: Update two-column templates with Bootstrap grid: Patron clubs
This patch modifies patron clubs templates to use the Bootstrap grid
instead of YUI.
This patch also removes obsolete "text/javascript" attributes from
<script> tags in the modified templates.
To test, apply the patch and view the following pages, confirming that
they look correct at various browser widths:
- Tools -> Patron clubs
- View club enrollments
Signed-off-by: Dilan Johnpullé <dilan@calyx.net.au> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Owen Leonard [Mon, 7 May 2018 14:45:25 +0000 (14:45 +0000)]
Bug 21306: Update two-column templates with Bootstrap grid: Tags
This patch modifies the tags management templates to use the
Bootstrap grid instead of YUI.
This patch also removes obsolete "text/javascript" attributes from
<script> tags and "text/css" attributes from <style> tags in the
modified templates.
To test, apply the patch and view the following pages, confirming that
they look correct at various browser widths:
- Tools -> Tags
- View list of tags
- Click tag to view the list of titles tagged with that term
Signed-off-by: Dilan Johnpullé <dilan@calyx.net.au> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This patch adds a space between the user's name and 'On:'
in parcel.tt.
To test:
1) Go to Acquisitions
2) Search for a vendor
3) Create a new basket
4) Add an order to the basket
5) Close the basket
6) Receive the order
7) In the page title 'Receipt summary' notice there is no space
between the 'Received by' user name and 'On:'
8) Apply the patch
9) Refresh the page, there should now be a space
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Nick Clemens [Thu, 23 Aug 2018 14:44:31 +0000 (14:44 +0000)]
Bug 21262: Do not format numbers for editing if too big
This patch copies the code from bug 15770 to the format_for_editing
sub.
It also corrects schema issue, listing the purpose for two acq columns
instead of claing unused
To test:
1 - Edit a fund
2 - Set warning at amount to: 100000000000000
3 - Save budget
4 - Try to edit - internal server error
5 - Apply patch
6 - Should be able to edit budget
7 - Number should appear unformatted
Signed-off-by: Christopher Brannon <cbrannon@cdalibrary.org> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2 quick notes:
1. Code must be moved to a subroutine if reused later
2. It would have prefered to have the comment of the 2 DB columns on a separate patch
(even separate bug report). As it's minor and that the patch will certainly backported
I will not block it.
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Jonathan Druart [Sun, 16 Sep 2018 16:49:46 +0000 (09:49 -0700)]
Bug 21360: Prevent IssueSlip.t to fail when run at 23:59
Not sure what happened on bug 15029 (Make the IssueSlip tests pass even if
launched after 23:00) but we should have tested with 23:59, not 23:50...
koha_1 | # Looks like you planned 3 tests but ran 2.
koha_1 |
koha_1 | # Failed test 'Issue slip'
koha_1 | # at t/db_dependent/Members/IssueSlip.t line 294.
koha_1 | Label not found for "last SKIP" at /usr/share/perl5/Test/More.pm line 1370.
koha_1 | # Looks like your test exited with 255 just after 1.
koha_1 | [23:59:10] t/db_dependent/Members/IssueSlip.t
koha_1 | Dubious, test returned 255 (wstat 65280, 0xff00)
koha_1 | Failed 3/3 subtests
Test plan:
0/ Don't apply this patch
1/ sudo date -s "2018-09-15 23:59:00";prove t/db_dependent/Members/IssueSlip.t
=> You should get the error
2/ Apply this patch and repeat 1.
=> Tests should pass now!
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Bug 20777: (follow-up) Remove 'dispute' reference in /credits endpoint
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Bug 20777: Remove unused accountlines.dispute field
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Pasi Kallinen [Thu, 30 Aug 2018 08:29:54 +0000 (11:29 +0300)]
Bug 21288: Slowness in acquisition caused by GetInvoices
The SQL query done by GetInvoices is quite slow on our production server,
taking about a minute.
In the query, there's this join:
LEFT JOIN subscription ON biblio.biblionumber = subscription.biblionumber
but there's no index on subscription.biblionumber. Adding the index speeds
up the query so it only takes up about 3 seconds.
Signed-off-by: Pasi Kallinen <pasi.kallinen@joensuu.fi> Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Fridolin Somers [Mon, 14 May 2018 14:18:29 +0000 (16:18 +0200)]
Bug 20765: Fix search for items by acqdate in label batch
In Tools > Label creator, when creating a batch you can add items using a search.
This search has filters on acquisition date.
Actually those filters does not work.
The create a search using CCL syntaxe to query Zebra search engine.
The cause is that operator "ge" or "le" must be before "st-date-normalized" in CCL query.
Looks like it is because of "st-date-normalized" uses "r=o" in ccl.properties.
Test plan :
1) Check in advance search you have indexed acquisition date
2) Go to Tools > Label creator
3) Click on New > Label batch
4) Click on Add item(s)
5) Enter a relevent date in "Added on or after date" and in "Added on or before date"
6) Click on "Search"
=> SUCCESS: You get results
7) Apply the patch
8) Retry the 'Add item(s)' step
=> SUCCESS: Patch doesn't change behaviour for old Zebra
9) Get rid of the patch on your working branch
10) Use the latest Zebra:
- /etc/apt/sources.list.d/indexdata.list:
deb http://ftp.indexdata.dk/debian jessie main
- Add the repo key:
$ wget http://ftp.indexdata.dk/debian/indexdata.asc -O- | sudo apt-key add -
- Upgrade:
$ sudo apt update; sudo apt dist-upgrade
$ sudo koha-rebuild-zebra -f -a -b -v kohadev
$ restart_all
11) Retry the 'Add item(s)' step
=> FAIL: No results!
9) Apply the patch, retry
=> SUCCESS: Search results!
- Sign off :-D
Signed-off-by: Maryse Simard <maryse.simard@inlibro.com>
Followed the test plan and it works. Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
It doesn't break with 2.0.59-1 (stretch/jessie), and fixes the problem
for 2.1.X.
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Jonathan Druart [Sat, 15 Sep 2018 18:24:32 +0000 (11:24 -0700)]
Bug 21355: Prevent GetDailyQuote.t to fail when run after 23:00
Tests will fail (Jenkins run #554) if run after 23:00
# Failed test 'Id is correct'
# at t/db_dependent/Koha/GetDailyQuote.t line 72.
# got: 6
# expected: 8
# Failed test 'Timestamp 2018-09-15 00:44:46 is correct'
# at t/db_dependent/Koha/GetDailyQuote.t line 74.
# got: '2018-09-14 23:44:46'
# expected: '2018-09-15 00:44:46'
# Looks like you failed 2 tests of 12.
[23:44:46] t/db_dependent/Koha/GetDailyQuote.t
Dubious, test returned 2 (wstat 512, 0x200)
Adding only 1 second will hugely reduce the risk of failure here.
It also updates a useless test (column 'quote' does not exist)
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Tested:
- Run:
$ sudo date -s 2018-09-15T23:10:00
$ kshell
k$ prove t/db_dependent/Koha/GetDailyQuote.t
=> FAIL: Tests fail as patch author mentions
- Apply the patch
k$ prove t/db_dependent/Koha/GetDailyQuote.t
=> SUCCESS: Tests pass!
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Code using this aliases will use them like this:
- Suppose you want to output data in MARCXML format:
my $record = cool_method_that_returns_MARC_RECORD();
return $c->render( status => 200, format => 'marcxml', text => $record->as_xml_record );
Note: 'text' by defaults encodes output as UTF-8. If the encoding is not
UTF-8 you should encode the data on your own.
To test:
- Apply this patches
- Run:
$ kshell
k$ prove t/db_dependent/Koha/REST/V1.t
=> SUCCESS: Test pass!
- Sign off :-D
Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This patch adds unit tests for the new content types being added.
It also adds tests for the 'json' overloading that already takes place
in V1.pm.
Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Bug 19179: Email option for SMSSendDriver is not documented
'Email' is not documented as a valid setting.
1) Apply patch.
2) Go to Administration --> search SMSSendDriver
3) Check if SMSSendDriver has this message is at the end of the box:
"If you would prefer to receive SMS via E-mail set SMSSendDriver to Email"
Signed-off-by: Michal Denar <black23@gmail.coml> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Jonathan Druart [Fri, 31 Aug 2018 16:51:18 +0000 (13:51 -0300)]
Bug 21293: Remove another misplaced html filter on housebound.tt
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Owen Leonard [Thu, 30 Aug 2018 16:43:09 +0000 (16:43 +0000)]
Bug 21293: Display of housebound delivery information broken by Bug 13618
This patch corrects the patron housebound details template. A stray
"html" filter broke display of delivery information.
To test, apply the patch and enable the HouseboundModule system
preference.
- Open a patron record and select the "Housebound" tab in the left-hand
navigation menu.
- Click "Add a new deliver" and save some delivery details.
- Upon saving you should be directed back to the housebound details
page. All the details of the delivery you saved should appear
correctly.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This patch adds tests for the required password-related exceptions. The
tests verify the stringified version of the exceptions.
To test:
- Apply this patch
- Run:
$ kshell
k$ prove t/Koha/Exceptions.t
=> FAIL: Exceptions not implemented, tests fail!
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>