This first patch remove the previous way to search for users to link to
budgets.
Test plan:
1/ Edit or create a fund
2/ Edit the owner of this fund a select a patron
3/ Add 1+ users to the user lists of this fund
Tested together with other patches.
Signed-off-by: Marc Veron <veron@veron.ch>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch is the main patch.
The "common" template is improved to allow different type of picking:
"add" or "select".
The first one appends a patron to a list, the second one selects the
patron and close the result search window.
The members/guarantor_search.pl has completly changed but is quite the
same file as acqui/add_user_search.pl. Both should exist: they don't
belong to the same module (acqui vs members), the picking type is
different (add vs select) and the columns are not the same.
The changes in the common template are very powerful, it's now possible
to list the column we want! This will be very useful for further
reusability.
Before this patch, all patrons mathing the pattern were return. Now only
the first 20 are (depends on the DataTables selected value).
For QA: This patch introduces a new template plugin "To", for now it
permits to convert a perl structure to json. In the idea, it could
permit to convert foo to bar too.
Test plan:
1/ Verify there is no regression in the guarantor search. When the
selection has been done, all data from the guarantor should fill the
form in the "main address" section.
Note that the request is done when the search input in not empty and the
user stop to write for 1 sec.
2/ Verify there is no regression on the 2 other pages where this patron
search is used: link a patron to an order and to a basket (in the
acquisition module).
Signed-off-by: Morag Hills <the.invinnysible.one@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The string "No fund found" on the funds overview page is
not translatable.
To test:
- Create a new budget
- Check for the string on the funds page of the new budget
- Run an update on one of the po file sets
cd misc/translator
perl translate update <langcode>
- Verify that the string now appars in the po file for staff
- Verify the page still looks the same as before the patch
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 12979 refactored the way to display prices.
The price format configuration was duplicated everywhere it was used.
All calls looks good except the one in admin/aqbudgetperiods.pl
In this one, the prices are formatted for an edition field (input).
This means the input is incorrectly filled even if the user does not
update the field.
At the end, maybe should we manage formatted prices everywhere, even in
inputs, but it's not in the scope of this bug.
Technically, a new subroutine format_for_editing is added to the
Koha::Number::Price module.
It should be called everywhere a price is displayed in an input field.
At the moment, it only does a sprintf("%.2f"), but it is a first step to
let the number of decimals to display configurable.
To test:
1/ Verify the issue described is fixed (editing a budget with a total
amount > 1000 (With CurrencyFormat is US or FR).
2/ Verify you can edit a fund with a total amount > 1000
Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
When creating an order, the fund value is mandatory but the DB structure
does not show this constraint.
The aqorders.budget_id field should be linked to aqbudgets.budget_id.
The updatedatabase.pl (entry 3.01.00.077) commented this constraint,
certainly for a retro compatibility reason.
Actually I found some cases (in production) where aqorders.budget_id is
set to "0". To add this constraint, we should add a temporary fund to
linked orphan orders.
Test plan:
0/ Verify it is not possible to create an order not linked to a fund via
the Koha interface.
1/ Using your SQL CLI (or equivalent), create or update 1+ orders and set
"0" in the budget_id field.
2/ Execute the updatedabase script.
3/ Verify that your order is linked to a new fund (which is linked to a
new budget).
4/ Verify the constraint has correctly been added (show create table
aqorders).
Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The interface should prevent to delete funds with children.
Otherwise the relationship is broken and problems occur:
1/ You don't see the orphan fund in the fund list
2/ You cannot edit the orphan fund amount ('Fund amount exceeds parent
allocation').
This patch:
- adds a JS check, template side
- adds a check in the perl script (should never be true)
- adds an updatedatabase check, in order to alert users with inconsistent data.
Test plan:
Verify you are not allow to delete a fund with children.
Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The css used to highlight the rows comes from staff-global.css
We need a more specific rule to be used.
Test plan:
Go on the fund list view and confirm that the rows are correctly
highlighted.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
On the budget list view, the total was not updated.
With this patch, the footer (totals) will be updated on filtering rows.
Test plan:
To test with both CurrencyFormat pref values.
1/ Go on the budget list view
2/ Verify the totals are correct.
3/ Filter the table using the filter input and verify the totals are
updated with the rows shown
4/ Hide/Show inactive budgets and verify the totals are still corrects.
Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The method C4::Budgets::GetBudgetHierarchy() retreives from database budgets in an array containing a tree of budgets (parent -> children -> children, ...).
The code generating this tree with the SQL results needs optimization because when a lot of budgets exists, it can run during several minutes.
This patch rewites the code using a recurive method.
Test plan :
- Create a active budget "MyBudget" with 1000
- Click "Add found" on this budget
- Create a found "Parent" with 1000, set you has owner
- Click "Add child found" on found "Parent"
- Create a found "Child" with 100, set you has owner
- Click "Add child found" on found "Child"
- Create a found "Grand-child" with 10, set you has owner
|
- Create a new acquisition basket
- Add a new order with "Child budget"
- Select "Child" found and set all costs to 2
- Save order
- Add a new order with "Grand-Child budget"
- Select "Child" found and set all costs to 2
- Save order
- Close basket
- Perform the receive of the two orders
|
- Go to founds of "MyBudget"
=> You see a table with 3 founds
- in "Fund filters", select no library and uncheck "Show my funds only" and click on "Go"
=> You see a table with "Parent" found
- Click on small arrow left of the fund code of "Parent"
=> You see a new line with "Child" found
- Click on small arrow left of the fund code of "Child"
=> You see a new line with "Grand-Child" found
|
=> You see in "Grand-Child" row "Base-level spent" = 2 and "Total sublevels spent" = 2
=> You see in "Child" row "Base-level spent" = 2 and "Total sublevels spent" = 4
This confirms the founds are used in a hierarchie.
Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This alternate follow-up modifies the text of the label to
(hopefully) make it more clear. The markup has been revised someone to
make it more standard, and a warning has been added about overwriting
existing data.
Signed-off-by: Frederic Demians <f.demians@tamil.fr>
Looks good.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Works as described, passes tests and QA script.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch adds the ability to set an owner to a fund hierarchy
On editing a fund, if it has children, a new checkbox appears "Set this
owner to all children funds".
If checked, all the fund hierarchy will herit to this owner.
This will facilitate the fund owner modifications.
Test plan:
- Verify that the new checkbox only appears if the fund has at least a child.
- Create a consistent fund hierarchy, something like:
fund1
fund11
fund111
fund12
fund2
fund21
- Try to modify a fund owner without checking the checkbox. Verify the
children have not been modified.
- Try to modify a fund owner with checking the checkbox. Verify all fund
hierarchy has been modified.
Signed-off-by: Frederic Demians <f.demians@tamil.fr>
It works as announced.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch use the new module into pl and tt script.
Note that we could use it in the acqui/pdfformat/layout*.pm files.
Test plan:
1/ Verify that the acquisition home page displayes the prices as before.
2/ Verify that the budgets page displayes the prices as before.
3/ Verify that the funds page displayes the prices as before.
4/ Verify that the planning page displayes the prices as before. (Note
that 1 price is now formatted: 'Fund remaining').
5/ Create an order from a staged file. This stage file should contain a
formatted price.
Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The input witht the budget_owner_id id is duplicated.
It breaks the jQuery selector
$('#budget_owner_id').val('');
Signed-off-by: marjorie barry-vila <marjorie.barry-vila@ccsr.qc.ca>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch moves the fund Edit/Delete/Add child links on the fund view
into a pop-up menu, allow the table to be more compact and the links to
be more distinct.
To test you must apply the patches on Bug 11578 if necessary.
Apply the patch and view the funds list page (Administration -> Funds).
For each line there should be an "Actions" menu containing the
Edit/Delete/Add cihld links. Each should function correctly. Test with
inactive budgets shown and hidden.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
It is unusual to open the action list above the button, but it works.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
If 2 budgets (budget periods) have the same description, the funds will
be grouped into the same "block".
This patch adds a distinction adding the id of the budget next to the
description.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
The datatables sort options were wrong.
The funds for a budget could be ungrouped.
To reproduce:
- Create 3 budgets A, B, C.
- Create 1 or more funds for A, B, C
- Mark B and C as inactive.
- Create another fund for A
- Go on the fund list view, click on "show inactive funds"
=> The last fund is not grouped without other funds of budget A.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Before this patch, the inactive funds were displayed by default.
The active funds should be displayed by default.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch removes the error raised by tt_valid
FAIL koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqbudgets.tt
FAIL tt_valid
lines 310
Actually, it fails because translate script does not match strings in
attribute value. In this case, we don't want to translate. This fix is
not necessary.
This patch also adds the licence for the new jQuery treetable plugin.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
If a budget_period_id is given, the filters should not be displayed.
Moreover, it does not make sense to display the links for
displaying/hiding inactive budgets in this case.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch hides inactive budgets by default.
They can be shown/hidden using 2 new links "Hide/Show inactive budgets".
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
The current funds list view does not allow to search in the table and
the ergonomics of the page is quite bad.
This patch add the datatables plugin combined to the treetable plugin in
order to offer a better view of the budgets/funds.
Test plan:
- Verify there is no regression on this page: try to add/modify/delete a
fund and a budget.
- Verify the funds hierarchy is correctly displayed.
- Filter the funds using the branch and the budget filters.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch changes the styling of the amounts of child funds
in the funds table to use a more visible indication (i.e.,
italics rather than a font color of grey) and to use a
a new CSS class, "child_fund_amount", rather than a hard-coded
style.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Because of the lines breaks in the table headings the strings
were separated in translation. Example:
Base-level allocated
- Base-level
- allocated
If you look at a smaller screen the table headings will still break
without the additional <br />.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
admin/aqbudgets.pl should have the following columns:
Base-level allocated (or just Allocated)
Base-level ordered
Total sub-levels ordered
Base-level spent
Total sub-levels spent
Base-level available
Total sub-levels available
Base-level is always calculated for one level, without children.
Total sub-levels should include child funds.
Available is calculated as "allocated - (ordered + spent)".
Signed-off-by: Cedric Vita <cedric.vita@dracenie.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Seems to work alright for me.
Passes QA script and tests, after I fixed 2 tabs in admin/aqbudgets.pl.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
The default entry is 20 and can be apply to all tables.
Bug 11555 apply the menu entries to all tables, redefining it is
uesless and can be removed.
Test plan:
Test pages impacted by this patch and verify there is no regression on
the tables.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2 DB fields are not used: aqbudgets.encumb and aqbudgets.expend.
This patch uses these fields in order to show a warning message if the
budget selected for an order has exceeded.
Test plan:
- Create a new active fund with at least 1 of both warning fields
('Warning at (%)' and 'Warning at (amount)').
- Create a new order for a basket with this new fund and a cost >
warning amount defined for the fund (or using %).
- Save and check that a warning message appears
- Retry playing with all combinations of warning fields
Signed-off-by: Koha Team Lyon 3 <koha@univ-lyon3.fr>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
The aqbudgets.tt needs to use the include file too.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This follow-up addresses QA comments and moves punctuation and line
breaks out of the string to be translated.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
English strings in acq.js cannot be processed by the translation script.
This patch moves the strings to the templates to be set as JS variables
for use by the script.
To test:
- On the uncertain prices page, enter an invalid price and click save.
You should see a JavaScript alert pointing this out.
- When adding a fund to an existing budget, enter an amount which
exceeds the amount in the parent budget. You should see a JavaScript
alert pointing this out. There is a similar function which has been
corrected, checkBudgetParent(), but I don't know how to trigger it for
testing.
The closebasketgroup function has been updated but as far as I can tell
it's not actually in use.
Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch corrects instances of the non-[American]-standard spelling
"authorised" when used in text.
The following instances are corrected:
- In Administration -> Funds, the error message displayed if you do not
have permission to edit a fund.
- In Administration -> Authorized values, the instructions linked to the
"Libraries limitation" field.
- In Administration -> MARC bibliographic framework test, instructions
related to linking to authorized values.
- In the course reserves add form, error messages referring to missing
authorized values.
- In guided reports, error messages shown when an authorized value
chosen as a report parameter doesn't exit.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
If there is no data, we don't display the table.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Replace the tablesorter plugin with the DataTables plugin on the funds
administration page.
To test, open the funds administration page (Administration ->
Funds). Confirm that table sorting, paging, and searching works
correctly.
Note that the table is sorted only when hierarchical display of parent
and child funds is not enabled. When the hierarchicial display is
enabled the table sorter is not triggered.
Signed-off-by: Pierre Angot <tredok.pierre@gmail.com>
Post-QA revision adds handling for empty table: "No funds" row must have
same number of cells as the rest of the table (including hidden cell);
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Encumbrance and Expenditure fields are not taken into account by Koha,
but the data are saved in database.
This patch hide these fields in aqbudgets.tt
To test : check if the 2 fields are hidden when creating a new fund.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
This could certainly be done in a few different ways both with CSS and
JS, but this is a simple change and can be easily overridden:
$("#budget_encumb,#budget_expend").closest("li").show();
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This patch change legends to approve/cancel deletion of a fund.
Changed to Delete/Cancel, same messages to delete a Budget.
To test:
1) When deleting a fund, confirmation messages said:
'Delete this budget XXX?' to approve
'No, do not delete' to cancel
2) Apply the patch
3) Now the messages are 'Delete'/'Cancel'
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works perfectly.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This is the first patch for bug 7760 and touches all pages in administration.
This adds a unique id "admin_<filename>" and a class "admin" to the body tag of
each page in administration.
Note: aqcontract can only be accessed from the acquisition module, so I made it acq
instead of admin.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
On the funds page there is a Fund Filters form and a menu underneath this form. When the form is hidden the contents of the page shift to the left overlapping the menu. The menu underneath the fund filters form must have been a later edition. This patch removes the line of javascript that shifts the contents of the page after the form is hidden.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Patch fixes the broken Layout when clicking on 'Filters'.
I am a bit confused by the link. I think it should toggle between different descriptions and
perhaps even hide all of the left navigation. This way the funds table would get more
room for display.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Problem:
/cgi-bin/koha/admin/aqbudgets.pl
<label for="show_mine">Show my<br /> funds only</label>
This gets broken into 2 strings for translation which makes it very hard for
translators to make sense of it.
Patch removes the line break.
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
This patch removes the linebreak and has no ill effects that I can see, even
on a small screen. I'll attach before and after screenshots in Bugzilla.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
The Javascript to remove an owner from a budget cleared the name from the screen, but did not remove
the actual value in the form, so when saving, the original owner was retained.
This patch adds the command to set the value to ''.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
I could reproduce the bug on current master. Patch fixes the problem, fund
owners can now be added and removed without any problems.
Thx for providing a test plan!
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
The cause was a missing </select>, an error which wasn't
picked up by the HTML validator. Firefox 3.6 didn't have
a problem with it, but newer browsers must be changing
the way they accommodate markup errors.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>