Lines 17-24
Link Here
|
17 |
# You should have received a copy of the GNU General Public License |
17 |
# You should have received a copy of the GNU General Public License |
18 |
# along with Koha; if not, see <http://www.gnu.org/licenses>. |
18 |
# along with Koha; if not, see <http://www.gnu.org/licenses>. |
19 |
|
19 |
|
20 |
use strict; |
20 |
use Modern::Perl; |
21 |
#use warnings; FIXME - Bug 2505 |
|
|
22 |
use C4::Output; |
21 |
use C4::Output; |
23 |
use C4::Auth; |
22 |
use C4::Auth; |
24 |
use CGI qw ( -utf8 ); |
23 |
use CGI qw ( -utf8 ); |
Lines 52-58
my $input = new CGI;
Link Here
|
52 |
my $tagfield = $input->param('tagfield'); |
51 |
my $tagfield = $input->param('tagfield'); |
53 |
my $tagsubfield = $input->param('tagsubfield'); |
52 |
my $tagsubfield = $input->param('tagsubfield'); |
54 |
my $authtypecode = $input->param('authtypecode'); |
53 |
my $authtypecode = $input->param('authtypecode'); |
55 |
my $offset = $input->param('offset'); |
54 |
my $offset = $input->param('offset') || 0; |
56 |
my $op = $input->param('op') || ''; |
55 |
my $op = $input->param('op') || ''; |
57 |
my $script_name = "/cgi-bin/koha/admin/auth_subfields_structure.pl"; |
56 |
my $script_name = "/cgi-bin/koha/admin/auth_subfields_structure.pl"; |
58 |
|
57 |
|
Lines 84-91
my $dbh = C4::Context->dbh;
Link Here
|
84 |
################## ADD_FORM ################################## |
83 |
################## ADD_FORM ################################## |
85 |
# called by default. Used to create form to add or modify a record |
84 |
# called by default. Used to create form to add or modify a record |
86 |
if ($op eq 'add_form') { |
85 |
if ($op eq 'add_form') { |
87 |
my $data; |
|
|
88 |
my $more_subfields = $input->param("more_subfields")+1; |
89 |
# builds kohafield tables |
86 |
# builds kohafield tables |
90 |
my @kohafields; |
87 |
my @kohafields; |
91 |
push @kohafields, ""; |
88 |
push @kohafields, ""; |
Lines 130-262
if ($op eq 'add_form') {
Link Here
|
130 |
$sth->execute($tagfield,$authtypecode); |
127 |
$sth->execute($tagfield,$authtypecode); |
131 |
my @loop_data = (); |
128 |
my @loop_data = (); |
132 |
my $i=0; |
129 |
my $i=0; |
133 |
while ($data =$sth->fetchrow_hashref) { |
130 |
while ( my $data = $sth->fetchrow_hashref ) { |
134 |
|
131 |
my %row_data; # get a fresh hash for the row data |
135 |
my %row_data; # get a fresh hash for the row data |
132 |
$row_data{defaultvalue} = $data->{defaultvalue}; |
136 |
$row_data{defaultvalue} = $data->{defaultvalue}; |
133 |
$row_data{tab} = $data->{tab}; |
137 |
$row_data{tab} = { |
134 |
$row_data{ohidden} = $data->{'hidden'}; |
138 |
id => "tab$i", |
135 |
$row_data{tagsubfield} = $data->{'tagsubfield'}; |
139 |
default => $data->{'tab'}, |
136 |
$row_data{liblibrarian} = $data->{'liblibrarian'}; |
140 |
}; |
137 |
$row_data{libopac} = $data->{'libopac'}; |
141 |
$row_data{ohidden} = { |
138 |
$row_data{seealso} = $data->{'seealso'}; |
142 |
id => "ohidden$i", |
139 |
$row_data{kohafields} = \@kohafields; |
143 |
default => $data->{'hidden'} |
140 |
$row_data{kohafield} = $data->{'kohafield'}; |
144 |
}; |
141 |
$row_data{authorised_values} = $authorised_values; |
145 |
$row_data{tagsubfieldinput} = "<input type=\"hidden\" name=\"tagsubfield\" value=\"".$data->{'tagsubfield'}."\" id=\"tagsubfield\" />"; |
142 |
$row_data{authorised_value} = $data->{'authorised_value'}; |
146 |
$row_data{tagsubfield} = $data->{'tagsubfield'}; |
143 |
$row_data{frameworkcodes} = \@authtypes; |
147 |
$row_data{liblibrarian} = $data->{'liblibrarian'}; |
144 |
$row_data{frameworkcode} = $data->{'frameworkcode'}; |
148 |
$row_data{libopac} = $data->{'libopac'}; |
145 |
$row_data{value_builders} = \@value_builder; |
149 |
$row_data{seealso} = $data->{'seealso'}; |
146 |
$row_data{value_builder} = $data->{'value_builder'}; |
150 |
$row_data{kohafield} = { |
147 |
$row_data{repeatable} = $data->{repeatable}; |
151 |
id => "kohafield$i", |
148 |
$row_data{mandatory} = $data->{mandatory}; |
152 |
values => \@kohafields, |
149 |
$row_data{hidden} = $data->{hidden}; |
153 |
default => "$data->{'kohafield'}", |
150 |
$row_data{isurl} = $data->{isurl}; |
154 |
}; |
151 |
$row_data{row} = $i; |
155 |
$row_data{authorised_value} = { |
152 |
push( @loop_data, \%row_data ); |
156 |
id => "authorised_value$i", |
153 |
$i++; |
157 |
values => $authorised_values, |
154 |
} |
158 |
default => $data->{'authorised_value'}, |
|
|
159 |
}; |
160 |
$row_data{frameworkcode} = { |
161 |
id => "frameworkcode$i", |
162 |
values => \@authtypes, |
163 |
default => $data->{'frameworkcode'}, |
164 |
}; |
165 |
$row_data{value_builder} = { |
166 |
id => "value_builder$i", |
167 |
values => \@value_builder, |
168 |
default => $data->{'value_builder'}, |
169 |
}; |
170 |
|
171 |
$row_data{repeatable} = CGI::checkbox(-name=>"repeatable$i", |
172 |
-checked => $data->{'repeatable'}?'checked':'', |
173 |
-value => 1, |
174 |
-label => '', |
175 |
-id => "repeatable$i"); |
176 |
$row_data{mandatory} = CGI::checkbox(-name => "mandatory$i", |
177 |
-checked => $data->{'mandatory'}?'checked':'', |
178 |
-value => 1, |
179 |
-label => '', |
180 |
-id => "mandatory$i"); |
181 |
$row_data{hidden} = $data->{hidden}; |
182 |
$row_data{isurl} = CGI::checkbox( -name => "isurl$i", |
183 |
-id => "isurl$i", |
184 |
-checked => $data->{'isurl'}?'checked':'', |
185 |
-value => 1, |
186 |
-label => ''); |
187 |
$row_data{row} = $i; |
188 |
push(@loop_data, \%row_data); |
189 |
$i++; |
190 |
} |
191 |
# add more_subfields empty lines for add if needed |
192 |
for (my $i=1;$i<=$more_subfields;$i++) { |
193 |
my %row_data; # get a fresh hash for the row data |
194 |
$row_data{'new_subfield'} = 1; |
195 |
$row_data{tab} = { |
196 |
id => "tab$i", |
197 |
default => $data->{'tab'}, |
198 |
}; |
199 |
$row_data{ohidden} = { |
200 |
id => "ohidden$i", |
201 |
default => $data->{'hidden'} |
202 |
}; |
203 |
|
155 |
|
204 |
$row_data{tagsubfieldinput} = "<input type=\"text\" name=\"tagsubfield\" value=\"".$data->{'tagsubfield'}."\" size=\"1\" id=\"tagsubfield\" maxlength=\"1\" />"; |
156 |
# Add a new row for the "New" tab |
205 |
$row_data{tagsubfieldinput} = |
157 |
my %row_data; # get a fresh hash for the row data |
206 |
"<label><input type=\"text\" name=\"tagsubfield\" value=\"" |
158 |
$row_data{'new_subfield'} = 1; |
207 |
. $data->{'tagsubfield'} |
159 |
$row_data{tab} = -1; # ignore |
208 |
. "\" size=\"1\" id=\"tagsubfield\" maxlength=\"1\" /></label>"; |
160 |
$row_data{ohidden} = 0; # show all |
209 |
$row_data{tagsubfield} = $data->{'tagsubfield'}; |
161 |
$row_data{tagsubfield} = ""; |
210 |
$row_data{liblibrarian} = ""; |
162 |
$row_data{liblibrarian} = ""; |
211 |
$row_data{libopac} = ""; |
163 |
$row_data{libopac} = ""; |
212 |
$row_data{seealso} = ""; |
164 |
$row_data{seealso} = ""; |
213 |
$row_data{hidden} = "000"; |
165 |
$row_data{hidden} = "000"; |
214 |
$row_data{repeatable} = CGI::checkbox( -name=> 'repeatable', |
166 |
$row_data{repeatable} = 0; |
215 |
-id => "repeatable$i", |
167 |
$row_data{mandatory} = 0; |
216 |
-checked => '', |
168 |
$row_data{isurl} = 0; |
217 |
-value => 1, |
169 |
$row_data{kohafields} = \@kohafields, |
218 |
-label => ''); |
170 |
$row_data{authorised_values} = $authorised_values; |
219 |
$row_data{mandatory} = CGI::checkbox( -name=> 'mandatory', |
171 |
$row_data{frameworkcodes} = \@authtypes; |
220 |
-id => "mandatory$i", |
172 |
$row_data{value_builders} = \@value_builder; |
221 |
-checked => '', |
173 |
$row_data{row} = $i; |
222 |
-value => 1, |
174 |
push( @loop_data, \%row_data ); |
223 |
-label => ''); |
|
|
224 |
$row_data{isurl} = CGI::checkbox(-name => 'isurl', |
225 |
-id => "isurl$i", |
226 |
-checked => '', |
227 |
-value => 1, |
228 |
-label => ''); |
229 |
$row_data{kohafield} = { |
230 |
id => "kohafield$i", |
231 |
values => \@kohafields, |
232 |
default => "", |
233 |
}; |
234 |
$row_data{authorised_value} = { |
235 |
id => "authorised_value", |
236 |
values => $authorised_values, |
237 |
default => "", |
238 |
}; |
239 |
$row_data{frameworkcode} = { |
240 |
id => "frameworkcode", |
241 |
values => \@authtypes, |
242 |
default => $data->{'frameworkcode'}, |
243 |
}; |
244 |
$row_data{value_builder} = { |
245 |
id => "value_builder", |
246 |
values => \@value_builder, |
247 |
default => $data->{'value_builder'}, |
248 |
}; |
249 |
|
175 |
|
250 |
$row_data{row} = $i; |
|
|
251 |
push(@loop_data, \%row_data); |
252 |
} |
253 |
$template->param('use_heading_flags_p' => 1); |
176 |
$template->param('use_heading_flags_p' => 1); |
254 |
$template->param('heading_edit_subfields_p' => 1); |
177 |
$template->param('heading_edit_subfields_p' => 1); |
255 |
$template->param(action => "Edit subfields", |
178 |
$template->param(action => "Edit subfields", |
256 |
tagfield => $tagfield, |
179 |
tagfield => $tagfield, |
257 |
tagfieldinput => "<input type=\"hidden\" name=\"tagfield\" value=\"$tagfield\" />", |
180 |
tagfieldinput => "<input type=\"hidden\" name=\"tagfield\" value=\"$tagfield\" />", |
258 |
loop => \@loop_data, |
181 |
loop => \@loop_data, |
259 |
more_subfields => $more_subfields, |
|
|
260 |
more_tag => $tagfield); |
182 |
more_tag => $tagfield); |
261 |
|
183 |
|
262 |
# END $OP eq ADD_FORM |
184 |
# END $OP eq ADD_FORM |
Lines 276-284
if ($op eq 'add_form') {
Link Here
|
276 |
my @kohafield = ''.$input->param('kohafield'); |
198 |
my @kohafield = ''.$input->param('kohafield'); |
277 |
my @tab = $input->param('tab'); |
199 |
my @tab = $input->param('tab'); |
278 |
my @seealso = $input->param('seealso'); |
200 |
my @seealso = $input->param('seealso'); |
279 |
my @ohidden = $input->param('ohidden'); |
201 |
my @ohidden = $input->param('ohidden'); |
280 |
#my @ihidden = $input->param('ihidden'); |
|
|
281 |
#my @ehidden = $input->param('ehidden'); |
282 |
my @authorised_values = $input->param('authorised_value'); |
202 |
my @authorised_values = $input->param('authorised_value'); |
283 |
my $authtypecode = $input->param('authtypecode'); |
203 |
my $authtypecode = $input->param('authtypecode'); |
284 |
my @frameworkcodes = $input->param('frameworkcode'); |
204 |
my @frameworkcodes = $input->param('frameworkcode'); |
Lines 299-309
if ($op eq 'add_form') {
Link Here
|
299 |
my $frameworkcode =$frameworkcodes[$i]; |
219 |
my $frameworkcode =$frameworkcodes[$i]; |
300 |
my $value_builder=$value_builder[$i]; |
220 |
my $value_builder=$value_builder[$i]; |
301 |
my $defaultvalue = $defaultvalue[$i]; |
221 |
my $defaultvalue = $defaultvalue[$i]; |
302 |
#my $hidden = $ohidden[$i].$ihidden[$i].$ehidden[$i]; #collate from 3 hiddens; |
|
|
303 |
my $hidden = $ohidden[$i]; #collate from 3 hiddens; |
222 |
my $hidden = $ohidden[$i]; #collate from 3 hiddens; |
304 |
my $isurl = $input->param("isurl$i")?1:0; |
223 |
my $isurl = $input->param("isurl$i")?1:0; |
305 |
if ($liblibrarian) { |
224 |
if ($liblibrarian) { |
306 |
unless (C4::Context->config('demo') eq 1) { |
225 |
unless (C4::Context->config('demo') or C4::Context->config('demo') eq 1) { |
307 |
if (auth_subfield_structure_exists($authtypecode, $tagfield, $tagsubfield)) { |
226 |
if (auth_subfield_structure_exists($authtypecode, $tagfield, $tagsubfield)) { |
308 |
$sth_update->execute( |
227 |
$sth_update->execute( |
309 |
$authtypecode, |
228 |
$authtypecode, |
Lines 372-378
if ($op eq 'add_form') {
Link Here
|
372 |
################## DELETE_CONFIRMED ################################## |
291 |
################## DELETE_CONFIRMED ################################## |
373 |
# called by delete_confirm, used to effectively confirm deletion of data in DB |
292 |
# called by delete_confirm, used to effectively confirm deletion of data in DB |
374 |
} elsif ($op eq 'delete_confirmed') { |
293 |
} elsif ($op eq 'delete_confirmed') { |
375 |
unless (C4::Context->config('demo') eq 1) { |
294 |
unless (C4::Context->config('demo') or C4::Context->config('demo') eq 1) { |
376 |
my $sth=$dbh->prepare("delete from auth_subfield_structure where tagfield=? and tagsubfield=? and authtypecode=?"); |
295 |
my $sth=$dbh->prepare("delete from auth_subfield_structure where tagfield=? and tagsubfield=? and authtypecode=?"); |
377 |
$sth->execute($tagfield,$tagsubfield,$authtypecode); |
296 |
$sth->execute($tagfield,$tagsubfield,$authtypecode); |
378 |
} |
297 |
} |