Bug Fixing : Adding item had a javascript Error.

So.
There are no more errors on saving an item.
There are still little problems when you duplicate a subfield :
Display table is not adapted
When you reedit, all the duplicate field values are concatenated.
But apart from that, it works.
Donot have time enough to work on it these days.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This commit is contained in:
Henri-Damien LAURENT 2007-10-19 21:00:35 +02:00 committed by Joshua Ferraro
parent 861d3f2842
commit 38685bdf90
2 changed files with 22 additions and 15 deletions

View File

@ -60,7 +60,7 @@ my $dbh = C4::Context->dbh;
my $error = $input->param('error');
my $biblionumber = $input->param('biblionumber');
my $itemnumber = $input->param('itemnumber');
warn Data::Dumper::Dumper($input->param());
my $op = $input->param('op');
# find itemtype
@ -142,6 +142,9 @@ if ($op eq "additem") {
# build indicator hash.
my @ind_tag = $input->param('ind_tag');
my @indicator = $input->param('indicator');
warn "tags :@tags" ;
warn "subfields :@subfields" ;
warn "values :@values" ;
# my $itemnumber = $input->param('itemnumber');
my $xml = TransformHtmlToXml(\@tags,\@subfields,\@values,\@indicator,\@ind_tag,'ITEM');
my $itemrecord=MARC::Record::new_from_xml($xml, 'UTF-8');
@ -346,7 +349,7 @@ foreach my $tag (sort keys %{$tagslib}) {
}
}
$subfield_data{marc_value} =CGI::scrolling_list(
-name => "tag_".$tag."_subfield_".$subfield."_".$index_subfield,
-name => "field_value",
-values => \@authorised_values,
-default => $value,
-labels => \%authorised_lib,
@ -363,7 +366,7 @@ foreach my $tag (sort keys %{$tagslib}) {
$subfield_data{marc_value} =
"<input type=\"text\"
id=\"".$subfield_data{id}."\"
name=\"".$subfield_data{id}."\"
name=\"field_value\"
value=\"$value\"
class=\"input_marceditor\"
tabindex=\"1\"
@ -393,7 +396,7 @@ foreach my $tag (sort keys %{$tagslib}) {
"<input tabindex=\"1\"
type=\"text\"
id=\"".$subfield_data{id}."\"
name=\"".$subfield_data{id}."\"
name=\"field_value\"
value=\"$value\"
class=\"input_marceditor\"
onfocus=\"Focus$function_name(".$subfield_data{random}.")\"
@ -409,7 +412,7 @@ foreach my $tag (sort keys %{$tagslib}) {
"<input tabindex=\"1\"
type=\"hidden\"
id=\"".$subfield_data{id}."\"
name=\"".$subfield_data{id}."\"
name=\"field_value\"
size=\"67\"
maxlength=\"255\"
value=\"$value\" \/>
@ -419,7 +422,7 @@ foreach my $tag (sort keys %{$tagslib}) {
$subfield_data{marc_value} =
"<input type=\"text\"
id=\"".$subfield_data{id}."\"
name=\"".$subfield_data{id}."\"
name=\"field_value\"
class=\"input_marceditor\"
tabindex=\"1\"
size=\"67\"
@ -444,7 +447,7 @@ foreach my $tag (sort keys %{$tagslib}) {
"<textarea cols=\"70\"
rows=\"4\"
id=\"".$subfield_data{id}."\"
name=\"".$subfield_data{id}."\"
name=\"field_value\"
class=\"input_marceditor\"
tabindex=\"1\"
size=\"67\"
@ -456,7 +459,7 @@ foreach my $tag (sort keys %{$tagslib}) {
$subfield_data{marc_value} =
"<input type=\"text\"
id=\"".$subfield_data{id}."\"
name=\"".$subfield_data{id}."\"
name=\"field_value\"
value=\"$value\"
tabindex=\"1\"
size=\"67\"

View File

@ -56,7 +56,9 @@ function CloneSubfield(index){
var original = document.getElementById(index); //original <div>
var clone = original.cloneNode(true);
var new_key = CreateKey();
var new_id = original.getAttribute('id')+new_key;
var old_id = original.getAttribute('id');
old_id=old_id.substr(12);
var new_id = old_id+new_key;
// set the attribute for the new 'div' subfields
var inputs = clone.getElementsByTagName('input');
@ -68,21 +70,21 @@ function CloneSubfield(index){
for(var i=0,len=inputs.length; i<len ; i++ ){
id_input = inputs[i].getAttribute('id')+new_key;
inputs[i].setAttribute('id',id_input);
inputs[i].setAttribute('name',inputs[i].getAttribute('name')+new_key);
inputs[i].setAttribute('name',inputs[i].getAttribute('name'));
}
// select
for(var i=0,len=selects.length; i<len ; i++ ){
id_input = selects[i].getAttribute('id')+new_key;
selects[i].setAttribute('id',selects[i].getAttribute('id')+new_key);
selects[i].setAttribute('name',selects[i].getAttribute('name')+new_key);
selects[i].setAttribute('name',selects[i].getAttribute('name'));
}
// textarea
for(var i=0,len=textareas.length; i<len ; i++ ){
id_input = textareas[i].getAttribute('id')+new_key;
textareas[i].setAttribute('id',textareas[i].getAttribute('id')+new_key);
textareas[i].setAttribute('name',textareas[i].getAttribute('name')+new_key);
textareas[i].setAttribute('name',textareas[i].getAttribute('name'));
}
<!-- TMPL_UNLESS NAME='advancedMARCEditor' -->
@ -138,9 +140,6 @@ function CreateKey(){
<h1>Items for <!-- TMPL_VAR name="title" --> <!-- TMPL_IF NAME="author" --> by <!-- TMPL_VAR name="author" --><!-- /TMPL_IF --> (Record #<!-- TMPL_VAR NAME="biblionumber" -->)</h1>
<form method="post" action="/cgi-bin/koha/cataloguing/additem.pl" name="f">
<input type="hidden" name="op" value="<!-- TMPL_VAR NAME="op" -->" />
<input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->" />
<div id="cataloguing_additem_itemlist">
<!-- TMPL_IF name="item_loop" -->
<h2>Existing items</h2>
@ -165,6 +164,9 @@ function CreateKey(){
</div>
<div id="cataloguing_additem_newitem">
<form method="post" action="/cgi-bin/koha/cataloguing/additem.pl" name="f">
<input type="hidden" name="op" value="<!-- TMPL_VAR NAME="op" -->" />
<input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->" />
<!-- TMPL_IF name="opisadd" -->
<h2>Add Item</h2>
<!-- TMPL_ELSE -->
@ -184,6 +186,8 @@ function CreateKey(){
</div>
<!-- /tmpl_loop -->
<input type="hidden" name="indicator" value=" " />
<input type="hidden" name="indicator" value=" " />
<input type="hidden" name="itemnumber" value="<!-- TMPL_VAR NAME="itemnumber" -->" />
<!-- TMPL_IF name="barcode_not_unique" -->
ERROR : Barcode already exists !