This patch revises the staff client list contents view to better match
staff client search results, showing more information and offering more
ways to interact with the contents than before.
- List contents output has been modified so that the staff client can
use XSLT-formatted data just as the OPAC can. As in the OPAC it
depends on XSLTResultsDisplay being enabled.
- A "toolbar" has been added which is similar to that in search results,
offering the option to add items to a Cart, add them to a different
list, place multiple holds, remove items from the list, or merge
records.
- This toolbar has been made to float on scroll like the one on the
MARC edit page.
- Library and shelving location have been added to the display of call
numbers. Call numbers are linked to a search as they are in search
results.
- Edit links are included just as they are in search results.
- Automatic focus on the add by barcode form has been removed so that
the page doesn't jump to the bottom unnecessarily.
- basket.js's "addMultiple" function has been modified so that it
receives an array of checkboxes rather than looking for checkboxes in
a specific form. This helps abstract its functionality for use on both
search results and lists. results.tt is modified accordingly.
- The page layout has been widened to make room for the increased amount
of information on the page.
- A new "merge" icon has been added to the default Bootstrap sprite.
To test:
- View both public and private lists in the staff client.
- View lists with and without contents.
- Test the functionality of options in the toolbar: Add to cart, add to
lists, place multiple holds, remove items, merge items.
- Test with users with and without cataloging privileges to confirm that
catalog-related controls are correctly shown or hidden.
- Test with XSLTResultsDisplay set both to "default" and empty.
- Since the staff client and OPAC use some of the same code, test that
lists in the OPAC have not broken.
- Since JavaScript was modified which affects both lists and search
results, confirm that adding items to the Cart and Lists from search
results hasn't been broken by this patch.
Revision corrects conditional display of hold link, hiding it in cases
where there are no items or the record's itemtype is not for loan.
Also corrected is the behavior of the Cart/List "save" button in order
to prevent it from submitting the "remove items" action which is the
default for the form.
Signed-off-by: jmbroust <jean-manuel.broust@univ-lyon2.fr>
Edit: Patch rebased against current master and hard-coded paths to
/prog/ corrected.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch removes JavaScript "onlick" attributes from header.inc and
moves the functionality to staff-global.js. This is in keeping with the
idea of progressive enhancement.
To test, be sure to clear your browser cache after applying the patch.
- Test the help link.
- Test the logout link with the intranetbookbag preference on and off.
- Open a patron's account and click "search to hold." Log out, and log
in again. Koha should not remember the patron you chose before
logging out (as seen from a search results page).
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Check e.target.type instead of using jQuery.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
I am not able to test this patch with IE...
I tested it with Chromium and FF and it works great.
This patch can be tested on the neworderempty.pl page
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch refactors some code in a js file.
Test plan:
On acqui/neworderempty.pl, acqui/orderreceive.pl and
serials/serials-edit.tt try to scan a barcode (or press enter) on the
form and check that it is not sent.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Have to note that the code for IE9 does not work. Before and after this patch.
If we refactor code, it would have been nice to resolve this too.
But I do not oppose pushing this patch.
The test uses 'an ancient Netscape property' window.Event (uppercase!) to make
the distinction between browers and event models. Some more documentation here
would be welcome too.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Adds a course reserves system for academic libraries.
The course reserves system allows libraries to create courses
and put items on reserves for those courses.
Each item with at least one reserve can have some of its attributes
modified while it is on reserve for at least one active course.
These attributes include item type, collection code, shelving location,
and holding library. If there are no active courses with this item
on reserve, it's attributes will revert to the original attributes
it had before going on reserve.
Test Plan:
1) Create new authorised value categories DEPARTMENT and TERM
2) Create a new course, add instructors to that course.
3) Reserve items for that course, verify item attributes have changed.
4) Disable course, verify item attributes have reverted.
5) Enable course again, verify item attributes again.
6) Delete course, verify item attributes again.
7) Create two new courses, add the same item(s) to both courses.
8) Disable one course, verify item attributes have not reverted.
9) Disable both courses, verify item attributes have reverted.
10) Enable one course, verify item attributes are again set to the
new values.
11) Edit reserve item attributes, verify.
12) Disable all courses, edit reserve item attributes, verify
the item itself still has its original attributes, verify
the reserve item attributes have been updated.
13) Verify the ability to remove instructors from a course.
14) Verify new permissions, top level coursereserves, with
subpermissions add_reserves and delete_reserves.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Corinne Bulac <corinne.hayet@bulac.fr>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
http://bugs.koha-community.org/show_bug.cgi?id=8125
This patch changes
1) structure and schema for xml files used in MARC21
006 and 008 value builders.
2) JavaScript functions used to show value builders.
Xml processing is enabled in previous patch
Any translatable string has been moved to an xml element,
those strings that no need translation remains as xml
attributes.
NOTE_1: I do not include as translatable material types
codes, because those values are restricted in schema
definition. But this restriction can be removed.
NOTE_2: Anyone with experience in XML/XSD please
check the new schema definition.
NOTE_3: Anyone with experience in the former and
JavaScript please check xmlControlfield.js
To test:
1) Apply the patch
2) Verify that 006 and 008 value builders show and work
properly
3) Update translation files for your favorite language,
a new set of strings must show up corresponding to
names and descriptions on value builders.
Note: messed up patches, sending again.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests and QA script pass.
Did regression tests on the plugins for 006 and 008 and could
spot no differences in behavior of the plugins to before.
Also tested the translation process and found it working nicely.
Thank you for fixing this long standing translation bug!
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
[Patch submitted by David Cook]
Edmund, rather than myself, was the author of this patch,
so I'm not entirely sure about his code choices, but...it
looks like IE must process images differently than other
browsers.
It seems to me that the images are not appearing in IE,
because they're being regarded as incomplete or having
0/NULL natural width.
This patch simply introduces a try/catch hack where it
tries to add the image and remove any "no-image" elements
even nwhen the image is considered incomplete/width of
0/NULL. It won't do this if it catches any errors,
although I'm not sure that any errors would be caught
with this set up anyway...
It's certainly not the ideal solution, but it's a solution.
To Test:
Before applying the patch:
1) Use IE and FF/Chrome/other browser to view a record
with local images attached
2) Note that the local images appear in FF/Chrome/other,
but not in IE
Apply patch.
After applying the patch:
1) Repeat step 1 from above
2) Note that the local images now appear in all browsers
as they should.
--
As I mentioned before, this seems like a real suboptimal
solution. Any ideas on why IE might be considering local
images to be incomplete or having 0/NULL natural width?
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
I did a regression test using Chromium and Firefox in
Ubuntu. I checked both prog and CCSR - covers displayed
nicely.
All tests and QA script pass.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Changed author of patch to reflect actual authorship.
The budget planning table previously used a YUI menu as part of a
system for hiding and showing table columns. Instead of trying
to convert that sytem to Bootstrap I have used code from the
batch modification/deletion pages which uses a list of checkboxes
to show and hide table columns. This has the advantage of giving
the user visual feedback of what columns are hidden and of offering the
user an interface which is familiar from other pages.
This patch also moves CSS from a batch-operations-specific
CSS file into the main CSS file. Batch modification templates have been
modified accordingly.
To test, view the budget planning page and choose different
"plan by" options (by month, by library, by item type). Test
the show/hide action on each individual column and using the
"show all" and "hide all" checkboxes.
Signed-off-by: David Cook <dcook@prosentient.com.au>
Works as described.
This interface is also much more visually appealing, user-friendly, and informative than it was when it used the YUI menu.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This patch removes the TinyMCE library from its language-specific
location and puts it in intranet-tmpl/lib. The most recent version
of TinyMCE is used, and the files added have been limited to
those required for proper functionality of the editor.
Files omitted: documentation, examples, unused plugins.
To test, visit each page which uses the TinyMCE editor: News
editing (tools/koha-news.pl), library editing (admin/branches.pl),
and online help editing (help/edithelp.pl). The editor should
look and function as before.
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Mason James <mtj@kohaaloha.com>
(cherry picked from commit 81714f8141de147a9133944057b059df47160315
on github.com/KohaAloha/Koha-Dev:bug_9172)
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Corrected authorship and date
The circulation page, when the UseTablesortForCirc preference is
enabled, uses the old tablesorter plugin. It should use DataTables
instead.
This patch removes references to the tablesorter plugin and makes these
changes to enable use of DataTables:
- Pass two new unformatted date variables to the template from
circulation.pl so that sorting can be performed on this data.
- Add DataTables configurations for the table of checkouts and the
table of relatives' checkouts.
- Add a new plugin to the main DataTables configuration script to allow
sorting on data embedded in a <span>'s 'title' attribute.
- Add <span>s to each table with a title attribute containing the
unformatted date data which DataTables needs to perform correct
sorting. This eliminates the need for a special sorting algorithm to
accomodate various date and datetime formatting options.
- Set a template variable for checking whether circ exports are enabled.
This reduces repetition. DataTables configuration changes based on how
many columns are present.
To test, load the circulation page for patrons who match various
conditions:
- Having only checkouts from today
- Having checkouts from today and previous days
- Having checkouts only from previous days
- Having relatives who have checkouts (from today, from previous days,
from both)
Test these situations with UseTablesortForCirc enabled and disabled.
Test these situations with circ exports enabled or disabled (with
ExportRemoveFields filled or empty, for instance).
Sorting should work correctly on all columns with the dateformat
preference set to any option.
All other circulation functions should work normally.
Revision adds missing include for table footer when there are previous
checkouts and removes from empty table header cells which were
messing up auto-detection of numeric data. The global CSS for table
borders has been tightened up to improve handling of alternating row
colors in DataTables-sorted tables.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests and QA script pass.
Note: Don't forget it's the checkout tab and to turn on the
preference to allow sorting there.
Also, while checkouts sorts dates correctly, sorting on the
details tabs was not always correct in my tests.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
The batch modification pages (edit and delete) use the old tablesorter
plugin. They should use DataTables instead. This patch makes the
following changes:
- Remove tablesorter plugin from batchMod.tt where it was unused.
- Replace tablesorter assets with DataTables assets on batch edit and
batch delete pages.
- Replace tablesorter code with DataTables code in batchMod.js, which
provides table sorting functionality for both batch templates.
- Move position of batchMod.js script inclusion so that DataTables
assets are loaded first.
- Remove inline table sorting code from batch edit page since it is
provided by batchMod.js
To test, load barcodes on both the batch edit and batch delete pages.
Test JavaScript-based functionality on each results page:
- Check/Uncheck all
- Hide/show columns
- Table sorting on a variety of different kinds of data columns
Batch operations should complete normally.
There should be no JavaScript error on the batch operation "landing
page" (batchMod.tt).
Signed-off-by: Melia Meggs <melia@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests and QA script pass.
Checked both patches, no problems found.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
In authorities and biblios editors, a repeatable subfield can be deleted (small icon next to input).
Clone subfields are really deleted but last existing subfield is just set empty instead of deleted.
But when same field is repeated, the last subfield can be deleted.
This patch corrects this, last subfield of a field, even repeated, can not be deleted.
Test plan :
- Edit a biblio
- Choose a repeatable field with a repeatable subfield : ie 600 and $x
- Edit 600, enter a text in $x : ie "subA"
- Clone $x
- Delete second $x
=> second $x is deleted
- Delete first $x
=> $x is not deleted but set empty
- Edit 600, enter a text in $x : ie "subA"
- Clone 600
- Edit second 600, enter a text in $x : ie "subB"
- Clone $x of second 600
- Delete second $x of second 600
=> second $x of second 600 is deleted
- Delete first $x of second 600
=> with this patch : first $x of second 600 is set empty
=> without this patch : first $x of second 600 is deleted, second 600 has no $x anymore
Perform same test plan on an authority.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
The patch for Bug 8942 undid the changes to ajax.js made by Bug 9331.
This patch puts those changes back.
To test that preference-related error messages continue to work,
open the system preferences editor in two tabs. Log out in one tab and
try to save a system preference in the other. You should see correct
error messages.
Signed-off-by: Pierre Angot <tredok.pierre@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Currently, clicking twice or more on the Save button will generate
duplicate patrons when adding patrons in the Patron module. Of course,
there is handling that detects this, so you can choose to either edit
the original record (i.e. throw away the duplicate) or create a
duplicate record.
However, it shouldn't get to that point by clicking on the Save button.
That handling seems to be there to handle cases where you go through the
whole process of trying to add a new patron only to find out that they
already exist in the system (or at least their username/password do).
--
This patch uses the "preventDoubleFormSubmit" function (which is also
used in holds and fines to prevent double form submits). It was also
necessary to edit members.js, since "check_form_borrowers" was forcing
form submits despite the "preventDoubleFormSubmit" function. I've
changed it from forcing a document.form.submit to return true, which the
browser will still submit the form if it's a unique borrower, but the
"preventDoubleFormSubmit" function will still prevent multiple submits.
I've also added a "waiting" class to staff-global.js which changes the
cursor to "wait" (i.e. loading circle graphic). I've included an
"AddClass" call in "preventDoubleFormSubmit", so that the cursor graphic
will change to show users that the page is loading so that they don't
click Save again. Of course, even if they do click save again, there
will only be one submit. However, this way - as Chris Cormack mentioned
- the user knows that "something" is happening and that the form isn't
broken.
-------
Test Plan
Before applying patch...
1) Fill out the form for a new patron in the Patron module
2) Click "Save" several times
3) Once the page loads, you'll be shown a prompt that says that this
borrower already exists. You will have the option to view the
original record, edit the original record, or create a new patron
anyway
4) Click on edit the existing record, and delete the patron
Apply the patch
5) Repeat steps 1 and 2
6) Notice that your cursor has changed into a little "loading" circle
graphic when you hover over the "body" of the page, as well as any
links or any inputs/buttons of the type "submit" within that form
7) Notice that no matter how many times you press the button, the form
is not re-submitted. Eventually you will be taken to the new patron's
record (no mention of duplication will occur)
Ta da! Multiple form submits are prevented and the loading graphic
signals to users that the form was submitted and that Koha is processing
their data
--
I understand that some people might want to change which elements are
given the "waiting" class. I'm happy to renegotiate this as necessary.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Looks good and works nicely.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This patch adds the jQuery "Validation" plugin
(http://docs.jquery.com/Plugins/Validation) and includes it by
default in the staff client along with an include file containing
translatable strings for all of the plugin's possible messages.
The staff client's main JavaScript file has been modified to perform
automatic validation of any form with the class "validated."
For a simple example I have modified the library entry form
to mark required fields as required (something which had not
been done before). Each required field has been given a class,
"required" and the HTML5 attribute "required." The former adds
the hook for the plugin, the latter adds browser-based validation
in recent browsers (and which will be superceded by the plugin
if JavaScript is enabled).
This will check for inputs classed "required" without any
additional configuration. More complex forms (with specific
data types, for instance) will require more inline JavaScript
configuration.
$("#FormID").validate({ /* configuration details */ });
Also added to the library entry form are checks on the email and URL
fields via classes ("email" and "url", respectively). This demonstrates
validation of content without forcing the field to be required.
To test, go to Administration -> Libraries and Groups and choose
"New library." Submit the form without entering a library code
or name. You should be prevented from submitting the form and be
shown an error message by each field. Perform the same check with an
existing entry.
To test browser-based validation, disable JavaScript and follow
the same procedure.
Revision rebases the patch against current master and adds missing
"//<![CDATA["
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: Work as described with new or existing library.
No errors.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
There is one stray instance of an untranslatable string in
preferences.js. This patch replaces it with a variable which is now
defined in the preferences template.
To test, open the system preferences editor and change any setting. You
should see the usual "Saved preference <preference name>" message.
To test that error strings are now translatable, run "perl translate
update <lang>" from misc/translator, then check if the affected strings shows
up in the po file.
Signed-off-by: Liz Rea <liz@catalyst.net.nz>
Tested both, all ok.
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
patron category administration page. Structural changes were made to the
table markup for validity and to deal with a DataTables bug which
prevents it from properly parsing a <th> with a colspan.
To test, open the Patron Category Administration page (Administration ->
Patron types and categories). Confirm that table sorting works
correctly.
Revision adds a "natural sort" plugin to the main datatables
configuration JavaScript file to enable sorting of columns like those in
this table which include mixed numeric and text data. Allows correct
numeric sorting of data like "0 years, 1 years, 2 years, 18 years," etc.
Further revision corrects template path to datatables assets.
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: Sorting works. No errors.
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 in the
"new" system preferences editor.
To test, open the system preferences editor on any tab other than Local
Use. Confirm that table sorting works correctly within each section. In
this configuration there should be no pager and no results filtering.
Revision corrects template path to datatables assets.
Further revision fixes section-collapse JS
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: Work as described. Collapsing restored. No errors.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
YUI JS is deprecated as far as Koha is concerned, and jQueryUI menus
don't seem to be as robust as they should be. This makes Twitter
Bootstrap very attrative for its menus features as well as other
aspects.
This patch revises the staff client header menu to include features from
Bootstrap, including replacement of the YUI-driven "More..." menu with a
Bootstrap version, and a new user menu taken from Corey Fuimaono's
similar patch.
To test, be sure to clear your cache after applying the patch. Load any
page in the staff client and confirm that the menu at the top of the
screen looks correct and works as normal, including functionality of the
"more" menu. Confirm that the username/logged-in branch triggers a menu
with "set library" and "log out" options. Confirm that Cart operations
trigger the correct confirmation popup.
Revision moves the Bootstrap assets out of the prog template into
koha-tmpl/intranet-tmpl/lib.
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Works great. No errors.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
I tested most scripts affected by this patch and visually verified
all changes. Functionality is unaffected.
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
To test:
1/ Go to system preferences
2/ Go to SCOUserCSS
3/ Add #self
4/ Search for self
5/ Open SCOUserCSS
6/ Note it now contains only # (Do not click save)
7/ Apply the patch
8/ Refresh the page, and check SCOUserCSS and note it now says #self
9/ Rejoice!
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works nicely and passes all tests.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This restores behaviour of new order form before Bug 5335 merge
Test scenario:
1. load Receipt summary for existing customer
2. take note of Unit cost and Order cost
3. open existing order line and verify that Replacement cost,
Budgeted cost and Total are not re-calculated on page load
4. change currency and verify that costs are updated
(change currency to system default and all values should become
same as vendor price)
5. change Quantity, get alert "You can't add a new item, please create a new order line"
and verify that Total still reflects correct value
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Elliott Davis <elliott@bywatersolions.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This patch moves untranslatable strings from ajax.js into the template
where they can be picked up by the translation script.
To test that preference-related error messages continue to work,
open the system preferences editor in two tabs. Log out in one tab and
try to save a system preference in the other. You should see correct
error messages.
To test that error strings are now translatable, run "perl translate update
<lang>" from misc/translator, then check if the affected strings shows
up in the po file.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Still works, and is now translatable
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Coding style corrections to members.js:
- Mixed tab/space indentation converted to spaces.
- Converted "!=" and "==" to "!==" and "===" for comparisons with ''.
- Adding missing semicolons.
To test, create or edit a patron and confirm that validation hasn't been
broken by the changes to members.js: Invalid date, empty required
fields, guarantor popup, restricted-until field display, etc.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This patch adds markup and JavaScript to the system preferences
interface so that the user can click "default" or "empty" to populate
an XSLT-related pref with those vaules.
To test, open system preferences for the OPAC or staff client. In
the description for an XSLT-related preference click the "default"
link to populate the field with "default." Click the "leave empty"
link to empty the field.
Revised according to Julian Maurice's suggestion for a more
generic, flexible way to implement it.
Signed-off-by: Melia Meggs <melia@test.bywatersolutions.com>
Passed-QA-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
The window feature dependant= should have been written as dependent=
Note that this feature is ignored in most/current browsers.
Since the feature was misspelled, removing it will not change any
behavior or hurt anybody.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Passed-QA-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Passed-QA-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Passed-QA-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Passed-QA-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Passed-QA-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Pierre Angot <tredok.pierre@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Larry Baerveldt <larry@bywatersolutions.com>
Signed-off-by: Joy Nelson <joy@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Marc Veron <veron@veron.ch>
Followed test plan in comment #1
Behaves as described in the test plan.
Useful feature!
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
When the DataTables plugin was upgraded the DataTables CSS
was not updated at the same time, causing problems in the
display due to changes in how the plugin works.
The DataTables upgrade added text lables to the image-only
buttons in order to improve accessibility. This patch
revises the CSS and the four_button pager modification
to conform with the upgrade.
To test, please view tables which use each of three types of
pagers: default two-button (ex: circ/pendingreserves),
custom four-button (ex: members/readingrec.pl) and full
(ex: tools/quotes.pl).
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
bug introduced by bug 7178
(http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=7178)
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Switching from YUI Cookie utility to jQuery Cookie plugin. The
jQuery Cookie plugin is already used elsewhere in Koha, so no new
dependencies are added. The YUI Cookie files are removed.
To test, go to batch item deletion and/or batch item modification
and submit a set of barcodes. On the confirmation screen select
or deselect columns to show. Start over and submit your barcodes
again. The confirmation screen should remember which columns you
previously selected.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
All instances of the old DynArch calendar have been replaced with
jQueryUI versions and the old library files have been removed.
calendar.inc has been modified to include jQueryUI localization
strings and global configuration options. Just add a "datepicker"
class to an input field to trigger a datepicker prompt.
If you would like two fields in one from to limit each other (one
is date from, one is date to), add these classes to each:
"datepickerfrom" and "datepickerto." This will prevent an invalid
entry, e.g. a date in the latter which falls before the former.
jQueryUI is now upgraded to the latest verision, 1.8.21.
Edit: Now with proper translatability, date formatting, first day
of the week handling, and RTL support.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
QA Comment: rebased on current master; minor merge conflicts with other patches pushed
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Current jQuery-driven tabs are done using a very old
version of the tabs plugin. This patch upgrades jQueryUI
to the latest version and adds the tabs widget dependency
to the jqueryui js file and updates the syntax for existing
tabs:
- $("#foo > ul").tabs(); changes to $("#foo").tabs();
- Remove full URL from tab links (use #anchor only).
Pages with "static" tabs (tabs which are built in the
markup rather than generated by the plugin) have been
modified to use their own style. Examples: pay.tt in
the staff client and opac-readingrecord.tt in the OPAC.
Edit: Minor revision to some uncorrected markup
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
To simplify the sentence structure for better translation flexibility
the message now reads:
"Item in your cart: " + number
Fixed in both OPAC and staff client, although I'm not sure
the message is actually triggered in the staff client.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Strings become translatable
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This patch adds JavaScript to automatically hide the "Restricted
unil" form field on the patron entry form if "Restricted: No" is
selected. If "Restricted: Yes" is chosen the "Until:" field
is shown and focus is given to it.
The patch also adds a note, "(optional)" after the "Until:" field
to make it clearer that a date is not required.
To test, open a patron record and try moving the selection
between "Restricted: No" and "Restricted: Yes." Confirm that
the "Until:" field is shown and hidden as expected. Confirm
that the restricted flag is correctly set or unset upon save,
including setting the flag with or without a date.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
The warning shown in the authorities editor when there is
a possible duplicate is styled incorrectly. In addition the
design of the warning is inconsistent with that shown in the
bibliographic record editor.
This patch revises the style and layout of the duplicate error
box. It also corrects a problem which appears in the biblio
and authority editors where a non-existent JS window function
was called. I have added the function to the default JS include
and revised the editor pages to use it.
To test:
- Create a record in both the cataloging and authorities
editors which will trigger a duplicate warning.
- Click the link to the existing record. A separate window
should pop up.
- In both editors try each option:
- Confirm the duplicate and go to the existing record.
- Deny that the record is duplicate and continue to save.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
jEditable is necessary to create DataTables with editable fields
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Mason James <mtj@kohaaloha.com>
Move SQL code from Perl script to Perl module
Replace SHOW COLUMNS by $dbh->column_info()
Update total on neworderempty.pl when adding or deleting items
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested ok for ordering and receiving items.
Total updated correctly.
Note: There are lots of errors in the logs before and after applying
the patch. A follow up is needed.
Upgrade jQuery in the staff client. Besides the change
to the jQuery file syntax has been changed wherever this
syntax was written:
$(foo).attr("checked","");
The new correct way to un-check a checkbox:
$(foo).removeAttr("checked");
I also removed some JavaScript altogether from
branch-transfer-limits.tt which used the old syntax but
which wasn't used on the page at all anymore.
Signed-off-by: Chris Nighswonger <cnighswonger@foundations.edu>
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Check for div 0 when calculating percentage
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
div0 no longer appears on 0 size jobs.
Passes t xt
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Rounding issue with JavaScript and float numbers, JavaScript changed to do no calculation if discount is 0
Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
- Display a unique item block at once
On orderreceive.pl when AcqCreateItem is 'receiving', and on
neworderempty.pl when AcqCreateItem is 'ordering' it displays an
item block with item infos to fill, and a '+' button.
When user clicks on '+', the block is hidden and a list shows up with
the items that will be received. User can then edit or delete items in
the list and click 'Save' to receive items.
- PrepareItemrecordDisplay is now used for cloning block
Previous cloning function was duplicating ids, the side effect is that
plugins didn't work when several items were displayed.
PrepareItemrecordDisplay regenerate the form with new ids
- New system preference UniqueItemFields
Contains a space-separated list of sql column names (of items table).
This syspref is used in two ways:
- Values corresponding to fields in syspref are not duplicated when
adding a new item (button 'Add')
- When saving the form, a check is made on fields in syspref for
detecting duplicate (in DB and in the form)
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests done are noted on the bug report.
2012-03-23: Fixed conflict in updatedatabase.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This commit adds a new jquery function to staff-global.js, preventDoubleFormSubmit().
When used thusly: $('#form-id').preventDoubleFormSubmit();
It will prevent a submitted form from being submitted a second time.
It is currently only added to the Place Hold form in reserve/request.pl
http://bugs.koha-community.org/show_bug.cgi?id=4045
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Tested:
Double clicking no longer causes identical double holds to be placed.
passes prove t xt t/db_dependent in line with current master.
Reminder: this will need to be added to the OPAC as well.
This patch changes the password field to a password type input on
member-password.pl and adds a confirmation field to both member-password.pl
and memberentry.pl requiring that the password be re-entered to
confirm.
Client-side and server-side validation for the two password fields has been added
to both pages. Multiple error messages can now be displayed together on
member-password.pl.
If the user wishes for Koha to suggest a random password on member-password.pl
they can click a link which will remove the password-type input fields, replace
them with text-type fields, and automatically fill them with the random
password suggestion.
Follow-up fix lets the members.js correctly handling errors when there are
no mandatory fields
LR followup: fixing slight error that corrects previously reported template error.
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Tested password setting/changing utilities - all work as expected and described.
Passes prove t xt t/db_dependent tests congruent with current master failures (adds no new fails).
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This patch compares the scroll position of the window with the page
position of the cart button and displays the cart notification
popup at the top of the visible page if the cart button has moved
offscreen.
Includes fix for OPAC and staff client.
Signed-off-by: Aleksa Vujicic <aleksa@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
cloneNode() does not preserve select box selections, I have created a function to duplicate them : "clone_with_selected".
It is included in "cloneItemBlock", that's all.
Now the values selected in ddl are duplicated as the imput-texts are.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This patch add the javascript library, a CSS (and image files from
datatables.net) and another javascript file which provides some extra
features.
It also add a Perl module C4::Utils::Datatables which provides helpful
functions for server-side processing
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
This patch adds display of local cover images in the following places:
1. OPAC Results page
2. OPAC Details page
3. Separate image viewer page for the OPAC
4. Intranet Details page
5. Separate image viewer page for the Intranet
Display in the Details and (OPAC) Results pages is handled via Javascript
rather than via direct embedding, to better handle the situation where most
records have local cover images, but a few do not.
Local cover images do not currently display in the Intranet Results page
How to use/test :
Assign user permission to the user Tools > (upload_local_cover_images Upload
local cover images). In order to upload local images, login to the staff
client. Go to Home > Tools > Upload Cover Images. Here you can upload cover
images either singly or in bulk in the form of a zip file. If uploading
singly, click on image file, browse the image from your local disk, type in
the biblio number of the catalogue entry and press upload. If uploading in
bulk as a zip file, the zip file must contain (in addition to cover images)
one text file named either datalink.txt OR idlink.txt. This file should
have mapping of biblionumber to image file name in the zip one per line
with comma or tab as delimiters. For example:
1, scanned_cover_image_of_bib_no_1.jpg
2, scanned_cover_image_of_bib_no_1.jpg
Cover images will be resized to a large image of 800x600 and a thumbnail of
200x140. Depending on the setting of AllowMultipleCovers, it is possible to
upload multiple images for a single bibliographic record. However, even if
multiple covers are permitted, you have the option of replacing the existing
covers by checking the "Replace existing covers" option on the upload screen.
1. The patch adds a menu link in Tools from where you can upload local cover
images
2. It adds a user permission to enable access control to this menu item under
Tools
3. It adds a system preference OPACLocalCoverImages under Enhanced Content.
This needs to be turned on to show local cover images in OPAC.
Once you have uploaded local images, if you search for the biblio, the local
cover should show up in search as well as search detail pages in the OPAC, and
the details view in the Intranet.
Koustubha Kale is working on another patch which will allow us to set a cover
image source priority in system preferences, and which will then gracefully
fail over to the next source if image is not available from the first choice
source.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Signed-off-by: Koustubha Kale <kmkale@anantcorp.com>
Rebased the patch because it was failing with koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css due to changes pushed in master.
Applies cleanly now.
The problem was, that the script was looking for the first
and second <a> tag in the code. When using plugins in the framework
this can't work. The patch changes the script to select the correct
<a> tags by using a class.
Also changes + and - to 'Add' and 'Delete' to make the meaning clearer
and clicking on them a bit easier.
To test:
1) AcqCreateItem = order
- Create a basket
- Create an order line
- Create more than one item
- Delete items
- Check quantity is calculated correctly
- Check items are created correctly
2) AcqCreateItem = receive
- Create basket
- Create 2 order lines, order >1 items
- Do a partial item by removing items from the receive form
- Receive all missing items
- Receive more items than ordered
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
For some reason the latest version of Firefox doesn't like
the javascript which empties the cart on logout. As Ian points
out, there is code which tries to redirect to "about:blank"
and close the window (since the main context of the function
is the Cart's popup window.
This patch adds a parameter to the delBasket function so
that we can pass a "popup" context to the function and
choose whether or not we want to ask JS to close the window.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Search to hold cookie is now cleared when the user loads a blank
circulation page and when the user logs out.
The user also now has the option to "forget" the current
search to hold patron by choosing an option from the
search to hold menu on the search results page.
Signed-off-by: Liz Rea <lrea@nekls.org>
Tested:
Forget <patron> from search to hold results clears cookie
Logging out clears the cookie - testing note: i had to clear my cookies and test fresh before this would work
Loading a blank circulation page (Check Out from the circulation-home) clears the cookie.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
xmlControlfield.js was always fetching the "en" xml file, preventing the translations
from working.
http://bugs.koha-community.org/show_bug.cgi?id=6715
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
- Apply patch
- Install language files, example: perl translate install de-DE
- Edit .xml files for value builders 006 and 008
- Test by creating a new record and using value builders
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
grep -R 'alert("' *
was not enough. I needed
grep -R "alert('"
too!.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
I ommited commented lines and "if $debug" lines too.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 5946 followup : (MT1236) aqplan.pl - Fixe the problem of unrounded sums
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
It has been detected an incompatibility with Internet Explorer in the ajax.js
file that cause a javascript error for this browser that prevents proper
operation.
The error occurs because the "localName" is not supported by Internet Explorer
and returns "undefined".
Bug 5862 - Incompatibility in ajax.js with "localName" for Internet Explorer
Fix error on comma for IE
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Modification of the intranet cataloguing plugin for 006/008 fields to allow
select a type of material and change the positions available to enter the data.
Data are hard stored in xml files to allow easy translation and processing through
Javascript and JQuery-AJAX.
Bug 3013 - Fix selection of combo and trailing whitespace
Bug 3013 - Fix selection of combo
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Modifying empty cart function to take a paramter: if true,
cart will be emptied without a prompt.
Removing unnecessary "javascript:" pseudo-protocol.
Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Defining strings in the template so that they can be translated.
Signed-off-by: Chris Nighswonger <cnighswonger@foundations.edu>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Fix created by Owen Leonard, related over IRC chat (rather than a patch file).
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Also adds title/author information to output of batch deletions
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
More acq fields in staff interface - price, quantity, currency and totals
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Patch for HEAD. This issue was apparently solved quite a while
ago in the OPAC. This patch copies that solution over to the staff client.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
There is no visible Lists button to "attach" our warning to
as there is in the OPAC, so warning message is displayed via
a javascript alert.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Also fixed a variety of XHTML validation errors.
Programming note: it is invalid XHTML and can break Javascript
to use element IDs and class names that start with digits.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Fixed bug in date validation that prevented adding new contracts
if the dateformat syspref was set to something other than 'metric'.
In process, also removed three hand-written date validation routines
in favor of using JavaScript Date objects and the Date_from_syspref
function provided in calendar.inc.
This fixes bug 3912, and partially addresses bug 4144.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
- removing inline image in favor of CSS background (inline image
is used in the OPAC to better work with cart button css
- adding "display:none" to "more" menu. "visibility:hidden" by
itself creates unwanted whitespace in WebKit browsers
- adding explicit width to toplevelmenu to correct display
problem in WebKit browsers
This moves the "Jump to name preference functionality" to the search
bar: if your search term is found to be the exact name of a syspref,
then it is jumped to instead of executing a normal search.
neworderempty : problems with data updates
booksellers.tmpl : TMPL_VAR not in comments
list_price becomes listprice in neworderempty script as in acq.js
In Opac :
Print lists
Carts looks more like lists
Carts "More Details" And "Brief Display" toolbar looks more alike
In Admin :
Search results toolbar now have a "Add To" button for adding to a selected list with a confirmation pop-up, like in OPAC
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
- basket.pl: updating display, formatting dates,
- neworderempty: updating display, removing useless code, using ACQ framework if it exist. The ACQ framework will be used for creating items record during acquisitions. If it does not exist, default is used instead (which has many more informations, lot of them being irrelevant during acquisition, like the barcode)
- new order from imported batch: rewrite of the workflow. Now uses neworderempty and changing status of import_record to 'imported'
- s/copyrightdate/publicationyear/ as it's what libraries uses when ordering
- fixing some warnings
-
If you made a column that is implemented by a select box mandatory in
BorrowerMandatoryField, Members.js would throw an error on the first
element. The original intent of the function was probably to catch
the first option for a drop-down list such as "Salutation" where the
text is blank. Added code to check for an empty string in the first
element.
You can test this by making salutation (title) mandatory.
Also fixed some typos in some of the comments. Why? Because I'm a Librarian.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
When cloning the set of inputs, the new js
increments the IDs of each form field (to keep them unique) and automatically
selects the option that was selected in the cloned group.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Following suggestion by Vincent Danjean for Debian
packaging, 0755 -> 0644 for non-executable
files.
Also removed shebang from a few modules in C4.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This function is used to extract strings for translator tool. It must be available everywhere, moving it to head-close.inc
& removing it elsewhere
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Output.pm: sanatizing variable names
ran perl -pi~ -e 's/\/includes\/calendar\//\/lib\/calendar\//' * in every staff template dir
Signed-off-by: Chris Cormack <crc@liblime.com>