MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
***********************************************************************/
-/* Author Rob Mallon */
$page_security = 'SA_RECONCILE';
$path_to_root = "..";
include($path_to_root . "/includes/db_pager.inc");
include_once($path_to_root . "/includes/banking.inc");
$js = "";
-if ($use_popup_windows)
+if ($SysPrefs->use_popup_windows)
$js .= get_js_open_window(800, 500);
-if ($use_date_picker)
+if (user_use_date_picker())
$js .= get_js_date_picker();
add_js_file('reconcile.js');
$value = $row['reconciled'] != '';
// save also in hidden field for testing during 'Reconcile'
- return checkbox(null, $name, $value, true, _('Reconcile this transaction'))
- . hidden($hidden, $value, false);
+ return is_closed_trans($row['type'], $row['trans_no']) ? "--" : checkbox(null, $name, $value, true, _('Reconcile this transaction'))
+ . hidden($hidden, $value, false);
}
function systype_name($dummy, $type)
return $value>0 ? price_format($value) : '';
}
-function fmt_person($row)
+function fmt_person($trans)
{
return get_counterparty_name($trans["type"], $trans["trans_no"]);
}
-$update_pager = false;
+function fmt_memo($row)
+{
+ $value = $row["memo_"];
+ return $value;
+}
+
function update_data()
{
- global $Ajax, $update_pager;
+ global $Ajax;
unset($_POST["beg_balance"]);
unset($_POST["end_balance"]);
$Ajax->activate('summary');
- $update_pager = true;
}
//---------------------------------------------------------------------------------------------
// Update db record if respective checkbox value has changed.
return true;
}
+function set_tpl_flag($reconcile_id)
+{
+ global $Ajax;
+
+ if (check_value("rec_".$reconcile_id))
+ return;
+
+ if (get_post('bank_date')=='') // new reconciliation
+ $Ajax->activate('bank_date');
+
+ $_POST['bank_date'] = date2sql(get_post('reconcile_date'));
+ $reconcile_value = ("'".$_POST['bank_date'] ."'");
+
+ update_reconciled_values($reconcile_id, $reconcile_value, $_POST['reconcile_date'],
+ input_num('end_balance'), $_POST['bank_account']);
+
+ $Ajax->activate('reconciled');
+ $Ajax->activate('difference');
+}
+
if (!isset($_POST['reconcile_date'])) { // init page
$_POST['reconcile_date'] = new_doc_date();
// $_POST['bank_date'] = date2sql(Today());
if ($id != -1)
change_tpl_flag($id);
-if (isset($_POST['Reconcile'])) {
+
+if (isset($_POST['last']) && isset($_POST['Reconcile'])) {
set_focus('bank_date');
foreach($_POST['last'] as $id => $value)
if ($value != check_value('rec_'.$id))
if(!change_tpl_flag($id)) break;
+
+ $Ajax->activate('_page_body');
+}
+
+if (isset($_POST['last']) && isset($_POST['ReconcileAll'])) {
+ set_focus('bank_date');
+ foreach($_POST['last'] as $id => $value)
+ set_tpl_flag($id);
+
$Ajax->activate('_page_body');
}
if (!isset($_POST['bank_account']))
$_POST['bank_account'] = "";
-$sql = get_sql_for_bank_account_reconcile($_POST['bank_account'], get_post('reconcile_date'));
+$sql = get_sql_for_bank_account_reconcile(get_post('bank_account'), get_post('reconcile_date'));
$act = get_bank_account($_POST["bank_account"]);
display_heading($act['bank_account_name']." - ".$act['bank_curr_code']);
_("Debit") => array('align'=>'right', 'fun'=>'fmt_debit'),
_("Credit") => array('align'=>'right','insert'=>true, 'fun'=>'fmt_credit'),
_("Person/Item") => array('fun'=>'fmt_person'),
+ _("Memo") => array('fun'=>'fmt_memo'),
array('insert'=>true, 'fun'=>'gl_view'),
"X"=>array('insert'=>true, 'fun'=>'rec_checkbox')
);
display_db_pager($table);
br(1);
-submit_center('Reconcile', _("Reconcile"), true, '', null);
-
+echo '<center>';
+submit('Reconcile', _("Reconcile"), true, '', null);
+submit('ReconcileAll', _("Reconcile All"), true, '');
+echo '</center>';
end_form();
//------------------------------------------------------------------------------------------------
end_page();
-?>
\ No newline at end of file