Bug 5670: [QA Followup] Don't force ISO dates.
authorAlex Sassmannshausen <alex.sassmannshausen@ptfs-europe.com>
Mon, 19 Sep 2016 11:12:21 +0000 (13:12 +0200)
committerKyle M Hall <kyle@bywatersolutions.com>
Fri, 21 Oct 2016 18:17:59 +0000 (18:17 +0000)
* koha-tmpl/intranet-tmpl/prog/en/modules/members/housebound.tt: Use
  ".datepicker" class for date input, use `$KohaDates` to filter our iso
  dates.
* members/housebound.pl: Use DateTime and Koha::DateUtils to parse
  incoming date to ISO format.

Signed-off-by: Claire Gravely <claire_gravely@hotmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
koha-tmpl/intranet-tmpl/prog/en/modules/members/housebound.tt
members/housebound.pl

index 604523a..4656160 100644 (file)
 <title>Koha &rsaquo; Housebound &rsaquo; Details for [% INCLUDE 'patron-title.inc' %]</title>
 [% INCLUDE 'doc-head-close.inc' %]
 [% INCLUDE 'calendar.inc' %]
-<script type="text/javascript">
-//<![CDATA[
-$(document).ready(function() {
-  $("#date").datepicker({ minDate: 0, dateFormat: "yy-mm-dd" });
-});
-//]]>
-</script>
-
 </head>
 <body>
 [% INCLUDE 'header.inc' %]
@@ -46,7 +38,7 @@ $(document).ready(function() {
 
           <!-- Title -->
           <h3>Housebound details for [% patron.title %] [% patron.firstname %] [% patron.surname %] ([% patron.cardnumber %])</h3>
-          <div class="yui-u first">
+          <div class="first">
 
             [% FOR m IN messages %]
                 <div class="dialog [% m.type %]">
@@ -216,7 +208,7 @@ $(document).ready(function() {
             <!-- Create or edit housebound_visit -->
             [% ELSIF ( method == 'visit_update_or_create' ) %]
               <h4>Manage housebound deliveries</h4>
-              <form name="form" id="instance_form" method="post"
+              <form name="form" id="instance_form" method="post" class="toggler"
                     action="/cgi-bin/koha/members/housebound.pl">
                 [% IF ( visit ) %]
                   <input type="hidden" name="method" value="editvisitconfirm" />
@@ -229,15 +221,16 @@ $(document).ready(function() {
                   <legend>Delivery details</legend>
                   <ol>
                     <li>
-                      <label for="date">Date: </label>
+                      <label for="date" class="required">Date: </label>
                       [% IF ( visit ) %]
-                        <input type="text" id="date" name="date" size="20"
-                               value="[% visit.appointment_date %]"
-                               required="required"/>
+                        <input type="text" id="date" class="datepicker"
+                               value="[% visit.appointment_date | $KohaDates %]"
+                               name="date" size="20" required="required"/>
                       [% ELSE %]
-                        <input type="text" id="date" name="date" size="20"
-                               value="" required="required"/>
+                        <input type="text" id="date" class="datepicker"
+                               value="" name="date" size="20" required="required"/>
                       [% END %]
+                      <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
                     </li>
                     <li>
                       <label for="segment">Time:</label>
@@ -418,7 +411,7 @@ $(document).ready(function() {
                     [% FOREACH entry IN housebound_visits %]
                     <tr>
                       <td>[% entry.id %]</td>
-                      <td>[% entry.appointment_date %] ([% entry.day_segment %])</td>
+                      <td>[% entry.appointment_date | $KohaDates %] ([% entry.day_segment %])</td>
                       <td>
                         <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% entry.chooser.borrowernumber %]">
                           [% INCLUDE 'patron-title.inc' borrowernumber = entry.chooser.borrowernumber category_type = entry.chooser.categorycode firstname = entry.chooser.firstname surname = entry.chooser.surname othernames = entry.chooser.othernames cardnumber = entry.chooser.cardnumber invert_name = 0 %]
index 516effc..a2d5062 100755 (executable)
@@ -28,6 +28,8 @@ use Modern::Perl;
 use CGI;
 use C4::Auth;
 use C4::Output;
+use DateTime;
+use Koha::DateUtils;
 use Koha::Libraries;
 use Koha::Patrons;
 use Koha::Patron::Categories;
@@ -125,11 +127,11 @@ if ( $method eq 'updateconfirm' and $houseboundprofile ) {
     # We have received input for editing a visit.  We must store and return to
     # simple display.
     $visit->set({
-        borrowernumber      => $input->param('borrowernumber') // q{},
-        appointment_date    => $input->param('date')           // q{},
-        day_segment         => $input->param('segment')        // q{},
-        chooser_brwnumber   => $input->param('chooser')        // q{},
-        deliverer_brwnumber => $input->param('deliverer')      // q{},
+        borrowernumber      => $input->param('borrowernumber')      // q{},
+        appointment_date    => dt_from_string($input->param('date') // q{}),
+        day_segment         => $input->param('segment')             // q{},
+        chooser_brwnumber   => $input->param('chooser')             // q{},
+        deliverer_brwnumber => $input->param('deliverer')           // q{},
     });
     my $success = eval { return $visit->store };
     push @messages, { type => 'error', code => 'error_on_visit_store' }
@@ -139,11 +141,11 @@ if ( $method eq 'updateconfirm' and $houseboundprofile ) {
     # We have received input for creating a visit.  We must store and return
     # to simple display.
     my $visit = Koha::Patron::HouseboundVisit->new({
-        borrowernumber      => $input->param('borrowernumber') // q{},
-        appointment_date    => $input->param('date')           // q{},
-        day_segment         => $input->param('segment')        // q{},
-        chooser_brwnumber   => $input->param('chooser')        // q{},
-        deliverer_brwnumber => $input->param('deliverer')      // q{},
+        borrowernumber      => $input->param('borrowernumber')      // q{},
+        appointment_date    => dt_from_string($input->param('date') // q{}),
+        day_segment         => $input->param('segment')             // q{},
+        chooser_brwnumber   => $input->param('chooser')             // q{},
+        deliverer_brwnumber => $input->param('deliverer')           // q{},
     });
     my $success = eval { return $visit->store };
     push @messages, { type => 'error', code => 'error_on_visit_create' }