98309138a6
The locales list for subscriptions should not be retrieved from the locales of the system. This patch retrieves the locales list from the Koha DB (in the same way as pref language and opaclanguages). Test plan: Edit a subscription (or a numbering pattern) and verify the list of languages is the same as languages available in Koha. Note: with this patch we loose the saeson translation, it is normal. See report linked. Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> Work as described. No koha-qa errors. New locale is retrieved from installed languages. I wonder if that list can be restricted to 'enabled' ones (parsing syspref language value). Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> Passes QA script and all tests. Works according to description. Signed-off-by: Galen Charlton <gmc@esilibrary.com>
840 lines
44 KiB
Text
840 lines
44 KiB
Text
[% USE KohaDates %]
|
|
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Serials › [% IF ( modify ) %][% bibliotitle |html %] › Modify subscription[% ELSE %]New subscription[% END %]</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
[% INCLUDE 'calendar.inc' %]
|
|
<style type="text/css">
|
|
fieldset.rows li.radio { width: 100%; } /* override staff-global.css */
|
|
.yui-u li p label.widelabel {
|
|
width: 300px; /* not enough for IE7 apparently */
|
|
}
|
|
</style>
|
|
<script type="text/javascript">
|
|
//<![CDATA[
|
|
|
|
var globalnumpatterndata;
|
|
var globalfreqdata;
|
|
var advancedpatternlocked;
|
|
var patternneedtobetested = 0;
|
|
|
|
function check_issues(){
|
|
if (globalfreqdata.unit.length >0) {
|
|
if (document.f.subtype.value == globalfreqdata.unit){
|
|
document.f.issuelengthcount.value=(document.f.sublength.value*globalfreqdata.issuesperunit)/globalfreqdata.unitsperissue;
|
|
} else if (document.f.subtype.value != "issues"){
|
|
alert(_("Frequency and subscription length provided doesn't combine well. Please consider entering an issue count rather than a time period."));
|
|
}
|
|
}
|
|
}
|
|
|
|
function addbiblioPopup(biblionumber) {
|
|
var destination = "/cgi-bin/koha/cataloguing/addbiblio.pl?mode=popup";
|
|
if(biblionumber){
|
|
destination += "&biblionumber="+biblionumber;
|
|
}
|
|
window.open(destination,'AddBiblioPopup','width=1024,height=768,toolbar=no,scrollbars=yes');
|
|
}
|
|
|
|
function Plugin(f)
|
|
{
|
|
window.open('subscription-bib-search.pl','FindABibIndex','width=800,height=400,toolbar=no,scrollbars=yes');
|
|
}
|
|
|
|
function FindAcqui(f)
|
|
{
|
|
window.open('acqui-search.pl','FindASupplier','width=800,height=400,toolbar=no,scrollbars=yes');
|
|
}
|
|
|
|
function Find_ISSN(f)
|
|
{
|
|
window.open('issn-search.pl','FindABibIndex','width=800,height=400,toolbar=no,scrollbars=yes');
|
|
}
|
|
|
|
function Clear(id) {
|
|
$("#"+id).val('');
|
|
}
|
|
|
|
function Check_page1() {
|
|
if ( $("#aqbooksellerid").val().length == 0) {
|
|
input_box = confirm(_("If you wish to claim late or missing issues you must link this subscription to a vendor. Click OK to ignore or Cancel to return and enter a vendor"));
|
|
if (input_box==false) {
|
|
return false;
|
|
}
|
|
}
|
|
if ($("#biblionumber").val().length == 0) {
|
|
alert(_("You must choose or create a biblio"));
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
function Check_page2(){
|
|
[% UNLESS (more_than_one_serial) %]
|
|
if($("#acqui_date").val().length == 0){
|
|
alert(_("You must choose a first publication date"));
|
|
return false;
|
|
}
|
|
[% END %]
|
|
if($("#sublength").val().length == 0 && $("input[name='enddate']").val().length == 0){
|
|
alert(_("You must choose a subscription length or an end date."));
|
|
return false;
|
|
}
|
|
if(advancedpatternlocked == 0){
|
|
alert(_("You have modified the advanced prediction pattern. Please save your work or cancel modifications."));
|
|
return false;
|
|
}
|
|
if(patternneedtobetested){
|
|
alert(_("Please click on 'Test prediction pattern' before saving subscription."));
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
function frequencyload(){
|
|
$.getJSON("subscription-frequency.pl",{"frequency_id":document.f.frequency.value,ajax:'true'},
|
|
function(freqdata){
|
|
globalfreqdata=freqdata;
|
|
if ( globalfreqdata.unit && globalfreqdata.unit.length == 0 ) {
|
|
var option = $("#subtype option[value='issues']");
|
|
$(option).attr('selected', 'selected');
|
|
$("#subtype option[value!='issues']").attr('disabled', 'disabled')
|
|
} else {
|
|
$("#subtype option").attr('disabled', false)
|
|
}
|
|
}
|
|
)
|
|
}
|
|
|
|
function numberpatternload(){
|
|
$.getJSON("subscription-numberpattern.pl",{"numberpattern_id":document.f.numbering_pattern.value,ajax:'true'},
|
|
function(numpatterndata){
|
|
globalnumpatterndata=numpatterndata;
|
|
if (globalnumpatterndata==undefined){
|
|
return false;
|
|
}
|
|
displaymoreoptions();
|
|
restoreAdvancedPattern();
|
|
}
|
|
);
|
|
}
|
|
|
|
function displaymoreoptions() {
|
|
if(globalnumpatterndata == undefined){
|
|
$("#moreoptionst").hide();
|
|
return false;
|
|
}
|
|
|
|
var X = 0, Y = 0, Z = 0;
|
|
var numberingmethod = unescape(globalnumpatterndata.numberingmethod);
|
|
if(numberingmethod.match(/{X}/)) X = 1;
|
|
if(numberingmethod.match(/{Y}/)) Y = 1;
|
|
if(numberingmethod.match(/{Z}/)) Z = 1;
|
|
|
|
if(X || Y || Z) {
|
|
$("#moreoptionst").show();
|
|
} else {
|
|
$("#moreoptionst").hide();
|
|
}
|
|
|
|
if(X) {
|
|
if(globalnumpatterndata.label1) {
|
|
$("#headerX").html(unescape(globalnumpatterndata.label1));
|
|
} else {
|
|
$("#headerX").html("X");
|
|
}
|
|
$("#headerX").show();
|
|
$("#beginsX").show();
|
|
$("#innerX").show();
|
|
} else {
|
|
$("#headerX").hide();
|
|
$("#beginsX").hide();
|
|
$("#innerX").hide();
|
|
$("#lastvaluetemp1").val('');
|
|
$("#innerlooptemp1").val('');
|
|
}
|
|
if(Y) {
|
|
if(globalnumpatterndata.label2) {
|
|
$("#headerY").html(unescape(globalnumpatterndata.label2));
|
|
} else {
|
|
$("#headerY").html("Y");
|
|
}
|
|
$("#headerY").show();
|
|
$("#beginsY").show();
|
|
$("#innerY").show();
|
|
} else {
|
|
$("#headerY").hide();
|
|
$("#beginsY").hide();
|
|
$("#innerY").hide();
|
|
$("#lastvaluetemp2").val('');
|
|
$("#innerlooptemp2").val('');
|
|
}
|
|
if(Z) {
|
|
if(globalnumpatterndata.label3) {
|
|
$("#headerZ").html(unescape(globalnumpatterndata.label3));
|
|
} else {
|
|
$("#headerZ").html("Z");
|
|
}
|
|
$("#headerZ").show();
|
|
$("#beginsZ").show();
|
|
$("#innerZ").show();
|
|
} else {
|
|
$("#headerZ").hide();
|
|
$("#beginsZ").hide();
|
|
$("#innerZ").hide();
|
|
$("#lastvaluetemp3").val('');
|
|
$("#innerlooptemp3").val('');
|
|
}
|
|
}
|
|
|
|
function toggleAdvancedPattern() {
|
|
$("#advancedpredictionpattern").toggle();
|
|
}
|
|
|
|
function modifyAdvancedPattern() {
|
|
$("#patternname").attr("readonly", false).val('');
|
|
$("#numberingmethod").attr("readonly", false);
|
|
|
|
$("#advancedpredictionpatternt input").each(function() {
|
|
$(this).attr("readonly", false);
|
|
});
|
|
$("#advancedpredictionpatternt select").each(function() {
|
|
$(this).attr("disabled", false);
|
|
});
|
|
|
|
$("#restoreadvancedpatternbutton").show();
|
|
$("#saveadvancedpatternbutton").show();
|
|
$("#modifyadvancedpatternbutton").hide();
|
|
|
|
advancedpatternlocked = 0;
|
|
}
|
|
|
|
function restoreAdvancedPattern() {
|
|
$("#patternname").attr("readonly", true).val(unescape(globalnumpatterndata.label));
|
|
$("#numberingmethod").attr("readonly", true).val(unescape(globalnumpatterndata.numberingmethod));
|
|
|
|
$("#advancedpredictionpatternt input").each(function() {
|
|
$(this).attr("readonly", true);
|
|
var id = $(this).attr('id');
|
|
if(id.match(/lastvalue/) || id.match(/innerloop/)) {
|
|
var tempid = id.replace(/(\d)/, "temp$1");
|
|
$(this).val($("#"+tempid).val());
|
|
} else {
|
|
$(this).val(unescape(globalnumpatterndata[id]));
|
|
}
|
|
});
|
|
$("#advancedpredictionpatternt select").each(function() {
|
|
$(this).attr("disabled", true);
|
|
var id = $(this).attr('id');
|
|
$(this).val(unescape(globalnumpatterndata[id]));
|
|
});
|
|
|
|
$("#restoreadvancedpatternbutton").hide();
|
|
$("#saveadvancedpatternbutton").hide();
|
|
$("#modifyadvancedpatternbutton").show();
|
|
|
|
advancedpatternlocked = 1;
|
|
}
|
|
|
|
function testPredictionPattern() {
|
|
var frequencyid = $("#frequency").val();
|
|
var acquidate;
|
|
var error = 0;
|
|
var error_msg = "";
|
|
if(frequencyid == undefined || frequencyid == ""){
|
|
error_msg += _("- Frequency is not defined") + "\n";
|
|
error ++;
|
|
}
|
|
acquidate = $("#acqui_date").val();
|
|
if(acquidate == undefined || acquidate == ""){
|
|
error_msg += _("- First publication date is not defined") + "\n";
|
|
error ++;
|
|
}
|
|
[% IF (more_than_one_serial) %]
|
|
var nextacquidate = $("#nextacquidate").val();
|
|
if(nextacquidate == undefined || nextacquidate == ""){
|
|
error_msg += _("- Next issue publication date is not defined") + "\n";
|
|
error ++;
|
|
}
|
|
[% END %]
|
|
|
|
if(error){
|
|
alert(_("Cannot test prediction pattern for the following reason(s): %s").format(error_msg));
|
|
return false;
|
|
}
|
|
|
|
var custompattern = 0;
|
|
if(advancedpatternlocked == 0) {
|
|
custompattern = 1;
|
|
}
|
|
|
|
var ajaxData = {
|
|
'custompattern': custompattern,
|
|
[% IF (subscriptionid) %]
|
|
'subscriptionid': [% subscriptionid %],
|
|
[% END %]
|
|
[% IF (more_than_one_serial) %]
|
|
'nextacquidate': nextacquidate,
|
|
[% END %]
|
|
'firstacquidate': acquidate
|
|
};
|
|
var ajaxParams = [
|
|
'to', 'subtype', 'sublength', 'frequency', 'numberingmethod',
|
|
'lastvalue1', 'lastvalue2', 'lastvalue3', 'add1', 'add2', 'add3',
|
|
'every1', 'every2', 'every3', 'innerloop1', 'innerloop2', 'innerloop3',
|
|
'setto1', 'setto2', 'setto3', 'numbering1', 'numbering2', 'numbering3',
|
|
'whenmorethan1', 'whenmorethan2', 'whenmorethan3', 'locale'
|
|
];
|
|
for(i in ajaxParams) {
|
|
var param = ajaxParams[i];
|
|
var value = $("#"+param).val();
|
|
if(value.length > 0)
|
|
ajaxData[param] = value;
|
|
}
|
|
|
|
$.ajax({
|
|
url:"/cgi-bin/koha/serials/showpredictionpattern.pl",
|
|
data: ajaxData,
|
|
success: function(data) {
|
|
$("#displayexample").html(data);
|
|
patternneedtobetested = 0;
|
|
}
|
|
});
|
|
}
|
|
|
|
function saveAdvancedPattern() {
|
|
if ($("#patternname").val().length == 0) {
|
|
alert(_("Please enter a name for this pattern"));
|
|
return false;
|
|
}
|
|
|
|
// Check if patternname already exists, and modify pattern
|
|
// instead of creating it if so
|
|
var found = 0;
|
|
$("#numberpattern option").each(function(){
|
|
if($(this).text() == $("#patternname").val()){
|
|
found = 1;
|
|
return false;
|
|
}
|
|
});
|
|
var cnfrm = 1;
|
|
if(found){
|
|
var msg = _("This pattern name already exists. Do you want to modify it?")
|
|
+ "\n" + _("Warning: it will modify the pattern for all subscriptions that are using it.");
|
|
cnfrm = confirm(msg);
|
|
}
|
|
|
|
if(cnfrm) {
|
|
var ajaxData = {};
|
|
var ajaxParams = [
|
|
'patternname', 'numberingmethod', 'label1', 'label2', 'label3',
|
|
'add1', 'add2', 'add3', 'every1', 'every2', 'every3',
|
|
'setto1', 'setto2', 'setto3', 'numbering1', 'numbering2', 'numbering3',
|
|
'whenmorethan1', 'whenmorethan2', 'whenmorethan3', 'locale'
|
|
];
|
|
for(i in ajaxParams) {
|
|
var param = ajaxParams[i];
|
|
var value = $("#"+param).val();
|
|
if(value.length > 0)
|
|
ajaxData[param] = value;
|
|
}
|
|
|
|
$.getJSON(
|
|
"/cgi-bin/koha/serials/create-numberpattern.pl",
|
|
ajaxData,
|
|
function(data){
|
|
if (data.numberpatternid) {
|
|
if(found == 0){
|
|
$("#numberpattern").append("<option value=\""+data.numberpatternid+"\">"+$("#patternname").val()+"</option>");
|
|
}
|
|
$("#numberpattern").val(data.numberpatternid);
|
|
numberpatternload();
|
|
} else {
|
|
alert(_("Something went wrong. Unable to create a new numbering pattern."));
|
|
}
|
|
}
|
|
);
|
|
}
|
|
}
|
|
|
|
function show_page_1() {
|
|
$("#page_1").show();
|
|
$("#page_2").hide();
|
|
$("#page_number").text("1/2");
|
|
}
|
|
|
|
function show_page_2() {
|
|
$("#page_1").hide();
|
|
$("#page_2").show();
|
|
$("#page_number").text("2/2");
|
|
displaymoreoptions();
|
|
}
|
|
|
|
|
|
$(document).ready(function() {
|
|
$("select#frequency").change(function(){
|
|
patternneedtobetested = 1;
|
|
$("input[name='enddate']").val('');
|
|
frequencyload();
|
|
});
|
|
$("select#numberpattern").change(function(){
|
|
patternneedtobetested = 1;
|
|
numberpatternload();
|
|
});
|
|
$("#subtype").change(function(){
|
|
$("input[name='enddate']").val('');
|
|
});
|
|
$("#sublength").change(function(){
|
|
$("input[name='enddate']").val('');
|
|
});
|
|
$("#lastvaluetemp1").keyup(function(){
|
|
$("#lastvalue1").val($(this).val());
|
|
});
|
|
$("#lastvaluetemp2").keyup(function(){
|
|
$("#lastvalue2").val($(this).val());
|
|
});
|
|
$("#lastvaluetemp3").keyup(function(){
|
|
$("#lastvalue3").val($(this).val());
|
|
});
|
|
$("#lastvalue1").keyup(function(){
|
|
$("#lastvaluetemp1").val($(this).val());
|
|
});
|
|
$("#lastvalue2").keyup(function(){
|
|
$("#lastvaluetemp2").val($(this).val());
|
|
});
|
|
$("#lastvalue3").keyup(function(){
|
|
$("#lastvaluetemp3").val($(this).val());
|
|
});
|
|
|
|
$("#innerlooptemp1").keyup(function(){
|
|
$("#innerloop1").val($(this).val());
|
|
});
|
|
$("#innerlooptemp2").keyup(function(){
|
|
$("#innerloop2").val($(this).val());
|
|
});
|
|
$("#innerlooptemp3").keyup(function(){
|
|
$("#innerloop3").val($(this).val());
|
|
});
|
|
$("#innerloop1").keyup(function(){
|
|
$("#innerlooptemp1").val($(this).val());
|
|
});
|
|
$("#innerloop2").keyup(function(){
|
|
$("#innerlooptemp2").val($(this).val());
|
|
});
|
|
$("#innerloop3").keyup(function(){
|
|
$("#innerlooptemp3").val($(this).val());
|
|
});
|
|
|
|
if($("#frequency").val() != ""){
|
|
frequencyload();
|
|
}
|
|
if($("#numberpattern").val() != ""){
|
|
numberpatternload();
|
|
}
|
|
|
|
var node;
|
|
[% FOREACH field IN dont_export_field_loop %]
|
|
node = $("#[% field.fieldid %]");
|
|
if ( $(node).is('input') || $(node).is('textarea') ) {
|
|
$(node).val("");
|
|
} else if ( $(node).is('select') ) {
|
|
$(node).find("option:first").attr('selected','selected');
|
|
}
|
|
[% END %]
|
|
|
|
show_page_1();
|
|
});
|
|
//]]>
|
|
</script>
|
|
</head>
|
|
<body id="ser_subscription-add" class="ser">
|
|
[% INCLUDE 'header.inc' %]
|
|
[% INCLUDE 'serials-search.inc' %]
|
|
|
|
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a> › [% IF ( modify ) %]<a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% subscriptionid %]"><i>[% bibliotitle |html %]</i></a> › Modify subscription[% ELSE %]New subscription[% END %]</div>
|
|
|
|
<div id="doc3" class="yui-t7">
|
|
<div id="bd">
|
|
<div class="yui-g">
|
|
<h1>[% IF ( modify ) %] Modify subscription for <i>[% bibliotitle |html %]</i>[% ELSE %]Add a new subscription[% END %] (<span id="page_number">1/2</span>)</h1>
|
|
<form method="post" name="f" action="/cgi-bin/koha/serials/subscription-add.pl" class="validated" onsubmit="return Check_page2();" >
|
|
[% IF ( modify ) %]
|
|
<input type="hidden" name="op" value="modsubscription" />
|
|
<input type="hidden" name="subscriptionid" value="[% subscriptionid %]" />
|
|
[% ELSE %]
|
|
<input type="hidden" name="op" value="addsubscription" />
|
|
[% END %]
|
|
<input type="hidden" name="user" value="[% loggedinusername %]" />
|
|
<input type="hidden" name="irreg_check" value="0" />
|
|
|
|
<div id="page_1">
|
|
<div class="yui-u first">
|
|
<fieldset id="subscription_add_information" class="rows">
|
|
<legend>Subscription details</legend>
|
|
<ol>
|
|
[% IF ( subscriptionid ) %]
|
|
<li><span class="label">Subscription #</span> [% subscriptionid %]</li>
|
|
[% END %]
|
|
<li>
|
|
<label for="aqbooksellerid">Vendor: </label>
|
|
<input type="text" name="aqbooksellerid" id="aqbooksellerid" value="[% aqbooksellerid %]" size="8" /> (<input type="text" name="aqbooksellername" value="[% aqbooksellername %]" disabled="disabled" readonly="readonly" />) <a href="#" onclick="FindAcqui(f)">Search for a vendor</a>
|
|
</li>
|
|
<li>
|
|
<label for="biblionumber" class="required" title="Subscriptions must be associated with a bibliographic record">Biblio:</label>
|
|
<input type="text" name="biblionumber" id="biblionumber" value="[% bibnum %]" size="8" />
|
|
(<input type="text" name="title" value="[% bibliotitle %]" disabled="disabled" readonly="readonly" />) <span class="required" title="Subscriptions must be associated with a bibliographic record">Required</span>
|
|
<div class="inputnote"> <a href="#" onclick="Plugin(f)">Search for Biblio</a>
|
|
[% IF ( CAN_user_editcatalogue ) %]
|
|
[% IF ( modify ) %]
|
|
| <a href="#" onclick="addbiblioPopup([% bibnum %]); return false;">Edit biblio</a>
|
|
[% ELSE %]
|
|
| <a href="#" onclick="addbiblioPopup(); return false;">Create Biblio</a>
|
|
[% END %]
|
|
[% END %]
|
|
</div>
|
|
</li>
|
|
<li class="radio">
|
|
[% IF ( serialsadditems ) %]
|
|
<p><input type="radio" id="serialsadditems-yes" name="serialsadditems" value="1" checked="checked" /><label class="widelabel" for="serialsadditems-yes">create an item record when receiving this serial</label></p>
|
|
<p><input type="radio" id="serialsadditems-no" name="serialsadditems" value="0" /><label class="widelabel" for="serialsadditems-no">do not create an item record when receiving this serial </label></p>
|
|
[% ELSE %]
|
|
<p><input type="radio" id="serialsadditems-yes" name="serialsadditems" value="1"/><label class="widelabel" for="serialsadditems-yes">create an item record when receiving this serial</label></p>
|
|
<p><input type="radio" id="serialsadditems-no" name="serialsadditems" value="0" checked="checked" /><label class="widelabel" for="serialsadditems-no">do not create an item record when receiving this serial</label></p>
|
|
[% END %]
|
|
</li>
|
|
<li class="radio">
|
|
<p>When there is an irregular issue:</p>
|
|
[% IF (skip_serialseq) %]
|
|
<p>
|
|
<input type="radio" id="skip_serialseq_yes" name="skip_serialseq" value="1" checked="checked" />
|
|
<label for="skip_serialseq_yes">Skip issue number</label>
|
|
</p>
|
|
<p>
|
|
<input type="radio" id="skip_serialseq_no" name="skip_serialseq" value="0" />
|
|
<label for="skip_serialseq_no">Keep issue number</label>
|
|
</p>
|
|
[% ELSE %]
|
|
<p>
|
|
<input type="radio" id="skip_serialseq_yes" name="skip_serialseq" value="1" />
|
|
<label for="skip_serialseq_yes">Skip issue number</label>
|
|
</p>
|
|
<p>
|
|
<input type="radio" id="skip_serialseq_no" name="skip_serialseq" value="0" checked="checked" />
|
|
<label for="skip_serialseq_no">Keep issue number</label>
|
|
</p>
|
|
[% END %]
|
|
</li>
|
|
<li>
|
|
<label for="manualhistory">Manual history</label>
|
|
[% IF (manualhistory) %]
|
|
<input type="checkbox" id="manualhistory" name="manualhist" checked="checked" />
|
|
[% ELSE %]
|
|
<input type="checkbox" id="manualhistory" name="manualhist" />
|
|
[% END %]
|
|
</li>
|
|
<li>
|
|
<label for="callnumber">Call number</label>
|
|
<input type="text" name="callnumber" id="callnumber" value="[% callnumber %]" size="20" />
|
|
</li>
|
|
<li>
|
|
<label for="branchcode">Library:</label>
|
|
<select name="branchcode" id="branchcode" style="width: 20em;">
|
|
[% UNLESS ( Independentbranches ) %]
|
|
<option value="">None</option>
|
|
[% END %]
|
|
[% FOREACH branchloo IN branchloop %]
|
|
[% IF ( branchloo.selected ) %]
|
|
<option value="[% branchloo.value %]" selected="selected">[% branchloo.branchname %]</option>
|
|
[% ELSE %]
|
|
<option value="[% branchloo.value %]">[% branchloo.branchname %]</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select> (select a library)
|
|
</li>
|
|
<li>
|
|
<label for="notes">Public note:</label>
|
|
<textarea name="notes" id="notes" cols="30" rows="2">[% notes %]</textarea>
|
|
</li>
|
|
<li>
|
|
<label for="internalnotes">Nonpublic note:</label>
|
|
<textarea name="internalnotes" id="internalnotes" cols="30" rows="2">[% internalnotes %]</textarea>
|
|
</li>
|
|
<li>
|
|
[% IF ( letterloop ) %]
|
|
<label for="letter">Patron notification: </label>
|
|
<select name="letter" id="letter">
|
|
<option value="">None</option>
|
|
[% FOREACH letterloo IN letterloop %]
|
|
[% IF ( letterloo.selected ) %]
|
|
<option value="[% letterloo.value %]" selected="selected">[% letterloo.lettername %]</option>
|
|
[% ELSE %]
|
|
<option value="[% letterloo.value %]">[% letterloo.lettername %]</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
<div class="hint">Selecting a notice will allow patrons to subscribe to notifications when a new issue is received.</div>
|
|
[% ELSE %]
|
|
<span class="label">Patron notification: </span>
|
|
<div class="hint">To notify patrons of new serial issues, you must <a href="/cgi-bin/koha/tools/letter.pl">define a notice</a>.</div>
|
|
[% END %]
|
|
</li>
|
|
<li>
|
|
<label for="location">Location:</label>
|
|
<select name="location" id="location">
|
|
<option value="">None</option>
|
|
[% FOREACH locations_loo IN locations_loop %]
|
|
[% IF ( locations_loo.selected ) %]
|
|
<option value="[% locations_loo.authorised_value %]" selected="selected">[% locations_loo.lib %]</option>
|
|
[% ELSE %]
|
|
<option value="[% locations_loo.authorised_value %]">[% locations_loo.lib %]</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
<li>
|
|
<label for="graceperiod">Grace period:</label>
|
|
<input type="text" name="graceperiod" id="graceperiod" value="[% graceperiod %]" size="5"/> day(s)
|
|
</li>
|
|
<li>
|
|
<label class="widelabel" for="staffdisplaycount">Number of issues to display to staff: </label>
|
|
<input type="text" name="staffdisplaycount" id="staffdisplaycount" value="[% staffdisplaycount %]" size="4"/>
|
|
</li>
|
|
<li>
|
|
<label class="widelabel" for="opacdisplaycount">Number of issues to display to the public: </label>
|
|
<input type="text" name="opacdisplaycount" id="opacdisplaycount" value="[% opacdisplaycount %]" size="4"/>
|
|
</li>
|
|
</ol>
|
|
</fieldset>
|
|
<fieldset class="action">
|
|
<input type="button" value="Next >>" onclick="if ( Check_page1() ) show_page_2();" style="float:right;" />
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="page_2">
|
|
<div class="yui-u first">
|
|
<div id="subscription_form_planning">
|
|
<fieldset class="rows">
|
|
<legend>Serials planning</legend>
|
|
<ol>
|
|
<li>
|
|
<label for="firstacquidate" class="required">First issue publication date:</label>
|
|
[% UNLESS (more_than_one_serial) %]
|
|
<input type="text" size="10" id="acqui_date" name="firstacquidate" value="[% firstacquidate | $KohaDates %]" class="datepicker required" required="required" />
|
|
[% ELSE %]
|
|
[% firstacquidate | $KohaDates %]
|
|
<input type="hidden" size="10" id="acqui_date" name="firstacquidate" value="[% firstacquidate | $KohaDates %]"/>
|
|
[% END %]
|
|
</li>
|
|
[% IF (more_than_one_serial) %]
|
|
<li>
|
|
<label for="nextacquidate">Next issue publication date:</label>
|
|
<input type="text" size="10" id="nextacquidate" name="nextacquidate" value="[% nextacquidate | $KohaDates %]" class="datepicker" />
|
|
</li>
|
|
[% END %]
|
|
<li>
|
|
<label for="frequency" class="required">Frequency:</label>
|
|
<select name="frequency" size="1" id="frequency" class="required" required="required">
|
|
<option value="">-- please choose --</option>
|
|
[% FOREACH frequency IN frequencies %]
|
|
[% IF (frequency.selected) %]
|
|
<option value="[% frequency.id %]" selected="selected">
|
|
[% ELSE %]
|
|
<option value="[% frequency.id %]">
|
|
[% END %]
|
|
[% frequency.label %]
|
|
</option>
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
<li>
|
|
<label for="subtype">Subscription length:</label>
|
|
<select name="subtype" id="subtype">
|
|
[% FOREACH subt IN subtype %]
|
|
[% IF (subt.selected) %]
|
|
<option value="[% subt.name %]" selected="selected">
|
|
[% ELSE %]
|
|
<option value="[% subt.name %]">
|
|
[% END %]
|
|
[% subt.name %]
|
|
</option>
|
|
[% END %]
|
|
</select>
|
|
<input type="text" name="sublength" id="sublength" value="[% sublength %]" size="3" /> (enter amount in numerals)
|
|
<input type="hidden" name="issuelengthcount">
|
|
</li>
|
|
<li>
|
|
<label for="startdate" class="required"> Subscription start date:</label>
|
|
<input type="text" size="10" id="from" name="startdate" value="[% startdate | $KohaDates %]" class="datepickerfrom required" required="required" />
|
|
</li>
|
|
<li>
|
|
<label for="enddate">Subscription end date:</label>
|
|
<input type="text" size="10" id="to" name="enddate" value="[% enddate | $KohaDates %]" class="datepickerto" />
|
|
</li>
|
|
<li>
|
|
<label for="numberpattern" class="required">Numbering pattern:</label>
|
|
<select name="numbering_pattern" size="1" id="numberpattern" class="required" required="required">
|
|
<option value="">-- please choose --</option>
|
|
[% FOREACH numberpattern IN numberpatterns %]
|
|
[% IF (numberpattern.selected) %]
|
|
<option value="[% numberpattern.id %]" selected="selected">
|
|
[% ELSE %]
|
|
<option value="[% numberpattern.id %]">
|
|
[% END %]
|
|
[% numberpattern.label %]
|
|
</option>
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
<li>
|
|
<label for="locale">Locale</label>
|
|
<select id="locale" name="locale">
|
|
<option value=""></option>
|
|
[% FOREACH l IN locales %]
|
|
[% IF l.language == locale %]
|
|
<option value="[% l.language %]" selected="selected">[% l.description %]</option>
|
|
[% ELSE %]
|
|
<option value="[% l.language %]">[% l.description %]</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
<span class="hint">If empty, English is used</span>
|
|
</li>
|
|
<li id="more_options">
|
|
<table id="moreoptionst">
|
|
<thead>
|
|
<tr>
|
|
<th> </th>
|
|
<th id="headerX"> </th>
|
|
<th id="headerY"> </th>
|
|
<th id="headerZ"> </th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
[% IF (more_than_one_serial) %]
|
|
Last value
|
|
[% ELSE %]
|
|
Begins with
|
|
[% END %]
|
|
</td>
|
|
<td id="beginsX"><input type="text" id="lastvaluetemp1" name="lastvaluetemp1" value="[% lastvalue1 %]" /></td>
|
|
<td id="beginsY"><input type="text" id="lastvaluetemp2" name="lastvaluetemp2" value="[% lastvalue2 %]" /></td>
|
|
<td id="beginsZ"><input type="text" id="lastvaluetemp3" name="lastvaluetemp3" value="[% lastvalue3 %]" /></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Inner counter</td>
|
|
<td id="innerX"><input type="text" id="innerlooptemp1" name="innerlooptemp1" value="[% innerloop1 %]" /></td>
|
|
<td id="innerY"><input type="text" id="innerlooptemp2" name="innerlooptemp2" value="[% innerloop2 %]" /></td>
|
|
<td id="innerZ"><input type="text" id="innerlooptemp3" name="innerlooptemp3" value="[% innerloop3 %]" /></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</li>
|
|
<li><a style="cursor:pointer" onclick="toggleAdvancedPattern();">Show/Hide advanced pattern</a></li>
|
|
<div id="advancedpredictionpattern" style="display:none">
|
|
<li>
|
|
<label for="patternname" class="required">Pattern name:</label>
|
|
<input id="patternname" name="patternname" type="text" readonly="readonly" class="required" required="required" />
|
|
</li>
|
|
<li>
|
|
<label for="numberingmethod">Numbering formula:</label>
|
|
<input readonly="readonly" type="text" name="numberingmethod" id="numberingmethod" size="50" value="[% numberingmethod %]" />
|
|
</li>
|
|
<table id="advancedpredictionpatternt">
|
|
<thead>
|
|
<tr>
|
|
<th colspan="4">Advanced prediction pattern</td>
|
|
</tr>
|
|
<tr>
|
|
<th> </th>
|
|
<th>X</th>
|
|
<th>Y</th>
|
|
<th>Z</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>Label</td>
|
|
<td><input type="text" readonly="readonly" id="label1" name="label1" /></td>
|
|
<td><input type="text" readonly="readonly" id="label2" name="label2" /></td>
|
|
<td><input type="text" readonly="readonly" id="label3" name="label3" /></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Begins with</td>
|
|
<td><input type="text" readonly="readonly" id="lastvalue1" name="lastvalue1" /></td>
|
|
<td><input type="text" readonly="readonly" id="lastvalue2" name="lastvalue2" /></td>
|
|
<td><input type="text" readonly="readonly" id="lastvalue3" name="lastvalue3" /></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Add</td>
|
|
<td><input type="text" readonly="readonly" id="add1" name="add1" /></td>
|
|
<td><input type="text" readonly="readonly" id="add2" name="add2" /></td>
|
|
<td><input type="text" readonly="readonly" id="add3" name="add3" /></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Every</td>
|
|
<td><input type="text" readonly="readonly" id="every1" name="every1" /></td>
|
|
<td><input type="text" readonly="readonly" id="every2" name="every2" /></td>
|
|
<td><input type="text" readonly="readonly" id="every3" name="every3" /></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Set back to</td>
|
|
<td><input type="text" readonly="readonly" id="setto1" name="setto1" /></td>
|
|
<td><input type="text" readonly="readonly" id="setto2" name="setto2" /></td>
|
|
<td><input type="text" readonly="readonly" id="setto3" name="setto3" /></td>
|
|
</tr>
|
|
<tr>
|
|
<td>When more than</td>
|
|
<td><input type="text" readonly="readonly" id="whenmorethan1" name="whenmorethan1" /></td>
|
|
<td><input type="text" readonly="readonly" id="whenmorethan2" name="whenmorethan2" /></td>
|
|
<td><input type="text" readonly="readonly" id="whenmorethan3" name="whenmorethan3" /></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Inner counter</td>
|
|
<td><input type="text" readonly="readonly" id="innerloop1" name="innerloop1" /></td>
|
|
<td><input type="text" readonly="readonly" id="innerloop2" name="innerloop2" /></td>
|
|
<td><input type="text" readonly="readonly" id="innerloop3" name="innerloop3" /></td>
|
|
</tr>
|
|
<tr>
|
|
[% BLOCK numbering_select %]
|
|
<select disabled="disabled" id="[% name %]" name="[% name %]" />
|
|
<option value=""></option>
|
|
<option value="dayname">Name of day</option>
|
|
<option value="monthname">Name of month</option>
|
|
<option value="season">Name of season</option>
|
|
</select>
|
|
[% END %]
|
|
<td>Formatting</td>
|
|
<td>[% PROCESS numbering_select name="numbering1" %]</td>
|
|
<td>[% PROCESS numbering_select name="numbering2" %]</td>
|
|
<td>[% PROCESS numbering_select name="numbering3" %]</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<input id="modifyadvancedpatternbutton" type="button" value="Modify pattern" onclick="modifyAdvancedPattern();" />
|
|
<input id="restoreadvancedpatternbutton" type="button" value="Cancel modifications" onclick="restoreAdvancedPattern();" style="display:none" />
|
|
<input id="saveadvancedpatternbutton" type="button" value="Save as new pattern" onclick="saveAdvancedPattern();" style="display:none" />
|
|
</div>
|
|
</ol>
|
|
</fieldset>
|
|
<fieldset class="action">
|
|
<input type="button" value="<< Previous" onclick="show_page_1();" style="float:left;"/>
|
|
<input id="testpatternbutton" type="button" value="Test prediction pattern" onclick="testPredictionPattern();" />
|
|
<input type="submit" value="Save subscription" style="float:right;" accesskey="w" />
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<div class="yui-u">
|
|
<li id="displayexample"></li>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|