Commit graph

866 commits

Author SHA1 Message Date
23266f7b00
Bug 32939: Use APIClient to fetch licenses
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-27 11:13:11 -03:00
b8dac5b1e2
Bug 32939: Use APIClient to fetch agreements
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-27 11:13:10 -03:00
545e568b9f
Bug 32939: Uniformize api calls
We want to make the call easier and without less errors possible.
Here, no need to async keyword, try-catch, etc.
Only call the method and use the common then with the 2 success and
error Promise arguments.

We will certainly want to add later a parameter to prevent the display
of the error in fetchJSON, in case the failure does not require a message
for the end user.

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-27 11:13:10 -03:00
225f2c664b
Bug 32939: Fix delete
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-27 11:13:10 -03:00
2c34c60951
Bug 32939: Introduce count
Not used yet, will replace myFetchTotal

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-27 11:13:09 -03:00
929f5a2199
Bug 32939: Restore checkError
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-27 11:13:09 -03:00
5871db7958
Bug 32939: Set the default header at lower level
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-27 11:13:09 -03:00
10322566d4
Bug 32939: Have a generic APIClient object
You always import the same, only once, and you can access other
resources from the same object.

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-27 11:13:09 -03:00
866cc641d9
Bug 32939: Have a generic fetch function for POST and PUT requests in vue modules
Rebase to 32806 and prior to 32925. Squash
More updates. Ready for review, for now.

JD amended patch:
* prettier
* remove changes to AgreementRelationships.vue and EHoldingsLocalPackageAgreements.vue to have less files to update in upcoming patches

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-27 11:13:08 -03:00
a8847a0d1d
Bug 32806: Move main-erm.ts to modules/erm.ts
Looks fine.

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-27 11:12:01 -03:00
4f3ecedfde
Bug 32806: Move routes.js to routes/erm.js
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-27 11:12:00 -03:00
998289850f
Bug 32806: Rename ERMHome and ERMMain to Home and Main
We don't need to repeat "ERM"

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-27 11:12:00 -03:00
1edd4d4589
Bug 32806: Move Vue files for reusability
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-27 11:11:58 -03:00
a48bce7c3b
Bug 32935: (bug 13614 follow-up) Remove unused basketgroup.js
Bug 13614 removed it. On bug 31056 we noticed that one function was
still needed but we copied it in the corresponding .tt

Now this JS file is no longer used and should be removed from the
codebase

Test plan:
  git grep basketgroup.js
must not return anything

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-24 17:57:37 -03:00
7c8434553a
Bug 31413: Set focus for cursor to Selector when adding a new audio alert
This patch adds a step to the process of displaying the new audio alert
form so that focus will be set to the first field when the form has
finished appearing. The typical "focus" class only works on elements
which are present in the initial DOM when the page is displayed.

To test, apply the patch and go to Administration -> Audio alerts.

Click the "New alert" button. When the form appears cursor focus should
be on the "Selector" field.

Also test the edit process: When editing an existing alert there should
not be automatic cursor focus.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-24 17:52:27 -03:00
e1b7591eff
Bug 32495: Mis-matched required fields in UI and api
The "description" field is marked as required in the UI when creating a new Agreement. This flag has been removed to match the API where it is not a required field. Is Perpetual has not been marked as required as it is a checkbox with a default selection so will always provide a value.

Test plan:
1) In the ERM module, add a new agreement and observe that the Description field is required
2) Apply patch
3) Repeat step 1 but this time the Required flag will not be visible.

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-24 16:47:32 -03:00
Jérémy Breuillard
6498c5835c Bug 22490: Some strings in JavaScript files are untranslatable
Javascript function `_` works only if used in template file (.tt or
.inc).
In .js files we should use `__`

This patch updates .js files to use `__` instead of `_`

Test Plan:
1. Do not apply the patch yet
2. Run `npx gulp po:update --lang fr-FR` (choose another language
   if you prefer)
3. Open misc/translator/po/fr-FR-messages-js.po and search "Please
   select a CSV (.csv) or ODS (.ods) spreadsheet file"
4. Notice that the references above only mention biblio_framework.js
5. If not already translated, translate it
6. Run misc/translator/translate install fr-FR
7. Go to staff interface and change language to fr-FR
8. Go to Administration » Authority types and click on "Actions ->
   Import"
9. In the modal window, click on "Import" without selecting a file. You
   should see an alert with the non-translated text
10. Apply the patch
11. Run `npx gulp po:update --lang fr-FR`
12. Open misc/translator/po/fr-FR-messages-js.po and search "Please
    select a CSV (.csv) or ODS (.ods) spreadsheet file"
13. Notice that the references above now also mention authtype.js
14. If the translation is marked as fuzzy, remove the fuzzy flag
15. Run misc/translator/translate install fr-FR
16. Go to staff interface again
17. Go to Administration » Authority types and click on "Actions ->
    Import"
18. In the modal window, click on "Import" without selecting a file. You
    should see an alert, this time with the translated text

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-24 16:41:31 -03:00
c564c8a696
Bug 32728: ERM - Update search header depending on navigation
Search header should change to match the section you are in.

Default is "agreement". If you are in "local titles" or "local
packages", the header will be positionned on the relevant tab.

To replicate:

1. Enable the ERM module: ERMModule system preference.
2. Go to the ERM module: Home > E-resource management.
3. Select the options from the sidebar menu (Agreements, Packages and Titles),
   and note that the ERM search header options don't change.
4. Add a minimal agreement, package and title.
5. Change the search header to another option, for example 'Search titles',
   then perform a search. Note that:
   - the appropriate sidebar menu option is highlighted, for example: 'Titles'
   - the search header changes back to 'Agreement search'
6. Apply patch, run yarn build
7. Verify the search options are now switched when moving between pages

Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-24 16:40:37 -03:00
9863c18cc8
Bug 32933: Use val() instead of attr("value") when getting field values with jQuery
This patch replaces instances in Koha's templates where "attr('value')" is
used to get the value of a form field, using "val()" instead. This
ensures that we get the current value of the field, not just the
value of the field when the page first loaded.

To test, apply the patch and test the following pages:

- Tools -> Tags. Use the "Check lists" form in the right-hand sidebar
  to test the approval status of some approved and rejected tags. It
  should correctly respond with the tag's status.
- Cataloging -> Label creator.
  - New -> Printer profile. Each offset and creep field should correctly
    reflect the selected value in the "Units" dropdown. Changing the
    dropdown should make the units change accordingly.
  - New -> Label template. Perform the same tests as above.
- Tools -> Patron card creator.
  - New -> Layout. If necessary, check the "Field 1" checkbox. The
    units should be displayed correctly and change as you change the
    "Units" dropdown.
  - New -> Printer profile,
  - New -> Card template: Perform the same tests as above.
- Lists -> List contents.
  - Check that the "Add to" dropdown menu works for adding selected
    titles to a cart or another list.
- Back record modification. Submit a batch of records for modification
  and go to Administration -> Manage jobs.
  - View the details of the job you just submitted.
  - Confirm that the "Add modified records to the following list"
    dropdown works correctly.
- Cataloging -> Find a bibliographic record -> Edit items.
  - Confirm that clicking a cell in the table of existing items
    triggers the "Edit item/Delete item" menu, and that these links
    work correctly.

Works as described.

Signed-off-by: Alex Buckley <alexbuckley@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-21 09:11:17 -03:00
a36f3ed7fe
Bug 32898: Remove unecessary async/await
myFetch awaits already

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-21 09:10:14 -03:00
a294c5e901
Bug 32898: ERM - Improve fetch
... and fix cypress tests

The main problem was that there were no more checkError call for fetchLocalTitleCount
and the error was not displayed on the UI.

This commit is doing several things:
- Refactor fetch.js to call the same fetch method (myFetch) in order to
deal with the error in a single place
- Have a new myFetchTotal JS function to get the X-Total-Count header
from the response and get the benefit of the previous refactoring
- Rename fetchCountLocalPackages with fetchLocalPackagesCount to match fetchLocalTitleCount
- Use fetchLocalPackagesCount on the Package list view
- Use checkError from components using fetch directly. Ideally the could
should be moved to fetch.js and myFetch should be used.
- checkError get a new flag in parameter to ask for the response instead
of the result (ie. the JSON of the response). That's useful when we need
the response status or the headers
- Make checkError throw a proper exception to stop propation. This
modify the error we display on the UI, it's why we have the following
changes in cypress tests:
-            "Something went wrong: Internal Server Error"
+            "Something went wrong: Error: Internal Server Error"
That's not ideal, we should have our own JS exception to avoid that
"Error" (coming from the toString call on the error)

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-21 09:10:14 -03:00
Katrin Fischer
736805ae5c
Bug 31209: Add a span with a class for items.enumchron in the checkouts list
To test:
* Add or edit an item and add some info to the 'Serial Enumeration /
  chronology' field
* Check the item out
* Verify by checking the source code or using the element inspector
  that the title and enumchron have been merged into one string
* Apply patch
* Reload and verify that now the enumchron is wrapped in a span
  with class="item_enumeration" matching the class in the list of
  checkins

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>
2023-02-20 09:44:17 -03:00
7fe9e76af8
Bug 30642: (follow-up) Change sql and adapt for translations
New column has now been changed to an enum in line with comments and the strings have been amended to be picked up for translation. The file koha-tmpl/intranet-tmpl/prog/en/includes/str/checkout_renewals.inc has been removed as the variables can be included within the javascript file.

Test plan:
1) In the database shell run "show columns from checkout_renewals;" and observe that there is currently no column for recording the type of renewal
2) Apply patch
3) In the shell run "dbic" and "perl installer/data/mysql/updatedatabase.pl" to update the database schema with the new column.
4) Create some checkouts
5) Renew some checkouts manually and observe in the database that there is now a column called "renewal_type" that will have recorded these as "Manual"
6) Create some checkouts that can be automatically renewed
7) Run the cron script in automatic_renewals.pl and observe that there are now also entries with a renewal_type of "Automatic"
8) Send a GET request to http://localhost:8081/api/v1/checkouts/1/renewals and observe that the renewal_type is now returned in the response
9) In the Item Details tab for a record, there is the "Current renewals" option which has a button to view renewals. Click on this and observe that the modal now displays the new information.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-10 11:07:58 -03:00
5045da59f1
Bug 30642: Record renewal type
A requirement has been requested to record whether a renewal was done manually or automatically. A column has been added to the checkout_renewals table in the database to record this and a check is now in place to determine whether the renewal was manual or automatic. The API has also been updated to reflect this new column and return the data when requested. The renewals modal view has also been updated to show what type the renewal was.

Test plan:
1) In the database shell run "show columns from checkout_renewals;" and observe that there is currently no column for recording the type of renewal
2) Apply patch
3) In the shell run "dbic" and "perl installer/data/mysql/updatedatabase.pl" to update the database schema with the new column.
4) Create some checkouts
5) Renew some checkouts manually and observe in the database that there is now a column called "renewal_type" that will have recorded these as "Manual"
6) Create some checkouts that can be automatically renewed
7) Run the cron script in automatic_renewals.pl and observe that there are now also entries with a renewal_type of "Automatic"
8) Send a GET request to http://localhost:8081/api/v1/checkouts/1/renewals and observe that the renewal_type is now returned in the response
9) In the Item Details tab for a record, there is the "Current renewals" option which has a button to view renewals. Click on this and observe that the modal now displays the new information.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-10 11:07:57 -03:00
10873a5728
Bug 32609: Remove CSS and JS compiled files
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-10 11:07:53 -03:00
539efac9aa
Bug 24616: (QA follow-up) Remove "This has bug" comment
... hopefully because there is no more bug now!

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-06 18:34:12 -03:00
Emmi Takkinen
a99f2e6530
Bug 24616: Do not save form if user press cancel
If one starts to copy a notice but then cancels
this when pop-up is displayed, changes are still
saved. This patch fixes this.

To test:
1. Copy notice to a library where it already exists
2. Press save and then cancel when pop-up is
displayed
=> Form and changes are still saved
3. Apply this patch.
4. Repeat steps 1. and 2.
=> Form is no longer saved

Sponsored-by: Koha-Suomi Oy
Signed-off-by: ml-inlibro <marie-luce.laflamme@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-06 18:34:11 -03:00
Emmi Takkinen
7362059bb6
Bug 24616: Allow copying notice to a branch even if it exists in that branch
If you try to copy notice or slip to a branch which already
has that notice or slip Koha won't let you save it. Instead
pop-up saying branch already has that notice is displayed.

This patch allows users to copy and override already existing
notice or slip.

To test:
1. Find notice which exists e.g. in all branches and branch A.
2. Copy that notice, add notice screen is displayed.
3. Press save.
=> Pop-up informing that notice already exists in branch A
is displayed.
4. Apply this patch.
5. Repeat steps 2. and 3.
6. Pop-up to confirm overwrite of notice is displayed.
=> Confirm that if you press OK, notice is saved succesfully.
=> Otherwise, changes to notice should not be saved.

Also try to save the notice you tested with as a new (same code)
to branch A. Confirm that pop-up is displayed as it should be.

Sponsored-by: Koha-Suomi Oy

Signed-off-by: Nick <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-06 18:34:11 -03:00
80a61a0f66
Bug 32772: Make all autocomplete searches 'starts_with'
To test:
1 - Add patrons with surname Fitzwilliams and Williams
2 - Enable 'PatronAutocomplete' syspref
3 - In checkout box type 'Will'
4 - You see fitwilliams first
5 - Apply patch
6 - Type 'Will'
7 - Autocomplete does not suggest Fitzwilliam, only Williams
8 - Type '%will'
9 - Fitzwilliams is suggested

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-06 18:32:58 -03:00
a454653629 Bug 32401: Remove x-koha-query support
HTTP headers can only contain ASCII characters, and it is thus
impractical to use a header for passing DB queries that could contain
non-ascii characters.

We don't need it, and should be removed.

This patch removes traces from the datatables.js files and also from
detail.tt, which had it set to false anyway.

See bug 32406 and bug 32409 for the cases in which it was being used,
and problematic.

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-02 11:59:26 -03:00
Katrin Fischer
12ae2c59e7
Bug 31962: Add tooltip to 'configure' on datatable controls
This makes sure that the last button on the datatable controls
also has a tooltip, like the other buttons.

To test:
* Without the patch:
* Check out an item and look at the table of checkouts
* Look at the detail page of a record with at least one item
* Confirm that the 'configure' button doesn't have a tooltip appear
  as a bubble like the other buttons
* Apply patch
* Restart_all and reload pages
* Make sure the styling of the 'configure' tooltip now matches that
  of the other buttons

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-31 10:49:34 -03:00
2addd2879a
Bug 32618: Add 'page-section' to various administration pages
This patch adds a "page-section" container div around the main section
of administration pages which lack it.

The SMS providers page required a small change to the associated
JavaScript in order to target the right container, so you may need to
clear your browser cache to get the correct behavior.

This patch contains indentation changes, so please ignore whitespace
when looking at the diff.

To test, apply the patch and view the following pages to confirm that
the main content is contained in a white box:

 - Acquisitions -> Vendor -> Contracts
 - Administration -> Budgets -> Budget details -> Planning
 - Administration -> Circulation desks
 - Administration -> OAI sets configuration -> Define mappings
 - Administration -> System preferences -> Search for
   'OverDriveAuthName' -> OverDrive library authnames table
 - Administration -> SMS cellular providers
   - Confirm that the "Edit" buttons work correctly to show and hide the
     right content.

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>
2023-01-31 09:36:42 -03:00
6898f1f132
Bug 32520: Use DefaultPatronSearchFields in patron_autocomplete
This patch updates js_includes.inc to set a new global js variable
`defaultPatronSearchFields` with the content of the corresponding system
preference.

We then update the patron_autocomplete function to use this new global
variable and iterate in the same way as
koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc.

NOTE: This changes the behaviour of the autocomplete from always
searching using contains on surname or firstname or starts with on
cardnumber to searching using 'contains' on any of the fields listed in
the DefaultPatronSearchFields system preference of defaulting to
'firstname,middle_name,surname,othernames,cardnumber,userid'.

Test plan
1. Ensure autocomplete still works everywhere
2. Confirm the system preference fields are being used.

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 16:20:54 -03:00
5197d63c55
Bug 32204: Check for hash before setting focus
1. Search the catalog and view a record detail page of a record with items
2. Click 'Edit items'
3. Choose one item from the list and click 'Edit'
4. The URL fragment or in-page anchor (#edititem) is appended to the end of the URL but you are not placed on it. Instead you are placed at the top of the page and must scroll down to edit the particular item.
5. Apply patch
6. Try steps 1 - 3 again, now you should be placed in the correct location (#edititem) when editing an item.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 15:20:45 -03:00
c67e94a356
Bug 32491: Split patron search terms on comma - autocomplete
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>
2023-01-11 20:47:55 -03:00
a2e8d7cba2
Bug 31935: (follow-up) Make form look better
Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-05 09:24:29 -03:00
0a934194ca
Bug 32468: Remove unecessary fetch titles JS functions
Those JS functions are no longer in use and can be removed.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-12-19 11:46:23 -03:00
6b19436f5f
Bug 32468: Use fetchLocalTitleCount to know if local titles exist
We don't need to fetch 20 titles to know if there is at least one. We
should call fetchLocalTitleCount.

Note that this should be implemented for all 'List' views.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-12-19 11:46:23 -03:00
ccdc90aeea
Bug 32468: ERM - Populate dropdown list with all entries
The REST API routes is configured to return the 20 first results if
_per_page is not provided. Here we want to display all the
vendors/agreements/licenses/packages in the dropdown lists.

Ideally we should implement an infinite scroll to not load all the data
at once (https://vue-select.org/guide/infinite-scroll.html)

Test plan:
Create more than 20 vendors and confirm that, with this patch, all the
vendors are display in the dropdown list displayed on the add agreement
form
Same for agreements, licenses and local packages

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-12-19 11:46:18 -03:00
0622e118db
Bug 31166: Digest option is not selectable for phone when PhoneNotification is enabled
Digests are not available via Talking Tech, but the artificial limit should not be in place for the non-TT phone notices. If only phone is selected, digest remains disabled.

Test Plan:
1) Apply this patch
2) Enable TalkingTechPhoneNotification
3) Verify behavior hasn't changed
4) Disable TalkingTechPhoneNotification, Enable PhoneNotification
5) Note disgest option is now selectable if only phone is selected

Signed-off-by: Evelyn Hartline <evelyn@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Bug 31166: (QA follow-up) Remove debugging lines

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Bug 31166: (QA follow-up) Implement on OPAC side

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Squashed by RM
2022-12-13 14:59:51 -03:00
3ce2f6e700
Bug 32261: Patron autocomplete - do not empty text field
The jQuery UI autocomplete is supposed to replace the text field with
the 'value' attribute of the selected item. As it does not exist it's
emptied. We should not replace what the user typed in.

Test plan:
Go to the Koha home page
Select "Search patrons" in the header
Type 'edn', it will return 1 result
Use the down key to select the item (it is not obvious but there is a
little change in the color when you select the item)
=> Without this patch the search field is emptied
=> With this patch applied the search field is not modified

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-12-07 11:36:53 -03:00
8965615f2d Vue bundle - Add main.js.LICENSE.txt
There is a reference to it in main.js, it makes sense to include it in
our codebase

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2022-12-01 10:29:42 +01:00
9de934a96e
22.11.00: Vue bundle
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-25 15:20:23 -03:00
09c2b96e04
Bug 32260: Patron autocomplete - Do not display an alert if request is rejected
Not sure what is going on exactly, neither if this patch is the correct
way to fix this.
The request is "rejected" at some point (by the browser?), when we
search for patrons using the autocomplete and DT "at the same time".

To recreate:
Don't apply this patch
Go to /cgi-bin/koha/reserve/request.pl?biblionumber=1&borrowernumber=5
Search for "edn" then hit enter
You may see an alert, that will disappear
If you don't see the alert, repeat

This patch suggests to ignore the alert if the status of the request is
"rejected".

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-23 09:45:21 -03:00
4e5776d1ad
Bug 32303: Remove DT pagination on system preference search result
This patch updates the way we retrieve a DataTable's saved state during
initialization. The change is to prevent cases where making a duplicate
call to DataTables() initializes the table again.

To recreate the bug, search system preferences for the term "last."
Scroll down to the "OPAC preferences" section and observe that there are
two filter forms displayed above it.

Apply the patch and perform the same search again. The extra forms
should be gone.

Confirm that DataTables behavior is still the same:

 - Test pages which use the "saveState" option in DataTables.
   - Type text in the table's search field
   - Reload the page. The search field should still have the string you
     entered, and the "Clear filter" button should be active.
     - Administration -> Libraries
     - Acquisitions -> Vendor -> Receive shipments -> Receive orders
     - Circulation -> Overdues

 - Test pages which don't use the "saveState" option, e.g. the checkout
   screen, patron search results, list of saved reports, etc. The
   behavior of the search form and table operations in general should be
   unchanged.

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-23 09:35:40 -03:00
26ca471424
Bug 32046: When adding a new records from a staged files, there are style issues
This patch modifies the template for adding a record from a staged file
in order to resolve some layout problems introduced by the staff
redesign.

This patch also corrects an problem with addorderiso2709.js: It included
some template markup. The template variables are converted to a JS
variable to prevent a JS error.

Note that the QA tool's js_in_body error is invalid for this template
which requires that the JS stay inside <head>.

To test you must have at least one MARC file staged for import.

- Apply the patch and go to Acquisitions.
- Locate a vendor and create a basket if necessary.
- Add to the basket and choose the option of adding an order from a
  staged file.
- Click "Add orders" next to one of the staged files.
- On the Add orders from MARC file page, test that everything looks
  correct and works correctly:
  - In the first tab, expanding and collapsing order details by checking
    the checkbox or clicking the title.
  - Test the "MARC" and "Card" preview buttons.
  - Under the Item information tab, confirm that the layout looks
    correct and that the form works correctly, including plugin
    operations like auto barcode fill.
  - Test that, under the Default accounting details tab, changing the
    fund automatically sets the fund for each title in the first tab.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-23 09:34:00 -03:00
5e51279ce9
Bug 31891: (bug 27421 follow-up) Remove one additional click
From comment 0
"""
Moving marc batch import actions to background jobs has introduced some confusing
clicks to the process. Before this change, after staging a batch one was taken
to a "MARC staging results" page with details of how the staging went and, most
importantly, a link straight to the batch you'd just staged
(at manage-marc-import.pl?import_batch_id).

Now, however, one must click the status bar to get to details of the job
and then click "View batch" from there. Not only is that an extra click
and page load, but neither of those links are particularly large or
obvious.
"""

Test plan:
- Stage a record for import, notice that the "View batch" link appears
when the job is finished
- Add order to basket from a new file, select a file and import
Notice that the "Add staged files to basket" link is displayed when the
job is finished

Note for QA: We should have a js_callback in the background_job include
file instead.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-22 09:19:59 -03:00
037e6c7e48
Bug 32045: Use bootstrap tabs to select item tab
When the form to add orders from a staged file is validated, we use
toptabs functionality to switch to the item tab if there are missing fields.

The display now uses bootstrap tabs, so the JS is throwing an error:
Uncaught Error: cannot call methods on tabs prior to initialization; attempted to call method 'option'

This patch simply switches the call to switch tabs

To test:
1 - Stage a file for import
2 - Either use Marc(Item)FieldsToOrder to populate the orders
    or select a budget on the third tab
3 - View the second tab, items info, confirm itemtype is required, but don't populate it
4 - Attempt to save order, nothing happens
5 - Check the JS console (F12)
6 - Note the error:
    Uncaught Error: cannot call methods on tabs prior to initialization; attempted to call method 'option'
7 - Apply patch
8 - Cancel and add from staged file again
9 - Select a budget and save
10 - You now get an error popup: Some required item subfields are not set
11 - Confirm after the error you are shown the items tab
12 - Select itemtype
13 - Save
14 - Confirm orders added successfully

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-22 09:09:33 -03:00
ecec606572
Bug 32181: ERM - Fix 'filter by expired' when adding an agreement to EBSCO's package
We shouldn't change the current route (which will lead to change the
view) when we are adding an agreement to a EBSCO's package

Test plan:
Go to E-Resource management / eHoldings / EBSCO / Packages
Search for a package, select one
Click "Add new agreement"
Use the "Filter by expired" filter
=> Without this patch you are redirected to the package list view
=> With this patch applied the table is filtered as expected

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-17 14:56:35 -03:00
bac0617416
Bug 32214: Prevent empty search option block in catalog search header
In the header, if "Search catalog" is selected, there is an "option"
icon to display some filters.
Fitlers are displayed if IntranetCatalogSearchPulldown or
IntranetAddMastheadLibraryPulldown is set. If none are set we should
hide the icon to avoid and empty div to be displayed

Test plan:
Confirm that the icon is only displayed if one of the 2 prefs is turned
on.

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>
2022-11-16 16:29:05 -03:00