|
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 |
} |