X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;f=assistants%2Fsell.inc.php;h=268f88f54db304bfd312fa688b60755d9524301e;hb=7c1f53f75b0c7fc77877f924ded2b37ac4c3ffad;hp=4bdfbfd2a6b5a907a45ee436ad99f0b1d97f669a;hpb=35916247a3b7ed49d0dc758ebdf76cf636763d2c;p=mirrors%2FSokoMan.git diff --git a/assistants/sell.inc.php b/assistants/sell.inc.php index 4bdfbfd..268f88f 100644 --- a/assistants/sell.inc.php +++ b/assistants/sell.inc.php @@ -1,24 +1,84 @@ html->form("$URL/2", 'GET', array( - array('serial','','text',false,'autofocus','item_serial:'), - array(false,'SELL','submit') + array('serial',$serial,'text',false,'autofocus','item_serial:'), + array('quantity','1','text',false,false,'quantity:'), + array(false,$button_label,'submit') )); break; case 2: - $item_id = $this->db->map_unique('item_serial', $_GET['serial'], 'item_id', 'item'); - $columns = $this->db->get_columns('item'); - $selectbox = $this->db->columns_get_selectbox($columns, 'item'); + $item_serial = $_GET['serial']; + $item_id = $this->db->map_unique('item_serial', $item_serial, 'item_id', 'item'); $current = $this->db->get_listing('item', $item_id, 1); - $current[$item_id]['status_id'] = 3; + $current[$item_id]['item_author'] = $this->db->auth->get_user_id(); + $forked_item = $current; + + $barcode_id = $this->db->map_unique('item_id', $item_id, 'barcode_id', 'item'); + $model_id = $this->db->map_unique('barcode_id', $barcode_id, 'model_id', 'barcode'); + $model_price_in = $this->db->map_unique('model_id', $model_id, 'model_price_in', 'model'); + $model_price_out = $this->db->map_unique('model_id', $model_id, 'model_price_out', 'model'); + + $model_countable = $this->db->map_unique('model_id', $model_id, 'model_countable', 'model'); + if($model_countable) { + $current[$item_id]['status_id'] = $status_id; + $current[$item_id]['item_customer'] = $item_customer; + $item_quantity = 1; + $current[$item_id]['item_price_out'] = $model_price_out; + $current[$item_id]['item_date_sold'] = date('Y-m-d'); + $hide_cols = $hide_cols_common; + } else { + $hide_cols = array_merge($hide_cols_common,array('item_price_out','item_note','item_customer','item_date_sold','location_id')); + $quantity_removed = $_GET['quantity']; + if($quantity_removed <= 0) $this->post_redirect_get("$URL_INTERNAL/1","Can't dispose non-possitive amount of items!"); + if(!is_numeric($quantity_removed)) $quantity_removed = 1; + $quantity_stored = $this->db->map_unique('item_serial', $item_serial, 'item_quantity', 'item', false); + if(!is_numeric($quantity_stored)) $quantity_stored = 0; + $item_quantity = $quantity_stored - $quantity_removed; + if($item_quantity < 0) $this->post_redirect_get("$URL_INTERNAL/1","You don't have enough stored items!"); + + + echo("Stock: ".$quantity_stored."
Disposing/Selling: ".$quantity_removed."
Keeping: ".$item_quantity); + + $current[$item_id]['item_quantity'] = $item_quantity; + $current[$item_id]['item_price_in'] -= $quantity_removed * $model_price_in; + $current[$item_id]['item_price_out'] -= $quantity_removed * $model_price_out; + + $forked_item[$item_id]['item_id'] = ''; + $forked_item[$item_id]['item_serial'] .= '@'.time(); + $forked_item[$item_id]['status_id'] = $status_id; + $forked_item[$item_id]['item_quantity'] = $quantity_removed; + $forked_item[$item_id]['item_price_in'] = $quantity_removed * $model_price_in; + $forked_item[$item_id]['item_price_out'] = $quantity_removed * $model_price_out; + $forked_item[$item_id]['item_customer'] = $item_customer; + $forked_item[$item_id]['item_date_sold'] = date('Y-m-d'); + + $forked_hide_cols = array_merge($hide_cols_common,array('item_price_out')); + } + + $columns = $this->db->get_columns('item'); + $selectbox = $this->db->columns_get_selectbox($columns, 'item'); $action = $_SERVER['SCRIPT_NAME']."/item/$item_id/edit"; - echo $this->html->render_insert_form('item', $columns, $selectbox, $current, false, $action); + //echo $this->html->render_insert_form('item', $columns, $selectbox, $current, $hide_cols, $action); + + $insert_form[]=array('item', $columns, $selectbox, $current, $hide_cols, $action, false); + if(!$model_countable) $insert_form[]=array('item', $columns, $selectbox, $forked_item, $forked_hide_cols, $action, false); + echo $this->html->render_insert_form_multi($insert_form); break; }