Added 2 functions in ui_input.inc, button and button_cell
[fa-stable.git] / reporting / includes / reporting.inc
index 15cfee6a07931c7e36c0c75a3840afbf05764d83..183b59740c76056ab4fc6a8c3944369b28ae20e1 100644 (file)
@@ -1,42 +1,89 @@
 <?php
-function printTransaction($link_text, $form_id, $form_type, $trans_type, $trans_no, $ref, $param1, $param2) {
-       $ar = array(
-                               'COMPANY'       => $_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 "<a href=\"javascript:$pdf_href\">" . _($link_text) . "</a>";    
-}
 
-function getHiddenFieldScript() {
-       $ar = Array('COMPANY','LANG','FORMID','FORMTYPE','TRANSNO','TRANSTYPE','REF','PARAM1','PARAM2');
-       foreach ($ar as $value) $st.= "<input type='hidden' name='$value'>";
-       
-       $st .= "<input type='hidden' name='QTY_DEC'     value='" . user_qty_dec()        . "'>
-                       <input type='hidden' name='PRICE_DEC'   value='" . user_price_dec()      . "'>
-                       <input type='hidden' name='PER_DEC'     value='" . user_percent_dec(). "'>";    
-       
-       $st = "<form method='post' name='pdf_form'>" . $st . "</form>"; 
-       return $st;
-}
+// Put this on the page only once, e.g. print_hidden_script(systypes::sales_order());
 
-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}';";
+function print_hidden_script($type_no)
+{
+       global $path_to_root;
+       include_once($path_to_root . "/includes/types.inc");
+       $action = "";
+
+       switch ($type_no)
+       {
+               case systypes::sales_order() :
+                       $action = "$path_to_root/reporting/rep109.php";
+                       $ar = array(
+                               'PARAM_0' => 0,         // from - these values are updated in print_document_link()
+                               'PARAM_1' => 0,         // to
+                               'PARAM_2' => "",        // currency
+                               'PARAM_3' => "",        // bank account
+                               'PARAM_4' => 0,         // email
+                               'PARAM_5' => 0,         // quote
+                               'PARAM_6' => "");       // comments
+                       break;
+               case systypes::cust_dispatch() :
+                       $action = "$path_to_root/reporting/rep110.php";
+                       $ar = array(
+                               'PARAM_0' => 0,         // from - these values are updated in print_document_link()
+                               'PARAM_1' => 0,         // to
+                               'PARAM_2' => 0,         // email
+                               'PARAM_3' => "");       // comments
+                       break;
+               case 10 : // Sales Invoice
+               case 11 : // Customer Credit Note
+                       $action = "$path_to_root/reporting/rep107.php";
+                       $ar = array(
+                               'PARAM_0' => 0,         // from - these values are updated in print_document_link()
+                               'PARAM_1' => 0,         // to
+                               'PARAM_2' => "",        // currency
+                               'PARAM_3' => "",        // bank account
+                               'PARAM_4' => 0,         // email
+                               'PARAM_5' => "",        // paylink
+                               'PARAM_6' => "");       // comments
+                       break;
+               case systypes::po() :
+                       $action = "$path_to_root/reporting/rep209.php";
+                       $ar = array(
+                               'PARAM_0' => 0,         // from - these values are updated in print_document_link()
+                               'PARAM_1' => 0,         // to
+                               'PARAM_2' => "",        // currency
+                               'PARAM_3' => "",        // bank account
+                               'PARAM_4' => 0,         // email
+                               'PARAM_5' => "");       // comments
+                       break;
+       }
+       $st = "<form method='post' name='pdf_form' action='$action'>";
+       foreach ($ar as $key => $value)
+       {
+               $st .= "<input type='hidden' name='$key' value='$value' />";
        }
-       $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;
+       $st .= "</form>\n";
+       $st .= "<script type='text/javascript'>
+<!--
+function printDocument(docno) {
+  document.pdf_form.PARAM_0.value = document.pdf_form.PARAM_1.value = docno;
+  window.open('','REP_WINDOW','toolbar=no,scrollbar=no,resizable=yes,menubar=no');
+  document.pdf_form.target='REP_WINDOW';
+  document.pdf_form.submit();
 }
+-->
+</script>\n";
 
+       echo $st;
+}
+
+// Ex. label_cell(print_document_link($myrow['order_no'], _("Print")));
+// or display_note(print_document_link($order_no, _("Print this order")));
+// or if a button
+// button("button", _("Print this order"), print_document_link($order_no, "", false))";
+// or if a button inside a TD
+// button_cell("button", _("Print this order"), print_document_link($order_no, "", false))";
+
+function print_document_link($doc_no, $link_text, $link=true)
+{
+       if ($link)
+               return "<a href=\"javascript:printDocument('$doc_no');\">$link_text</a>";
+       else
+               return "javascript:printDocument('$doc_no');";
+}
 ?>
\ No newline at end of file