This patch makes two categories of changes:
1. CSS changes to accommodate changes in DataTables default CSS and
markup structure. I've tried to make sure all of our Koha-specific
styles are still applying.
This change necessitates a rebuild of staff interface CSS.
2. DataTables option names: In this version of DataTables you can't
override a default which uses CamelCase (e.g. "pagingType") with one
in "Hungarian" notation, e.g. "sPaginationType." Since we define many
default options in prog/js/datatables.js in camel case, any template
which previously used a Hungarian notation option to override the
default has now been updated to use the CamelCase version.
See https://datatables.net/upgrade/1.10-convert#Options for a summary
of the different option name changes.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
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>
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>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Prevent a blink
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch modifies the form for adding a new subscription so that the
collection and item type fields are shown only when the subscription is
configured to create an item when receiving.
To test, apply the patch and go to Serials -> New subscription.
- When the page first loads, the "Do not create an item record when
receiving this serial" radio button should be selected.
- Under the "Location" field there should be no item type or collection
field.
- Select the "Create an item when receiving this serial" radio button.
- The item type and collection fields should appear.
- Test that the values are correctly saved when you add or edit a
subscription.
- If you edit a subscription which had item type and collection defined,
and you switch to "Do not create an item..." the record should save with
empty values for those fields.
- Confirm that existing subscriptions open with the correct settings
applied: Only records with "Create an item..." checked should open
with the item type and collection fields displayed.
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>
This patch modifies the subscription entry form so that it will perform
a check on the staffdisplaycount and opacdisplaycount fields before
proceding to the second step. It verifies that the values are numeric.
The changes are made in the style of the existing form validation, which
should be rewritten to either use the validation plugin or to peform
checks in a way that all checks are run before warning the user.
However, this smaller change will work in the meantime.
To test, apply the patch and go to Serials -> New subscription.
- Fill out the form with at least the required fields, but put something
other than a number if the "Number of issues to display to staff" and
"Number of issues to display to the public" with non-numeric characters.
- When you click the "Next" button you should get an error message,
"Number of issues to display to staff must be a number."
- Correct the issues to display to staff field and submit again.
- You should get a different error message, "Number of issues to display
to the public must be a number."
- Correct this field and you should be able to proceed to the next step.
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>
This patch removes the definition of translatable strings out of
templates and into the corresponding JavaScript file, using the new JS
i81n function.
To test:
- Apply the patch and go to Serials -> New subscription
- Click "Next" without filling out any fields. You should get two
confirmations, "If you wish to claim late or missing issues you must
link this subscription to a vendor. Click OK to ignore or Cancel to
return and enter a vendor" and "You must choose or create a
bibliographic record."
- Manually enter a vendor number which doesn't exist and click "Next."
Error: "The vendor does not exist."
- Manually enter a record number which doesn't exist and click "Next."
Error: "Bibliographic record does not exist!"
- Select a valid vendor and bibliographic record and proceed to the next
page.
- Click "Test prediction pattern" without filling in any fields. Error:
"Cannot test prediction pattern for the following reason(s): Frequency
is not defined. - First publication date is not defined"
- Click "Save subscription" without filling in any information. Error:
"You must choose a first publication date."
- Fill in a date and click "Save subscription." Error: "You must choose
a subscription length or an end date."
- Enter a frequency and subscription start date and click "Save
subscription." Error: "Please click on 'Test prediction pattern'
before saving subscription."
- Click "Show advanced pattern" and then "Save subscription." Error:
"You have modified the advanced prediction pattern. Please save your
work or cancel modifications."
Testing numbering patterns:
- There are several strings related to setting and editing numbering
patterns but I don't think they can be tested live while Bug 28012 is
unfixed.
Testing Mana integration:
- To test Mana integration you must have Mana enabled, and a
bibliographic record in your catalog which has an ISSN
matching a record in Mana. You can go to "Search on Mana"
from the Serials sidebar menu to locate a working record.
- Add a subscription using the bibliographic record which will match a
record in Mana. When you click "Next" you should see a message at the
top of the page saying, "Searching for subscription in Mana Knowledge
Base"
- After a moment this message should be replaced with "Subscription
found on Mana Knowledge Base: Show Mana results"
- Clicking the "Show Mana results" should trigger a modal window with
the heading "Results from Mana Knowledge Base."
- Test the subscription add process using a bibliographic record which
doesn't match anything in Mana. The message at the top of the page
should read, "No subscription found on Mana Knowledge Base"
TESTING TRANSLATABILITY
- Update a translation, e.g. fr-FR:
> cd misc/translator
> perl translate update fr-FR
- Open the corresponding .po file for JavaScript strings, e.g.
misc/translator/po/fr-FR-messages-js.po
- Locate strings pulled from
koha-tmpl/intranet-tmpl/prog/js/subscription-add.js for translation,
e.g.:
msgid "Next issue publication date is not defined"
msgstr ""
- Edit the "msgstr" string however you want (it's just for testing).
- Install the updated translation:
> perl translate install fr-FR
- Switch to your newly translated language in the staff client
and repeat the test plan above. The translated strings should
appear.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Remove title-string option from dataTable configurations.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This patch makes alert added in subscription-add.js translatable using
the new __() function.
To test, apply the patch and confirm that the alert still works
correctly when submitting the subscription edit form with an invalid
vendor id.
Test that the string can be translated (using fr-Fr for example):
1. cd misc/translator && ./translate update fr-FR
2. Translate strings in misc/tranlator/po/fr-FR-messages-js.po
3. cd misc/translator && ./translate install fr-FR
Switch to the fr-FR translation and confirm the the alert shows your
translated string.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
It will avoid crash and invalid data when creating/updating a
subscription.
This could have been done with a AJAX query but seems more convenient
this way.
Test plan:
- Create or update a subscription
- In the "Vendor" input try an empty string, a valid vendor's id, and
invalid one.
=> With an empty string you get the existing alert message
=> With a valid id you do not get any messages
=> With an invalid id you are not allowed to go to page 2
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
"Bibliographic record does not exist!" was not translatable as it was
defined in the .js file
Test plan:
Repeat test plan from bug 21232
Bonus point: update and install a localized version and confirm that the
message is translatable
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch adds an AJAX call to the REST API (/api/v1/biblios/) to
retrieve and display the biblio's title.
On clicking the "next" button a check is done to make sure the title
exists, which means the biblionumber we manually entered is valid (can
we assume a title is mandatory?)
Test plan:
- Create or edit a new subscription
- Enter an invalid biblionumber in the input
=> A friendly note is telling you that the biblio does not exist
- Try to switch to the next screen
=> You get an alert
- Enter a valid biblionumber in the input
=> The title is displayed
=> Try to switch to the next screen
=> It works!
Signed-off-by: hc <hc@interleaf.ie>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch upgrades DataTables and makes some style changes to the
default DataTables toolbar style. DataTables assets are now combined and
minified using their download customizer, bundling together these
elements:
- JSZip 2.5.0
- pdfmake 0.1.36
- DataTables 1.10.18
- Buttons 1.5.6
- Column visibility 1.5.6
- HTML5 export 1.5.6
- Print view 1.5.6
- FixedHeader 3.1.4
DataTables assets have been moved from lib/jquery/plugins to
lib/datatables. The global header and footer include files are updated
correspondingly.
This patch removes the custom "four_button" pagination configuration and
updates pages which used it to use the built-in "full" type instead.
This is done for the sake of consistency and upgradability. This change
touches a lot of files.
Table-specific CSS has been moved from staff-global.scss to a new
include, _tables.scss. A second common include, _mixins.scss has some
variable definitions used in both files.
Many images have been made obsolete by this change and have been
removed.
To test, apply the patch and regenerate the staff client CSS. View
various pages in the staff client with tables:
- Not formatted by DataTables:
- Reports -> Most circulated items
- Catalog -> Search results
- Formatted by DataTables without column configuration
- Acquisitions -> Vendor search
- Lists
- Formatted by DataTables with column configuration
- Administration -> Libraries
- Administration -> Item types
- Reports -> Saved SQL reports
- Non-standard DataTables configurations:
- Circulation -> Checkouts
- Administration -> System preferences
- Reports -> Lost items
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch makes a number of changes to the subscription entry form:
- Make the default layout single-column.
- Switch the layout to two-column only when testing prediction
pattern.
- Add a button to hide the prediction pattern test pane.
- Change the style of some buttons and links. Add Font Awesome icons
to some.
- Clean up some issues with capitalization and spacing.
- Make it clearer when form fields are read-only: Move "locked" form
field style from addbiblio.css to staff-global.css and improve it
with regard to mouse interactions
To test, apply the patch and regenerate the staff client CSS. Clear your
browser cache if necessary.
- Go to Serials -> New subscription.
- Readonly fields under "Vendor" and "Record" should show a small
padlock icon.
- Test the process of adding a subscription, paying special attention
to the advanced pattern controls: Showing, hiding, modifying,
canceling.
- Test the process of editing a subscription in the same way.
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This patch makes many changes to templates and JavaScript related to the
integration of Mana with serials reports:
- Many incorrect uses of the raw filter with html
- Corrections to Bootstrap modal markup
- Untranslatable strings moved out of JavaScript
- Removed markup and JavaScript related to reports comments, a feature
which doesn't exist in this version.
New include file: mana/mana-comment-status.inc
This file contains hidden-by-default messages which are shown during
the process of submitting a comment on a subscription.
New include file: mana/mana-share-report.inc
This file contains the "Share report" modal markup formerly in
guided_reports_start.tt
New JavaScript file: mana.js
Previously mana.inc, an include file containing only JavaScript which
didn't include any template processing.
Changed: mana/mana-report-search-result.inc
This include file is now a full template so that jQuery's load()
function can be used to pull its contents into the reports search
modal.
Changed: svc/mana/search
This script was returning json-encoded HTML. Now it returns regular
HTML.
To test you must have Mana configured and enabled. Apply the patch and
go to Reports -> Saved reports.
- Choose New report -> New SQL from Mana. A "Mana search" modal should
appear.
- Perform a search which will return results, e.g. "circulation."
- A "Loading" indicator should appear while the results are being
retrieved. It should disappear when results appear.
- Results should appear in the DataTable with sorting, paging, and
search options.
- In the "Notes" column, notes longer than 200 characters should be
truncated with a "Show more" link. Clicking it should expand the
comment and reveal a "Show less" link in its place.
- Click the "Import" button (previously "Use"). The button icon
should change to a loading indicator.
- When the import is complete you should be redirected to a view of
your new report.
Go to Serials and click the "Search on Mana" link in the sidebar.
- Perform a search for a serial
- Results should appear in a DataTable with sorting, paging, and search
options.
- Sorting by title should ignore articles "a," "an," and "the."
Create a new subscription or edit an existing subscription which will
match a record in Mana.
- On the second step of adding/editing the subscription a message
should appear at the top of the form, "Searching for subscription in
Mana Knowledge Base," with a loading icon.
- When searching has completed a "Show Mana results" link should
appear.
- Clicking the link should trigger a modal showing search results which
match your subscription, displayed in a DataTable with sorting,
paging, and search options.
- The last column of the table should contain "Import" and "Report"
buttons.
- Clicking the "Report" button should trigger a menu. Any existing
comments will be listed as well as a "New comment" item.
- Clicking an existing comment should cause the menu to close and a
"Submitting comment" message to appear. It should be shortly
replaced with a "Your comment has been submitted" message.
- Clicking "New comment" should reveal a comment form.
- It should not be possible to submit an empty comment.
- Clicking the "cancel" link should redisplay the search results.
- Submitting a new comment should trigger a "Submitting comment"
message followed by a "Your comment has been submitted"
message.
- In the table of search results, click the "Import" button
(previously "Use"). The button icon should change to a loading
indicator.
- The modal should close and the data from Mana should be loaded
into the subscription entry form.
View the detail page of a subscription which has saved with Mana data.
- There should be a "Report mistake" button in the toolbar. Clicking
it should reveal a menu of comments like the one you saw previously.
- Clicking an existing comment should cause the menu to close and a
"Submitting comment" message to appear. It should be shortly
replaced with a "Your comment has been submitted" message.
- Clicking "New comment" should reveal a comment form modal.
- It should not be possible to submit an empty comment.
- Clicking the "cancel" link should hide the modal.
- Submitting a new comment should trigger a "Submitting comment"
message followed by a "Your comment has been submitted"
message.
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Includes:
* code factorization
Some code from subscription & Mana-KB has been factorized in order to speed-up next developments
* SytemPreferences:
Mana Activation:
- add a value "no, let me think about it", that is the default value.
- as long as this value is selected, messages ask if user want to activate it ( in Administration and Add-subscription(page 2) )
AutoShareWithMana
- Add the syspref AutoShareWithMana: user can automatically share infos with Mana-KB (not set by default)
* Interface :
- On mana-search, rows are now sorted by date of last import, then by number of users
- Windows redesigned to improve the user experience
* New Feature : report a mistake.
- people can now report an invalid data (wrong, obsolete,...)
- if a data is reported as invalid many time, it will appear differently
- Added few tooltip (to explain the fields last import, nb of users, to explain the new feature)
- When reporting a data as invalid, a comment can also be added. Koha will then display comments related to data in result lists
* API (svc/mana)
- add svc/mana/addvaluetofield: allows to ask mana incrementing a field of a resource
- no hardcoding for resources in the code of api (api needs to be called with a ressourcename)
* New feature : SQL report sharing
- Create Koha::Report.pm and Koha::Reports.pm, objects class for Reports
- New feature: share reports with Mana-KB
- New feature: search report in Mana-KB with keywords
- New feature: load reports from Mana-KB
Test plan:
1 - Apply Patch + update database
2 - Copy the three lines about mana config in etc/koha-conf.xml in ../etc/koha-conf.xml (after <backupdir> for example)
<!-- URL of the mana KB server -->
<!-- alternative value http://mana-test.koha-community.org to query the test server -->
<mana_config>https://mana-kb.koha-community.org</mana_config>
3 - Check Mana syspref and AutoShareWithMana syspref are not activated
4 - Search the syspref ManaToken and follow the instructions
5 - subscriptions
- Try create a new subscription for a first serial => Mana-KB shouldn't show you anything (except if the base hase been filled)
- Share this serial with Mana-KB (on the serial individual's page there must be a Share button)
- Try to create a new subscription for serial nr1 => a message should appear when you click on "next", click on "use", the fields should automaticaly appear
- Activate AutoShareWithMana => Subscriptions
- Create a new subscription for a second serial
- There shouldn't be any Share button
- Create a second subscription => the message should appear, click again on use
6 - SQL Report
- Create a new SQL report, without notes.
- On the table with all report (reports > use saved), there should be the action "Share"
- If you click on share, you have an error message
- Create a new report, with a title and notes longer than 20 characters
- You can share it with mana => you will have a success message
- On (report > use saved), there must be a message inviting you to search on Mana-KB for more results, enter a few word from title, notes, type of the report you shared, it should appear. You can use it, it will load it into your report list.
7 - Report mistakes.
- On any table containing Mana-KB search results, you can report a mistake and add a comment.
8 - For each previous test, try to send wrong data, to delete the security token, to send nothing: it should show a correct warning message.
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Rebased-by: Alex Arnaud <alex.arnaud@biblibre.com> (2018-07-04)
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
- add a class SharedContent.pm to communicate with Mana-KB server
- add a link in serials-menu.inc to serials_search.pl to open
a mana-subscription research form
- modify the research form in serials-search.tt to show the right fields
for Mana-KB
- create datatable in mana-subscription-search-result.inc to show
results from a research on Mana-KB
- modify serials-search.pl to manage research on Mana-KB
- add a mana_id to subscription table
- add a share button on serials-toolbar.inc and a modal to ask
the language of the share and to alert if the subscription is
already link to a Mana-KB subscription model
- add function in C4/Serials to get all the info for a subscription
sharing
- modify subscription-detail.pl to manage sharing to Mana-KB
- modify subscription-add.tt and subscription.pl to manage a
import from Mana-KB during a subscription creation
- add 2 script in svc for ajax calling from subscription-add.tt
to communicate with Mana-KB server during a asubscription creation
- add a function in Subscription.pm to have all the info for a Mana-KB research
from a biblionumber
- modify functions used by subscription-add.pl in C4/Serials to manage a
frequency which came from Mana-KB server and not already created on the
koha database, and modify the tests of the said functions
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Rebased-by: Alex Arnaud <alex.arnaud@biblibre.com> (2018-07-04)
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This patch modifies more and more staff client serials templates so
that JavaScript is included in the footer instead of the header.
This patch adds a new JavaScript include, showpredictionpattern.js,
which is used by subscription-add.tt and subscription-numberpatterns.tt.
it also adds subscription-add.js, moving most of the JS embedded in
subscription-add.tt into an external file.
To test, apply the patch and test the JavaScript-driven features of the
modified templates: All button controls, DataTables functionality, tabs,
etc.
- Serials -> New subscription
- Date pickers
- Popup search windows for vendors and bibliographic
records
- Next / Previous buttons
- Form validation
- Prediction pattern operations
Test with new subscriptions, editing existing subscriptions, and
duplicating subscriptions.
- Serials -> Manage Numbering Patterns
- Datatable
- Delete confirmation
-> Edit
- Datepicker, test pattern
- Serials -> Manage frequencies
- Delete confirmation
-> Edit
- Form validation
- Serials -> Subscription details -> Planning tab
-> Edit history
-> Datepicker
- Serials -> Subscription details -> Renew
- Datepicker
Signed-off-by: Dominic Pichette <dominic@inlibro.com>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>