71eebdd08be05be0d291d6a66417d2dd9414e5b8
[order_line_extra.git] / includes / order_lines.inc
1 <?php
2 include_once($path_to_root."/includes/ui/ui_input.inc");
3
4 function update_extra_order_details() {
5         if(!isset($_POST['Update']) || $_POST['Update'] != 'Update')  return;
6
7 begin_transaction();
8         // update in database all field
9         foreach($_POST['detail'] as $detail_id => $values) {
10                 $set = array();
11                 if($comment = $values['comment'])  array_push($set, " comment='$comment' ");
12                 if(isset($values['required_date'])) {
13                         $required_date = trim($values['required_date']);
14                         if($required_date == "")  {
15                                 array_push($set," required_date = NULL");
16                         } else {
17                                 $date = date2sql($required_date);
18                                 array_push($set," required_date='$date' ");
19                         }
20                 }
21
22                 if(!empty($set))  {
23                         $sql = "UPDATE ".TB_PREF."sales_order_details  SET ".implode($set,', ')."  WHERE id = $detail_id ";
24                         
25                         if(!db_query($sql)) {
26                                 display_error('Problem while updating order details. Try again');
27                                 cancel_transaction();
28                                 return;
29                         }
30                 }
31         
32         }
33
34         display_notification('Order details updated');
35
36 }
37
38 function compute_input_name($row, $field) {
39         $row_id = $row['id'];
40         return "detail[$row_id][$field]";
41 }
42
43 function view_link($dummy, $order_no)
44 {
45         return  get_customer_trans_view_str(ST_SALESORDER, $order_no);
46 }
47
48 function order_link($row)
49 {
50   return pager_link( _("Sales Order"),
51         "/sales/sales_order_entry.php?NewQuoteToSalesOrder=" .$row['order_no'], ICON_DOC);
52 }
53
54 function input_date_details($row, $date) {
55 $row_id = $row['id'];
56         $name = compute_input_name($row, 'required_date');
57
58 $_POST[$name] = sql2date($date);
59
60         start_extract_cell();
61                 date_cells (null, $name, 'title', null, 0,0,1001);
62         return end_extract_cell();
63
64
65         return "
66 <input type='text' value='$date' name='$name'>
67 ";
68 }
69
70 function input_comment_details($row, $comment) {
71 $row_id = $row['id'];
72         return "
73 <input type='text' value='$comment' name='detail[$row_id][comment]'>
74 ";
75 }
76
77 function get_order_details_extra($customer_id) {
78         $sql = "SELECT sod.id
79         , so.order_no
80         , stk_code
81         , quantity - qty_sent
82         , required_date
83         , comment
84         FROM ".TB_PREF."sales_order_details sod
85         JOIN ".TB_PREF."sales_orders so ON (so.order_no = sod.order_no
86                 AND so.trans_type = sod.trans_type
87                 AND so.debtor_no = $customer_id
88         )
89         WHERE quantity > qty_sent
90         ";
91
92         return $sql;
93 }
94 ?>