add print-pdf-letter for event participants
authorTim Mallezie <tim.mallezie@chiro.be>
Fri, 22 May 2015 17:56:24 +0000 (19:56 +0200)
committerTim Mallezie <tim.mallezie@chiro.be>
Fri, 22 May 2015 17:56:24 +0000 (19:56 +0200)
CRM/Event/Form/Task/PDF.php [new file with mode: 0644]
CRM/Event/Task.php
templates/CRM/Event/Form/Task/PDF.tpl [new file with mode: 0644]

diff --git a/CRM/Event/Form/Task/PDF.php b/CRM/Event/Form/Task/PDF.php
new file mode 100644 (file)
index 0000000..97e00aa
--- /dev/null
@@ -0,0 +1,84 @@
+<?php
+
+/*
+  +--------------------------------------------------------------------+
+  | CiviCRM version 4.6                                                |
+  +--------------------------------------------------------------------+
+  | Copyright CiviCRM LLC (c) 2004-2015                                |
+  +--------------------------------------------------------------------+
+  | This file is a part of CiviCRM.                                    |
+  |                                                                    |
+  | CiviCRM is free software; you can copy, modify, and distribute it  |
+  | under the terms of the GNU Affero General Public License           |
+  | Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
+  |                                                                    |
+  | CiviCRM 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 GNU Affero General Public License for more details.        |
+  |                                                                    |
+  | You should have received a copy of the GNU Affero General Public   |
+  | License and the CiviCRM Licensing Exception along                  |
+  | with this program; if not, contact CiviCRM LLC                     |
+  | at info[AT]civicrm[DOT]org. If you have questions about the        |
+  | GNU Affero General Public License or the licensing of CiviCRM,     |
+  | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
+  +--------------------------------------------------------------------+
+ */
+
+/**
+ *
+ * @package CRM
+ * @copyright CiviCRM LLC (c) 2004-2015
+ * $Id: PDF.php 45499 2013-02-08 12:31:05Z kurund $
+ */
+
+/**
+ * This class provides the functionality to email a group of
+ * contacts.
+ */
+class CRM_Event_Form_Task_PDF extends CRM_Event_Form_Task {
+
+  /**
+   * Are we operating in "single mode", i.e. printing letter to one
+   * specific contact?
+   *
+   * @var boolean
+   */
+  public $_single = FALSE;
+
+  /**
+   * All the existing templates in the system.
+   *
+   * @var array
+   */
+  public $_templates = NULL;
+
+  /**
+   * Build all the data structures needed to build the form.
+   */
+  public function preProcess() {
+    CRM_Contact_Form_Task_PDFLetterCommon::preProcess($this);
+    parent::preProcess();
+
+    // we have all the participant ids, so now we get the contact ids
+    parent::setContactIDs();
+
+    $this->assign('single', $this->_single);
+  }
+
+  /**
+   * Build the form object.
+   */
+  public function buildQuickForm() {
+    CRM_Contact_Form_Task_PDFLetterCommon::buildQuickForm($this);
+  }
+
+  /**
+   * Process the form after the input has been submitted and validated.
+   */
+  public function postProcess() {
+    CRM_Contact_Form_Task_PDFLetterCommon::postProcess($this);
+  }
+
+}
index fcf13dd9173fe3159f022756cc38a8a333a9f406..d354fb89edb62949ce2ebe8aa389f9e0e7d5030a 100644 (file)
@@ -125,6 +125,11 @@ class CRM_Event_Task {
           'class' => 'CRM_Event_Form_Task_Badge',
           'result' => FALSE,
         ),
+        17 => array(
+          'title' => ts('Print PDF Letter for Participants'),
+          'class' => 'CRM_Event_Form_Task_PDF',
+          'result' => TRUE,
+        ),
         20 => array(
           'title' => ts('Add Contacts to Group'),
           'class' => 'CRM_Event_Form_Task_AddToGroup',
diff --git a/templates/CRM/Event/Form/Task/PDF.tpl b/templates/CRM/Event/Form/Task/PDF.tpl
new file mode 100644 (file)
index 0000000..a72a3d7
--- /dev/null
@@ -0,0 +1,32 @@
+{*
++--------------------------------------------------------------------+
+| CiviCRM version 4.6                                                |
++--------------------------------------------------------------------+
+| Copyright CiviCRM LLC (c) 2004-2015                                |
++--------------------------------------------------------------------+
+| This file is a part of CiviCRM.                                    |
+|                                                                    |
+| CiviCRM is free software; you can copy, modify, and distribute it  |
+| under the terms of the GNU Affero General Public License           |
+| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
+|                                                                    |
+| CiviCRM 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 GNU Affero General Public License for more details.        |
+|                                                                    |
+| You should have received a copy of the GNU Affero General Public   |
+| License and the CiviCRM Licensing Exception along                  |
+| with this program; if not, contact CiviCRM LLC                     |
+| at info[AT]civicrm[DOT]org. If you have questions about the        |
+| GNU Affero General Public License or the licensing of CiviCRM,     |
+| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
++--------------------------------------------------------------------+
+*}
+<div class="crm-form-block crm-block crm-contact-task-pdf-form-block">
+  {if $single eq false}
+    <div class="messages status no-popup">{include file="CRM/Event/Form/Task.tpl"}</div>
+  {/if}
+  {include file="CRM/Contact/Form/Task/PDFLetterCommon.tpl"}
+  <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
+</div>