X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fdata_checks.inc;h=84552e402cba8b72ad99842dd0d7846b6235c795;hb=96f82e64b766fa59a3ebc3176e4efd17736f6878;hp=633daa87e43a400c9df7403e6ecb8ba62b9bfe49;hpb=3bf71dd6f93ecac6b93fe98d23b247869cbeb720;p=fa-stable.git diff --git a/includes/data_checks.inc b/includes/data_checks.inc index 633daa87..84552e40 100644 --- a/includes/data_checks.inc +++ b/includes/data_checks.inc @@ -124,7 +124,7 @@ function check_db_has_movement_types($msg) function db_customer_has_branches($customer_id) { return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."cust_branch " - ."WHERE debtor_no='$customer_id'"); + ."WHERE debtor_no=".db_escape($customer_id)); } function db_has_customer_branches() @@ -269,7 +269,7 @@ function check_db_has_stock_items($msg) function db_has_bom_stock_items() { - return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."stock_master WHERE (mb_flag='M' OR mb_flag='K')"); + return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."stock_master WHERE mb_flag='M'"); } function check_db_has_bom_stock_items($msg) @@ -301,7 +301,7 @@ function check_db_has_manufacturable_items($msg) function db_has_purchasable_items() { - return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."stock_master WHERE (mb_flag!='M' AND mb_flag!='K')"); + return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."stock_master WHERE mb_flag!='M'"); } function check_db_has_purchasable_items($msg) @@ -317,7 +317,7 @@ function check_db_has_purchasable_items($msg) function db_has_costable_items() { - return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."stock_master WHERE (mb_flag!='D' AND mb_flag!='K')"); + return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."stock_master WHERE mb_flag!='D'"); } function check_db_has_costable_items($msg) @@ -428,12 +428,28 @@ function db_has_quick_entries() return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."quick_entries"); } +function db_has_tags($type) +{ + return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."tags WHERE type=".db_escape($type)); +} + +function check_db_has_tags($type, $msg) +{ + global $path_to_root; + if (!db_has_tags($type)) + { + display_error($msg, true); + end_page(); + exit; + } +} + function check_empty_result($sql) { $result = db_query($sql, "could not do check empty query"); $myrow = db_fetch_row($result); - return $myrow[0] > 0; + return $myrow[0] > 0; } // // Integer input check @@ -454,12 +470,13 @@ function check_int($postname, $min=null, $max=null) { // // Numeric input check. // Return 1 if number has proper form and is within range +// Empty/not defined fields are defaulted to $dflt value. // -function check_num($postname, $min=null, $max=null) { +function check_num($postname, $min=null, $max=null, $dflt=0) { if(!isset($_POST[$postname])) return 0; - $num = input_num($postname); - if ($num === false) + $num = input_num($postname, $dflt); + if ($num === false || $num === null) return 0; if (isset($min) && ($num<$min)) return 0; @@ -468,5 +485,45 @@ function check_num($postname, $min=null, $max=null) { 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