Bug 33146: Unit tests
[koha-ffzg.git] / patroncards / edit-template.pl
index 763fe45..1c7a2cd 100755 (executable)
 # You should have received a copy of the GNU General Public License
 # along with Koha; if not, see <http://www.gnu.org/licenses>.
 
-use strict;
-use warnings;
+use Modern::Perl;
 
 use CGI qw ( -utf8 );
 use autouse 'Data::Dumper' => qw(Dumper);
 
-use C4::Auth qw(get_template_and_user);
-use C4::Output qw(output_html_with_http_headers);
-use C4::Creators;
+use C4::Auth qw( get_template_and_user );
+use C4::Output qw( output_html_with_http_headers );
+use C4::Creators qw( get_all_profiles get_unit_values );
 use C4::Patroncards;
 
-my $cgi = new CGI;
+my $cgi = CGI->new;
 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     {
         template_name   => "patroncards/edit-template.tt",
         query           => $cgi,
         type            => "intranet",
-        authnotrequired => 0,
-        flagsrequired   => { catalogue => 1 },
-        debug           => 1,
+        flagsrequired   => { tools => 'label_creator' },
     }
 );
 
@@ -50,23 +47,23 @@ my $units = get_unit_values();
 
 if ($op eq 'edit') {
     $card_template = C4::Patroncards::Template->retrieve(template_id => $template_id);
-    $profile_list = get_all_profiles(field_list => 'profile_id,printer_name,paper_bin', filter => "template_id=$template_id OR template_id=''");
+    $profile_list = get_all_profiles({ fields => [ qw( profile_id printer_name paper_bin ) ], filters => {template_id => [ $template_id, 0 ], creator => 'Patroncards'} } );
 }
 elsif ($op eq 'save') {
-    my @params = (      profile_id      => $cgi->param('profile_id') || '',
-                        template_code   => $cgi->param('template_code'),
-                        template_desc   => $cgi->param('template_desc'),
-                        page_width      => $cgi->param('page_width'),
-                        page_height     => $cgi->param('page_height'),
-                        label_width     => $cgi->param('card_width'),
-                        label_height    => $cgi->param('card_height'),
-                        top_margin      => $cgi->param('top_margin'),
-                        left_margin     => $cgi->param('left_margin'),
-                        cols            => $cgi->param('cols'),
-                        rows            => $cgi->param('rows'),
-                        col_gap         => $cgi->param('col_gap'),
-                        row_gap         => $cgi->param('row_gap'),
-                        units           => $cgi->param('units'),
+    my @params = (      profile_id      => scalar $cgi->param('profile_id') || 0,
+                        template_code   => scalar $cgi->param('template_code'),
+                        template_desc   => scalar $cgi->param('template_desc'),
+                        page_width      => scalar $cgi->param('page_width'),
+                        page_height     => scalar $cgi->param('page_height'),
+                        label_width     => scalar $cgi->param('card_width'),
+                        label_height    => scalar $cgi->param('card_height'),
+                        top_margin      => scalar $cgi->param('top_margin'),
+                        left_margin     => scalar $cgi->param('left_margin'),
+                        cols            => scalar $cgi->param('cols'),
+                        rows            => scalar $cgi->param('rows'),
+                        col_gap         => scalar $cgi->param('col_gap'),
+                        row_gap         => scalar $cgi->param('row_gap'),
+                        units           => scalar $cgi->param('units'),
                         );
     if ($template_id) {   # if a template_id was passed in, this is an update to an existing template
         $card_template = C4::Patroncards::Template->retrieve(template_id => $template_id);
@@ -76,7 +73,7 @@ elsif ($op eq 'save') {
                 $old_profile->set_attr(template_id => 0);
                 $old_profile->save();
             }
-            my $new_profile = C4::Patroncards::Profile->retrieve(profile_id => $cgi->param('profile_id'));
+            my $new_profile = C4::Patroncards::Profile->retrieve(profile_id => scalar $cgi->param('profile_id'));
             $new_profile->set_attr(template_id => $card_template->get_attr('template_id'));
             $new_profile->save();
         }
@@ -88,7 +85,7 @@ elsif ($op eq 'save') {
         die "Error: $card_template\n" if !ref($card_template);
         my $template_id = $card_template->save();
         if ($cgi->param('profile_id')) {
-            my $profile = C4::Patroncards::Profile->retrieve(profile_id => $cgi->param('profile_id'));
+            my $profile = C4::Patroncards::Profile->retrieve(profile_id => scalar $cgi->param('profile_id'));
             $profile->set_attr(template_id => $template_id) if $template_id != $profile->get_attr('template_id');
             $profile->save();
         }