From a1a4460e51a0a792f10df5d41eb43abc1f94ff4a Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Mon, 8 Dec 2008 16:12:41 +0000 Subject: [PATCH] Added helpers for list editor F4 calls. --- includes/ui/ui_controls.inc | 28 ++++++++++++++++++++++++++++ sales/sales_order_entry.php | 20 ++++++++------------ 2 files changed, 36 insertions(+), 12 deletions(-) diff --git a/includes/ui/ui_controls.inc b/includes/ui/ui_controls.inc index 7da7e2bc..d0231002 100644 --- a/includes/ui/ui_controls.inc +++ b/includes/ui/ui_controls.inc @@ -337,5 +337,33 @@ function context_reset() if (!isset($_SESSION['Context'])) { context_reset(); } +/* + Redirector for selector F4 calls. + $sel_editors is array of selname=>editor_page +*/ +function editor_redirect($sel_editors, $save_fun='') { + foreach ($sel_editors as $selname=>$editor) + if (isset($_POST['_'.$selname.'_editor'])) { + if (function_exists($save_fun)) + $save_fun(); + unset($_POST['_'.$selname.'_editor']); + context_call($editor, array_keys($_POST)); + } +} +/* + Return procedure for selector F4 calls +*/ +function editor_return($vars, $restore_fun='') { + if (function_exists($restore_fun)) + $restore_fun(); + + if ($ret = context_restore()) { + foreach ($vars as $postname=>$retname) + if (isset($ret[$retname])) { + $_POST[$postname] = $ret[$retname]; + set_focus($postname); + } + } +} ?> \ No newline at end of file diff --git a/sales/sales_order_entry.php b/sales/sales_order_entry.php index 6087665f..3ad5b199 100644 --- a/sales/sales_order_entry.php +++ b/sales/sales_order_entry.php @@ -28,18 +28,14 @@ include_once($path_to_root . "/sales/includes/db/sales_types_db.inc"); include_once($path_to_root . "/reporting/includes/reporting.inc"); $js = ''; -if ($ret = context_restore()) { - // return from new customer add - copy_from_cart(); - if(isset($ret['customer_id'])) - $_POST['customer_id'] = $ret['customer_id']; - if(isset($ret['branch_id'])) - $_POST['branch_id'] = $ret['branch_id']; -} -if (isset($_POST['_customer_id_editor'])) { - copy_to_cart(); //store context - context_call($path_to_root.'/sales/manage/customers.php?debtor_no='.$_POST['customer_id'], 'Items'); -} +editor_redirect( array( + 'customer_id' => $path_to_root.'/sales/manage/customers.php?debtor_no='.get_post('customer_id'), + 'branch_id' => $path_to_root.'/sales/manage/customer_branches.php?branch_id='.get_post('branch_id'), + )); + +editor_return( array( + 'customer_id'=>'customer_id', + 'branch_id'=>'branch_id')); if ($use_popup_windows) { $js .= get_js_open_window(900, 500); -- 2.30.2