From: Janusz Dobrowolski Date: Sun, 4 Apr 2010 12:01:18 +0000 (+0000) Subject: Changed addReport method (better support for extension modules). X-Git-Tag: v2.4.2~19^2~924 X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=commitdiff_plain;h=b6cdc9cc28dc7c8fe2d06b4c75579ceddee72cfe;p=fa-stable.git Changed addReport method (better support for extension modules). --- diff --git a/reporting/includes/reports_classes.inc b/reporting/includes/reports_classes.inc index f9fa8696..c824ddc3 100644 --- a/reporting/includes/reports_classes.inc +++ b/reporting/includes/reports_classes.inc @@ -9,9 +9,20 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License here . ***********************************************************************/ + +// Standard report classess +define('RC_CUSTOMER', 0); +define('RC_SUPPLIER', 1); +define('RC_INVENTORY', 2); +define('RC_MANUFACTURE', 3); +define('RC_DIMENSIONS', 4); +define('RC_BANKING', 5); +define('RC_GL', 6); + class BoxReports { - var $ar_classes; + var $ar_classes; // report class names + var $ar_reports; var $ctrl_handlers = array(); function ReportClasses() @@ -19,43 +30,47 @@ class BoxReports $this->ar_classes = array(); } - function addReportClass($class_name) + function addReportClass($class_name, $class_id=null) { - $this->ar_classes[$class_name] = array(); + if (!$class_id) + $class_id = count($this->ar_classes); + $this->ar_classes[$class_id] = $class_name; + + return $class_id; } - function addReport($class_name, $id, $rep_name, $params=null) + function addReport($class, $id, $rep_name, $params=null) { - unset($this->ar_classes[$class_name][$id]); // unset std report if any - $this->ar_classes[$class_name][$id] = new Report($id, $rep_name, $params); + unset($this->ar_reports[$class][$id]); // unset std report if any + $this->ar_reports[$class][$id] = new Report($id, $rep_name, $params); } function getDisplay($class=null) { - global $table_style, $comp_path, $path_to_root, $pdf_debug, $Ajax; + global $table_style, $path_to_root, $pdf_debug, $Ajax; $temp = array_values($this->ar_classes); $display_class = $class==null ? $temp[0] : $this->ar_classes[$class]; - $class_counter = 0; - $rep_counter = 0; $st_reports = ""; $st_params = ""; $st_classes = "" . _("Report Classes:") . "
"; - foreach($this->ar_classes as $key=>$value) + foreach($this->ar_classes as $class_id => $name) { - $style = $class_counter==$_REQUEST['Class'] ? '' : "style='display:none'"; - $acc = access_string($key); + $style = $class_id==$_REQUEST['Class'] ? '' : "style='display:none'"; +// $cname = access_string($key, true); +// $style = $_REQUEST['Class']==$cname ? '' : "style='display:none'"; + $acc = access_string($name); $st_classes .= "$acc[0]
"; - $st_reports .= "\n"; - foreach($value as $report) + ." onclick='return showClass(\"$class_id\");'$acc[1]>$acc[0]
"; + $st_reports .= "
" . _("Reports For Class: ") . " $key
\n"; + foreach($this->ar_reports[$class_id] as $rep_id => $report) { $acc = access_string($report->name); $st_reports .= "
" . _("Reports For Class: ") . " $name
id'" + .$_SERVER['PHP_SELF']."?Class=$class_id&rep_id=$report->id'" ." id='".default_focus()."'" ."$acc[1]>$acc[0]
\n"; if (isset($_REQUEST['rep_id']) && $_REQUEST['rep_id']==$report->id) { @@ -74,7 +89,6 @@ class BoxReports } } $st_reports .= "
"; - $class_counter++; } $st_params = "
". @@ -83,9 +97,11 @@ class BoxReports $st = "