-elsif ( $op eq 'add_validate' ) {
- my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare(
- "REPLACE letter (module,code,name,title,content) VALUES (?,?,?,?,?)");
- $sth->execute(
- $input->param('module'), $input->param('code'),
- $input->param('name'), $input->param('title'),
- $input->param('content')
+
+sub add_validate {
+ my $dbh = C4::Context->dbh;
+ my $oldbranchcode = $input->param('oldbranchcode');
+ my $branchcode = $input->param('branchcode') || '';
+ my $module = $input->param('module');
+ my $oldmodule = $input->param('oldmodule');
+ my $code = $input->param('code');
+ my $name = $input->param('name');
+ my $is_html = $input->param('is_html');
+ my $title = $input->param('title');
+ my $content = $input->param('content');
+ if (letter_exists($oldbranchcode,$oldmodule, $code)) {
+ $dbh->do(
+ q{UPDATE letter SET branchcode = ?, module = ?, name = ?, is_html = ?, title = ?, content = ? WHERE branchcode = ? AND module = ? AND code = ?},
+ undef,
+ $branchcode, $module, $name, $is_html || 0, $title, $content,
+ $oldbranchcode, $oldmodule, $code
+ );
+ } else {
+ $dbh->do(
+ q{INSERT INTO letter (branchcode,module,code,name,is_html,title,content) VALUES (?,?,?,?,?,?,?)},
+ undef,
+ $branchcode, $module, $code, $name, $is_html || 0, $title, $content
+ );
+ }
+ # set up default display
+ default_display($branchcode);
+}
+
+sub add_copy {
+ my $dbh = C4::Context->dbh;
+ my $oldbranchcode = $input->param('oldbranchcode');
+ my $branchcode = $input->param('branchcode');
+ my $module = $input->param('module');
+ my $code = $input->param('code');
+
+ return if letter_exists($branchcode,$module, $code);
+
+ my $old_letter = letter_exists($oldbranchcode,$module, $code);
+
+ $dbh->do(
+ q{INSERT INTO letter (branchcode,module,code,name,is_html,title,content) VALUES (?,?,?,?,?,?,?)},
+ undef,
+ $branchcode, $module, $code, $old_letter->{name}, $old_letter->{is_html}, $old_letter->{title}, $old_letter->{content}