X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Fincludes%2Freporting.inc;h=a5dd5f2e58f8271c2d7640fad96f204f05c3029d;hb=2383d33373d6ddec06906658a0ed6398077c1147;hp=15cfee6a07931c7e36c0c75a3840afbf05764d83;hpb=da8311619dd73feae101d246a1957b972e00cbd2;p=fa-stable.git diff --git a/reporting/includes/reporting.inc b/reporting/includes/reporting.inc index 15cfee6a..a5dd5f2e 100644 --- a/reporting/includes/reporting.inc +++ b/reporting/includes/reporting.inc @@ -1,42 +1,113 @@ $_SESSION["wa_current_user"]->company, - 'FORMID' => $form_id, - 'FORMTYPE' => $form_type, - 'TRANSNO' => $trans_no, - 'TRANSTYPE' => $trans_type, - 'REF' => $ref, - 'PARAM1' => $param1, - 'PARAM2' => $param2 - ); - $pdf_href = getPDFOpenScript($link_text, $ar); - return "" . _($link_text) . ""; -} +/********************************************************************** + Copyright (C) FrontAccounting, LLC. + Released under the terms of the GNU General Public License, GPL, + as published by the Free Software Foundation, either version 3 + of the License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the License here . +***********************************************************************/ +// Link to printing single document with bulk report template file. +// Ex. label_cell(print_document_link($myrow['order_no'], _("Print")), $type); +// or display_note(print_document_link($order_no, _("Print this order"))); +// You only need full parameter list for invoices/credit notes -function getHiddenFieldScript() { - $ar = Array('COMPANY','LANG','FORMID','FORMTYPE','TRANSNO','TRANSTYPE','REF','PARAM1','PARAM2'); - foreach ($ar as $value) $st.= ""; - - $st .= " - - "; +function print_document_link($doc_no, $link_text, $link=true, $type_no, + $icon=false, $class='', $id='') +{ + global $path_to_root; + include_once($path_to_root . "/includes/types.inc"); + + $url = $path_to_root.'/reporting/prn_redirect.php?'; + + switch ($type_no) + { + case systypes::sales_order() : + $rep = 109; + // from, to, currency, bank acc, email, quote, comments + $ar = array( + 'PARAM_0' => $doc_no, + 'PARAM_1' => $doc_no, + 'PARAM_2' => "", + 'PARAM_3' => get_first_bank_account(), + 'PARAM_4' => 0, + 'PARAM_5' => 0, + 'PARAM_6' => ""); + break; + case systypes::cust_dispatch() : + $rep = 110; + // from, to, email, comments + $ar = array( + 'PARAM_0' => $doc_no, + 'PARAM_1' => $doc_no, + 'PARAM_2' => 0, + 'PARAM_3' => ""); + break; + case 10 : // Sales Invoice + case 11 : // Customer Credit Note + $rep = 107; + // from, to, currency, bank acc, email, paylink, comments, type + $ar = array( + 'PARAM_0' => $doc_no, + 'PARAM_1' => $doc_no, + 'PARAM_2' => "", + 'PARAM_3' => get_first_bank_account(), + 'PARAM_4' => 0, + 'PARAM_5' => "", + 'PARAM_6' => "", + 'PARAM_7' => $type_no); + break; + case systypes::po() : + $rep = 209; + // from, to, currency, bank acc, email, comments + $ar = array( + 'PARAM_0' => $doc_no, + 'PARAM_1' => $doc_no, + 'PARAM_2' => "", + 'PARAM_3' => get_first_bank_account(), + 'PARAM_4' => 0, + 'PARAM_5' => ""); + break; +// default: $ar = array(); + } - $st = "
" . $st . "
"; - return $st; + return print_link($link_text, $rep, $ar, "", $icon, $class, $id); } +// +// Universal link to any kind of report. +// +function print_link($link_text, $rep, $pars = array(), $dir = '', + $icon=false, $class='', $id='') +{ + global $path_to_root, $pdf_debug; -function getPDFOpenScript($link_text, $ar_params) { - $st = "document.pdf_form.LANG.value='" . $_SESSION['language']->code . "';"; - foreach ($ar_params as $key => $value) { - $st .= "document.pdf_form.{$key}.value = '{$value}';"; + $url = $dir == '' ? $path_to_root.'/reporting/prn_redirect.php?' : $dir; + + $id = default_focus($id); + foreach($pars as $par => $val) { + $pars[$par] = "$par=".urlencode($val); } - $st.= "window.open('','REP_WINDOW','toolbar=no,scrollbar=no,resizable=yes,menubar=no');"; - $st.= "document.pdf_form.target='REP_WINDOW';"; - $st.= "document.pdf_form.action= '" . C_JSP_ROOT . "/reporting/gen_pdf_form.jsp';"; - $st.= "document.pdf_form.submit();"; - - return $st; + $pars[] = 'REP_ID='.urlencode($rep); + $url .= implode ('&', $pars); + + if ($class != '') + $class = $pdf_debug ? '' : " class='$class'"; + if ($id != '') + $id = " id='$id'"; + $pars = access_string($link_text); + if (user_graphic_links() && $icon) + $pars[0] = set_icon($icon, $pars[0]); + return "$pars[0]"; } +function get_first_bank_account() +{ + $sql = "SELECT ".TB_PREF."bank_accounts.id FROM ".TB_PREF."bank_accounts, ".TB_PREF."company + WHERE bank_curr_code=curr_default LIMIT 0, 1"; + $result = db_query($sql); + $row = db_fetch_row($result); + return $row[0]; +} ?> \ No newline at end of file