my $letter = $dbh->selectall_hashref("SELECT * $sql", 'message_transport_type', undef, @$args);
return $letter;
}
-
# $protected_letters = protected_letters()
# - return a hashref of letter_codes representing letters that should never be deleted
sub protected_letters {
action => $script_name
);
-if ($op eq 'copy') {
- add_copy();
- $op = 'add_form';
+if ( $op eq 'add_validate' or $op eq 'copy_validate' ) {
+ add_validate();
+ $op = q{}; # we return to the default screen for the next operation
}
-
-if ($op eq 'add_form') {
- add_form($branchcode, $module, $code);
+if ($op eq 'copy_form') {
+ my $oldbranchcode = $input->param('oldbranchcode') || q||;
+ my $branchcode = $input->param('branchcode') || q||;
+ my $oldcode = $input->param('oldcode') || $input->param('code');
+ add_form($oldbranchcode, $module, $code);
+ $template->param(
+ oldbranchcode => $oldbranchcode,
+ branchcode => $branchcode,
+ branchloop => _branchloop($branchcode),
+ oldcode => $oldcode,
+ copying => 1,
+ modify => 0,
+ );
}
-elsif ( $op eq 'add_validate' ) {
- add_validate();
- $op = q{}; # next operation is to return to default screen
+elsif ( $op eq 'add_form' ) {
+ add_form($branchcode, $module, $code);
}
elsif ( $op eq 'delete_confirm' ) {
delete_confirm($branchcode, $module, $code);
my $message_transport_types = GetMessageTransportTypes();
my @letter_loop;
if ($letters) {
+ $template->param(
+ modify => 1,
+ code => $code,
+ branchcode => $branchcode,
+ );
my $first_flag = 1;
+ # The letter name is contained into each mtt row.
+ # So we can only sent the first one to the template.
for my $mtt ( @$message_transport_types ) {
- if ( $first_flag ) {
+ # The letter_name
+ if ( $first_flag and $letters->{$mtt}{name} ) {
$template->param(
- modify => 1,
- code => $code,
- branchcode => $branchcode,
- name => $letters->{$mtt}{name},
+ letter_name=> $letters->{$mtt}{name},
);
$first_flag = 0;
}
message_transport_type => $mtt,
is_html => $letters->{$mtt}{is_html},
title => $letters->{$mtt}{title},
- content => $letters->{$mtt}{content},
+ content => $letters->{$mtt}{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 $is_html = $input->param("is_html_$mtt");
my $title = shift @title;
my $content = shift @content;
- my $letter = get_letters($oldbranchcode,$oldmodule, $code, $mtt);
+ my $letter = get_letters($branchcode,$oldmodule, $code, $mtt);
unless ( $title and $content ) {
- delete_confirmed( $oldbranchcode, $oldmodule, $code, $mtt );
+ delete_confirmed( $branchcode, $oldmodule, $code, $mtt );
next;
}
- if ( exists $letter->{$mtt} ) {
+ elsif ( exists $letter->{$mtt} ) {
$dbh->do(
q{
UPDATE letter
},
undef,
$branchcode, $module, $name, $is_html || 0, $title, $content,
- $oldbranchcode, $oldmodule, $code, $mtt
+ $branchcode, $oldmodule, $code, $mtt
);
} else {
$dbh->do(
}
# 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 keys %{ get_letters($branchcode,$module, $code, '*') };
-
- my $old_letters = get_letters($oldbranchcode,$module, $code, '*');
-
- my $message_transport_types = GetMessageTransportTypes();
- for my $mtt ( @$message_transport_types ) {
- next unless exists $old_letters->{$mtt};
- my $old_letter = $old_letters->{$mtt};
-
- $dbh->do(
- q{INSERT INTO letter (branchcode,module,code,name,is_html,title,content,message_transport_type) VALUES (?,?,?,?,?,?,?,?)},
- undef,
- $branchcode, $module, $code, $old_letter->{name}, $old_letter->{is_html}, $old_letter->{title}, $old_letter->{content}, $mtt
- );
- }
+ return 1;
}
sub delete_confirm {