This patch set implements item editor templates for community Koha.
Test Plan:
1) Apply this patch set
2) Run updatedatabase.pl
3) Restart all the things!
4) prove t/db_dependent/Koha/Item/Template*
5) As a non superlibrarian, enter the item editor
6) Set some item fields, save as a new template using the buttom and
form below the editor.
7) Test loading a template without remembering for the session
8) Test loading a template while remembering for the session
9) Test deleting a template
10) Test updating a template
11) Create one or more shared templates
12) Log in as another non superlibrarian without the new permission manage_item_editor_templates,
verify you cannot edit/delete templates shared to you
13) Enable the new permission manage_item_editor_templates,
verify you can now edit and delete templates shared to you
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>
Change "x" icon to replace patron when scheduling a pickup.
Test plan:
Schedule a new pickup, select a patron, notice the change.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This field is defined similar to 775, as a related work:
https://www.loc.gov/marc/bibliographic/bd787.html
This patch adds a display of this field, linking to the referenced record as the 775 does
It also tests for 580 field, and displays the text there if present, using the 787 a and t subfields otherwise
To test:
1 - Edit the default framework to make 787atw and 580a visible in editor
2 - Add a 787 to a record:
$tThe ideas behind the chess openings
$aFine, Reuben<
$w2470231
3 - Confirm there is no display
4 - Apply patch / restart all
5 - 'Other related works' now shows
6 - Link should be using title of record
7 - Set system preference UseControlNumber to Use
8 - Reload details, link should now use control number
9 - Add a 580 to the record:
$a This is a friendly work to this one
10 - Confirm the text of the link now displays before the link
11 - Add a second 580, confirm it displays as well
- there is no seperator as each should end with a period or other punctuation according to MARC
- there is a dpan with a class surrounding each so styling can be added as desired
12 - Add a second 787
- confirm seperator present and wrapped in a span with a class
- confirm each 787 is shown with a span/class for styling
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch checks for an upcoming series tag, and adds a separator if one is found
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch adjusts XSLT so that series tag displays if any 440,490,800,810,830 is present
It also adjusts 8xx to display even if 490 ind 1 = 1 is not present
To test:
1 - Check records with multiple series tag
2 - Confirm display is correct
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch makes changes the button markup in reports templates so that
all submit buttons and any buttons that should should be styled as
primary buttons have the Bootstrap class "btn btn-primary."
To test, apply the patch and view reports pages to confirm that
everything looks correct. In most cases there are no visible changes.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch makes changes the button markup in lists templates so that
all submit buttons and any buttons that should should be styled as
primary buttons have the Bootstrap class "btn btn-primary."
To test, apply the patch and view lists pages to confirm that everything
looks correct. In most cases there are no visible changes.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch makes a minor change to the batch record modification
template so that there is a link back to the initial view after you have
submitted a batch for modification.
To test, apply the patch and go to Cataloging -> Batch record
modification.
- Initially the breadcrumbs menu should show Home -> Cataloging -> Batch
record modification
- Submit a batch of bibliographic or authority records for modification
- The breadcrumbs should now read Home -> Cataloging -> Batch record
modification -> Results
- The same menu options should show after you confirm the operation
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>
We disable dates from the date picker that do not have slots defined in
the configuration.
Note that dates that have slots configured but none are available will
still be displayed. To implement that we would need to calculate the
availability for all the dates displayed on the widget (1 month) and
that will (certainly) slow down considerabily the UI.
Test plan:
Configure curbside pickup for a given library. Define slots for several
days of the week (not all).
Schedule a pickup and confirm that only the days with slots defined are
available in the date picker widget
Sponsored-by: Association KohaLa - https://koha-fr.org/
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>
There didn't appear to be any reason to have the hidden form fields here
nested in the ordered list and they were causing undesired styling
issues.
This patch simply moves them to the beggining of the fieldset.
Test plan
1) Confirm the 'HTML message' label now aligns correctly
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch makes changes the button markup in Catalog
templates -- including the Cart -- so that all submit buttons and any
buttons that should should be styled as primary buttons have the
Bootstrap class "btn btn-primary."
Edit: This revised patch changes the button styles on the search history
page to make them more consistent with buttons in similar interfaces
(see catalog search results).
The patch also adds Bootstrap size classes to the item detail page and
removes some global CSS which targeted buttons on that page.
To test, apply the patch and view pages the catalog to confirm
that everything looks correct. In most cases there are no visible
changes.
- Advanced search: The main search button at the top
- Search results: The "Search within results" submit button
- Bibliographic detail page: This change is to a hidden button. This
section can be removed in a separate bug.
- Bibliographic detail page -> Items: Various "Update" and "Set status"
buttons. Note that the alignment of buttons has not changed in the
redesign.
- Item search: The main search button at the top
- Search history (from the logged-in user's menu in the top right):
"Delete" buttons in each section
- Catalog -- Current and previous sessions
- Authority -- Current and previous sessions
- In the Cart popup window, click "Send." In the resulting popup, the
"Send button.
- The template basket/downloadcart.tt has been modified but I think the
template might be unused.
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 adds a page-section div around the search results shown by
the call number browser plugin in Cataloging.
The patch also restructures the search form so that the layout is
correct.
To test you must have an item subfield linked to the call number browser
plugin:
- Go to MARC frameworks -> Default MARC framework -> MARC structure.
- Locate the 952 tag and click Actions -> Edit subfields.
- Open the "o" tab and in the last section, "Other options," choose
"cn_browser.pl" for the plugin field.
Open an item record for editing:
- Go to Cataloging and search for a bibliographic record.
- Click Actions -> Add/Edit items for one of the results.
- In the item edit form, the "o - Full call number" field should have a
"..." link at the end.
- Clicking it should trigger a popup window.
- The search form at the top should be laid out correctly.
- Perform a search which will return results.
- The table of results should be contained within a white box.
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 adds a "page-section" wrapping div to two Course Reserves
templates.
Note: This patch contains indentation changes.
To test, apply the patch and go to Course Reserves.
- The table of course reserves should appear in a white section.
- View the details of a course: There should be a white section for the
list of details at the top and another for the table of reserves.
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 adds a "page-section" class to the div wrapping the table
of shipments on the "Receive shipment" page in Acquisitions.
This patch also modifies the markup around additional fields so that an
empty fieldset is not displayed when there are no additional fields to
display.
To test, apply the patch and go to Acquisitions.
- Locate a vendor and view its details.
- In the toolbar, click "Receive shipments."
- On the receive page, there should be a section listing shipments and a
section headed "Receive a new shipment."
- If you have additional fields defined (in Administration -> Additional
fields -> Invoices) there should be a third section showing those
fields.
- With no additional fields defined you should not see an empty
fieldset.
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 adds a "page-section" container div around the log viewer
output.
To test, apply the patch and go to Tools -> Logs.
- Perform a log search which will return results.
- The table of results should appear in a white box.
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 adds a "page-section" class to the container div around the
items table on the order receive page in acquisitions.
To test, apply the patch and go to Acquisitions.
- Locate a vendor and few its details.
- Click "Receive shipments."
- Fill out the "Receive shipment" form if you have no existing
shipments. Otherwise click on the invoice number link to get to the
"Receive orders" page.
- In the table of pending orders, click a "Receive" link.
- On the "Receive items" page there should be three sections: Catalog
details, Acquisitions details, and Items.
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 adds a "page-section" class to the divs wrapping two
sections on the "Receive orders" page in Acquisitions.
To test, apply the patch and go to Acquisitions.
- Locate a vendor and view its details.
- In the toolbar, click "Receive shipments."
- If you have existing shipments listed in the first section, click the
invoice number link.
- If not, fill out the "receive a new shipment" form and submit it.
- On the "Receive orders" page there should be two sections: "Pending
orders" and "Already received."
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 adds a "page-section" wrapping div to the uncertain prices
page in Acquisitions
Note: This patch contains indentation changes.
To test, apply the patch and go to Acquisitions.
- Locate a vendor and view its details
- In the left-hand sidebar, click "Uncertain prices."
- The page should have two sections: Details about the vendor, and a
list of orders with uncertain prices.
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>
Not sure why, but we had two unordered list elements stacked on top of
each other here instead of just one overall list.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Switches from ul to ol as used by other options which improves the
alignment of the options.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
There JS lines were left over from the first suggested GUI
using a checkbox.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Some libraries need to recalculate a patron's expiration date any time they are updated via a patron import from file.
Test Plan:
1) Apply this patch
2) prove t/db_dependent/Koha/Patrons/Import.t
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch adds the case of importing a record to the
ApplyFrameworkDefaults options.
To test:
1. Update database
2. Confirm the ApplyFrameworkDefaults system preference now has the
'when importing a record via z39.50' option. Do not select it.
3. Go to Cataloguing. Import a record from z39.50, or replace an
existing record.
4. Confirm framework defaults are not applied.
5. Go back to the system preference and check the 'when importing a
record via z39.50' option.
6. Repeat step 3. This time framework defaults should be applied. Only
fields that are empty in the imported record will be replaced by
framework defaults.
7. Repeat for authorities.
Sponsored-by: Catalyst IT
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 684a04deb6ec7e94ca60f5cb38811176fbb9c230)
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This sets the proper markup for table headers in the holds page and thus
grabs the proper header row underline.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Focus is set to name on additional fields on
administation add fields.
Test plan
1. Go to administation and manange additional
fields.
2. If you then add field the focus should
automatically go to the field name.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch makes changes the button markup in patron card creator
templates so that all submit buttons and any buttons that should should
be styled as primary buttons have the Bootstrap class "btn btn-primary."
To test, apply the patch and view patron card creator pages to confirm
that everything looks correct. In most cases there are no visible
changes.
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 makes changes the button markup in course reserves templates
so that all submit buttons and any buttons that should should be styled
as primary buttons have the Bootstrap class "btn btn-primary."
To test, apply the patch and view course reserves pages to confirm
that everything looks correct. In most cases there are no visible
changes.
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 fixes the OIDC default mapping to have the Koha fields on
the left (ie key) and the OIDC standard claim fields on the right (ie value).
1. Apply the patch
2. Go to http://localhost:8081/cgi-bin/koha/admin/identity_providers.pl?op=add_form
3. Choose "OIDC" for "Protocol"
4. Click "Add default OIDC mapping"
5. Note the following is displayed:
{
"email": "email",
"firstname": "given_name",
"surname": "family_name"
}
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch adds missing fieldset legends and titlecases "matchpoint",
so that the "Edit" UI is consistent with the "New" UI for adding
and modifying Identity Providers.
Test plan:
1) Apply patches
2) Go to http://localhost:8081/cgi-bin/koha/admin/identity_providers.pl?op=add_form
3) Fill out the fields to add an identity provider
4) Click "Edit" next to the Identity Provider in the list
5) In a new tab, go to
http://localhost:8081/cgi-bin/koha/admin/identity_providers.pl?op=add_form
6) Compare the two screens and note that all the labels, inputs, and help text
are the same on both screens.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch makes the textbox have the same number of rows and columns
on the "Edit" page as it does on the "New" page for Identity Providers.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch corrects the headings levels on cash_registers,
patron-attr-types and restrictions admin pages.
We also move the h2 headings inside the page-section div as appropriate.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch passes the constructed value of the preselect to search_indexes.inc
To test:
1 - Perform an advanced search, making sure to select different indexes
2 - Click 'Edit search' on results page
3 - Confirm index selections are preselected
4 - Enable IntranetCatalogSearchPulldown
5 - Do a search form the top bar using an index
6 - Confirm 'Edit search' correctly popluates the chosen index
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch updates the whitelist for the popover to ensrue our shortcuts table displays
To test:
1 - Open the advanced cataloging editor
2 - Click 'Keyboard shortcuts'
3 - Is empty, be sad
4 - Apply patch
5 - Reload
6 - Click it again
7 - Shortcuts!
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
I correct the indenting here, so remember to diff ignoring whitespace ;)
I remove some of the page-section divs introduced by the previous patch
and instead replace the 'container' classes with the new 'page-section
class on existing divs.
This brings the page-sections more in line with elsewhere in the
codebase.
I also update the 'h3' headings to 'h2' as we were somehow skipping that
heading level page wide and update the final 'h4' heading to 'h2' to
match the other section headings appropriately.
Finally, I break up the top section more, using bg-info for the top
block of instructions.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
To test:
1. Apply patch
2. Go to Adminstration > Circulation and fine rules
3. Look at the page-section added and make sure each looks good.
4. Use an HTML validator to check and make sure the HTML looks good.
Note: There are indentation changes and some fixes to bad markup ( stray tags, etc ).
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
https://bugs.koha-community.org/show_bug.cgi?id=32082
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch adds the page section to div to the following administration pages:
admin/cash_registers.tt
admin/cities.tt
admin/credit_types.tt
admin/debit_types.tt
admin/patron-attr-types.tt
admin/restrictions.tt
plugins/plugins-home.tt
To test go the following pages and make sure everything looks good:
Administration > Cash registers. You must enable the sys pref 'UseCashRegisters'
Administration > Cities and towns.
Administration > Credit types
Administration > Debit types
Administration > Patron restrictions
Adminstration > Patron attribute types
Administration > Manage plugins
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
https://bugs.koha-community.org/show_bug.cgi?id=32082
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch introduces a small form for an initial domain configuration
to the 'New identity provider' page, to avoid confusion on testers about
required settings for things to work.
To test:
1. Apply this patch
2. Verify you are now offered a configuration section for domain
settings. Fields like 'Default category' and 'Default library' are
mandatory.
3. Choosing some values makes them get stored on 'Submit'
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Several FIXME comments added on the report addressed here.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Lukasz Koszyk <lukasz.koszyk@kit.edu>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Lukasz Koszyk <lukasz.koszyk@kit.edu>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Lukasz Koszyk <lukasz.koszyk@kit.edu>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Lukasz Koszyk <lukasz.koszyk@kit.edu>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch adds a third option 'branch only' to the
OPACResultsUnavailableGroupBy system preference. This option will group
unavailable items by branch in the OPAC search results and NOT show
individual callnumbers or substatuses.
Note: This assumes OPACXSLTResultsDisplay is set to default.
To test:
1. Create a biblio record with 3 items with the following home branches:
Item A: Branch A
Item B: Branch A
Item C: Branch B
2. Check out Item A to yourself
3. Edit Item B to have a lost status
4. Go to Administration -> global system preferences. Search for
OPACResultsUnavailableGroupingBy.
5. By default, this preference will be set to 'branch'.
6. Open the OPAC in another tab, and search for your record.
7. Confirm the search results shows an Availability line with "Not
available: Branch A: Checked out (1). Branch A: Lost (1)." i.e. showing
both branch and substatus.
8. In your staff client tab, set OPACResultsUnavailableGroupingBy to
'substatus'.
9. Go back to your OPAC tab and search for your record. Confirm the
search results shows an Availability line with "Not available: Checked
out (1). Lost (1)." i.e. showing substatus only.
10. Apply patch, update database, restart services.
11. In your staff client tab, refresh the page. Confirm the options for
OPACResultsUnavailableGroupingBy have now changed to:
- branch and substatus
- substatus only
- branch only
12. Set OPACResultsUnavailableGroupingBy to 'branch only'.
13. Go back to your OPAC tab and search for your record. Confirm the
search results shows an Availability line with "Not available: Branch A
(2)." i.e. showing branch only.
14. Confirm the other two options still work as expected.
Sponsored-by: Chartered Accountants Australia and New Zealand
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>