Commit graph

1417 commits

Author SHA1 Message Date
f3ebd78dee
Bug 34300: Add holds column to order table
Adds the ability to easily place a hold on an ordered item from a basket

To test:
    1) Apply patch
    2) Go to acquisitions
    3) Go to an existing basket, or create a new one
    4) Add an order to the basket
    4) Notice there is a "Place hold" column in the Orders table
    5) Click the link for an item which allows you to place a hold easily on the biblio
    6) On the columns settings, toggle the "Place hold" column to hide it, and make sure it gets hidden

    Sponsored-by: Pymble Ladies’ College

Signed-off-by: Lisette Scheer <lisette.scheer@bywatersolutions.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-10-04 16:40:14 -04:00
b0b33b382c
Bug 32676: Fix EDI message status case
Edifact status appear to vary between all lower case and being
capitalized. This breaks the switch in the edi_status block of the
basket.tt template. We should make this switch case-insensitive.

Test Plan:
1) View the basket for a sent EDI order, note the Sent status does not
   display.
2) Apply this patch
3) Reloate the page, note the status is now visible!

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-10-04 09:44:06 -04:00
dc140bdb2e
Bug 34833: (follow-up): remove redundant spaces
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-10-04 09:32:53 -04:00
Katrin Fischer
2b1b7c9ce8
Bug 34833: Make "order number" in acq modal translatable
The 'order number' was not translatable when editing the
estimated delivery date or notes from basket summary or
when editing the estimated delivery date from late orders.

To get there:
0. Make sure you have budgets and vendors set up

1. Create a basket (skip this if you already have an open basket)
   1.1. Go to acquisitions
   1.2. Search for a vendor
   1.3. Click New > basket
   1.4. Enter a name for the basket
   1.5. To make the tests easier, choose to create items when : cataloging the record
   1.6. Click save

2. Add an order
   2.1. Click add to basket > From a new (empty) record
   2.2. Fill out the form, minimally
        - Enter a title
        - Enter a quantity
        - Choose a fund
        - Enter a vendor price
   2.3. Click Save

3. Next to the order line, click Edit under Estimated delivery date
4. Verify that the 'order number <ordernumber>' shows on top of the modal
5. Edit internal/vendor note, verify it shows there as well
6. Close basket
7. Go to late orders
8. Edit estimated delivery date, text should show there as well
9. Apply patch
10. Run translation update script
11. Verify the string now appears in po files
12. Translate it
13. Install translation
14. Verify it shows nicely translated in all 3 mentioned spots

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-10-04 09:32:53 -04:00
3b190d625b
Bug 34801: Fix incorrect use of __() in .tt and .inc files (bug 34038 follow-up)
__() should be used in .js files, not .tt files

To test, apply the patch and update a translation, e.g. fr-FR:

  > cd misc/translator
  > perl translate update fr-FR

- Open the corresponding .po file for JavaScript strings, in this case
  misc/translator/po/fr-FR-staff-prog.po
- Confirm that the strings are now in the .po file for translation. You
  should find the lines in the commit

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-10-03 09:24:48 -04:00
06c2b4898b
Bug 28449: Add column with invoice number to basket summary page
At the moment it's quite a lot of clicks to get from the basket
summary to the invoice something was received in. This adds a nice
shortcut by creating a new column for the invoicenumber in the basket
summary table.

To test:
* Make sure you have a basket with some received and unreceived
  order lines
* Verify that the (received) shows for your received lines
* Verify no invoice number or link to it in sight
* Apply patch
* Verify that there is now a column for the Invoice containing
  the invoice number as a link to the invoice
* Test with a staff patron, that doesn't have edit_invoices permission
* Verify that now instead of a link you see the invoice number as text

Be happy, sign off ;)

Note: this doesn't change the CSV export. The way the CSV is built is
quite different to the summary table, so it would be better handled
in a separate bug/patch. The columns are already quite different!

Sponsored-by: The Research University in the Helmholtz Association (KIT)

Signed-off-by: Laura Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Émily-Rose Francoeur <emily-rose.francoeur@inLibro.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-09-25 10:53:50 -03:00
8922fb1863
Bug 34618: Add sort 1 and 2 fields to basket in acquisitions
This patch adds the option to display sort1 and sort2 columns in the
view of the contents of a basket in acquisitions. The columns are
labeled "Statistic 1" and "Statistic 2" to match the labels in the
order creation/edit form.

The fields are hidden by default in the updated table configuration.

To test, apply the patch and restart services.

- Go to acquisitions and create a basket if necessary:
  - Search for a vendor and click New -> Basket from the vendor
    toolbar on the vendor search results screen.
  - Create a basket, then click "Add to basket" from the basket details
    page.
  - Add an order to the basket.
- With at least one order in the basket, check the table of orders in
  the basket.
- The columns should be unchanged.
- The table configuration button should show the two statistics fields
  as hidden. Test that they can be displayed.

- Go to Administration -> Table settings.
  - Under Acquisitions -> basket, try changing the settings for the
    Statistic 1 and Statistic 2 fields, and check that your changes are
    reflected in the basket view.

- Test with a vendor which has an EDI account:
  - Enable the EDIFACT system preference.
  - Go to Administration -> EDI accounts and create an account for your
    vendor.
  - Confirm that the table of orders in your basket still displays
    correctly now that the "Supplier report" column is present.

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Ray Delahunty <r.delahunty@arts.ac.uk>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-09-25 10:53:49 -03:00
Katrin Fischer
8dcdeaf23d
Bug 33499: (QA follow-up) Open external links in new tab
Adds target="_blank" to the vendor website and interface URLs,
as we can expect them to be external sites.

Also changes mark-up a little so that the URL is shown without
an additional space in front, lining up with the other fields.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-09-22 12:35:48 -03:00
f6b9f25a4f
Bug 33499: Make interface URL clickable on vendor details
This patch adds markup around the vendor details interface URL so that
it is a clickable link.

To test, apply the patch and go to Acquisitions.

- Search for a vendor
- If you don't have a vendor with interfaces defined, edit one
  - Under Interfaces -> Interface details, fill out the form, including
    the URI field.
  - Add more than one interface
- Save your changes and then view the vendor details page
- In the Interfaces section the interfaces you defined should have
  clickable links.

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: Tomas Cohen Arazi <tomascohen@theke.io>
2023-09-22 12:35:48 -03:00
e28ea9c4af
Bug 34880: (follow-up) Make condition more specific
To test (applies to both patches):

* Add a new basket as 'standing order' and with 'items created in cataloguing'
* Create an order line
* Receive shipment and create an invoice
* Receive your order
* Verify:
  * Quantity ordered: 1
  * Quantity received: 1 (pre-filled)
  * No item form on the right
* Confirm
* Receive error:
  Order X: No quantity to receive set. No items will be created.
* Verify no receive was processed (received orders remains empty)
* Apply patch
* Verify receive works as expected

Other possible combinations to test:

* Standing order, items on receive
* Standing order, items on order (no items are created)
* Standing order + order from subscription + any item setting (no items are created)
* No standing order + items in cataloguing
* No standing order + items on receive
* No standing order + items on order
* No standing oder + order from subscription + all item settings (no items are created)

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-09-22 10:52:42 -03:00
9dd6fa2d8d
Bug 34880: Fix order receive for standing orders
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-09-22 10:52:41 -03:00
Caroline Cyr La Rose
70b4f09701
Bug 34228: Add translation context to "Managed by"
This patch adds context for translators to the Managed by string when it
applies to acquisitions baskets (as opposed to purchase suggestions).

To test:
0. If you don't already have acquisitions set up, create a budget and a vendor

1. Apply patch

2. Create a basket
   2.1. Go to Acquisitions
   2.2. Search for a vendor
   2.3. Click New > Basket
   2.4. Fill out the form
   2.5. Click Save

3. View the basket details page
   --> The page works (no errors)
   --> 'Managed by:' is displayed on the right, no spelling errors

4. Click Add to basket > From a new (empty) record
   --> The page works (no errors)
   --> 'Managed by:' is displayed under Basket details, no spelling errors

5. Click Cancel

6. Update the po files

gulp po:update --lang xx-XX

for example, gulp po:update --lang fr-CA

7. Check the xx-XX-messages.po file (e.g. misc/translator/po/fr-CA-messages.po)
   --> There should be an entry for 'Managed by:' with a line msgctxt that gives the 'Acquisitions basket managed by user' context

8. Update the file with a random phrase for the 'Managed by:' translation

for example, I translated 'Managed by:' by 'AAAAAAA:', just to see the difference

\#: koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt:308
\#: koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt:281
msgctxt "Acquisitions basket managed by user"
msgid "Managed by:"
msgstr "AAAAAAA:"

9. Install a new language
   9.1. Run the following commands in the terminal, replacing xx-XX with the language code (e.g. fr-CA)

   ./misc/translator/translate install xx-XX

   9.2. In the Koha staff interface, go to Administration > System preferences
   9.3. Search for language
   9.4. Check the box next to the new language
   9.5. Save

10. Switch the language of the interface

11. Redo steps 3 and 4
   --> The pages still work (no errors)
   --> The 'Managed by:' string should be replaced by whatever you put in step 8

Optional test
12. In the staff interface in English, view one or more of these pages, the 'Managed by' string should be unchanged
- Acquisitions > Suggestions (Managed by column heading)
- Acquisitions > Suggestions (Organize by: Managed by sorting option)
- Acquisitions > Suggestions (Filter by: Suggestion information: Managed by filter option)
- Acquisitions > Suggestions > Click on a suggestion (Managed by table row under Suggestion management)
- Patrons > Patron account > Purchase suggestions (Managed by column heading)

13. View these same pages in the other language, the Managed by string should NOT be changed to whatever you put in step 8

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

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-09-15 11:57:14 -03:00
08858b161c
Bug 34736: Don't trigger quantity change on loading order
We have a change event to automatically check or uncheck the first items on a list when
the value is changed directly.

The code is calling this when setting the quantity when loading an order, but this is causing a problem
in that we are setting the quantity to load.switch orders and triggering the checkboxes wrongly

To test:
 1 - Create a new basket, create items on placing the order
 2 - Create an order line with 4 items
 3 - Create another order line with 2 items
 4 - Close the basket
 5 - Receive shipment and create an invoice
 6 - Select both orders via the checkboxes got multi-receive
 7 - Click "receive selected"
 8 - Edit first order line, quantity received = 1 (1 out of 4)
 9 - Verify that one item is also selected in the table
10 - Switch to "next order"
11 - Quantity received is 0, no items checked in the second order
12 - Switch to "Previous order"
13 - ERROR: Item checkbox was lost, quantity received still correct
14 - Switch to next order
15 - ERROR: item is now checked, quantity received 0
16 - Note: We see a mix up of the information entered, one has the checkbox now, the other the quantity.
17 - Save changes
18 - Click confirm
19 - Continue (complaint about the second order left unchanged)
20 - You are back on the summary:
     * pending order: quantity changed from 4 to 3 - correct
     * received order: quantity shows 1 - correct
21 - Click on receive for your updated order line (with 3 items)
     * 4 items show to be received (should be 3)
22 - Apply patch
23 - Cancel receipt of items
24 - Repeat 1-12
25 - Items are loaded correctly
26 - Try with various checkboxes and switch back and forth
27 - Confirm that manually adjusting quantity received checks the first n boxes
28 - Confirm setting quantity to 0 unchecks the boxes

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-09-15 11:57:09 -03:00
d4e53a1362
Bug 34085: (follow-up) remove typo in Javascript
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-09-08 11:54:57 -03:00
059e598f38
Bug 34085: Remove the use of event attributes from basket groups template
This patch removes the use of event attributes (onclick, onsubmit) from
the basket groups template. These events are defined now along with the
other in-page JS.

This change allows us to move the scripts to the bottom of the page.

Unrelated changes: There was no confirmation tied to the process of
deleting a basket group. I've added one. And there were several "MSG_"
variables defined which were unused and have been removed.

To test you should have at least one vendor with at least one basket
group.

- Apply the patch and go to Acquisitions.
- Locate a vendor with an associated basket group.
- Edit a basketgroup
  - Confirm that editing works correctly (leaving "Close basket group"
    unchecked")
  - Confirm that editing works correctly with "Close basket group"
    checked.
- In the list of closed basket groups, confirm that all the controls
  work correctly.
- Create an empty basket group and confirm that clicking the associated
  "Delete" button in the list of basket groups triggers a confirmation,
  "Are you sure you want to delete this basket group?" Test that both
  confirming and cancelling work correctly.

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-09-08 11:54:57 -03:00
Aleisha Amohia
aea3ad0b7b
Bug 34036: Reload 'already received' table when edit modal closed
Bug 33784 introduced a fix that prevents the 'already received' table from reloading completely if the modal is hidden and there is only one order in the table. This appears to assume that the 'hidden modal' event is only triggered if the receive form is cancelled, but the 'hidden modal' event is also triggered when the receive form is submitted. This means that the table isn't redrawn when the form is submitted and there's one order already received, so the next order does not show in the table when the page reloads.

To test:
1. Set up a vendor, budget, fund, and create a new basket.
2. Add two orders (two different records) to this basket.
3. Close the basket and go to receive the orders.
4. Once on the 'Receive orders' page, use the checkboxes in the Pending orders table to receive both orders at once. Choose the 'Receive selected' button
5. Click Edit for the first order, receive the item and click 'Next order'. Receive the next item and click 'Save changes'. Then Confirm
6. Both orders should now show under Already received. Click Cancel receipt for one of the orders. It should go back to Pending orders.
7. Click Receive for the now pending order. Receive the item and Confirm.
8. Notice that the page appears to reload but the order doesn't show under Already received with the other order. The order also no longer shows under Pending orders.

9. Apply the patch and restart services. Reload the page. Cancel receipt of the order again.
10. Click Receive for the now pending order. Receive the item and Confirm.
11. The Already received table should reload so that both orders now show under Already received.
12. Click Cancel receipt for the order.
13. Click Receive for the now pending order, then Cancel without receiving the item.
14. Confirm the page loads as expected with one pending order and one already received order.

Sponsored-by: Toi Ohomai Institute of Technology
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-09-06 09:57:02 -03:00
eaab32eb0e
Bug 34109: Check mandatory item fields when creating during recipt
This patch adds a check of mandatory item fields before saving during order receipt.
We check both when adding the item initially, and when submitting the order, as it will use
the values from the open form.

To test:
* Go to administration > frameworks > ACQ > MARC structure > 952
* Set callnumber (o) or barcode (p) to mandatory
* In acquisition:
* Create a basket with "create items on order" and "is standing"
  "standing" helps as you can do multiple receives testing different things,
  but is optional
* Add an order line
* Receive shipment
* Verify the mandatory fields show in the item form
* Set itemtype = Music
* Save with the fields blank
* Item row is added, no warning
* Edit the item, change the item type to blank
* Click 'Confirm' for the order without closing the item edit form
* Verify the item was added with itemtype Books (on sample data) and empty mandatory field
* Apply patch
* Repeat above, however, you should not be able to submit the item or order until mandatory fields are filled

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-09-06 09:57:02 -03:00
c2464231b0
Bug 33908: Improve translation of title tags: Acquisitions
This patch updates acquisitions, suggestions, and ERM templates so that
title tags can be more easily translated.

To test, apply the patch and confirm that the following pages have the
correct title tags:

 - Acquisitions -> Acquisitions home
   - Ordered
   - Spent
   - Vendors: Search, new, edit
     - Baskets: New, edit
       - New order
         - From an empty record
         - From an existing record
         - From existing orders (copy)
         - From a suggestion
         - From a subscription
         - From an external source
         - From a staged file
     - Basket groups
     - Receive shipments
   - Uncertain prices
   - Late orders
   - Suggestions
   - Invoices
     - Invoice details
       - Invoice files
       - Receive orders
         - Transfer order
         - Cancel order
   - EDIFACT messages
   - Order search
 - ERM

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-09-01 11:07:41 -03:00
Laura Escamilla
a5cadff482
Bug 34095: Adjust logic so that shipment cost is empty if the receiving shipment cost is blank.
Signed-off-by: Anneli Österman <anneli.osterman@koha-suomi.fi>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-08-30 10:07:06 -03:00
77ee1ca743
Bug 34509: Use select2 to load vendors on basket creation
This patch moves the dropdown to use select2 and avoids loading all
vendors at page load.

To test:
 1 - Create some extra vendors in your system, ideally over 20
 2 - Search for a vendor in acquisitions
 3 - Click 'New->basket'
 4 - Note the dropdown of all vendors
 5 - Choose a vendor and create a basket
 6 - Apply patch
 7 - Repeat
 8 - Note only a partial list of vendors is loaded
 9 - Search in the dropdown and confirm vendors are returned
10 - Select a vendor and create the basket

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-08-29 14:37:07 -03:00
37d5a0cb44
Bug 34197: Group and label vendor contact settings
This patch changes the layout of vendor contact settings, both in the
entry form and in the detail view. Now acquisitions-specific contact
settings and serials-specific contact settings are grouped together and
labeled as such.

The patch also corrects some markup to make the display more consistent.
JS handling of some labels has been removed because the structure change
eliminated the need for a "for" attribute.

The patch also makes a minor unrelated change to the display of discount
percentages to ensure that a blank value doesn't display.

To test, apply the patch and go to Acquisitions -> New vendor.

- In the vendor entry form, in the "Contacts" section, you should see
  two groups of checkboxes, "Acquisitions options" and "Serials
  options." Confirm that the labels can be clicked to check checkboxes.
- Test the process of adding another contact and confirm that the
  additional entry fields work correctly.
  - Confirm that the "Primary acquisitions contact" and "Primary serials
    contact" checkboxes act like radio buttons between the two contacts:
    Checking the box under one contact should uncheck the same box under
    the other contact.
- Confirm that all your data is saved correctly.
- Test the page during the edit process as well.
- View your updated vendor and confirm that the detail view looks
  correct.

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: Tomas Cohen Arazi <tomascohen@theke.io>
2023-08-15 12:16:58 +03:00
5749df1e3a
Bug 34434: Terminology: Biblio should be bibliographic
This patch corrects several more instances where the templates use the
term "biblio" where it should use "bibliographic."

To test, apply the patch and confirm that these instances read
correctly:

- About -> Special thanks... -> Mines Paristech: "bibliographic
  frameworks"
- Acquisitions -> Vendor -> Receive shipments: "Record count" in the
  table of shipments.
- Catalogue -> Bibliographic record details -> Labeled MARC: "Labeled
  MARC record" heading.
- Circulation -> Holds to pull: Error message, "hold has been placed at
  the bibliographic record level."
  * I'm not sure how one can trigger this error message.
- Tools -> Log viewer -> Filter by "Catalog" and "Add": "Bibliographic
  record..." link in the "Object" column.

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-08-15 12:16:56 +03:00
a4b7490633
Bug 34469: Block editing for received order lines
When an already received order line is modified/edited,
we experience data loss. Most prominently, we will lose the
linked invoiceid. Therefore we should not allow editing an
order line that was already received. If something needs to be
changed, the receipt should be cancelled first.

To test:
* Create basket as standing order with items added in cataloguing
* Add an order line
* Receive shipment
* Go to the basket summary page, click on 'Modify'
* Change the actual cost
* Save
* Verify that the invoice is now empty
* In the database aqorders.invoiceid will be NULL
* Apply patch
* Receive another shipment for the standing order
* Go back to basket summary page
* Verify the 'Modify' link is no longer present
* Click 'Modify' on the unreceived order line
* Edit the URL parameter odernumber to have the number of an
  already received order line
* Verify you see a nice error message:
  This order cannot be edited, the basket is closed or the order was already received.

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Laura Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-08-15 12:16:50 +03:00
27cf76b484
Bug 34108: Preserve checked orders after item editing
The js that buils the new row after editing expects to receive a
value '_checked' indicating if theitem was selected. The 'item' variable
used to create the row after edit comes from the api and doesn't include this.

We need to inspect the previous html before building the new row to confirm the box wa checked

To test:
 1 - Create a basket with 'items created on receive'
 2 - Add an order line with multiple items to it
 3 - Close basket
 4 - Receive shipment
 5 - Add invoice information
 6 - Receive through receive link in the table
 7 - Check some items
 8 - Click on the "Edit" link and make some change to the item
 9 - Save
10 - Checkboxes have disappeared
11 - Cancel receipt
12 - Apply patch
13 - Reload the page
14 - Repeat 7-9
15 - Checkbox is preserved

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-08-15 12:16:49 +03:00
72ef65edbe
Bug 34452: Restore fund label and 'Update adjustments' button
This patch fixed 2 small and recent regressions:

* The "Update adjustments" button used to always display. It's
  required to save a new first adjustment, but also to save
  changes to existing adjustments edited inline. It now would
  only display after "Add adjustments" was clicked. We retore
  to display it always. (bug 32746)

* We have several "Fund" pull downs on this page, but they are
  for different things and require different labelling.
  "Fund" was changed to "Shipping fund" which matches at the top,
  but doesn't work for the adjustments table and single adjustment
  form. Now we use "Shipping fund" "Fund" and no label in the table
  as the table header covers it there. (bug 33721)

To test.
  * Add a vendor
  * Receive shipment
  * Add invoice and save
  * Click on "Finish receiving"
  * Verify the button "Update adjustments" appears after clicking
    "Add new adjustment"
  * Verify the button is gone after you clicked it and the table shows
  * Change something in the table - no button to save change :(
  * Apply patch
  * Repeat steps, button "Update adjustments" should not always be
    visible.

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-08-15 11:25:42 +03:00
71377c5e7b
Bug 34169: (follow-up) Fix ordering from staged files by removing superfluous form
Removes the unneded new form element as we have one big form for the whole page.

This should fix the situation where only the prices and information
of the first selected record carreid over into the order.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-07-24 14:55:35 -03:00
c943fddac6
Bug 34169: Add decimal class to all relevant input fields in the acquisitions module
This is a first step towards more consistency and possibly supporting
multiple input formats as well in the future. It marks all input fields
for monetary values, such as prices, replacement prices etc. with a class
that is linked to a check for number format with the jQuery Validator plugin.

To test:

For any input field to test, try adding various false entries, like "abc" or "1,00".
It should only accept inputs with decimal dot, like: "1.00"

0) Apply patch, restart_all
1) Suggestion
  * Add a new suggestion in the staff interface
  * Test: price input field at the bottom of the form.
  * Accept the suggestion
2) Order form
  * Create a new basket
  * Create an order line from an existing record
  * Test: list price, replacement price, and actual price.
  * Check the checkbox for uncertain price before you save
3) Uncertain prices
  * Go to the uncertain prices page for this vendor
  * Test: price field
    Note: this form does its own validation, but the change should not change behaviour for now
  * Resolve the uncertain price
  * Close order
4) Receive shipment
  * Test: Shipping cost
5) Receive the order
  * Test: replacement price, actual price
  * Check checkbox for price in foreign currency
  * Test: price in foreign currency
  * Receive order line
6) Invoice summary
  * Finish receiving
  * Test: shipping cost
  * Test: invoice adjustments: amount in the form for the first entry, amount in the table after adding it
7) Merging invoices
  * Receive another shipment and create and invoice
  * Go to invoices and search all
  * Check the 2 entries for merging
  * Test: shipping cost
8) Adding orders from a staged/new file
  * Export some records using the cart or list
  * Create a new basket
  * Order from new file
  * Import your file, ignore item records
  * Test: price and replacement price
  + Bonus: also test with items, test plan and file from bug 22802 are really helpful here

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-07-24 14:55:34 -03:00
6a55fad7b4
Bug 33105: Redirect to 404 if no vendor exists
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-07-20 10:59:30 -03:00
0f7daf1b00
Bug 33105: Add vendor issues
This patch is the main patch of this patch set, it contains the
controller acqui/vendor_issues.pl, its corresponding template, and some
links to this script.

It adds:
* A new DB table aqbookseller_issues linked with the aqbooksellers table
* A new subpermission acquisition.issue_manage
* A new authorised value category VENDOR_ISSUE_TYPE and two examples
MAINTENANCE and OUTAGE
* A new controller couple acqui/vendor_issues.[pl,tt]

Test plan:
0. Apply the patches, run updatedatabase and restart_all
1. Go to the acquisition module, create a new vendor or use an existing
one
2. Create a couple of issues for this vendor
3. Edit/Delete and search for those issues

This is the basics for tracking issues with vendors.
Suggestions welcome, on follow-up bug reports.

Signed-off-by: Jonathan Field <jonathan.fieeld@ptfs-europe.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-07-20 10:59:22 -03:00
e3a7202363
Bug 33863: Update values in data that will be saved
We are not saving the values of the input but a representation of the
form, contains in $("#order_edit").data('row');

To acchieve that it's preferable to reuse _update_unitprice and call it
when #change_currency is modified.

Some code cleaning slipped into the patch, for readability purpose.

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-07-14 08:59:35 -03:00
768702be7a
Bug 33863: Reset value if checkbox is unchecked
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-07-14 08:59:33 -03:00
140bad214c
Bug 33863: (bug 25655 follow-up) Check "Change currency" only if checked before
We should not check "Change currency" if it has not modified in the
original order.

Test plan:
Create an order with 3+ items
Receive 1 item, don't check "change currency"
Receive an other item
=> "Change currency" is not checked
Check "Change currency", modify the currency and the price
Receive a third item
=> Change currency is checked, invoice currency and price are set
correctly to the previous values

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-07-14 08:59:31 -03:00
9066cd152e
Bug 34112: Replace fa.fa-pencil-alt with fa-solid.fa-pencil in edit buttons
The FontAwesome class "fa-pencil-alt" works in v.6 but is actually a v.5
class. We should use "fa-solid fa-pencil" instead.

This patch also corrects some leftover instances of "fa-edit"

To test, apply the patch and view some pages in the OPAC and staff
interface which have updated icons, e.g.

 - Administration -> Libraries
 - Catalog -> Bibliographic details
 - OPAC -> Bibliographic details

Confirm that the pencil icon looks correct. Checking all modified
templates is probably too much, but inspecting the patch should show
that only fa-pencil-alt and fa-edit icons are affected.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-07-11 08:52:31 -03:00
a40c512bf0
Bug 34022: Adjust items data structure
When creating items at receiving, the generated data structure didn't
match what the code expected, so this patch adapts the code to match the
new data structure introduced by bug 8179.

Once I fixed that, I noticed that the $.ajax request payload, when it
contains an array parameter, it renames it like `param[]`. So the
finishreceive.pl controller is adjusted to this behaviour for the 'on
receiving' use case.

To test:
1. Apply this patch
2. Create a basket with 'create items on receive'
3. Create an order line
4. Close basket
5. Receive shipment
6. Enter invoice number
7. Click on Receive link in the table
8. Fill out item form, make sure all mandatory fields are set
9. Save
10. Verify that the order line is marked as 'received'
11. Verify that there item is created on the record
=> SUCCESS: Works as expected
12. Sign off :-D

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-06-23 09:46:45 -03:00
30d2ffd295
Bug 33885: Prevent JS crash if creator does no longer exist
JS error in the console was
  Uncaught TypeError: row.creator is null

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-06-16 10:55:19 -03:00
81b2ee0eb0
Bug 32910: (follow-up) Replace v4 icon names with v6
This patch updates icons which are listed as having changed names in
this document:

https://fontawesome.com/docs/web/setup/upgrade/upgrade-from-v4

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-06-12 11:52:10 -03:00
4bd6abf9a2
Bug 33798: Improve consistency of the vendor display view
It was not consistent: indentation, bold, etc.

This patch is suggesting a new style using .page-section and .rows

Is it what we want?

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-06-09 08:41:55 -03:00
5be54fc9e6
Bug 33798: Add colons after the labels on the edit form
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-06-09 08:41:54 -03:00
b3c739872a
Bug 33748: Fix UI issue when importing records from a staged MARC file
This patch attempts to fix a UI issue on addorderiso2709.tt. It removes the <td> which contains the actoin buttons MARC, Card, and Add Order and adds them to the title line. This is so there is more space for the fieldsets.

1. Apply patch
2. Set  MarcItemFieldsToOrder like this:

    homebranch: 975$a
    holdingbranch: 975$b
    itype: 975$y
    nonpublic_note: 975$x
    public_note: 975$z
    loc: 975$c
    ccode: 975$8
    notforloan: 975$7
    quantity: 975$q
    price: 975$g
    replacementprice: 975$v
    uri: 975$u

3. Stage a MARC file where the bibs have items attached
4. From acquisitions create a new basket and add 'From a staged file'.
5. Add the staged files to a basket.
6. Make sure the display looks correct.
7. Expand the data by clicking on the checkbox on the left hand side, or by clicking 'Select all'.
8. Make sure the display looks correct.
9. Tab over to 'Item informtion' and make sure that display looks correct.
10. Shrink the screen size down to less that 992px, ensuring the display remains correct.

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

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-06-05 14:36:04 -03:00
550e4dd8cd Bug 33864: Trigger the 'change' event when setting quantity
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Andrew Nugged <nugged@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2023-05-31 10:18:47 +02:00
ea71533d1e Bug 33864: Restore inputmode="numeric" (bug 28283)
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Andrew Nugged <nugged@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2023-05-31 10:18:47 +02:00
0fc69b1df2 Bug 33864: Better handling of confirmation button
This patch corrects the behavior of the 'Confirm' button on the three
possible scenarios regarding item creation.

Ordering:
- 'Confirm' disabled, only gets enabled if quantity > 0

Receiving:
- Quantity gets locked (only changeable when creating items)
- 'Confirm' disabled, only gets enabled if quantity > 0

Cataloguing:
- It now defaults to 1
- 'Confirm' enabled by default (because of 1) if quantity is set to 0,
  it gets disabled.

To test:
1. Verify the described behavior with the sample orders for the previous
   patch.
=> SUCCESS: It does the job!

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Andrew Nugged <nugged@gmail.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2023-05-31 10:18:44 +02:00
31c86e13af Bug 33864: Set default date in all acqcreateitem scenarios
On b0aab2aeef the flatpickr default to
'today' was restored, but only for acqcreateitem='ordering'. This patch
moves the initialization to a different stop for broader reach.

To test:
1. Have 3 baskets on with each setting:
   - create_item = 'cateloguing'
   - create_item = 'ordering'
   - create_item = 'receiving'
2. Close those baskets
3. Go to 'Receive shipments'
4. Choose things from the 3 baskets and then 'Receive selected'
5. Navigate through the different orders
=> FAIL: Only the one that has items created on ordering has the date
filled by default
6. Apply this patch
7. Reload the page
8. Repeat 5
=> SUCCESS: Dates are pre-filled!
9. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Andrew Nugged <nugged@gmail.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2023-05-31 10:18:40 +02:00
5558b88833 Bug 33783: Only use ecost if unitprice has not been set on ordering
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2023-05-31 10:17:58 +02:00
c20921ac1b Bug 33783: Make sure the value is populated on load time
The original patch makes the form set the right values in the order row
(before storing it) but misses to load the right value on page load,
which is still a regression. This patch solves that.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2023-05-31 10:17:58 +02:00
de31d91638 Bug 33783: (bug 8179 follow-up) Populate actual cost with ecost during receiving if not set
This restores behavior prior to 8179 to use the estimated cost when receiving if the
actual cost is not set.

We set the unitprice in the table row so that it will be used when editing and will be saved even if not adjusted

To test:
1 - Add some orders to a basket, do not set actual cost field
2 - Close basket, receive orders
3 - Note actual cost field is blank
4 - Cancel receipt
5 - Apply patch
6 - Receive again
7 - Note actual cost is populated
8 - Complete receipt and confirm actual cost correctly saved

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2023-05-31 10:17:58 +02:00
b982ac91a7
Bug 33784: Make buttons more meaningful
This patch makes dismissing the modal equivalent to cancelling the
receipt and thus returning to parcel.pl.

The 'Save' button is renamed to 'Confirm' and is disabled when no items
are selected for receiving.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-24 11:21:30 -03:00
1017de5a89
Bug 33784: Don't display the multi receive form for single receive
With bug 8179, a new step was added when receiving a single item.
This extra step is not useful and adds clicks for the staff member who is receiving orders.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-24 11:21:21 -03:00
91bd291953
Bug 33797: Remove extra space
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
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-05-23 16:54:00 -03:00
63bea88182
Bug 33785: Some UI fixes to the orderreceive.tt modal
To test:
1. Apply patch
2. Follow the steps in Bug 8179 to generate the modal on orderreceive.tt
3. Check that the following issues have been corrected:
    -The select2 dropdown for #bookfund is splitting onto multiple lines in the modal.
    -The modal header has a green line extending through it.
    -At smaller screen sizes the modal close button ( upper right corner of modal ) drops down below the h4. It should stay on the same line as the h4.
    -The modal is not centered on the screen.
    -The toogle inactive/active checkbox can become it's own list element.
    -The #current-fund can become a hint

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-19 15:05:28 -03:00