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