X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;f=assistants%2Fsell.inc.php;h=268f88f54db304bfd312fa688b60755d9524301e;hb=7c1f53f75b0c7fc77877f924ded2b37ac4c3ffad;hp=20444e06819f83f8918840bcd8dfb745d312b2e1;hpb=253705f2193c14e1f4162a37e8d1550d79efe5ec;p=mirrors%2FSokoMan.git
diff --git a/assistants/sell.inc.php b/assistants/sell.inc.php
index 20444e0..268f88f 100644
--- a/assistants/sell.inc.php
+++ b/assistants/sell.inc.php
@@ -10,12 +10,13 @@ if(!isset($item_customer)) $item_customer = '';
if(!isset($hide_cols_additional)) $hide_cols_additional = array();
$button_label = strtoupper($ASSISTANT);
-$hide_cols_common = array_merge($hide_cols_additional,array('status_id','item_price_in','item_serial','item_quantity','model_id','vendor_id','room_id'));
+$hide_cols_common = array_merge($hide_cols_additional,array('status_id','item_price_in','item_serial','item_quantity','model_id','vendor_id','room_id','item_date_bought'));
switch($SUBPATH[0]) {
default: case 1:
+ $serial = isset($_GET['serial']) ? htmlspecialchars($_GET['serial']) : ''; //TODO: XSS
echo $this->html->form("$URL/2", 'GET', array(
- array('serial','','text',false,'autofocus','item_serial:'),
+ array('serial',$serial,'text',false,'autofocus','item_serial:'),
array('quantity','1','text',false,false,'quantity:'),
array(false,$button_label,'submit')
));
@@ -28,7 +29,8 @@ switch($SUBPATH[0]) {
$current[$item_id]['item_author'] = $this->db->auth->get_user_id();
$forked_item = $current;
- $model_id = $this->db->map_unique('item_serial', $item_serial, 'model_id', 'item');
+ $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');
@@ -37,23 +39,25 @@ switch($SUBPATH[0]) {
$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_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'));
+ $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'] = $item_quantity * $model_price_in;
- $current[$item_id]['item_price_out'] = $item_quantity * $model_price_out;
+ $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();
@@ -62,6 +66,7 @@ switch($SUBPATH[0]) {
$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'));
}