Bug 21066: Code changes needed for replacing opac_news.timestamp
authorMarcel de Rooy <m.de.rooy@rijksmuseum.nl>
Tue, 17 Jul 2018 14:11:01 +0000 (16:11 +0200)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Wed, 2 Sep 2020 12:49:25 +0000 (14:49 +0200)
Test plan:
Perform some CRUD operations on the news page in staff.
Verify that news on opac and staff respect publicationdate.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
C4/NewsChannels.pm
koha-tmpl/intranet-tmpl/prog/en/modules/tools/koha-news.tt
tools/koha-news.pl

index 7ab168e..bfcbfc6 100644 (file)
@@ -135,7 +135,7 @@ sub get_opac_new {
     my $data = $sth->fetchrow_hashref;
     $data->{$data->{'lang'}} = 1 if defined $data->{lang};
     $data->{expirationdate} = output_pref({ dt => dt_from_string( $data->{expirationdate} ), dateonly => 1 }) if ( $data->{expirationdate} );
-    $data->{timestamp}      = output_pref({ dt => dt_from_string( $data->{timestamp} ), dateonly => 1 }) ;
+    $data->{publicationdate} = output_pref({ dt => dt_from_string( $data->{publicationdate} ), dateonly => 1 });
     return $data;
 }
 
@@ -145,7 +145,7 @@ sub get_opac_news {
     my $dbh = C4::Context->dbh;
     my $query = q{
                   SELECT opac_news.*, branches.branchname,
-                         timestamp AS newdate,
+                         publicationdate AS newdate,
                          borrowers.title AS author_title,
                          borrowers.firstname AS author_firstname,
                          borrowers.surname AS author_surname
@@ -162,7 +162,7 @@ sub get_opac_news {
         $query .= ' AND (opac_news.branchcode IS NULL OR opac_news.branchcode=?)';
         push @values,$branchcode;
     }
-    $query.= ' ORDER BY timestamp DESC ';
+    $query.= ' ORDER BY publicationdate DESC ';
     #if ($limit) {
     #    $query.= 'LIMIT 0, ' . $limit;
     #}
@@ -191,9 +191,8 @@ sub get_opac_news {
 sub GetNewsToDisplay {
     my ($lang,$branch) = @_;
     my $dbh = C4::Context->dbh;
-    # SELECT *,DATE_FORMAT(timestamp, '%d/%m/%Y') AS newdate
     my $query = q{
-     SELECT opac_news.*,timestamp AS newdate,
+     SELECT opac_news.*,publicationdate AS newdate,
      borrowers.title AS author_title,
      borrowers.firstname AS author_firstname,
      borrowers.surname AS author_surname
@@ -203,13 +202,11 @@ sub GetNewsToDisplay {
         expirationdate >= CURRENT_DATE()
         OR    expirationdate IS NULL
      )
-     AND   DATE(timestamp) < DATE_ADD(CURDATE(), INTERVAL 1 DAY)
+     AND   publicationdate <= CURDATE()
      AND   (opac_news.lang = '' OR opac_news.lang = ?)
      AND   (opac_news.branchcode IS NULL OR opac_news.branchcode = ?)
      ORDER BY number
-    }; # expirationdate field is NOT in ISO format?
-       # timestamp has HH:mm:ss, CURRENT_DATE generates 00:00:00
-       #           by adding 1, that captures today correctly.
+    };
     my $sth = $dbh->prepare($query);
     $lang = $lang // q{};
     $sth->execute($lang,$branch);
index 12758c0..205b1b1 100644 (file)
@@ -83,7 +83,7 @@ Edit news item[% ELSE %]Add news item[% END %][% ELSE %]News[% END %]</div>
             </li>
             <li>
                 <label for="from">Publication date: </label>
-                <input id="from" type="text" name="timestamp" size="15" value="[% new_detail.timestamp | html %]" class="datepickerfrom" />
+                <input id="from" type="text" name="publicationdate" size="15" value="[% new_detail.publicationdate | html %]" class="datepickerfrom" />
                                <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
             </li>
             <li>
index b90a8c4..687259b 100755 (executable)
@@ -42,7 +42,7 @@ my $expirationdate;
 if ( $cgi->param('expirationdate') ) {
     $expirationdate = output_pref({ dt => dt_from_string( scalar $cgi->param('expirationdate') ), dateformat => 'iso', dateonly => 1 });
 }
-my $timestamp      = output_pref({ dt => dt_from_string( scalar $cgi->param('timestamp') ), dateformat => 'iso', dateonly => 1 });
+my $publicationdate= output_pref({ dt => dt_from_string( scalar $cgi->param('publicationdate') ), dateformat => 'iso', dateonly => 1 });
 my $number         = $cgi->param('number');
 my $lang           = $cgi->param('lang');
 my $branchcode     = $cgi->param('branch');
@@ -109,7 +109,7 @@ elsif ( $op eq 'add' ) {
                 content        => $content,
                 lang           => $lang,
                 expirationdate => $expirationdate,
-                timestamp      => $timestamp,
+                publicationdate=> $publicationdate,
                 number         => $number,
                 branchcode     => $branchcode,
                 borrowernumber => $borrowernumber,
@@ -129,7 +129,7 @@ elsif ( $op eq 'edit' ) {
             content        => $content,
             lang           => $lang,
             expirationdate => $expirationdate,
-            timestamp      => $timestamp,
+            publicationdate=> $publicationdate,
             number         => $number,
             branchcode     => $branchcode,
         }