MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
***********************************************************************/
+
+// 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()
$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_style2, $comp_path, $path_to_root, $pdf_debug, $Ajax;
+ global $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 = "<b>" . _("Report Classes:") . "</b><br>";
- 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 .= "<a href='"
- .$_SERVER['PHP_SELF']."?Class=$class_counter'"
+ .$_SERVER['PHP_SELF']."?Class=$class_id'"
." class='menu_option' id='".default_focus()."'"
- ." onclick='return showClass($class_counter);'$acc[1]>$acc[0]</a> <br>";
- $st_reports .= "<table id='TAB_" . $class_counter ."' $style cellpadding=0 cellspacing=0 border=0 width='100%'><tr><td><b>" . _("Reports For Class: ") . " $key</b></td></tr>\n";
- foreach($value as $report)
+ ." onclick='return showClass(\"$class_id\");'$acc[1]>$acc[0]</a> <br>";
+ $st_reports .= "<table class='repclass' id='TAB_" . $class_id ."' $style cellpadding=0 cellspacing=0 border=0 width='100%'><tr><td><b>" . _("Reports For Class: ") . " $name</b></td></tr>\n";
+ foreach($this->ar_reports[$class_id] as $rep_id => $report)
{
$acc = access_string($report->name);
$st_reports .= "<tr><td><a class='printlink' href='"
- .$_SERVER['PHP_SELF']."?Class=$class_counter&rep_id=$report->id'"
+ .$_SERVER['PHP_SELF']."?Class=$class_id&rep_id=$report->id'"
." id='".default_focus()."'"
."$acc[1]>$acc[0]</a><tr><td>\n";
if (isset($_REQUEST['rep_id']) && $_REQUEST['rep_id']==$report->id) {
$action = $path_to_root.'/reporting/prn_redirect.php';
- $st_params = "<table border=0><tr><td>\n"
+ $st_params = "<table><tr><td>\n"
. "<form method='POST' action='$action' target='_blank'>\n";
- $st_params .= hidden('REP_ID', $report->id, false);
$st_params .= submit('Rep'.$report->id,
_("Display: ") . access_string($report->name, true),
- false, '', $pdf_debug ? false : 'default') . '<br><br>';
+ false, '', $pdf_debug ? false : 'default process') . hidden('REP_ID', $report->id, false).'<br><br>';
$st_params .= $this->getOptions($report->get_controls());
$st_params .= "\n</form></td></tr></table>\n";
set_focus('Rep'.$report->id);
}
}
$st_reports .= "</table>";
- $class_counter++;
}
$st_params = "<div id='rep_form'>".
$st = "<script language='javascript'>
function showClass(pClass) {
- for(i=0; i<$class_counter; i++) {
- document.getElementById(\"TAB_\" + i).style.display=
- i==pClass ? \"block\" : \"none\";
+ var classes = document.getElementsBySelector('.repclass');
+ for(var i in classes) {
+ cl = classes[i];
+ cl.style.display=
+ (cl.id==('TAB_'+pClass)) ? \"block\" : \"none\";
}
document.getElementById('rep_form').innerHTML = '';
// document.getElementById('rep_form').style.display = 'none';
}
</script>
";
- $st .= "<table align='center' width='80%' $table_style2><tr valign='top'>";
+ $st .= "<table align='center' width='80%' style='border:1px solid #cccccc;'><tr valign='top'>";
$st .= "<td width='30%'>$st_classes</td>";
- $st .= "<td width='35%'>$st_reports</td>";
+ $st .= "<td width='35%' style='border-left:1px solid #cccccc;border-right:1px solid #cccccc;padding-left:3px;'>$st_reports</td>";
$st .= "<td width='35%'>$st_params</td>";
$st .= "</tr></table><br>";
//
function get_ctrl($name, $type)
{
- global $path_to_root, $use_date_picker, $pdf_debug, $print_invoice_no;
+ global $path_to_root, $use_date_picker, $pdf_debug, $print_invoice_no, $def_print_destination;
$st = '';
switch ($type)
case 'DESTINATION':
$sel = array(_("PDF/Printer"), "Excel");
- return array_selector($name, null, $sel);
+ $def = 0;
+ if (isset($def_print_destination) && $def_print_destination == 1)
+ $def = 1;
+ return array_selector($name, $def, $sel);
case 'COMPARE':
$sel = array(_("Accumulated"), _("Period Y-1"), _("Budget"));
FROM ".TB_PREF."suppliers, ".TB_PREF."supp_trans WHERE (type=".ST_BANKPAYMENT." OR type=".ST_SUPPAYMENT." OR type=".ST_SUPPCREDIT.") AND ".TB_PREF."suppliers.supplier_id=".TB_PREF."supp_trans.supplier_id ORDER BY ".TB_PREF."supp_trans.trans_no DESC";
return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false));
+ case 'RECEIPT':
+ $BD = _("BD");
+ $CP = _("CP");
+ $CN = _("CN");
+ $ref = ($print_invoice_no == 1 ? "trans_no" : "reference");
+ $sql = "SELECT concat(".TB_PREF."debtor_trans.trans_no, '-',
+ ".TB_PREF."debtor_trans.type) AS TNO, concat(".TB_PREF."debtor_trans.$ref, if (type=".ST_BANKDEPOSIT.", ' $BD ', if (type=".ST_CUSTPAYMENT.", ' $CP ', ' $CN ')), ".TB_PREF."debtors_master.name) as IName
+ FROM ".TB_PREF."debtors_master, ".TB_PREF."debtor_trans WHERE (type=".ST_BANKDEPOSIT." OR type=".ST_CUSTPAYMENT." OR type=".ST_CUSTCREDIT.") AND ".TB_PREF."debtors_master.debtor_no=".TB_PREF."debtor_trans.debtor_no ORDER BY ".TB_PREF."debtor_trans.trans_no DESC";
+ return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false));
+
case 'ITEMS':
return stock_manufactured_items_list($name);
$tag_type = TAG_ACCOUNT;
else
$tag_type = TAG_DIMENSION;
- return tag_list($name, 5, $tag_type, true, _("No tags"));
+ //return tag_list($name, 5, $tag_type, true, false, _("No tags"));
+ return tag_list($name, 5, $tag_type, true);
}
return '';
)
);
}
-
+/*
+ Add extension/custom reports to report manager.
+*/
function add_custom_reports(&$reports)
{
- global $installed_extensions, $path_to_root, $comp_path;
+ global $installed_extensions, $path_to_root;
// include reports installed inside extension modules
if (count($installed_extensions) > 0)
{
$extensions = $installed_extensions;
foreach ($extensions as $ext)
- if (($ext['active'] && $ext['type'] == 'module')) {
+ if (($ext['active'] && $ext['type'] == 'extension')) {
$file = $path_to_root.'/'.$ext['path']."/reporting/reports_custom.php";
if (file_exists($file))
include_once($file);
}
}
- $file = $comp_path.'/'.user_company()."/reporting/reports_custom.php";
+ $file = company_path()."/reporting/reports_custom.php";
if (file_exists($file))
include_once($file);
}