dcd1f5d48c
Here we go, next step then. As we did not fix the performance issue when autofiltering the variables (see bug 20975), the only solution we have is to add the filters explicitely. This patch has been autogenerated (using add_html_filters.pl, see next pathces) and add the html filter to all the variables displayed in the template. Exceptions are made (using the new 'raw' TT filter) to the variable we already listed in the previous versions of this patch. To test: - Use t/db_dependent/Koha/Patrons.t to populate your DB with autogenerated data which contain <script> tags - Remove them from borrower_debarments.comments (there are allowed here) update borrower_debarments set comment="html tags possible here"; - From the interface hit page and try to catch alert box. If you find one it means you find a possible XSS. To know where it comes from: * note the exact URL where you found it * note the alert box content * Dump your DB and search for the string in the dump to identify its location (for instance table.field) Next: * Ideally we would like to use the raw filter when it is not necessary to HTML escape the variables (in big loop for instance) * Provide a QA script to catch missing filters (we want html, uri, url or raw, certainly others that I am forgetting now) * Replace the html filters with uri when needed (!) Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
930 lines
50 KiB
Text
930 lines
50 KiB
Text
[% USE raw %]
|
|
[% USE Asset %]
|
|
[% USE Branches %]
|
|
[% USE AuthorisedValues %]
|
|
[% USE KohaDates %]
|
|
[% USE Price %]
|
|
[% SET footerjs = 1 %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Acquisitions ›
|
|
[% IF ( op_save ) %]
|
|
[% IF ( suggestionid ) %]
|
|
Suggestions › Edit suggestion #[% suggestionid | html %]
|
|
[% ELSE %]
|
|
Suggestions › Add suggestion
|
|
[% END %]
|
|
[% ELSIF ( op == 'show' ) %]
|
|
Suggestions › Show suggestion #[% suggestionid | html %]
|
|
[% ELSE %]
|
|
Suggestions management
|
|
[% END %]
|
|
</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
[% IF ( op_else ) %]
|
|
[% Asset.css("css/datatables.css") | $raw %]
|
|
[% END %]
|
|
[% IF ( op_else ) %]
|
|
<style type="text/css">
|
|
h4.local_collapse a { font-size : 80%; text-decoration: none; } fieldset.brief ol { display : none; }
|
|
.overlay { top: 180px; left: 50%; position: absolute; margin-left: -100px; width: 200px; text-align: center; display: none; margin-top: -10px; background: #eeffd4; padding: .5em; color: #000; } .note { -moz-border-radius: 3px; border-radius:3px; background: transparent url("[% interface | html %]/[% theme | html %]/img/famfamfam/silk/comment.png") top left no-repeat; padding : 1px 3px 1px 18px; font-size : 90%; }
|
|
</style>
|
|
[% END %]
|
|
</head>
|
|
|
|
<body id="acq_suggestion" class="acq">
|
|
[% INCLUDE 'header.inc' %]
|
|
[% INCLUDE 'cat-search.inc' %]
|
|
<div id="breadcrumbs">
|
|
<a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> ›
|
|
[% IF ( op_save ) %]
|
|
[% IF ( suggestionid ) %]
|
|
<a href="/cgi-bin/koha/suggestion/suggestion.pl">Suggestions</a> › Edit suggestion #[% suggestionid | html %]
|
|
[% ELSE %]
|
|
<a href="/cgi-bin/koha/suggestion/suggestion.pl">Suggestions</a> › Add suggestion
|
|
[% END %]
|
|
[% ELSIF ( op == 'show' ) %]
|
|
<a href="/cgi-bin/koha/suggestion/suggestion.pl">Suggestions</a> › Show suggestion #[% suggestionid | html %]
|
|
[% ELSE %]
|
|
Suggestions management
|
|
[% END %]
|
|
</div>
|
|
|
|
[% IF ( op == 'show' ) %]
|
|
<div id="doc" class="yui-t7"> <!-- <div id="doc3" class="yui-t2"> -->
|
|
<div id="bd">
|
|
<div id="yui-main">
|
|
<div class="yui-b">
|
|
|
|
<div id="toolbar" class="btn-toolbar">
|
|
<a class="btn btn-default btn-sm" id="editsuggestion" href="suggestion.pl?op=edit&suggestionid=[% suggestionid | html %]"><i class="fa fa-pencil"></i> Edit</a>
|
|
<a class="btn btn-default btn-sm deletesuggestion" href="suggestion.pl?op=delete&edit_field=[% suggestionid | html %]"><i class="fa fa-trash"></i> Delete</a>
|
|
</div>
|
|
|
|
<fieldset class="rows">
|
|
<legend>Bibliographic information</legend>
|
|
<ol>
|
|
[% IF ( title ) %]
|
|
<li>
|
|
<span class="label">Title:</span>
|
|
[% title | html %]
|
|
</li>
|
|
[% END %]
|
|
[% IF ( author ) %]
|
|
<li>
|
|
<span class="label">Author:</span>
|
|
[% author | html %]
|
|
</li>
|
|
[% END %]
|
|
[% IF ( copyrightdate ) %]
|
|
<li>
|
|
<span class="label">Copyright date:</span>
|
|
[% copyrightdate | html %]
|
|
</li>
|
|
[% END %]
|
|
[% IF ( isbn ) %]
|
|
<li>
|
|
<span class="label">ISBN or ISSN or other standard number:</span>
|
|
[% isbn | html %]
|
|
</li>
|
|
[% END %]
|
|
[% IF ( publishercode ) %]
|
|
<li>
|
|
<span class="label">Publisher:</span>
|
|
[% publishercode | html %]
|
|
</li>
|
|
[% END %]
|
|
[% IF ( place ) %]
|
|
<li>
|
|
<span class="label">Publication place:</span>
|
|
[% place | html %]
|
|
</li>
|
|
[% END %]
|
|
[% IF ( collectiontitle ) %]
|
|
<li>
|
|
<span class="label">Collection title:</span>
|
|
[% collectiontitle | html %]
|
|
</li>
|
|
[% END %]
|
|
[% IF ( itemtype ) %]
|
|
<li>
|
|
<span class="label">Document type:</span>
|
|
[% AuthorisedValues.GetByCode( 'SUGGEST_FORMAT', itemtype, 0 ) | html %]
|
|
</li>
|
|
[% END %]
|
|
[% IF ( patron_reason_loop ) %]
|
|
<li><span class="label">Reason for suggestion: </span>
|
|
[% FOREACH patron_reason_loo IN patron_reason_loop %]
|
|
[% IF patron_reason_loo.authorised_value == patronreason %][% patron_reason_loo.lib | html %][% END %]
|
|
[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% IF ( note ) %]
|
|
<li>
|
|
<span class="label">Notes:</span>
|
|
[% note | html %]
|
|
</li>
|
|
[% END %]
|
|
</ol>
|
|
</fieldset>
|
|
<fieldset class="rows"> <legend>Suggestion management</legend>
|
|
<ol>
|
|
<li>
|
|
<span class="label">Status:</span>
|
|
[% SET status_found = 0 %]
|
|
[% IF ( STATUS == 'ASKED' ) %]
|
|
Pending
|
|
[% SET status_found = 1 %]
|
|
[% ELSIF ( STATUS == 'ACCEPTED' ) %]
|
|
Accepted
|
|
[% SET status_found = 1 %]
|
|
[% ELSIF ( STATUS == 'CHECKED' ) %]
|
|
Checked
|
|
[% SET status_found = 1 %]
|
|
[% ELSIF ( STATUS == 'REJECTED' ) %]
|
|
Rejected
|
|
[% SET status_found = 1 %]
|
|
[% ELSE %]
|
|
[% FOREACH s IN SuggestionStatuses %]
|
|
[% IF STATUS == s.authorised_value %]
|
|
[% s.lib | html %]
|
|
[% SET status_found = 1 %]
|
|
[% END %]
|
|
[% END %]
|
|
[% END %]
|
|
|
|
</li>
|
|
<li>
|
|
<table>
|
|
<thead><tr><th> </th><th>Date</th><th>By</th></tr></thead>
|
|
<tbody>
|
|
<tr>
|
|
<th>Created by:</th>
|
|
<td>[% suggesteddate | $KohaDates %]</td>
|
|
<td>
|
|
[% IF ( suggestedby_borrowernumber ) %]
|
|
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% suggestedby_borrowernumber | html %]">[% suggestedby_surname | html %], [% suggestedby_firstname | html %] ([% suggestedby_cardnumber | html %])</a>
|
|
[% Branches.GetName( suggestedby_branchcode ) | html %] ([% suggestedby_description | html %])
|
|
[% END %]
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Managed by:</th>
|
|
<td>[% manageddate | $KohaDates %]</td>
|
|
<td>
|
|
[% IF ( managedby_borrowernumber ) %]
|
|
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% managedby_borrowernumber | html %]">[% managedby_surname | html %], [% managedby_firstname | html %] ([% suggestedby_cardnumber | html %])</a>
|
|
[% Branches.GetName( managedby_branchcode ) | html %] ([% managedby_description | html %])
|
|
[% END %]
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Accepted on:</th>
|
|
<td>[% accepteddate | $KohaDates %]</td>
|
|
<td>
|
|
[% IF ( acceptedby_borrowernumber ) %]
|
|
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% acceptedby_borrowernumber | html %]">[% acceptedby_surname | html %], [% acceptedby_firstname | html %] ([% suggestedby_cardnumber | html %])</a>
|
|
[% Branches.GetName( acceptedby_branchcode ) | html %] ([% acceptedby_description | html %])
|
|
[% END %]
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table></li></ol>
|
|
</fieldset>
|
|
<fieldset class="rows"> <legend>Acquisition information</legend>
|
|
<ol>
|
|
<li>
|
|
<span class="label">Library:</span> [% Branches.GetName( branchcode ) | html %]
|
|
</li>
|
|
<li>
|
|
<span class="label">Fund:</span> [% budgetname | html %]
|
|
</li>
|
|
<li>
|
|
<span class="label">Copies:</span>[% quantity | html %]
|
|
</li>
|
|
<li>
|
|
<span class="label">Currency:</span>[% currency | html %]
|
|
</li>
|
|
<li>
|
|
<span class="label">Price:</span>[% price | $Price | html %]
|
|
</li>
|
|
<li>
|
|
<span class="label">Total</span>[% total | $Price | html %]
|
|
</li>
|
|
</ol>
|
|
</fieldset>
|
|
|
|
<fieldset class="action">
|
|
<a href="suggestion.pl"><< Back to suggestions</a>
|
|
</fieldset>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
[% ELSE %]
|
|
|
|
[% IF ( op_save ) %]
|
|
<div class="main container-fluid">
|
|
<div class="row">
|
|
<div class="col-md-8 col-md-offset-2">
|
|
[% ELSE %]
|
|
<div id="doc3" class="yui-t2">
|
|
<div id="bd">
|
|
<div id="yui-main">
|
|
<div class="yui-b">
|
|
[% END %]
|
|
|
|
[% IF ( op_save ) %]
|
|
<form id="add_edit" action="suggestion.pl" method="post" class="validated">
|
|
<input type="hidden" name="redirect" id="redirect" value="[% redirect | html %]" />
|
|
<input type="hidden" name="borrowernumber" id="borrowernumber" value="[% borrowernumber | html %]" />
|
|
[% IF ( suggestionid ) %]
|
|
<h1>Edit purchase suggestion #[% suggestionid | html %]</h1>
|
|
<input type="hidden" name="suggestionid" value="[% suggestionid | html %]"/>
|
|
[% ELSE %]
|
|
<h1>Enter a new purchase suggestion</h1>
|
|
[% END %]
|
|
<fieldset class="rows"> <legend>Bibliographic information</legend><ol>
|
|
<li>
|
|
<label for="title" class="required">Title:</label>
|
|
<input type="text" id="title" name="title" size="80" maxlength="255" value="[% title | html %]" required="required" class="required" />
|
|
<span class="required">Required</span>
|
|
</li>
|
|
<li><label for="author">Author:</label><input type="text" id="author" name="author" size="50" maxlength="80" value="[% author | html %]"/></li>
|
|
<li><label for="copyrightdate">Copyright date:</label><input type="text" id="copyrightdate" name="copyrightdate" size="4" maxlength="4" value="[% copyrightdate | html %]" /></li>
|
|
<li><label for="isbn">ISBN or ISSN or other standard number:</label><input type="text" id="isbn" name="isbn" size="50" maxlength="80" value="[% isbn | html %]"/></li>
|
|
<li><label for="publishercode">Publisher:</label><input type="text" id="publishercode" name="publishercode" size="50" maxlength="80" value="[% publishercode | html %]"/></li>
|
|
<li><label for="place">Publication place:</label><input type="text" id="place" name="place" size="50" maxlength="80" value="[% place | html %]"/></li>
|
|
<li><label for="collectiontitle">Collection title:</label><input type="text" id="collectiontitle" name="collectiontitle" size="50" maxlength="80" value="[% collectiontitle | html %]"/></li>
|
|
<li><label for="itemtype">Document type:</label>
|
|
[% PROCESS 'av-build-dropbox.inc' name="itemtype", category="SUGGEST_FORMAT", size = 20, default=itemtype %]
|
|
</li>
|
|
[% IF patron_reason_loop %]
|
|
<li>
|
|
<label for="patronreason">Reason for suggestion: </label>
|
|
<select name="patronreason" id="patronreason">
|
|
<option value=""> -- Choose -- </option>
|
|
[% FOREACH patron_reason_loo IN patron_reason_loop %]
|
|
[% IF patron_reason_loo.authorised_value == patronreason %]
|
|
<option value="[% patron_reason_loo.authorised_value | html %]" selected="selected">[% patron_reason_loo.lib | html %]</option>
|
|
[% ELSE %]
|
|
<option value="[% patron_reason_loo.authorised_value | html %]">[% patron_reason_loo.lib | html %]</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
[% END %]
|
|
<li><label for="note">Notes:</label><textarea name="note" id="note" rows="5" cols="40">[% note | html %]</textarea></li>
|
|
</ol>
|
|
</fieldset>
|
|
<fieldset class="rows"> <legend>Suggestion management</legend>
|
|
<ol>
|
|
[% IF ( suggestionid ) %]
|
|
<li>
|
|
<label for="STATUS">Status:</label>
|
|
<select id="STATUS" name="STATUS">
|
|
<option value="">No Status</option>
|
|
|
|
[% IF (statusselected_ASKED ) %]
|
|
<option value="ASKED" selected="selected">Pending</option>
|
|
[% ELSE %]
|
|
<option value="ASKED">Pending</option>
|
|
[% END %]
|
|
|
|
[% IF (statusselected_ACCEPTED ) %]
|
|
<option value="ACCEPTED" selected="selected">Accepted</option>
|
|
[% ELSE %]
|
|
<option value="ACCEPTED">Accepted</option>
|
|
[% END %]
|
|
|
|
[% IF (statusselected_CHECKED ) %]
|
|
<option value="CHECKED" selected="selected">Checked</option>
|
|
[% ELSE %]
|
|
<option value="CHECKED">Checked</option>
|
|
[% END %]
|
|
|
|
[% IF ( statusselected_REJECTED ) %]
|
|
<option value="REJECTED" selected="selected">Rejected</option>
|
|
[% ELSE %]
|
|
<option value="REJECTED">Rejected</option>
|
|
[% END %]
|
|
|
|
[% FOREACH s IN SuggestionStatuses %]
|
|
[% IF s.authorised_value == suggestion.STATUS %]
|
|
<option value="[% s.authorised_value | html %]" selected="selected">[% s.lib | html %]</option>
|
|
[% ELSE %]
|
|
<option value="[% s.authorised_value | html %]">[% s.lib | html %]</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
<li>
|
|
<label for="reason">Reason</label>
|
|
<select class="select-reason" id="reason" name="reason">
|
|
<option value=""> -- Choose a reason -- </option>
|
|
[% FOREACH reasonsloo IN suggestion.reasonsloop %]
|
|
[% IF (reasonsloo.lib == suggestion.reason) %]
|
|
<option value="[% reasonsloo.lib | html %]" selected="selected">[% reasonsloo.lib | html %]</option>
|
|
[% ELSE %]
|
|
<option value="[% reasonsloo.lib | html %]">[% reasonsloo.lib | html %]</option>
|
|
[% END %]
|
|
[% END %]
|
|
<option value="other">Others...</option>
|
|
</select>
|
|
|
|
<span id="other_reason" name="other_reason">
|
|
[% IF other_reason %]
|
|
<input type="text" size="31" id="select-other_reason" name="other_reason" placeholder="please note your reason here..." value="[% suggestion.reason | html %]"/>
|
|
[% ELSE %]
|
|
<input type="text" size="31" id="select-other_reason" name="other_reason" placeholder="please note your reason here..." />
|
|
[% END %]
|
|
<a href="#back">Cancel</a>
|
|
</span>
|
|
</li>
|
|
[% END %]
|
|
<li><table>
|
|
<thead><tr><th> </th><th>Date</th><th>By</th></tr></thead>
|
|
<tbody>
|
|
<tr>
|
|
<th><label for="suggesteddate">Created by:</label> </th>
|
|
<td><input type="text" id="suggesteddate" name="suggesteddate" class="datepicker" size="10" maxlength="10" value="[% suggesteddate | $KohaDates %]"/>[% INCLUDE 'date-format.inc' %]</td>
|
|
<td><input type="hidden" id="suggestedby" name="suggestedby" value="[% suggestedby | html %]"/>[% IF ( suggestedby_borrowernumber ) %]<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% suggestedby_borrowernumber | html %]">[% suggestedby_surname | html %], [% suggestedby_firstname | html %] ([% suggestedby_cardnumber | html %])</a> [% Branches.GetName( suggestedby_branchcode ) | html %] ([% suggestedby_description | html %])[% END %]
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th><label for="managedon">Managed by:</label> </th>
|
|
<td><input type="text" id="managedon" name="manageddate" class="datepicker" size="10" maxlength="10" value="[% manageddate | $KohaDates %]" />[% INCLUDE 'date-format.inc' %]</td>
|
|
<td><input type="hidden" id="managedby" name="managedby" value="[% managedby | html %]"/>[% IF ( managedby_borrowernumber ) %]<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% managedby_borrowernumber | html %]">[% managedby_surname | html %], [% managedby_firstname | html %] ([% suggestedby_cardnumber | html %])</a> [% Branches.GetName( managedby_branchcode ) | html %] ([% managedby_description | html %])[% END %]</td>
|
|
</tr>
|
|
<tr>
|
|
<th><label for="accepteddate">Accepted on:</label> </th>
|
|
<td><input type="text" id="accepteddate" name="accepteddate" class="datepicker" size="10" maxlength="10" value="[% accepteddate | $KohaDates %]" />[% INCLUDE 'date-format.inc' %]</td>
|
|
<td><input type="hidden" id="acceptedby" name="acceptedby" value="[% acceptedby | html %]"/>[% IF ( acceptedby_borrowernumber ) %]<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% acceptedby_borrowernumber | html %]">[% acceptedby_surname | html %], [% acceptedby_firstname | html %] ([% suggestedby_cardnumber | html %])</a> [% Branches.GetName( acceptedby_branchcode ) | html %] ([% acceptedby_description | html %])[% END %]</td>
|
|
</tr>
|
|
</tbody>
|
|
</table></li></ol>
|
|
</fieldset>
|
|
<fieldset class="rows"> <legend>Acquisition information</legend><ol>
|
|
<li><label for="branchcode">Library:</label>
|
|
<select name="branchcode" id="branchcode">
|
|
<option value="">Any</option>
|
|
[% IF branchfilter %]
|
|
[% PROCESS options_for_libraries libraries => Branches.all( selected => branchfilter ) %]
|
|
[% ELSE %]
|
|
[% PROCESS options_for_libraries libraries => Branches.all( selected => branchcode ) %]
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
<li><label for="budgetid">Fund:</label>
|
|
<select name="budgetid" id="budgetid">
|
|
<option value="">Any</option>[% FOREACH budgetsloo IN budgetsloop %]
|
|
[% IF ( budgetsloo.selected ) %]<option value="[% budgetsloo.budget_id | html %]" selected="selected">[% budgetsloo.budget_name | html %]</option>[% ELSE %]<option value="[% budgetsloo.budget_id | html %]">[% budgetsloo.budget_name | html %]</option>[% END %][% END %]
|
|
</select>
|
|
</li><li><label for="quantity">Copies:</label>
|
|
<input type="text" size="10" id="quantity" name="quantity" value="[% quantity | html %]" />
|
|
</li>
|
|
<li>
|
|
<label for="currency">Currency:</label>
|
|
[% FOREACH c IN currencies %]
|
|
<input type="hidden" value="[% c.rate | html %]" id="currency_rate_[% c.currency | html %]" name="currency_rate_[% c.currency | html %]" />
|
|
<input type="hidden" id="[% c.currency | html %]" name="[% c.currency | html %]" value="[% c.rate | html %]" />
|
|
[% END %]
|
|
|
|
<select name="currency" id="currency">
|
|
[% FOREACH c IN currencies %]
|
|
[% IF suggestionid and suggestion.currency == c.currency or not suggestionid and c.active %]
|
|
<option value="[% c.currency | html %]" selected="selected">[% c.currency | html %]</option>
|
|
[% ELSIF not c.archived %]
|
|
<option value="[% c.currency | html %]">[% c.currency | html %]</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
<li><label for="price">Price:</label>
|
|
<input type="text" size="20" name="price" id="price" value="[% price | html %]" />
|
|
</li><li><label for="total">Total: </label>
|
|
<input type="text" readonly="readonly" id="total" name="total" size="10" value="[% total | html %]"/>
|
|
</li></ol>
|
|
</fieldset><input type="hidden" id="returnsuggested" name="returnsuggested" value="[% IF ( returnsuggestedby ) %][% returnsuggestedby | html %][% ELSE %]noone[% END %]"/>
|
|
<fieldset class="action"><input type="hidden" name="op" value="[% op | html %]" />[% IF ( suggestionid ) %]<input type="submit" value="Save" /> <a class="cancel" href="[% IF ( returnsuggestedby ) %]/cgi-bin/koha/members/moremember.pl?borrowernumber=[% returnsuggestedby | html %]#suggestions[% ELSE %]suggestion.pl[% END %]">Cancel</a>[% ELSE %]<input type="submit" value="Submit your suggestion" /> <a class="cancel" href="suggestion.pl">Cancel</a>[% END %]
|
|
</fieldset>
|
|
</form>
|
|
[% END %]
|
|
|
|
[% IF ( op_else ) %]
|
|
<div id="toolbar" class="btn-toolbar">
|
|
<a class="btn btn-default btn-sm" id="newsuggestion" href="suggestion.pl?op=add"><i class="fa fa-plus"></i> New purchase suggestion</a>
|
|
</div>
|
|
|
|
<h1>Suggestions management</h1>
|
|
|
|
|
|
[% FOR m IN messages %]
|
|
<div class="dialog [% m.type | html %]">
|
|
[% SWITCH m.code %]
|
|
[% CASE 'already_exists' %]
|
|
The suggestion has not been added. A suggestion with this title already exists (<a href='/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% m.id | html %]&op=show'>suggestion #[% m.id | html %]</a>)
|
|
[% CASE %]
|
|
[% m.code | html %]
|
|
[% END %]
|
|
</div>
|
|
[% END %]
|
|
|
|
[% UNLESS ( notabs ) %]
|
|
<div id="suggestiontabs" class="toptabs">
|
|
<ul class="ui-tabs-nav">
|
|
[% FOREACH suggestion IN suggestions %]
|
|
<li>
|
|
<a href="#[% suggestion.suggestiontype | html %]">
|
|
[% IF ( suggestion.suggestiontypelabel ) %]
|
|
[% IF (suggestion.suggestiontypelabel == "Pending") %]Pending
|
|
[% ELSIF (suggestion.suggestiontypelabel == "Accepted") %]Accepted
|
|
[% ELSIF (suggestion.suggestiontypelabel == "Checked") %]Checked
|
|
[% ELSIF (suggestion.suggestiontypelabel == "Rejected") %]Rejected
|
|
[% ELSIF (suggestion.suggestiontypelabel == "Available") %]Available
|
|
[% ELSIF (suggestion.suggestiontypelabel == "Ordered") %]Ordered
|
|
[% ELSIF (suggestion.suggestiontypelabel == "Unknown") %]Status unknown
|
|
[% ELSE %][% suggestion.suggestiontypelabel | html %][% END %]
|
|
[% ELSE %]
|
|
[% IF ( suggestion.suggestiontype ) %]
|
|
[% AuthorisedValues.GetByCode( 'SUGGEST_STATUS', suggestion.suggestiontype ) | html %]
|
|
[% ELSE %]
|
|
No name
|
|
[% END %]
|
|
[% END %]
|
|
([% suggestion.suggestions_loop.size | html %])</a></li>
|
|
|
|
[% END %]
|
|
</ul>
|
|
[% END %]
|
|
|
|
[% FOREACH suggestion IN suggestions %]
|
|
<div id="[% suggestion.suggestiontype | html %]">
|
|
<form class="update_suggestions" name="f[% suggestion.suggestiontype | html %]" method="post" action="/cgi-bin/koha/suggestion/suggestion.pl#[% suggestion.suggestiontype | html %]">
|
|
|
|
[% IF ( suggestion.suggestions_loop ) %]
|
|
<p><a id="CheckAll[% suggestion.suggestiontype | html %]" href="#">Check all</a> | <a id="UncheckAll[% suggestion.suggestiontype | html %]" href="#">Uncheck all</a></p>
|
|
<table id="[% suggestion.suggestiontype | html %]t" class="sorted">
|
|
<thead>
|
|
<tr>
|
|
<th class="NoSort"> </th>
|
|
<th class="anti-the">Suggestion</th>
|
|
<th>Suggested by - on</th>
|
|
<th>Managed by - on</th>
|
|
<th>Library</th>
|
|
<th>Fund</th>
|
|
<th>Status</th>
|
|
<th class="NoSort"> </th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
[% FOREACH suggestions_loo IN suggestion.suggestions_loop %]
|
|
<tr>
|
|
<td>
|
|
<input type="checkbox" name="edit_field" value="[% suggestions_loo.suggestionid | html %]" />
|
|
</td>
|
|
<td>
|
|
<a href="suggestion.pl?suggestionid=[% suggestions_loo.suggestionid | html %]&op=show" title="suggestion" >
|
|
[% suggestions_loo.title | html %][% IF ( suggestions_loo.author ) %], by [% suggestions_loo.author | html %][% END %]</a>
|
|
<br />
|
|
[% IF ( suggestions_loo.copyrightdate ) %]© [% suggestions_loo.copyrightdate | html %] [% END %]
|
|
[% IF ( suggestions_loo.volumedesc ) %]; Volume:<i>[% suggestions_loo.volumedesc | html %]</i> [% END %]
|
|
[% IF ( suggestions_loo.isbn ) %]; ISBN:<i>[% suggestions_loo.isbn | html %]</i> [% END %][% IF ( suggestions_loo.publishercode ) %]; Published by [% suggestions_loo.publishercode | html %] [% END %][% IF ( suggestions_loo.publicationyear ) %] in <i>[% suggestions_loo.publicationyear | html %]</i> [% END %][% IF ( suggestions_loo.place ) %] in <i>[% suggestions_loo.place | html %]</i> [% END %][% IF ( suggestions_loo.collectiontitle ) %]; [% suggestions_loo.collectiontitle | html %] [% END %][% IF ( suggestions_loo.itemtype ) %]; [% AuthorisedValues.GetByCode( 'SUGGEST_FORMAT', suggestions_loo.itemtype, 0 ) | html %] [% END %]<br />[% IF ( suggestions_loo.note ) %]<span class="note">[% suggestions_loo.note | html %]</span>[% END %]
|
|
</td>
|
|
<td>
|
|
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% suggestions_loo.suggestedby | html %]">[% suggestions_loo.surnamesuggestedby | html %][% IF ( suggestions_loo.firstnamesuggestedby ) %], [% suggestions_loo.firstnamesuggestedby | html %][% END %] [% IF (suggestions_loo.cardnumbersuggestedby ) %]([% suggestions_loo.cardnumbersuggestedby | html %])[% END %]</a>
|
|
[% IF ( suggestions_loo.suggesteddate ) %] - [% suggestions_loo.suggesteddate | $KohaDates %][% END %]
|
|
</td>
|
|
<td>
|
|
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% suggestions_loo.suggestedby | html %]">[% suggestions_loo.surnamemanagedby | html %][% IF ( suggestions_loo.firstnamemanagedby ) %], [% suggestions_loo.firstnamemanagedby | html %][% END %]</a>
|
|
[% IF ( suggestions_loo.manageddate ) %] - [% suggestions_loo.manageddate | $KohaDates %][% END %]
|
|
</td>
|
|
<td>
|
|
[% Branches.GetName( suggestions_loo.branchcode ) | html %]
|
|
</td>
|
|
<td>
|
|
[% suggestions_loo.budget_name | html %]
|
|
</td>
|
|
<td>
|
|
[% IF ( suggestions_loo.ASKED ) %]
|
|
Pending
|
|
[% ELSIF ( suggestions_loo.ACCEPTED ) %]
|
|
Accepted
|
|
[% ELSIF ( suggestions_loo.ORDERED ) %]
|
|
Ordered
|
|
[% ELSIF ( suggestions_loo.REJECTED ) %]
|
|
Rejected
|
|
[% ELSIF ( suggestions_loo.CHECKED ) %]
|
|
Checked
|
|
[% ELSIF AuthorisedValues.GetByCode( 'SUGGEST_STATUS', suggestions_loo.STATUS ) %]
|
|
[% AuthorisedValues.GetByCode( 'SUGGEST_STATUS', suggestions_loo.STATUS ) | html %]
|
|
[% ELSE %]
|
|
Status unknown
|
|
[% END %]
|
|
|
|
[% IF ( suggestions_loo.reason ) %]
|
|
<br />([% suggestions_loo.reason | html %])
|
|
[% END %]
|
|
</td>
|
|
<td class="actions">
|
|
<a class="btn btn-xs btn-default" href="suggestion.pl?suggestionid=[% suggestions_loo.suggestionid | html %]&op=edit"><i class="fa fa-pencil"></i> Edit</a>
|
|
<a class="btn btn-default btn-xs deletesuggestion" href="suggestion.pl?op=delete&edit_field=[% suggestions_loo.suggestionid | html %]"><i class="fa fa-trash"></i> Delete</a>
|
|
</td>
|
|
</tr>
|
|
[% END %]</tbody>
|
|
</table> <fieldset>
|
|
<div id="select-reason[% suggestion.suggestiontype | html %]">
|
|
<div id="status[% suggestion.suggestiontype | html %]">
|
|
<label for="STATUS[% suggestion.suggestiontype | html %]">Mark selected as: </label>
|
|
<select name="STATUS" id="STATUS[% suggestion.suggestiontype | html %]">
|
|
<option value=""> -- Choose a status --</option>
|
|
|
|
[% IF (statusselected_ASKED ) %]
|
|
<option value="ASKED" selected="selected">Pending</option>
|
|
[% ELSE %]
|
|
<option value="ASKED">Pending</option>
|
|
[% END %]
|
|
|
|
[% IF (statusselected_ACCEPTED ) %]
|
|
<option value="ACCEPTED" selected="selected">Accepted</option>
|
|
[% ELSE %]
|
|
<option value="ACCEPTED">Accepted</option>
|
|
[% END %]
|
|
|
|
[% IF (statusselected_CHECKED ) %]
|
|
<option value="CHECKED" selected="selected">Checked</option>
|
|
[% ELSE %]
|
|
<option value="CHECKED">Checked</option>
|
|
[% END %]
|
|
|
|
[% IF ( statusselected_REJECTED ) %]
|
|
<option value="REJECTED" selected="selected">Rejected</option>
|
|
[% ELSE %]
|
|
<option value="REJECTED">Rejected</option>
|
|
[% END %]
|
|
|
|
[% FOREACH s IN SuggestionStatuses %]
|
|
<option value="[% s.authorised_value | html %]">[% s.lib | html %]</option>
|
|
[% END %]
|
|
</select>
|
|
|
|
<label for="reason[% suggestion.suggestiontype | html %]">with this reason:</label>
|
|
<select id="reason[% suggestion.suggestiontype | html %]" name="reason[% suggestion.suggestiontype | html %]">
|
|
<option value=""> -- Choose a reason -- </option>
|
|
[% FOREACH reasonsloo IN suggestion.reasonsloop %]
|
|
<option value="[% reasonsloo.lib | html %]">[% reasonsloo.lib | html %]</option>
|
|
[% END %]
|
|
<option value="other">Others...</option>
|
|
</select>
|
|
|
|
<span id="other_reason[% suggestion.suggestiontype | html %]">
|
|
<input type="text" size="31" id="select-other_reason[% suggestion.suggestiontype | html %]" name="other_reason[% suggestion.suggestiontype | html %]" placeholder="please note your reason here..." />
|
|
<a href="#back[% suggestion.suggestiontype | html %]">Cancel</a>
|
|
</span>
|
|
|
|
<strong style="padding: 0 1em;">OR:</strong>
|
|
|
|
<label for="[% suggestion.suggestiontype | html %]delete">Delete selected</label>
|
|
<input type="checkbox" name="op" id="[% suggestion.suggestiontype | html %]delete" />
|
|
</div>
|
|
</div>
|
|
|
|
<input type="hidden" name="branchcode" value="[% branchfilter | html %]" />
|
|
<input type="hidden" name="tabcode" value="[% suggestion.suggestiontype | html %]" />
|
|
<input type="hidden" name="op" value="change" />
|
|
</fieldset>
|
|
<fieldset class="action">
|
|
<input type="submit" value="Submit" /></fieldset>
|
|
</form>
|
|
[% ELSE %]
|
|
<b>No results.</b>
|
|
[% END %]
|
|
</div>
|
|
[% END %]
|
|
</div>
|
|
[% END %]
|
|
</div>
|
|
</div>
|
|
|
|
[% UNLESS ( op_save ) %] [% UNLESS ( op == 'show' ) %]<div class="yui-b">
|
|
<form name="suggestionfilter" action="suggestion.pl" method="get">
|
|
<fieldset class="brief"><ol style="display:block;"><li><label for="displayby">Organize by: </label>
|
|
<select name="displayby" id="displayby" style="width:auto;">
|
|
[% IF ( displayby == "STATUS" ) %]
|
|
<option value="STATUS" selected="selected">Status</option>
|
|
[% ELSE %]
|
|
<option value="STATUS">Status</option>
|
|
[% END %]
|
|
[% IF ( displayby == "branchcode" ) %]
|
|
<option value="branchcode" selected="selected">Library</option>
|
|
[% ELSE %]
|
|
<option value="branchcode">Library</option>
|
|
[% END %]
|
|
[% IF ( displayby == "itemtype" ) %]
|
|
<option value="itemtype" selected="selected">Item type</option>
|
|
[% ELSE %]
|
|
<option value="itemtype">Item type</option>
|
|
[% END %]
|
|
[% IF ( displayby == "managedby" ) %]
|
|
<option value="managedby" selected="selected">Managed by</option>
|
|
[% ELSE %]
|
|
<option value="managedby">Managed by</option>
|
|
[% END %]
|
|
[% IF ( displayby == "acceptedby" ) %]
|
|
<option value="acceptedby" selected="selected">Accepted by</option>
|
|
[% ELSE %]
|
|
<option value="acceptedby">Accepted by</option>
|
|
[% END %]
|
|
</select> <input type="submit" value="Go" /></li></ol></fieldset>
|
|
<h4>Filter by: <a style="font-size:80%;font-weight:normal;" href="/cgi-bin/koha/suggestion/suggestion.pl">[clear]</a></h4>
|
|
<div style="display:block;" id="limits">
|
|
|
|
<fieldset class="brief"><h4 class="local_collapse"><a href="#">Bibliographic information</a></h4>
|
|
<ol> <li><label for="title"> Title:</label><input type="text" id="title" name="title" value="[% title | html %]" /></li>
|
|
<li><label for="author"> Author:</label><input type="text" id="author" name="author" value="[% author | html %]" /></li>
|
|
<li><label for="isbn"> ISBN:</label><input type="text" id="isbn" name="isbn" value="[% isbn | html %]" /></li>
|
|
<li><label for="publishercode"> Publisher:</label><input type="text" id="publishercode" name="publishercode" value="[% publishercode | html %]" /></li>
|
|
<li><label for="copyrightdate_filter"> Copyright date:</label><input type="text" id="copyrightdate_filter" name="copyrightdate" value="[% copyrightdate | html %]" /></li>
|
|
<li><label for="collectiontitle"> Collection title:</label><input type="text" id="collectiontitle" name="collectiontitle" value="[% collectiontitle | html %]" /></li><li><input type="submit" value="Go" /></li></ol>
|
|
</fieldset>
|
|
<fieldset class="brief"><h4 class="local_collapse"><a href="#">Suggestion information</a></h4>
|
|
<ol>
|
|
<li>
|
|
<label for="STATUS"> Status:</label>
|
|
<select name="STATUS" id="STATUS">
|
|
<option value="">Any</option>
|
|
|
|
[% IF (statusselected_ASKED ) %]
|
|
<option value="ASKED" selected="selected">Pending</option>
|
|
[% ELSE %]
|
|
<option value="ASKED">Pending</option>
|
|
[% END %]
|
|
|
|
[% IF (statusselected_ACCEPTED ) %]
|
|
<option value="ACCEPTED" selected="selected">Accepted</option>
|
|
[% ELSE %]
|
|
<option value="ACCEPTED">Accepted</option>
|
|
[% END %]
|
|
|
|
[% IF (statusselected_CHECKED ) %]
|
|
<option value="CHECKED" selected="selected">Checked</option>
|
|
[% ELSE %]
|
|
<option value="CHECKED">Checked</option>
|
|
[% END %]
|
|
|
|
[% IF ( statusselected_REJECTED ) %]
|
|
<option value="REJECTED" selected="selected">Rejected</option>
|
|
[% ELSE %]
|
|
<option value="REJECTED">Rejected</option>
|
|
[% END %]
|
|
|
|
[% FOREACH s IN SuggestionStatuses %]
|
|
[% IF s.authorised_value == selected_status %]
|
|
<option value="[% s.authorised_value | html %]" selected="selected">[% s.lib | html %]</option>
|
|
[% ELSE %]
|
|
<option value="[% s.authorised_value | html %]">[% s.lib | html %]</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
|
|
<li><label for="suggestedby"> Suggested by:</label><select id="suggestedby" name="suggestedby"><option value="">Any</option>
|
|
[% FOREACH suggestedby_loo IN suggestedby_loop %][% IF ( suggestedby_loo.selected ) %]<option value="[% suggestedby_loo.code | html %]" selected="selected">[% suggestedby_loo.desc | html %]</option>[% ELSE %]<option value="[% suggestedby_loo.code | html %]">[% suggestedby_loo.desc | html %]</option>[% END %][% END %]
|
|
</select></li>
|
|
<li>
|
|
<label for="suggesteddate_from">Suggested date from:</label>
|
|
<input type="text" id="suggesteddate_from" size="10" name="suggesteddate_from" value="[% suggesteddate_from | html %]" />
|
|
</li>
|
|
<li>
|
|
<label for="suggesteddate_to">To:</label>
|
|
<input type="text" id="suggesteddate_to" size="10" name="suggesteddate_to" value="[% suggesteddate_to | html %]" />
|
|
</li>
|
|
<li><label for="managedby"> Managed by:</label><select id="managedby" name="managedby"><option value="">Any</option>
|
|
[% FOREACH managedby_loo IN managedby_loop %][% IF ( managedby_loo.selected ) %]<option value="[% managedby_loo.code | html %]" selected="selected">[% managedby_loo.desc | html %]</option>[% ELSE %]<option value="[% managedby_loo.code | html %]">[% managedby_loo.desc | html %]</option>[% END %][% END %]
|
|
</select></li>
|
|
<li>
|
|
<label for="manageddate_from">Management date from:</label>
|
|
<input type="text" id="manageddate_from" size="10" name="manageddate_from" value="[% manageddate_from | html %]" />
|
|
</li>
|
|
<li>
|
|
<label for="manageddate_to">To:</label>
|
|
<input type="text" id="manageddate_to" size="10" name="manageddate_to" value="[% manageddate_to | html %]" />
|
|
</li>
|
|
<li><label for="acceptedby"> Accepted by:</label><select id="acceptedby" name="acceptedby"><option value="">Any</option>
|
|
[% FOREACH acceptedby_loo IN acceptedby_loop %][% IF ( acceptedby_loo.selected ) %] <option value="[% acceptedby_loo.code | html %]" selected="selected">[% acceptedby_loo.desc | html %]</option>[% ELSE %]<option value="[% acceptedby_loo.code | html %]">[% acceptedby_loo.desc | html %]</option>[% END %][% END %]
|
|
</select></li>
|
|
<li>
|
|
<label for="accepteddate_from">Accepted date from:</label>
|
|
<input type="text" id="accepteddate_from" size="10" name="accepteddate_from" value="[% accepteddate_from | html %]" />
|
|
</li>
|
|
<li>
|
|
<label for="accepteddate_to">To:</label>
|
|
<input type="text" id="accepteddate_to" size="10" name="accepteddate_to" value="[% accepteddate_to | html %]" />
|
|
</li>
|
|
<li><input type="submit" value="Go" /></li></ol>
|
|
</fieldset>
|
|
|
|
<fieldset class="brief"><h4 class="local_collapse"><a href="#">Acquisition information</a></h4>
|
|
<ol><li><label for="budgetid"> Book fund:</label>
|
|
<select name="budgetid" id="budgetid">
|
|
<option value="__ANY__">Any</option>
|
|
[% IF budgetid == '__NONE__' %]
|
|
<option value="__NONE__" selected="selected">None</option>
|
|
[% ELSE %]
|
|
<option value="__NONE__">None</option>
|
|
[% END %]
|
|
[% FOREACH budgetid_loo IN budgetid_loop %]
|
|
[% IF ( budgetid_loo.selected ) %] <option value="[% budgetid_loo.code | html %]" selected="selected">[% budgetid_loo.desc | html %]</option>[% ELSE %]<option value="[% budgetid_loo.code | html %]">[% budgetid_loo.desc | html %]</option>[% END %]
|
|
[% END %]
|
|
</select></li>
|
|
<li><label for="branchcode">Library:</label>
|
|
<select name="branchcode" id="branchcode">
|
|
<option value="__ANY__">Any</option>
|
|
[% IF branchfilter %]
|
|
[% PROCESS options_for_libraries libraries => Branches.all( selected => branchfilter ) %]
|
|
[% ELSE %]
|
|
[% PROCESS options_for_libraries libraries => Branches.all( selected => branchcode ) %]
|
|
[% END %]
|
|
</select></li><li><input type="submit" value="Go" /></li></ol>
|
|
</fieldset>
|
|
</div>
|
|
</form>
|
|
[% INCLUDE 'acquisitions-menu.inc' %]
|
|
</div>
|
|
[% END %]
|
|
[% END %]
|
|
</div>
|
|
[% END %]
|
|
|
|
[% MACRO jsinclude BLOCK %]
|
|
[% INCLUDE 'calendar.inc' %]
|
|
[% IF ( op == 'show' || op_else ) %]
|
|
<script type="text/javascript">
|
|
$(document).ready(function(){
|
|
$(".deletesuggestion").on("click",function(){
|
|
return confirm(_("Are you sure you want to delete this suggestion?"));
|
|
});
|
|
});
|
|
</script>
|
|
[% END %]
|
|
[% IF ( op_else ) %]
|
|
[% INCLUDE 'datatables.inc' %]
|
|
[% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") | $raw %]
|
|
<script type="text/javascript">
|
|
/**
|
|
* displayOther.
|
|
* This function display the select or an textaera to write a reason.
|
|
*/
|
|
function displayOther(id,show,hide){
|
|
$("#"+hide+id).hide();
|
|
$("#"+show+id).show();
|
|
}
|
|
$(document).ready(function() {
|
|
$('#suggestiontabs').tabs({
|
|
// Correct table sizing for tables hidden in tabs
|
|
// http://www.datatables.net/examples/api/tabs_and_scrolling.html
|
|
"activate": function(event, ui) {
|
|
$( $.fn.dataTable.tables( true ) ).DataTable().columns.adjust();
|
|
}
|
|
});
|
|
$(".sorted").dataTable($.extend(true, {}, dataTablesDefaults, {
|
|
"aoColumnDefs": [
|
|
{ "bSortable": false, "bSearchable": false, 'aTargets': [ 'NoSort' ] },
|
|
{ "sType": "anti-the", "aTargets" : [ "anti-the" ] }
|
|
],
|
|
"sPaginationType": "four_button"
|
|
}));
|
|
[% FOREACH suggestion IN suggestions %]
|
|
// functions for [% suggestion.suggestiontype | html %] interactions
|
|
$("#CheckAll[% suggestion.suggestiontype | html %]").click(function(e){
|
|
$("#[% suggestion.suggestiontype | html %]t").checkCheckboxes();
|
|
e.preventDefault();
|
|
});
|
|
$("#UncheckAll[% suggestion.suggestiontype | html %]").click(function(e){
|
|
$("#[% suggestion.suggestiontype | html %]t").unCheckCheckboxes();
|
|
e.preventDefault();
|
|
});
|
|
$("#other_reason[% suggestion.suggestiontype | html %]").hide();
|
|
$("#reason[% suggestion.suggestiontype | html %]").change(function(){
|
|
if($(this).val() == "other"){
|
|
$(this).hide();
|
|
$("#other_reason[% suggestion.suggestiontype | html %]").show();
|
|
}
|
|
});
|
|
$("#[% suggestion.suggestiontype | html %]delete").change(function(){
|
|
if(this.checked){
|
|
$("form[name='f[% suggestion.suggestiontype | html %]'] input[name=op]").attr("value","delete");
|
|
} else {
|
|
$("form[name='f[% suggestion.suggestiontype | html %]'] input[name=op]").attr("value","change");
|
|
}
|
|
});
|
|
|
|
[% END %]
|
|
$("a[href*=back]").click(function(){
|
|
var sid = $(this).attr("href").replace(/#back/,"");
|
|
$("#reason"+sid).show().find("option[value='']").attr("selected","selected");
|
|
$("#other_reason"+sid).hide();
|
|
});
|
|
$("h4.local_collapse a").click(function(){
|
|
$(this).parent().parent().find("ol").toggle();
|
|
return false;
|
|
});
|
|
// http://jqueryui.com/demos/datepicker/#date-range
|
|
var dates = $( "#suggesteddate_from, #suggesteddate_to" ).datepicker({
|
|
changeMonth: true,
|
|
numberOfMonths: 1,
|
|
onSelect: function( selectedDate ) {
|
|
var option = this.id == "suggesteddate_from" ? "minDate" : "maxDate",
|
|
instance = $( this ).data( "datepicker" );
|
|
date = $.datepicker.parseDate(
|
|
instance.settings.dateFormat ||
|
|
$.datepicker._defaults.dateFormat,
|
|
selectedDate, instance.settings );
|
|
dates.not( this ).datepicker( "option", option, date );
|
|
}
|
|
});
|
|
var datesMD = $( "#manageddate_from, #manageddate_to" ).datepicker({
|
|
changeMonth: true,
|
|
numberOfMonths: 1,
|
|
onSelect: function( selectedDate ) {
|
|
var option = this.id == "manageddate_from" ? "minDate" : "maxDate",
|
|
instance = $( this ).data( "datepicker" );
|
|
date = $.datepicker.parseDate(
|
|
instance.settings.dateFormat ||
|
|
$.datepicker._defaults.dateFormat,
|
|
selectedDate, instance.settings );
|
|
datesMD.not( this ).datepicker( "option", option, date );
|
|
}
|
|
});
|
|
var datesAD = $( "#accepteddate_from, #accepteddate_to" ).datepicker({
|
|
changeMonth: true,
|
|
numberOfMonths: 1,
|
|
onSelect: function( selectedDate ) {
|
|
var option = this.id == "accepteddate_from" ? "minDate" : "maxDate",
|
|
instance = $( this ).data( "datepicker" );
|
|
date = $.datepicker.parseDate(
|
|
instance.settings.dateFormat ||
|
|
$.datepicker._defaults.dateFormat,
|
|
selectedDate, instance.settings );
|
|
datesAD.not( this ).datepicker( "option", option, date );
|
|
}
|
|
});
|
|
|
|
$("form.update_suggestions").on("submit", function(e){
|
|
var form = this;
|
|
var action_delete_selected = $(this).find("input[value='delete']").is(":checked");
|
|
if ( action_delete_selected ) {
|
|
var suggestions_to_delete = $(this).find("input[name='edit_field']:checked");
|
|
if ( suggestions_to_delete.length == 0 ) {
|
|
alert(_("Please select at least one suggestion to delete"));
|
|
e.preventDefault();
|
|
return false;
|
|
} else if ( suggestions_to_delete.length == 1 ) {
|
|
if ( ! confirm(_("Are you sure you want to delete this suggestion?")) ) {
|
|
e.preventDefault();
|
|
return false;
|
|
}
|
|
} else if ( suggestions_to_delete.length > 1 ) {
|
|
if ( ! confirm(_("Are you sure you want to delete these suggestions?")) ) {
|
|
e.preventDefault();
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
});
|
|
});
|
|
</script>
|
|
[% END %]
|
|
[% IF ( op_save ) %]
|
|
<script type="text/javascript">
|
|
$(document).ready(function(){
|
|
calcNewsuggTotal();
|
|
$("#quantity,#price,#currency").on("change",function(){
|
|
calcNewsuggTotal();
|
|
});
|
|
|
|
[% IF other_reason %]
|
|
$(".select-reason").hide();
|
|
$(".select-reason").find("option[value='other']").attr("selected","selected");
|
|
$("#other_reason").show();
|
|
[% ELSE %]
|
|
$("#other_reason").hide();
|
|
[% END %]
|
|
$(".select-reason").change(function(){
|
|
if($(this).val() == "other"){
|
|
$(this).hide();
|
|
$("#other_reason").show();
|
|
}
|
|
});
|
|
$("a[href*=back]").click(function(){
|
|
$(".select-reason").show().find("option[value='']").attr("selected","selected");
|
|
$("#other_reason").hide();
|
|
});
|
|
});
|
|
</script>
|
|
[% END %]
|
|
[% Asset.js("js/acq.js") | $raw %]
|
|
[% Asset.js("js/acquisitions-menu.js") | $raw %]
|
|
[% END %]
|
|
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|