X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=includes%2Fdata_checks.inc;h=272584c3270c7b0e0ccee3d78d5757bf829efb4f;hb=f911dbdc3b4be63c51c25cdf98cc0b7c2e54dffb;hp=798e84c4b5c10070a4526a2ccbc7a2ad987b0898;hpb=46c5f7a65a7659a44ae8254c63152074363d3987;p=fa-stable.git diff --git a/includes/data_checks.inc b/includes/data_checks.inc index 798e84c4..272584c3 100644 --- a/includes/data_checks.inc +++ b/includes/data_checks.inc @@ -41,6 +41,19 @@ function check_db_has_currencies($msg) } } +function db_has_currency_rates($currency, $date_, $msg=false) +{ + $date = date2sql($date_); + + if (is_company_currency($currency)) + return 1; + $ret = check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."exchange_rates WHERE curr_code = '$currency' && date_ <= '$date'"); + if ($ret == 0 && $msg) + display_error(sprintf(_("Cannot retrieve exchange rate for currency %s as of %s. Please add exchange rate manually on Exchange Rates page."), + $currency, $date_), true); + return $ret; +} + function db_has_sales_types() { return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."sales_types"); @@ -485,5 +498,45 @@ function check_num($postname, $min=null, $max=null, $dflt=0) { return 1; } +function check_is_closed($type, $type_no, $msg=null) +{ + global $systypes_array; + + if (($type_no > 0) && is_closed_trans($type, $type_no)) + { + if (!$msg) + $msg = sprintf(_("%s #%s is closed for further edition."), $systypes_array[$type], $type_no); + display_error($msg, true); + display_footer_exit(); + } +} + +function check_deferred_income_act($msg) +{ + global $path_to_root; + + if (!get_company_pref('deferred_income_act')) + { + display_error($msg, true); + display_footer_exit(); + } +} + +function check_is_editable($trans_type, $trans_no, $msg=null) +{ + if (!$_SESSION['wa_current_user']->can_access('SA_EDITOTHERSTRANS')) + { + $audit = get_audit_trail_last($trans_type, $trans_no); + + if ($_SESSION['wa_current_user']->user != $audit['user']) + { + if (!$msg) + $msg = ''._("You have no edit access to transactions created by other users.").''; + display_note($msg); + display_footer_exit(); + } + } + if (!in_array($trans_type, array(ST_SALESORDER, ST_SALESQUOTE, ST_PURCHORDER, ST_WORKORDER))) + check_is_closed($trans_type, $trans_no, $msg); +} -?> \ No newline at end of file