Commit | Line | Data |
---|---|---|
ec28d06c | 1 | <?php |
d0e7939c TM |
2 | //TODO: Merge SELL and DISPOSE to single file with parameter! |
3 | //TODO: Highlight fields that should be filled (and maybe even check them when submited) | |
4 | //TODO: Add support for selling/disposing multiple items at once... | |
5 | //TODO: Reuse /item/$item_id/edit | |
6 | //TODO: Stop using map_unique()!!! | |
de77377e | 7 | switch($SUBPATH[0]) { |
ec28d06c | 8 | default: case 1: |
35916247 TM |
9 | echo $this->html->form("$URL/2", 'GET', array( |
10 | array('serial','','text',false,'autofocus','item_serial:'), | |
d0e7939c | 11 | array('quantity','1','text',false,false,'quantity:'), |
35916247 TM |
12 | array(false,'DISPOSE','submit') |
13 | )); | |
ec28d06c TM |
14 | break; |
15 | case 2: | |
d0e7939c TM |
16 | $item_serial = $_GET['serial']; |
17 | $item_id = $this->db->map_unique('item_serial', $item_serial, 'item_id', 'item'); | |
ec28d06c TM |
18 | |
19 | $current = $this->db->get_listing('item', $item_id, 1); | |
b895e8ea | 20 | $current[$item_id]['item_customer'] = 0; |
ec28d06c | 21 | |
d0e7939c TM |
22 | $disable_cols = array('status_id','item_price_in','item_customer','item_serial','item_quantity','model_id','vendor_id','room_id'); |
23 | ||
24 | $model_id = $this->db->map_unique('item_serial', $item_serial, 'model_id', 'item'); | |
25 | $model_price_in = $this->db->map_unique('model_id', $model_id, 'model_price_in', 'model'); | |
26 | $model_price_out = $this->db->map_unique('model_id', $model_id, 'model_price_out', 'model'); | |
27 | ||
28 | if($this->db->map_unique('model_id', $model_id, 'model_countable', 'model')) { | |
29 | $current[$item_id]['status_id'] = 2; | |
30 | $item_quantity = 1; | |
31 | $current[$item_id]['item_price_out'] = $model_price_out; | |
32 | } else { | |
33 | $disable_cols = array_merge($disable_cols,array('item_price_out')); | |
34 | $quantity_removed = $_GET['quantity']; | |
35 | if($quantity_removed <= 0) $this->post_redirect_get("$URL_INTERNAL/1","Can't dispose non-possitive amount of items!"); | |
36 | if(!is_numeric($quantity_removed)) $quantity_removed = 1; | |
37 | $quantity_stored = $this->db->map_unique('item_serial', $item_serial, 'item_quantity', 'item', false); | |
38 | if(!is_numeric($quantity_stored)) $quantity_stored = 0; | |
39 | echo("Quantity stored: ".$quantity_stored); | |
40 | ||
41 | $item_quantity = $quantity_stored - $quantity_removed; | |
42 | $current[$item_id]['item_quantity'] = $item_quantity; | |
43 | ||
44 | $current[$item_id]['item_price_in'] = $item_quantity * $model_price_in; | |
45 | $current[$item_id]['item_price_out'] = $item_quantity * $model_price_out; | |
46 | } | |
47 | ||
48 | $columns = $this->db->get_columns('item'); | |
49 | $selectbox = $this->db->columns_get_selectbox($columns, 'item'); | |
50 | ||
ec28d06c | 51 | $action = $_SERVER['SCRIPT_NAME']."/item/$item_id/edit"; |
d0e7939c TM |
52 | //echo $this->html->render_insert_form('item', $columns, $selectbox, $current, $disable_cols, $action); |
53 | echo $this->html->render_insert_form_multi(array( | |
54 | //array('item', $columns, $selectbox, $current, $disable_cols, $action), | |
55 | array('item', $columns, $selectbox, $current, $disable_cols, $action) | |
56 | )); | |
ec28d06c TM |
57 | break; |
58 | } |