my $searchfield = $input->param('description');
my $script_name = "/cgi-bin/koha/admin/categorie.pl";
my $categorycode = $input->param('categorycode');
-my $op = $input->param('op') // '';
+my $op = $input->param('op') // 'list';
my $block_expired = $input->param("block_expired");
+my @messages;
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
{
}
);
-$template->param(
- script_name => $script_name,
- categorycode => $categorycode,
- searchfield => $searchfield
-);
-
################## ADD_FORM ##################################
# called by default. Used to create form to add or modify a record
if ( $op eq 'add_form' ) {
# called by add_form, used to insert/modify data in DB
}
elsif ( $op eq 'add_validate' ) {
- $template->param( add_validate => 1 );
my $is_a_modif = $input->param("is_a_modif");
default_privacy
)
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)" );
- $sth->execute(
+ my $inserted = $sth->execute(
map { $input->param($_) } (
'categorycode', 'description',
'enrolmentperiod', 'enrolmentperioddate',
'default_privacy',
)
);
- $sth->finish;
+ if ( $inserted ) {
+ push @messages, { type => 'message', code => 'success_on_insert' };
+ } else {
+ $searchfield = q||;
+ push @messages, { type => 'error', code => 'error_on_insert' };
+ }
}
if ( C4::Context->preference('EnhancedMessagingPreferences') ) {
C4::Form::MessagingPreferences::handle_form_action( $input,
{ categorycode => $input->param('categorycode') }, $template );
}
- print $input->redirect("/cgi-bin/koha/admin/categorie.pl");
- exit;
+
+ $op = 'list';
# END $OP eq ADD_VALIDATE
################## DELETE_CONFIRM ##################################
my $sth = $dbh->prepare("delete from categories where categorycode=?");
- $sth->execute($categorycode);
- $sth->finish;
+ my $deleted = $sth->execute($categorycode);
- print $input->redirect("/cgi-bin/koha/admin/categorie.pl");
- exit;
+ if ( $deleted ) {
+ push @messages, { type => 'message', code => 'success_on_delete' };
+ } else {
+ push @messages, { type => 'error', code => 'error_on_delete' };
+ }
+
+ $op = 'list';
# END $OP eq DELETE_CONFIRMED
}
-else { # DEFAULT
+
+if ( $op eq 'list' ) {
$template->param( else => 1 );
my @loop;
my ( $count, $results ) = StringSearch( $searchfield, 'web' );
$sth->finish;
} #---- END $OP eq DEFAULT
+
+$template->param(
+ script_name => $script_name,
+ categorycode => $categorycode,
+ searchfield => $searchfield,
+ messages => \@messages,
+);
+
output_html_with_http_headers $input, $cookie, $template->output;
exit 0;
[% USE KohaDates -%]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha › Administration › Patron categories › [% IF ( add_form ) %][% IF ( categorycode ) %]Modify category '[% categorycode |html %]'[% ELSE %]New category[% END %][% END %]
-[% IF ( add_validate ) %]Data recorded[% END %]
[% IF ( delete_confirm ) %][% IF ( patrons_in_category > 0 ) %]Cannot delete: category [% categorycode |html %] in use[% ELSE %]Confirm deletion of category '[% categorycode |html %]'[% END %][% END %]
-[% IF ( delete_confirmed ) %]Category deleted[% END %]</title>
+</title>
[% INCLUDE 'doc-head-close.inc' %]
[% INCLUDE 'calendar.inc' %]
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
[% INCLUDE 'patrons-admin-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> › [% IF ( add_form ) %] <a href="/cgi-bin/koha/admin/categorie.pl">Patron categories</a> › [% IF ( categorycode ) %]Modify category '[% categorycode |html %]'[% ELSE %]New category[% END %][% END %]
-[% IF ( add_validate ) %] <a href="/cgi-bin/koha/admin/categorie.pl">Patron categories</a> › Data recorded[% END %]
[% IF ( delete_confirm ) %] <a href="/cgi-bin/koha/admin/categorie.pl">Patron categories</a> › [% IF ( patrons_in_category > 0 ) %]Cannot delete: Category [% categorycode |html %] in use[% ELSE %]Confirm deletion of category '[% categorycode |html %]'[% END %][% END %]
[% IF ( delete_confirmed ) %] <a href="/cgi-bin/koha/admin/categorie.pl">Patron categories</a> › Category deleted[% END %]
[% IF ( else ) %]Patron categories[% END %]</div>
<div id="yui-main">
<div class="yui-b">
-[% IF ( add_form ) %]
-
-
+[% FOR m IN messages %]
+ <div class="dialog [% m.type %]">
+ [% SWITCH m.code %]
+ [% CASE 'error_on_insert' %]
+ An error occurred when inserting this patron category. Perhaps the category code already exists.
+ [% CASE 'error_on_delete' %]
+ An error occurred when deleteing this patron category. Check the logs.
+ [% CASE 'success_on_insert' %]
+ Patron category inserted with success.
+ [% CASE 'success_on_delete' %]
+ Patron category deleted with success.
+ [% CASE %]
+ [% m.code %]
+ [% END %]
+ </div>
+[% END %]
-
+[% IF ( add_form ) %]
<form name="Aform" action="[% script_name %]" method="post">
<input type="hidden" name="op" value="add_validate" />
<input type="hidden" name="checked" value="0" />
[% END %]
-[% IF ( add_validate ) %]
-<h3>Data recorded</h3>
- <form action="[% script_name %]" method="post">
- <input type="submit" value="OK" />
- </form>
-[% END %]
-
[% IF ( delete_confirm ) %]
<form action="[% script_name %]" method="post">
<fieldset>
[% END %]</fieldset></fieldset></form>
[% END %]
-[% IF ( delete_confirmed ) %]
-<h3>Category deleted</h3>
-
- <form action="[% script_name %]" method="post">
- <input type="submit" value="OK" />
- </form>
-[% END %]
-
[% IF ( else ) %]
<div id="toolbar" class="btn-toolbar">