|
Lines 76-82
sub letter_exists {
Link Here
|
| 76 |
my $letter = $dbh->selectrow_hashref("SELECT * $sql", undef, @$args); |
76 |
my $letter = $dbh->selectrow_hashref("SELECT * $sql", undef, @$args); |
| 77 |
return $letter; |
77 |
return $letter; |
| 78 |
} |
78 |
} |
| 79 |
|
79 |
sub lettercode_exists { |
|
|
80 |
my ( $letter_code ) = @_; |
| 81 |
my $dbh = C4::Context->dbh; |
| 82 |
my ( $exist ) = $dbh->selectrow_array("SELECT count(*) FROM letter where code=?", undef, $letter_code); |
| 83 |
return $exist; |
| 84 |
} |
| 80 |
# $protected_letters = protected_letters() |
85 |
# $protected_letters = protected_letters() |
| 81 |
# - return a hashref of letter_codes representing letters that should never be deleted |
86 |
# - return a hashref of letter_codes representing letters that should never be deleted |
| 82 |
sub protected_letters { |
87 |
sub protected_letters { |
|
Lines 119-135
$template->param(
Link Here
|
| 119 |
action => $script_name |
124 |
action => $script_name |
| 120 |
); |
125 |
); |
| 121 |
|
126 |
|
| 122 |
if ($op eq 'copy') { |
127 |
if ( $op eq 'add_validate' or $op eq 'copy_validate' ) { |
| 123 |
add_copy(); |
128 |
my $added = add_validate(); |
| 124 |
$op = 'add_form'; |
129 |
unless ( $added ) { |
|
|
130 |
if ( $op eq 'add_validate' ) { |
| 131 |
$op = 'add_form'; |
| 132 |
} else { |
| 133 |
$op = 'copy_form'; |
| 134 |
$code = $input->param('oldcode'); |
| 135 |
} |
| 136 |
$template->param( already_exists => 1 ); |
| 137 |
} |
| 138 |
else { |
| 139 |
$op = q{}; # next operation is to return to default screen |
| 140 |
} |
| 125 |
} |
141 |
} |
| 126 |
|
142 |
if ($op eq 'copy_form') { |
| 127 |
if ($op eq 'add_form') { |
143 |
my $oldbranchcode = $input->param('oldbranchcode') || q||; |
| 128 |
add_form($branchcode, $module, $code); |
144 |
my $branchcode = $input->param('branchcode') || q||; |
|
|
145 |
my $oldcode = $input->param('oldcode') || $input->param('code'); |
| 146 |
add_form($oldbranchcode, $module, $code); |
| 147 |
$template->param( |
| 148 |
oldbranchcode => $oldbranchcode, |
| 149 |
branchcode => $branchcode, |
| 150 |
branchloop => _branchloop($branchcode), |
| 151 |
oldcode => $oldcode, |
| 152 |
copying => 1, |
| 153 |
modify => 0, |
| 154 |
); |
| 129 |
} |
155 |
} |
| 130 |
elsif ( $op eq 'add_validate' ) { |
156 |
elsif ( $op eq 'add_form' ) { |
| 131 |
add_validate(); |
157 |
add_form($branchcode, $module, $code); |
| 132 |
$op = q{}; # next operation is to return to default screen |
|
|
| 133 |
} |
158 |
} |
| 134 |
elsif ( $op eq 'delete_confirm' ) { |
159 |
elsif ( $op eq 'delete_confirm' ) { |
| 135 |
delete_confirm($branchcode, $module, $code); |
160 |
delete_confirm($branchcode, $module, $code); |
|
Lines 227-233
sub add_form {
Link Here
|
| 227 |
|
252 |
|
| 228 |
sub add_validate { |
253 |
sub add_validate { |
| 229 |
my $dbh = C4::Context->dbh; |
254 |
my $dbh = C4::Context->dbh; |
| 230 |
my $oldbranchcode = $input->param('oldbranchcode'); |
|
|
| 231 |
my $branchcode = $input->param('branchcode') || ''; |
255 |
my $branchcode = $input->param('branchcode') || ''; |
| 232 |
my $module = $input->param('module'); |
256 |
my $module = $input->param('module'); |
| 233 |
my $oldmodule = $input->param('oldmodule'); |
257 |
my $oldmodule = $input->param('oldmodule'); |
|
Lines 236-247
sub add_validate {
Link Here
|
| 236 |
my $is_html = $input->param('is_html'); |
260 |
my $is_html = $input->param('is_html'); |
| 237 |
my $title = $input->param('title'); |
261 |
my $title = $input->param('title'); |
| 238 |
my $content = $input->param('content'); |
262 |
my $content = $input->param('content'); |
| 239 |
if (letter_exists($oldbranchcode,$oldmodule, $code)) { |
263 |
if ( lettercode_exists( $code ) ) { |
|
|
264 |
return 0; |
| 265 |
} |
| 266 |
elsif (letter_exists($branchcode,$oldmodule, $code)) { |
| 240 |
$dbh->do( |
267 |
$dbh->do( |
| 241 |
q{UPDATE letter SET branchcode = ?, module = ?, name = ?, is_html = ?, title = ?, content = ? WHERE branchcode = ? AND module = ? AND code = ?}, |
268 |
q{UPDATE letter SET branchcode = ?, module = ?, name = ?, is_html = ?, title = ?, content = ? WHERE branchcode = ? AND module = ? AND code = ?}, |
| 242 |
undef, |
269 |
undef, |
| 243 |
$branchcode, $module, $name, $is_html || 0, $title, $content, |
270 |
$branchcode, $module, $name, $is_html || 0, $title, $content, |
| 244 |
$oldbranchcode, $oldmodule, $code |
271 |
$branchcode, $oldmodule, $code |
| 245 |
); |
272 |
); |
| 246 |
} else { |
273 |
} else { |
| 247 |
$dbh->do( |
274 |
$dbh->do( |
|
Lines 252-275
sub add_validate {
Link Here
|
| 252 |
} |
279 |
} |
| 253 |
# set up default display |
280 |
# set up default display |
| 254 |
default_display($branchcode); |
281 |
default_display($branchcode); |
| 255 |
} |
282 |
return 1; |
| 256 |
|
|
|
| 257 |
sub add_copy { |
| 258 |
my $dbh = C4::Context->dbh; |
| 259 |
my $oldbranchcode = $input->param('oldbranchcode'); |
| 260 |
my $branchcode = $input->param('branchcode'); |
| 261 |
my $module = $input->param('module'); |
| 262 |
my $code = $input->param('code'); |
| 263 |
|
| 264 |
return if letter_exists($branchcode,$module, $code); |
| 265 |
|
| 266 |
my $old_letter = letter_exists($oldbranchcode,$module, $code); |
| 267 |
|
| 268 |
$dbh->do( |
| 269 |
q{INSERT INTO letter (branchcode,module,code,name,is_html,title,content) VALUES (?,?,?,?,?,?,?)}, |
| 270 |
undef, |
| 271 |
$branchcode, $module, $code, $old_letter->{name}, $old_letter->{is_html}, $old_letter->{title}, $old_letter->{content} |
| 272 |
); |
| 273 |
} |
283 |
} |
| 274 |
|
284 |
|
| 275 |
sub delete_confirm { |
285 |
sub delete_confirm { |
| 276 |
- |
|
|