Support disabling products
authorJoey Schulze <joey@infodrom.org>
Fri, 24 Jan 2014 12:09:44 +0000 (13:09 +0100)
committerJoey Schulze <joey@infodrom.org>
Fri, 24 Jan 2014 12:09:44 +0000 (13:09 +0100)
 . Add boolean column for product
 . Display only not disabled products for prospective orders
 . Display disabled products as well for past orders

artikel.php
ordersatz.php
ordersatz_pos.php

index aa135b0..12aabbd 100644 (file)
@@ -239,6 +239,10 @@ $mask = array(
                                            'size' => 21,
                                            'null' => true,
                                            ),
+                             'removed' => array(
+                                           'name' => 'Artikel nicht mehr im Programm',
+                                           'type' => 'boolean',
+                                           ),
                              'buttons' => array(
                                            'type' => 'html',
                                            'code' => $buttons,
index 01b5c09..b70b3f0 100644 (file)
@@ -109,7 +109,8 @@ function ordersatz_insert($id)
 {
   global $db;
 
-  $sql = sprintf("INSERT INTO metro_ordersatz_pos (ordersatz,artikel,sys_user,sys_edit) SELECT %d,id,%s,now() FROM metro_artikel",
+  $sql = sprintf("INSERT INTO metro_ordersatz_pos (ordersatz,artikel,sys_user,sys_edit) SELECT %d,id,%s,now() " .
+                "FROM metro_artikel WHERE removed = 0",
                 $id, $db->quote($_SESSION['sys']['login']));
 
   $sth = $db->query($sql);
index 942cae4..8bb8cd1 100644 (file)
@@ -127,7 +127,7 @@ function get_title($id)
 $mask = array(
              'table' => 'metro_ordersatz',
              'join' => array('metro_ordersatz_pos ON ordersatz = metro_ordersatz.id',
-                             'metro_artikel ON artikel = metro_artikel.id'),
+                             'metro_artikel ON artikel = metro_artikel.id AND removed = 0'),
              'title' => get_title($_SESSION['ordersatz']),
              'edit_title' => 'Ordersatz',
              'where' => sprintf('ordersatz = %d AND owner = %d', $_SESSION['ordersatz'], $_SESSION['sys']['uid']),
@@ -227,7 +227,10 @@ $mask = array(
                                 ),
              );
 
-if ($done) unset($mask['edit']);
+if ($done) {
+  unset($mask['edit']);
+  $mask['join'] = str_replace(' AND removed = 0','',$mask['join']);
+}
 
 function cb_cellsave()
 {