Bei Waren das Feld 'Erneuert am' sinnvoll behandeln.
authorMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 18 May 2009 08:59:39 +0000 (08:59 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 18 May 2009 08:59:39 +0000 (08:59 +0000)
1. Das Feld ist nun read-only; den eh nicht funktionablen Button für den Kalender entfernt.
2. Es wird beim Speichern explizit überprüft, ob sich mindestens einer der Preise verändert hat, und falls ja, so wird das Feld auf den aktuellen Datumswert gesetzt.

SL/IC.pm
templates/webpages/ic/form_header_de.html
templates/webpages/ic/form_header_master.html

index a936034..fdeecc4 100644 (file)
--- a/SL/IC.pm
+++ b/SL/IC.pm
@@ -308,6 +308,8 @@ sub save {
 
   my ($query, $sth);
 
+  my $priceupdate = ', priceupdate = current_date';
+
   if ($form->{id}) {
 
     # get old price
@@ -338,6 +340,15 @@ sub save {
     # delete translations
     do_query($form, $dbh, qq|DELETE FROM translation WHERE parts_id = ?|, conv_i($form->{id}));
 
+    # Check whether or not the prices have changed. If they haven't
+    # then 'priceupdate' should not be updated.
+    my $previous_values = selectfirst_hashref_query($form, $dbh, qq|SELECT * FROM parts WHERE id = ?|, conv_i($form->{id})) || {};
+    if (   ($previous_values->{sellprice} == $form->{sellprice})
+        && ($previous_values->{lastcost}  == $form->{lastcost})
+        && ($previous_values->{listprice} == $form->{listprice})) {
+      $priceupdate = '';
+    }
+
   } else {
     my ($count) = selectrow_query($form, $dbh, qq|SELECT COUNT(*) FROM parts WHERE partnumber = ?|, $form->{partnumber});
     if ($count) {
@@ -393,7 +404,6 @@ sub save {
          sellprice = ?,
          lastcost = ?,
          weight = ?,
-         priceupdate = ?,
          unit = ?,
          notes = ?,
          formel = ?,
@@ -415,6 +425,7 @@ sub save {
          microfiche = ?,
          partsgroup_id = ?,
          price_factor_id = ?
+         $priceupdate
        WHERE id = ?|;
   @values = ($form->{partnumber},
              $form->{description},
@@ -424,7 +435,6 @@ sub save {
              $form->{sellprice},
              $form->{lastcost},
              $form->{weight},
-             conv_date($form->{priceupdate}),
              $form->{unit},
              $form->{notes},
              $form->{formel},
index 7a14a5a..c7e3146 100644 (file)
           <tr>
            <th align="right" nowrap="true">Erneuert am</th>
            <td>
-            <input name="priceupdate" id="priceupdate" size="11"  title="[% HTML.escape(dateformat) %]" value="[% HTML.escape(priceupdate) %]">
-            <input type="button" name="priceupdate" id="trigger1" value="?">
+            <input name="priceupdate" id="priceupdate" size="11"  title="[% HTML.escape(dateformat) %]" value="[% HTML.escape(priceupdate) %]" readonly>
            </td>
           </tr>
 
index bbb87d3..2d2f947 100644 (file)
           <tr>
            <th align="right" nowrap="true"><translate>Updated</translate></th>
            <td>
-            <input name="priceupdate" id="priceupdate" size="11"  title="[% HTML.escape(dateformat) %]" value="[% HTML.escape(priceupdate) %]">
-            <input type="button" name="priceupdate" id="trigger1" value="?">
+            <input name="priceupdate" id="priceupdate" size="11"  title="[% HTML.escape(dateformat) %]" value="[% HTML.escape(priceupdate) %]" readonly>
            </td>
           </tr>