}
}
+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");
}
}
-function db_has_movement_types()
-{
- return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."movement_types");
-}
-
-function check_db_has_movement_types($msg)
-{
- global $path_to_root;
- if (!db_has_movement_types())
- {
- display_error($msg, true);
- end_page();
- exit;
- }
-}
-
function db_customer_has_branches($customer_id)
{
return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."cust_branch "
}
}
+function check_db_has_template_orders($msg)
+{
+ $sql = "SELECT sorder.order_no
+ FROM ".TB_PREF."sales_orders as sorder,"
+ .TB_PREF."sales_order_details as line
+ WHERE sorder.order_no = line.order_no AND sorder.type = 1
+ GROUP BY line.order_no";
+
+ if (!check_empty_result($sql))
+ {
+ display_error($msg, true);
+ end_page();
+ exit;
+ }
+}
+
function check_deferred_income_act($msg)
{
global $path_to_root;
check_is_closed($trans_type, $trans_no, $msg);
}
+function check_reference($reference, $trans_type, $trans_no=0, $context=null, $line=null)
+{
+ global $Refs;
+
+ if (!$Refs->is_valid($reference, $trans_type, $context, $line))
+ {
+ display_error(_("The entered reference is invalid.")); return false;
+ }
+ elseif (!$Refs->is_new_reference($reference, $trans_type, $trans_no))
+ {
+ display_error( _("The entered reference is already in use.")); return false;
+ }
+ return true;
+}