Fix 0 quantity not displayed
[order_line_extra.git] / item_schedule.php
index eaa9c2ecf2865c7f332435a7887229f9010d29c4..5e893b9894ab1bfd6b453435a4652e0e6ed40d88 100644 (file)
@@ -19,8 +19,11 @@ include_once($path_to_root . "/reporting/includes/reporting.inc");
 
 //include_once("includes/item_scheduler.inc");
 include_once("hincludes/lib/php/Boot.class.php");
+include_once("includes/db_order_lines.inc");
+include_once("includes/picking.inc");
+include_once("config.php");
 
-$page_security = 'SA_ORDERLINEX_EDIT';
+$page_security = 'SA_ORDERLINEX_SCHEDULE';
 add_access_extensions();
 
 $_SESSION['page_title'] = _($help_context = "Item schedule");
@@ -38,12 +41,6 @@ start_form();
 start_table(TABLESTYLE_NOBORDER);
 start_row();
 
-echo date('h:i:s <br>',time());
-?>GET<?php
-print_r($_GET);
-?>POST<?php
-print_r($_POST);
-
 if (!isset($_POST['stock_id'])) {
 if (isset($_GET['stock_id']))
 {
@@ -54,16 +51,18 @@ else {
        }
 }
 
-if (list_updated('stock_id') || in_ajax()) $Ajax->activate('item_schedule');
+if (list_updated('stock_id') || in_ajax()) $Ajax->activate('item_schedule') ;
+//else update_queue_quantities() && update_qoh_for_item();
+
 
 //if (!@$_GET['popup'])
 //     start_form();
 
 
 
+       stock_costable_items_list_cells(_("Item:"), 'stock_id', $_POST['stock_id']);
+// Needs to be done afterward  as it can modify the post variable
 $stock_id = $_POST['stock_id'];
-       stock_costable_items_list_cells(_("Item:"), 'stock_id', $stock_id);
-
 
 end_row();
 end_table(1);
@@ -71,20 +70,24 @@ if(isset($stock_id)) echo '<input type="hidden" name="last_stock_id" value="'.$s
 
 if(isset($_POST['Update'])) {
        $Ajax->activate('item_schedule');
-               echo 'youpiii';
        // Restore the parameters
-       /*
-       $params = $_SESSION['schedule_parameters'];
+       $params = new ScheduleParameters($_SESSION['schedule_parameters']);
        $params->setMode('update');
-       */
-       $params = null;
+}
+else if(isset($_POST['Cancel'])) {
+       $Ajax->activate('item_schedule');
+       $params = new ScheduleParameters($_SESSION['schedule_parameters']);
+       $params->setMode('cancel');
 }
 else {
        $params = in_ajax() && $stock_id == @$_POST['last_stock_id'] ? new ScheduleParameters($_POST) : null;
        // save parameters form update
-       $_SESSION['schedule_parameters'] = $params;
+       $_SESSION['schedule_parameters'] = $_POST;
 }
-$scheduler = new ItemScheduler($stock_id, 'DEF', $params);
+$scheduler = new ItemScheduler($stock_id, OrderXtraConfig::$default_location, $params);
+$scheduler->action();
+
+print("<center><h2>$stock_id</h2></center>");
 
 start_table(TABLESTYLE);
 $th = $scheduler->tableHeader();
@@ -116,7 +119,12 @@ tr.partial  td:nth-child(5) {
        background: pink;
 }
 
+
 tr.location {
+       font-weight: normal;
+               background: #bbb;
+}
+tr.picked {
        font-weight: normal;
                background: #8f8;
 }
@@ -126,11 +134,20 @@ tr.on_time {
 tr.late {
                background: #fc8;
 }
+tr.early {
+               background: #def;
+               color: blue;
+}
 
 tr.soldout {
                background: pink;
 }
 
+tr.expired td:nth-child(7) {
+       background: #444;
+       color: white;
+}
+
 tr.tDnD_whileDrag {
        background: #ccc;
        border: 2px solid black;
@@ -139,11 +156,22 @@ tr.tDnD_whileDrag :nth-child(4), tr.tDnD_whileDrag :nth-child(5) {
        color: transparent;
        background: transparent;
 }
+
+span.picked {
+       color: black;
+       font-weight: bold;
+}
+
+tr.partial span.pickable {
+       background: #cfc;
+}
+span.partial  {
+       background: transparent;
+}
 </style>
 <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
 <script src="js/jquery.tablednd.0.8.min.js"></script>
 <script text="text/javascript">
-       console.log('hello')
        /**  add table DnD as behavior **/
        function onDragStart (table, row) {
        console.log(table)
@@ -171,6 +199,15 @@ tr.tDnD_whileDrag :nth-child(4), tr.tDnD_whileDrag :nth-child(5) {
                
        }
 
+       function onPick(element) {
+               /* horible hack but it works */
+               /* in the way it call an Ajax request */
+               var row = $(element).closest('tr')[0];
+               var table = $(element).closest('table')[0];
+               onDrop(table, row);
+               
+       }
+
        var inserts = {
                '#item_schedule table': function (e) { 
                        $(e).tableDnD({onDragStart: onDragStart, onDrop: onDrop})