Merge remote branch 'canonical/master' into merge-forward
[civicrm-core.git] / CRM / Financial / Page / AJAX.php
index 3138aa2c7bb46247d6766eb038074f0d1d74f1fa..fb6d48fef3af76a2a2ece8530391626cb075c941 100644 (file)
@@ -2,9 +2,9 @@
 
 /*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.4                                                |
+ | CiviCRM version 4.5                                                |
  +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2013                                |
+ | Copyright CiviCRM LLC (c) 2004-2014                                |
  +--------------------------------------------------------------------+
  | This file is a part of CiviCRM.                                    |
  |                                                                    |
@@ -29,7 +29,7 @@
 /**
  *
  * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2013
+ * @copyright CiviCRM LLC (c) 2004-2014
  * $Id$
  *
  */
@@ -43,7 +43,10 @@ class CRM_Financial_Page_AJAX {
    * $financialAccountType array with key account relationship and value financial account type option groups
    *
    */
-  function jqFinancial($config) {
+  /**
+   * @param $config
+   */
+  static function jqFinancial($config) {
     if (!isset($_GET['_value']) ||
       empty($_GET['_value'])) {
       CRM_Utils_System::civiExit();
@@ -61,6 +64,7 @@ class CRM_Financial_Page_AJAX {
         '7' => 4, //cost of sales
         '8' => 1, //premium inventory
         '9' => 3, //discount account is
+        '10' => 2, //sales tax liability
       );
       $financialAccountType = CRM_Utils_Array::value($_GET['_value'], $financialAccountType);
       $result = CRM_Contribute_PseudoConstant::financialAccount(NULL, $financialAccountType);
@@ -91,7 +95,10 @@ class CRM_Financial_Page_AJAX {
     CRM_Utils_System::civiExit();
   }
 
-  function jqFinancialRelation($config) {
+  /**
+   * @param $config
+   */
+  static function jqFinancialRelation($config) {
     if (!isset($_GET['_value']) ||
       empty($_GET['_value'])) {
       CRM_Utils_System::civiExit();
@@ -148,7 +155,10 @@ class CRM_Financial_Page_AJAX {
     CRM_Utils_System::civiExit();
   }
 
-  function jqFinancialType($config) {
+  /**
+   * @param $config
+   */
+  static function jqFinancialType($config) {
     if (! isset($_GET['_value']) ||
       empty($_GET['_value'])) {
       CRM_Utils_System::civiExit();
@@ -377,19 +387,58 @@ class CRM_Financial_Page_AJAX {
         if (isset($notPresent)) {
           $js = "enableActions('x')";
           $row[$financialItem->id]['check'] = "<input type='checkbox' id='mark_x_". $financialItem->id."' name='mark_x_". $financialItem->id."' value='1' onclick={$js}></input>";
-          $row[$financialItem->id]['action'] = CRM_Core_Action::formLink(CRM_Financial_Form_BatchTransaction::links(), null, array('id' => $financialItem->id, 'contid' => $financialItem->contributionID, 'cid' => $financialItem->contact_id));
+          $row[$financialItem->id]['action'] = CRM_Core_Action::formLink(
+            CRM_Financial_Form_BatchTransaction::links(),
+            null,
+            array(
+              'id' => $financialItem->id,
+              'contid' => $financialItem->contributionID,
+              'cid' => $financialItem->contact_id
+            ),
+            ts('more'),
+            FALSE,
+            'financialItem.batch.row',
+            'FinancialItem',
+            $financialItem->id
+          );
         }
         else {
           $js = "enableActions('y')";
           $row[$financialItem->id]['check'] = "<input type='checkbox' id='mark_y_". $financialItem->id."' name='mark_y_". $financialItem->id."' value='1' onclick={$js}></input>";
-          $row[$financialItem->id]['action'] = CRM_Core_Action::formLink(CRM_Financial_Page_BatchTransaction::links(), null, array('id' => $financialItem->id, 'contid' => $financialItem->contributionID, 'cid' => $financialItem->contact_id));
+          $row[$financialItem->id]['action'] = CRM_Core_Action::formLink(
+            CRM_Financial_Page_BatchTransaction::links(),
+            null,
+            array(
+              'id' => $financialItem->id,
+              'contid' => $financialItem->contributionID,
+              'cid' => $financialItem->contact_id
+            ),
+            ts('more'),
+            FALSE,
+            'financialItem.batch.row',
+            'FinancialItem',
+            $financialItem->id
+          );
         }
       }
       else {
         $row[$financialItem->id]['check'] = NULL;
         $links = CRM_Financial_Page_BatchTransaction::links();
         unset($links['remove']);
-        $row[$financialItem->id]['action'] = CRM_Core_Action::formLink($links, null, array('id' => $financialItem->id, 'contid' => $financialItem->contributionID, 'cid' => $financialItem->contact_id));
+        $row[$financialItem->id]['action'] = CRM_Core_Action::formLink(
+          $links,
+          null,
+          array(
+            'id' => $financialItem->id,
+            'contid' => $financialItem->contributionID,
+            'cid' => $financialItem->contact_id
+          ),
+          ts('more'),
+          FALSE,
+          'financialItem.batch.row',
+          'FinancialItem',
+          $financialItem->id
+        );
       }
       $row[$financialItem->id]['contact_type'] = CRM_Contact_BAO_Contact_Utils::getImage(CRM_Utils_Array::value('contact_sub_type',$row[$financialItem->id]) ? CRM_Utils_Array::value('contact_sub_type',$row[$financialItem->id]) : CRM_Utils_Array::value('contact_type',$row[$financialItem->id]) ,false, $financialItem->contact_id);
       $financialitems = $row;
@@ -467,4 +516,16 @@ class CRM_Financial_Page_AJAX {
     echo json_encode($batchSummary);
     CRM_Utils_System::civiExit();
   }
+
+  /**
+   * Callback to perform action on Print Invoice button.
+   */
+  static function getPrintPDF() {
+
+    $contribIDs = CRM_Utils_Request::retrieve('id', 'Positive', $this, FALSE);
+    $contributionIDs = array($contribIDs);
+    $contactIds = CRM_Utils_Request::retrieve('cid', 'Positive', $this, FALSE);
+    $params = array('output' => 'pdf_invoice');
+    CRM_Contribute_Form_Task_Invoice::printPDF($contributionIDs , $params, $contactIds);
+  }
 }