Spelling mistake in opac-shelves.tt paramter ==> parameter
To test - check the change is made in the file
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
To Test:
Check if "fullfilled" has been changed to "fulfilled" in line 137
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
sucessfully ==> successfully
Test - Check that the word has been changed in file
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Typo fixed correctly
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Argument "" isn't numeric in numeric lt (<)
TEST PLAN
---------
1) Go to any patron in staff client
2) Click 'Edit'
3) Check error logs
-- warnings should exist.
4) Apply patch
5) Reload page
-- warnings should not be triggered.
6) Add restriction and save
7) Go back to edit screen
-- restriction should be shown
8) Remove restriction and save
9) Go back to edit screen
-- Should say "Patron is currently unrestricted"
10) Run koha qa test tools.
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
To test:
Create circulation records
Go to 'http://localhost:8081/cgi-bin/koha/tools/cleanborrowers.pl'
Anonymize patron checkout history
Message should read 'All checkouts older than [date] have been
anonymized
When patch is not applied, message reads 'All patrons with checkouts
older than [date] have been anonymized"
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
With the changes for RDA now more subfields for the fields
100, 110, 111, and 700, 710, 711 are displayed.
One of them is $d - Dates associated with a name
This patch adds separate treatment of the $d subfield and
wraps it in a span with the class "authordates".
This makes it possible to hide the information with CSS.
To test:
- Make sure you have several records with $d catalogued
- Check the display in result list and detail page
with and without the page.
- Check, if there is a difference in display
- Check if the dates are correctly wrapped in a span
- Try to hide the information, using the following
entry in your *UserCSS preferences:
.authordates { display: none; }
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Deleted View record link and made patron details open in a new tab.
To Test: Edit personal details for a user on opac and submit update
request.
In staff client go to patrons requesting modifications.
Confirm view record link is gone and patron details opens in new tab.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
I don't think it's a good idea to open a new tab (let the user decide)
but the behavior already existed before this patch.
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
This patch fixes translatability issues on checkin page, due to sentence splitting by html tags at
several places and ambiguous word 'to'.
Additionally, fix message related to syspref AllowReturnToBranch set to 'only the library where the
item is checked out from' (it wrongly displays the home library instead of the holding library),
and streamline the display of similar messages to look more consistent.
To test:
- Apply patch
- Go to Home > Circulation > Check in
- Do check ins with different expected results / messages
- Verify that the messages are meaningful and display nicely
- Play with items checked out / checked in at different branches (home branch, holding branch, other
branch) and different settings for syspref 'AllowREturnToBranch' and verify that the messages display
properly (with correct home rsp. holding branch)
- Carfully review code changes.
Signed-off-by: Aleisha <aleishaamohia@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
This patch adds a separator for multiple 508 fields to the XSLT display in the staff and OPAC detail view.
Separator is wrapped in span with class=‘separator’ for easy manipulation via css.
To test:
* Search the OPAC
* Click the title with multiple 508 fields
* Make sure the fields display properly
* Repeat for a few more titles
* Repeat in the Staff Client
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
To Test:
1-before plugin search in opac for a call number with either a "(" or a ")" in it
2-it should come back with no results
3-use plugin
4-re-search the call number with "(" or ")"
5-the search should come back with results
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
It seems this only works with OPAC XSLT for results page turned off
and OPACItemsResultsDisplay turned on. - Then the callnumbers
in the result list will be linked for searching.
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
To reproduce:
- In staff client, go to List and click on the name of an
existing list.
- At the bottom of the screen, you see a title "Add an item to "
but no list name.
To test:
- Apply patch
- Verify that listname appears after "Add an item to "
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised. Label/legend for listname displayed Ok
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
To test:
1) Add a restriction to a user
2) Log in as that user in the OPAC
3) Click 'your account page' link in the yellow mesage
4) Confirm you are taken to opac-account.pl
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
To Test:
checkthat "extention" has been changed to "extension" on line 27
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
To test:
Check that "writen" has been changed to "written" on line 692
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
On creating new dictionary for report, the choice between "All dates"
and "Date range" should be a real radio button, not 2 radio buttons with
different names (which means they could be selected altogether...)
Note that I don't understand what means 'All dates', there is no
condition generated for the dictionary. We should not have to select a
field if we don't want to add a condition on it :)
Test plan:
Create a new dictionary for the Patron module, then a date field
(dateenrolled or birthdate, etc.)
Confirm that the radio buttons now behave as radio buttons...
Signed-off-by: Aleisha <aleishaamohia@hotmail.com>
Looks so much nicer too!
Radio buttons display as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
There are 2 places where a list can be edited/deleted: on the list view
and the list content view. After the edition, the user expect to be
redirect to the previous page.
This patch implements that.
Test plan:
At the OPAC, delete and edit a list from the 2 differents places.
Confirm that you are redirect to the page you come from.
With patch, redirects work as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Confirm it now says Rotating Collections instead of Patron Import in the last line, and the link is correct.
Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
To test:
Go to Tools -> Rotating Collections and click Help in the top-right. Confirm the Help page shows and gives correct accurate instructions with no typos or grammatical errors.
Help displays as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Some link are hidden when loading the page, by DataTables, we need to
use the delegate jQuery method to attach a handler to the click event
for all delete links (the ones existing when loading the page, and the
ones displayed in the future).
Test plan:
Have more than 20 reports defined
Go on the report list view, then change the number of elements
displayed, click "action>delete". You should get a warn.
Signed-off-by: Liz Rea <liz@catalyst.net.nz>
Confirm that there is now a confirmation on delete from the list -> action menu
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
If all the items have been deleted for a record and holds exist, the
holds are not displayed.
You are not able to delete the items from the record detail page, but
you can from the items page.
Test plan:
1 - Place 1 or more title level holds on a record.
2 - Delete each item individually.
3 - Note that you see the number of holds on the record details page
With this patch, that holds are accessible via the holds tab.
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
On bug 9076 (commit 568a4c1230), the plan
was to hide the Staff members from the tool.
But the test was wrong, it was done on the category_code instead of the
category_type value.
Test plan:
1/ Create a category 'Student' which is not part of the Staff
(category_code=S, category_type!=S)
2/ Create a staff category (category_type=S)
3/ Go on the deletion/anonymization tool (tools/cleanborrowers.pl) and
confirm that the category Student category is displayed in the dropdown
list.
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Work as described, no errors.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
http://bugs.koha-community.org/show_bug.cgi?id=15308
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
The patron's information displayed in the member module
(includes/circ-menu.inc and includes/member-display-address-style-*.inc)
are not always displayed the same way.
Sometimes the streetnumber is missing, sometimes it's the streettype.
Sometimes the streettype is after the address, sometimes before...
Test plan:
Go on a patron detail page, and open all the tabs on the left (Check
out, Fines, Notices, etc.)
Without this patch, the patron's info displayed will differ from one page to
another.
With this patch, they will be displayed the same everywhere.
Followed test plan, works as expected. (Tested both patches together.)
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
If the patron cannot checkout (debarred) and on-site checkout is
enabled, the "Automatic renewal" checkbox should not be displayed on the
circulation screen.
Test plan:
Enable OnSiteCheckouts and OnSiteCheckoutsForce
Debar a patron and go on the circulation page.
Without this patch, the automatic renewal checkbox is displayed.
With this patch applied, it's not.
Patch works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
To test:
1) Edit a user to have an uncertain address (gone no address)
2) Log in as that user on OPAC
3) Click 'online update form' link in the yellow message
4) Confirm you are taken to opac-memberentry.pl
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as described
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
With the href attribute, the cusor will be displayed as a pointer.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
To Test -
1. Go onto Tools and then click on Patron Card Creator.
2. Click on New and then Card Batch.
3. Add a borrowernumber then add patron.
4. Search for a patron.
5. Using the tab key try to navigate onto the Add link.
6. Notice it skips Add.
7. Apply the patch and then repeat steps 1-5, notice the add link can now be accessed through using the keyboard.
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as described.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
To Test -
1. If you don't have a budget and a fund, make at least one of each.
2. Go to funds from budgets.
3. Either make a new fund or edit an existing one and then click Edit owner, which will bring up a pop-up tab.
4. Search for a patron.
5. Using the tab key try to navigate onto the Select link.
6. Notice it skips select.
7. Apply the patch and then repeat steps 3-5, notice the select link can now be accessed through using the keyboard.
Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Using a mouse to click on the alphabetic index letters works even though
the anchor markup doesn't contain an href attribute. However you
can't tab to them using the keyboard, and I assume the issue with
screen readers is related.
This patch adds a dummy href attribute and a class-based click handler
so that we can get rid of the "onclick" attribute in the markup.
To test, apply the patch and visit the "Patrons" section.
1. Use the tab key to move the focus to one of the alphabet links.
2. Hit "Enter" and confirm that the search is performed correctly.
3. Click any of the alphabet links and confirm that clicking works as
well.
4. View the details of any patron and click the "Add child" button.
5. In the "Guarantor information" section click the "Change" button.
6. In the search popup, use the tab key to move the focus to one of the
alphabet links.
2. Hit "Enter" and confirm that the search is performed correctly.
3. Click any of the alphabet links and confirm that clicking works as
well.
Signed-off-by: Briana <brianagreally@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
The author of Bug 15381 (me!) has mismatch the objects he was
manipulating and forgotten to update a template.
for the opac-aythorities-home, the variable is named authority_types,
not authtypesloop.
In opac-authoritiesdetail.pl, the $record is a MARC::Record and there is
no authtypecode method. We need to retrieve the authtypecode using
the new Koha::Authorities module.
Test plan:
Search for authorities at the OPAC and click on the detail link to go to
the detail page.
Without this patch, you will get errors.
With this patch, the errors should have gone and everything should work
as before bug 15381.
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as described. Pull down for choosing the auth_type displayed again
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Same fix as previous patch, but for item types.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
The patches from bug 12152 broke the display on the pending reserves/
holds to pull report when items from multiple branches and with
multiple locations were displayed. The table cells were left empty.
To test:
- Add a record with at least 2 items from different locations and
holdingbranches
- Open the 'holds to pull' report
- Verify all branches and locations show with their correct
description
Signed-off-by: Natasha <tasham_8@hotmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
To test:
Log in to staff patron account
Go to Checkout tab
Click 'Add a new message'
Drop down box should show 'Staff - Internal Note' and 'OPAC - [Full name
of patron]'
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Made a tiny change during signoff: uncapitalized "note"
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
To Test: Add an item to cart click "cart" click "send"
confirm that the send window is larger and the send button is
visible
NOTE: Remember to clear cache to refresh javascripts.
This is much more visible if you zoom in 10% or more.
This is larger, but more of a stop gap if you've got a large zoom.
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
In bug 14100, the admin/smart-rules.pl needed much more love.
Indeed, the translated_description string should be used everywhere and
replaced the previous 'humanitemtype'.
Test plan:
1/ Translate some item types.
2/ Define some holds policy using these item types.
3/ Update the template strings
4/ Confirm that the "holds policy by item type" are displayed (for the
default and specific library) and sorted by translated item type descriptions.
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
Passes QA tools.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
Test plan:
use circ/renew.pl to renew an issue.
Without this patch, you will get an error.
Note: The error exists for 1 year now and nobody complained?? Does
someone still use this script?
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
To test:
Create a list in the OPAC, observe the message
Create another list in the OPAC with the same name, observe the message
Delete a list, observe the message
Check the patch itself, look for typos.
Signed-off-by: Aleisha <aleishaamohia@hotmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Introduced by bug 15381.
The logs contain plenty of "detail.pl: No method value!" and the
dropwdown list is not correctly populated (no value for options)
Test plan:
Go to the authority module and have a look at the auth type codes
dropdown list.
Without this patch, the values of the options are empty.
With this patch, the values are correctly filled.
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
I confirm this patch silence noise in log file.
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Test plan
1/ enable OpacAddMastheadLibraryPulldown
2/ Defined a group of libraries as searchdomain
and tick 'show in pull down'
3/ At the OPAC, go on the advanced search form, limit by the group of
libraries you have just created.
4/ The group should be selected by default in the dropdown list
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
http://bugs.koha-community.org/show_bug.cgi?id=15294
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
This patch rewrites the admin/branches.pl script to use the new modules
instead of C4::Branches.
Test plan:
1/ Create libraries using all the fields available
2/ Create groups of libraries
3/ Assign 1+ libraries to some groups
4/ Delete libraries and groups of libraries
You should not able to delete a library if items or patrons use it.
You should not able to delete a group of libraries if there are still
libraries using it.
5/ Update libraries and groups of libraries
Followed test plan, works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
On bug 14100, the patch "Better errors handling" introduced an ...
error.
The user always get "An error occurred when updating this translation"
although it has been updated in DB.
Test plan:
Edit translations for an item type: you should not get an error when
everything went fine.
Tested on top of 15487, error message does no longer appear.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
To test:
1 - Delete an item using the Action menu
2 - There is a js error and no warning box
3 - Apply patch
4 - Delete an item using the action menu
5 - You should get a confirmation box as expected
Followed test plan, works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Add a warning to avoid saving a subscription whitout testing prediction pattern
when there are planned no published issues
Signed-off-by: Liz Rea <liz@catalyst.net.nz>
Ran through test plan, looks all good.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
It seems to be the way to fix that
https://stackoverflow.com/questions/13649459/twitter-bootstrap-multiple-modal-error
Test plan:
1 - Place a hold through the opac
2 - View your account->Holds
3 - Click suspend hold
4 - You should be able to select a date using the arrows and dropdowns
Followed test plan, works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Some variables were not correctly renamed in a previous patch,
resulting in the fines tab of the OPAC patron summary page
not showing correctly.
To test:
- Go to the OPAC patron account
- Check the display of the Checkouts, Fines and Holds tabs on
the summary page
- Verify that with the patch, the display is corrected
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Introduced by bug 14544, the shelfnumber is not correctly passed to the
template.
The shelf variable is passed to the template, to access the shelfnumber,
we need to get shelf.shelfnumber.
Test plan:
At the intranet, try to download a list.
Without this patch it won't work.
Followed test plan, works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
The CSV profile used is not the one the user has chosen, but the one
defined in the pref ExportWithCsvProfile.
It's caused by a wrong variable name csv_profile vs csv_profile_id
Test plan:
Define 1+ csv profiles
Set ExportWithCsvProfile with 1 of these profile
Use the export tool to export some records using a csv profile.
Without this patch, the csv profile used, will always be the one defined
in ExportWithCsvProfile.
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as descrived
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>