projects
/
fa-stable.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
b9c390e
)
Added missing due date on direct invoice entry.
author
Janusz Dobrowolski
<janusz@frontaccounting.eu>
Fri, 12 Nov 2010 11:36:25 +0000
(11:36 +0000)
committer
Janusz Dobrowolski
<janusz@frontaccounting.eu>
Fri, 12 Nov 2010 11:36:25 +0000
(11:36 +0000)
purchasing/includes/db/invoice_db.inc
patch
|
blob
|
history
purchasing/includes/po_class.inc
patch
|
blob
|
history
purchasing/includes/supp_trans_class.inc
patch
|
blob
|
history
purchasing/includes/ui/invoice_ui.inc
patch
|
blob
|
history
purchasing/includes/ui/po_ui.inc
patch
|
blob
|
history
purchasing/po_entry_items.php
patch
|
blob
|
history
diff --git
a/purchasing/includes/db/invoice_db.inc
b/purchasing/includes/db/invoice_db.inc
index a35ae8b5203853f17c3dd8eaa4547dd8a6e12900..4094e449d101c53bd0af6f9fbbfb55fbe74c7a35 100644
(file)
--- a/
purchasing/includes/db/invoice_db.inc
+++ b/
purchasing/includes/db/invoice_db.inc
@@
-32,17
+32,13
@@
function read_supplier_details_to_trans(&$supp_trans, $supplier_id)
$supp_trans->supplier_id = $supplier_id;
$supp_trans->tax_included = $myrow['tax_included'];
$supp_trans->supplier_name = $myrow['supp_name'];
$supp_trans->supplier_id = $supplier_id;
$supp_trans->tax_included = $myrow['tax_included'];
$supp_trans->supplier_name = $myrow['supp_name'];
- $supp_trans->terms_description = $myrow['terms'];
+ $supp_trans->terms = array(
+ 'description' => $myrow['terms'],
+ 'days_before_due' => $myrow['days_before_due'],
+ 'day_in_following_month' => $myrow['day_in_following_month'] );
+
$supp_trans->credit = $myrow['cur_credit'];
$supp_trans->credit = $myrow['cur_credit'];
- if ($myrow['days_before_due'] == 0)
- {
- $supp_trans->terms = "1" . $myrow['day_in_following_month'];
- }
- else
- {
- $supp_trans->terms = "0" . $myrow['days_before_due'];
- }
$supp_trans->tax_description = $myrow['tax_group_name'];
$supp_trans->tax_group_id = $myrow['tax_group_id'];
$supp_trans->tax_description = $myrow['tax_group_name'];
$supp_trans->tax_group_id = $myrow['tax_group_id'];
@@
-350,7
+346,6
@@
function add_supp_invoice($supp_trans, $invoice_no=0) // do not receive as ref b
}
}
}
}
-
commit_transaction();
return $invoice_id;
commit_transaction();
return $invoice_id;
diff --git
a/purchasing/includes/po_class.inc
b/purchasing/includes/po_class.inc
index fa8961935661a9be7f9caba60f67ca3102ebee5a..c9ab5b0785570bb935c906e3976cd9c2d966535d 100644
(file)
--- a/
purchasing/includes/po_class.inc
+++ b/
purchasing/includes/po_class.inc
@@
-25,12
+25,14
@@
class purch_order
var $supplier_id;
var $supplier_name;
var $orig_order_date;
var $supplier_id;
var $supplier_name;
var $orig_order_date;
+ var $due_date;
var $order_no; /*Only used for modification of existing orders otherwise only established when order committed */
var $lines_on_order = 0;
var $credit;
var $tax_group_id;
var $tax_group_array = null; // saves db queries
var $tax_included; // type of prices
var $order_no; /*Only used for modification of existing orders otherwise only established when order committed */
var $lines_on_order = 0;
var $credit;
var $tax_group_id;
var $tax_group_array = null; // saves db queries
var $tax_included; // type of prices
+ var $terms;
var $reference;
var $reference;
diff --git
a/purchasing/includes/supp_trans_class.inc
b/purchasing/includes/supp_trans_class.inc
index 21e5e5fbb32d3846593f9f8de5615c6b578052ca..130354d7142516a28303246d7f4e9cf7fd2da9da 100644
(file)
--- a/
purchasing/includes/supp_trans_class.inc
+++ b/
purchasing/includes/supp_trans_class.inc
@@
-21,7
+21,6
@@
class supp_trans
var $gl_codes; /*array of objects of class gl_codes using a counter as the pointer */
var $supplier_id;
var $supplier_name;
var $gl_codes; /*array of objects of class gl_codes using a counter as the pointer */
var $supplier_id;
var $supplier_name;
- var $terms_description;
var $terms;
var $tax_description;
var $terms;
var $tax_description;
diff --git
a/purchasing/includes/ui/invoice_ui.inc
b/purchasing/includes/ui/invoice_ui.inc
index c1600229c8a55ca379248416899f6704351cb604..41ae4b3ba366dc2b791408789f2424e6293e7625 100644
(file)
--- a/
purchasing/includes/ui/invoice_ui.inc
+++ b/
purchasing/includes/ui/invoice_ui.inc
@@
-111,7
+111,7
@@
function invoice_header(&$supp_trans)
date_row(_("Due Date") . ":", 'due_date');
date_row(_("Due Date") . ":", 'due_date');
- label_row(_("Terms:"), $supp_trans->terms
_description
);
+ label_row(_("Terms:"), $supp_trans->terms
['description']
);
table_section(3, "33%");
table_section(3, "33%");
@@
-558,19
+558,22
@@
function display_grn_items(&$supp_trans, $mode=0)
}
//--------------------------------------------------------------------------------------------------
}
//--------------------------------------------------------------------------------------------------
-function get_duedate_from_terms(&$
supp_
trans)
+function get_duedate_from_terms(&$trans)
{
{
- if (!is_date($supp_trans->tran_date))
+ $date = get_class($trans) == 'purch_order' ? $trans->orig_order_date : $trans->tran_date;
+
+ if (!is_date($date))
{
{
- $
supp_trans->tran_
date = Today();
+ $date = Today();
}
}
- if (
substr( $supp_trans->terms, 0, 1) == "1"
)
+ if (
$trans->terms['day_in_following_month']
)
{ /*Its a day in the following month when due */
{ /*Its a day in the following month when due */
- $supp_trans->due_date = add_days(end_month($supp_trans->tran_date), (int) substr( $supp_trans->terms,1));
+ $trans->due_date =
+ add_days(end_month($date), $trans->terms["day_in_following_month"]);
}
else
{ /*Use the Days Before Due to add to the invoice date */
}
else
{ /*Use the Days Before Due to add to the invoice date */
- $
supp_trans->due_date = add_days($supp_trans->tran_date, (int) substr( $supp_trans->terms,1)
);
+ $
trans->due_date = add_days($date, $trans->terms["days_before_due"]
);
}
}
}
}
diff --git
a/purchasing/includes/ui/po_ui.inc
b/purchasing/includes/ui/po_ui.inc
index f379573d570996269463431c69c328385e57fc6d..10dd7c5f8e9aa21d47f8ccd94d9a2e1fea34811e 100644
(file)
--- a/
purchasing/includes/ui/po_ui.inc
+++ b/
purchasing/includes/ui/po_ui.inc
@@
-19,6
+19,8
@@
function copy_from_cart()
$_POST['supplier_id'] = $cart->supplier_id;
$_POST['OrderDate'] = $cart->orig_order_date;
$_POST['supplier_id'] = $cart->supplier_id;
$_POST['OrderDate'] = $cart->orig_order_date;
+ if ($cart->trans_type==ST_SUPPINVOICE)
+ $_POST['due_date'] = $cart->due_date;
$_POST['supp_ref'] = $cart->supp_ref;
$_POST['ref'] = $cart->reference;
$_POST['Comments'] = $cart->Comments;
$_POST['supp_ref'] = $cart->supp_ref;
$_POST['ref'] = $cart->reference;
$_POST['Comments'] = $cart->Comments;
@@
-32,6
+34,8
@@
function copy_to_cart()
$cart->supplier_id = $_POST['supplier_id'];
$cart->orig_order_date = $_POST['OrderDate'];
$cart->supplier_id = $_POST['supplier_id'];
$cart->orig_order_date = $_POST['OrderDate'];
+ if ($cart->trans_type==ST_SUPPINVOICE)
+ $cart->due_date = $_POST['due_date'];
$cart->reference = $_POST['ref'];
$cart->supp_ref = $_POST['supp_ref'];
$cart->Comments = $_POST['Comments'];
$cart->reference = $_POST['ref'];
$cart->supp_ref = $_POST['supp_ref'];
$cart->Comments = $_POST['Comments'];
@@
-44,10
+48,12
@@
function get_supplier_details_to_order(&$order, $supplier_id)
{
$sql = "SELECT curr_code, supp_name, tax_group_id, supp.tax_included,
supp.credit_limit - Sum(IFNULL(IF(trans.type=".ST_SUPPCREDIT.", -1, 1)
{
$sql = "SELECT curr_code, supp_name, tax_group_id, supp.tax_included,
supp.credit_limit - Sum(IFNULL(IF(trans.type=".ST_SUPPCREDIT.", -1, 1)
- * (ov_amount + ov_gst + ov_discount),0)) as cur_credit
+ * (ov_amount + ov_gst + ov_discount),0)) as cur_credit,
+ terms.terms, terms.days_before_due, terms.day_in_following_month
FROM ".TB_PREF."suppliers supp
LEFT JOIN ".TB_PREF."supp_trans trans ON supp.supplier_id = trans.supplier_id
FROM ".TB_PREF."suppliers supp
LEFT JOIN ".TB_PREF."supp_trans trans ON supp.supplier_id = trans.supplier_id
- WHERE supp.supplier_id = '$supplier_id'
+ LEFT JOIN ".TB_PREF."payment_terms terms ON supp.payment_terms=terms.terms_indicator
+ WHERE supp.supplier_id = ".db_escape($supplier_id)."
GROUP BY
supp.supp_name";
GROUP BY
supp.supp_name";
@@
-55,6
+61,11
@@
function get_supplier_details_to_order(&$order, $supplier_id)
$myrow = db_fetch($result);
$order->credit = $myrow["cur_credit"];
$myrow = db_fetch($result);
$order->credit = $myrow["cur_credit"];
+ $order->terms = array(
+ 'description' => $myrow['terms'],
+ 'days_before_due' => $myrow['days_before_due'],
+ 'day_in_following_month' => $myrow['day_in_following_month'] );
+
$_POST['supplier_id'] = $supplier_id;
$_POST['supplier_name'] = $myrow["supp_name"];
$_POST['curr_code'] = $myrow["curr_code"];
$_POST['supplier_id'] = $supplier_id;
$_POST['supplier_name'] = $myrow["supp_name"];
$_POST['curr_code'] = $myrow["curr_code"];
@@
-76,8
+87,9
@@
function create_new_po($trans_type, $trans_no)
$_POST['OrderDate'] = new_doc_date();
if (!is_date_in_fiscalyear($_POST['OrderDate']))
$_POST['OrderDate'] = end_fiscalyear();
$_POST['OrderDate'] = new_doc_date();
if (!is_date_in_fiscalyear($_POST['OrderDate']))
$_POST['OrderDate'] = end_fiscalyear();
- $cart->orig_order_date = $_POST['OrderDate'];
+ $cart->
due_date = $cart->
orig_order_date = $_POST['OrderDate'];
+
$cart->trans_type = $trans_type;
$cart->order_no = $trans_no;
/*read in all the selected order into the Items cart */
$cart->trans_type = $trans_type;
$cart->order_no = $trans_no;
/*read in all the selected order into the Items cart */
@@
-115,7
+127,10
@@
function display_po_header(&$order)
if ($order->supplier_id != get_post('supplier_id',-1)) {
$old_supp = $order->supplier_id;
if ($order->supplier_id != get_post('supplier_id',-1)) {
$old_supp = $order->supplier_id;
- get_supplier_details_to_order($order, $_POST['supplier_id']);
+ get_supplier_details_to_order($order, $_POST['supplier_id']);
+ get_duedate_from_terms($order);
+ $_POST['due_date'] = $order->due_date;
+
// supplier default price update
foreach ($order->line_items as $line_no=>$item) {
$line = &$order->line_items[$line_no];
// supplier default price update
foreach ($order->line_items as $line_no=>$item) {
$line = &$order->line_items[$line_no];
@@
-125,6
+140,7
@@
function display_po_header(&$order)
*get_purchase_conversion_factor ($order->supplier_id, $line->stock_id);
}
$Ajax->activate('items_table');
*get_purchase_conversion_factor ($order->supplier_id, $line->stock_id);
}
$Ajax->activate('items_table');
+ $Ajax->activate('due_date');
}
set_global_supplier($_POST['supplier_id']);
}
set_global_supplier($_POST['supplier_id']);
@@
-137,7
+153,6
@@
function display_po_header(&$order)
supplier_credit_row($order->supplier_id, $order->credit);
supplier_credit_row($order->supplier_id, $order->credit);
- table_section(2);
if ($editable)
{
if ($editable)
{
@@
-149,6
+164,8
@@
function display_po_header(&$order)
label_row(_("Reference:"), $order->reference);
}
label_row(_("Reference:"), $order->reference);
}
+ table_section(2);
+
// check this out?????????
//if (!isset($_POST['OrderDate']) || $_POST['OrderDate'] == "")
// $_POST['OrderDate'] = $order->orig_order_date;
// check this out?????????
//if (!isset($_POST['OrderDate']) || $_POST['OrderDate'] == "")
// $_POST['OrderDate'] = $order->orig_order_date;
@@
-160,8
+177,14
@@
function display_po_header(&$order)
//}
date_row(_("Order Date:"), 'OrderDate', '', true, 0, 0, 0, null, true);
if (isset($_POST['_OrderDate_changed'])) {
//}
date_row(_("Order Date:"), 'OrderDate', '', true, 0, 0, 0, null, true);
if (isset($_POST['_OrderDate_changed'])) {
+ $order->orig_order_date = $_POST['OrderDate'];
+ get_duedate_from_terms($order);
+ $_POST['due_date'] = $order->due_date;
$Ajax->activate('_ex_rate');
$Ajax->activate('_ex_rate');
+ $Ajax->activate('due_date');
}
}
+ if ($order->trans_type==ST_SUPPINVOICE)
+ date_row(_("Due Date:"), 'due_date', '', false, 0, 0, 0, null, true);
text_row(_("Supplier's Reference:"), 'supp_ref', null, 16, 15);
locations_list_row(_("Receive Into:"), 'StkLocation', null, false, true);
text_row(_("Supplier's Reference:"), 'supp_ref', null, 16, 15);
locations_list_row(_("Receive Into:"), 'StkLocation', null, false, true);
diff --git
a/purchasing/po_entry_items.php
b/purchasing/po_entry_items.php
index ce1d77973d43c3d4d59e34f03f81ac9df0ad298c..bffe486a78c4f198e5a933655989e1ee8c59ef91 100644
(file)
--- a/
purchasing/po_entry_items.php
+++ b/
purchasing/po_entry_items.php
@@
-332,6
+332,13
@@
function can_commit()
return false;
}
return false;
}
+ if (($_SESSION['PO']->trans_type==ST_SUPPINVOICE) && !is_date($_POST['due_date']))
+ {
+ display_error(_("The entered due date is invalid."));
+ set_focus('due_date');
+ return false;
+ }
+
if (!$_SESSION['PO']->order_no)
{
if (!$Refs->is_valid(get_post('ref')))
if (!$_SESSION['PO']->order_no)
{
if (!$Refs->is_valid(get_post('ref')))
@@
-423,16
+430,15
@@
function handle_commit_order()
$inv->Comments = $cart->Comments;
$inv->supplier_id = $cart->supplier_id;
$inv->tran_date = $cart->orig_order_date;
$inv->Comments = $cart->Comments;
$inv->supplier_id = $cart->supplier_id;
$inv->tran_date = $cart->orig_order_date;
+ $inv->due_date = $cart->due_date;
$inv->reference = $ref;
$inv->supp_reference = $cart->supp_ref;
$inv->tax_included = $cart->tax_included;
$supp = get_supplier($cart->supplier_id);
$inv->tax_group_id = $supp['tax_group_id'];
// $inv->ov_discount 'this isn't used at all'
$inv->reference = $ref;
$inv->supp_reference = $cart->supp_ref;
$inv->tax_included = $cart->tax_included;
$supp = get_supplier($cart->supplier_id);
$inv->tax_group_id = $supp['tax_group_id'];
// $inv->ov_discount 'this isn't used at all'
-// $inv->terms = not used, TODO
- $terms = $supp['payment_terms'];
$inv->ov_amount = $inv->ov_gst = 0;
$inv->ov_amount = $inv->ov_gst = 0;
- $inv->due_date = get_invoice_duedate($terms, $inv->tran_date);
+
foreach($cart->line_items as $key => $line) {
$inv->add_grn_to_trans($line->grn_item_id, $line->po_detail_rec, $line->stock_id,
$line->item_description, $line->receive_qty, 0, $line->receive_qty,
foreach($cart->line_items as $key => $line) {
$inv->add_grn_to_trans($line->grn_item_id, $line->po_detail_rec, $line->stock_id,
$line->item_description, $line->receive_qty, 0, $line->receive_qty,