<?php
/*
+--------------------------------------------------------------------+
- | 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. |
| |
/**
*
* @package CRM
- * @copyright CiviCRM LLC (c) 2004-2013
+ * @copyright CiviCRM LLC (c) 2004-2014
* $Id$
*
*/
$allActTypes = CRM_Core_PseudoConstant::activityType(TRUE, TRUE, FALSE, 'name');
$emailActivityType = array_search('Email', $allActTypes);
+ $pdfActivityType = array_search('Print PDF Letter', $allActTypes);
// remove Open Case activity type since we're inside an existing case
if ($openActTypeId = array_search('Open Case', $allActTypes)) {
FALSE, NULL, FALSE
);
}
+ else if ($type == $pdfActivityType ) {
+ $url = CRM_Utils_System::url('civicrm/activity/pdf/add',
+ "action=add&context=standalone&reset=1&cid={$this->_contactID}&caseid={$this->_caseID}&atype=$type",
+ FALSE, NULL, FALSE );
+ }
else {
$url = CRM_Utils_System::url('civicrm/case/activity',
"action=add&reset=1&cid={$this->_contactID}&caseid={$this->_caseID}&atype=$type",
$activityLinks[$url] = $label;
}
- $this->add('select', 'add_activity_type_id', '', $activityLinks, FALSE, array('class' => 'crm-select2 crm-action-menu twenty'));
+ $this->add('select', 'add_activity_type_id', '', $activityLinks, FALSE, array('class' => 'crm-select2 crm-action-menu action-icon-plus twenty'));
if ($this->_hasAccessToAllCases) {
$this->add('select', 'report_id', '',
array('' => ts('Run QA Audit / Redact')) + $reports,
FALSE,
- array('class' => 'crm-select2 crm-action-menu')
+ array('class' => 'crm-select2 crm-action-menu action-icon-clipboard')
);
$this->add('select', 'timeline_id', '',
array('' => ts('Add Timeline')) + $reports,
FALSE,
- array('class' => 'crm-select2 crm-action-menu')
+ array('class' => 'crm-select2 crm-action-menu action-icon-play')
);
}
$this->addElement('submit', $this->getButtonName('next'), ' ', array('class' => 'hiddenElement'));
}
}
- $activityStatus = CRM_Core_PseudoConstant::activityStatus();
- $this->add('select', 'status_id', ts('Status'), array("" => ts(' - any status - ')) + $activityStatus);
-
- // activity dates
- $this->addDate('activity_date_low', ts('Activity Dates - From'), FALSE, array('formatType' => 'searchDate'));
- $this->addDate('activity_date_high', ts('To'), FALSE, array('formatType' => 'searchDate'));
-
- if (CRM_Core_Permission::check('administer CiviCRM')) {
- $this->add('checkbox', 'activity_deleted', ts('Deleted Activities'));
- }
+ //call activity form
+ self::activityForm($this);
//get case related relationships (Case Role)
$caseRelationships = CRM_Case_BAO_Case::getCaseRoles($this->_contactID, $this->_caseID);
//save special label because we unset it in the loop
$managerLabel = empty($managerRoleId) ? '' : $caseRoles[$managerRoleId];
- //build reporter select
- $reporters = array("" => ts(' - any reporter - '));
foreach ($caseRelationships as $key => & $value) {
- $reporters[$value['cid']] = $value['name'] . " ( {$value['relation']} )";
-
if (!empty($managerRoleId)) {
if ($managerRoleId == $value['relation_type']) {
$value['relation'] = $managerLabel;
}
}
- // take all case activity types for search filter, CRM-7187
- $aTypesFilter = array();
- $allCaseActTypes = CRM_Case_PseudoConstant::caseActivityType();
- foreach ($allCaseActTypes as $typeDetails) {
- if (!in_array($typeDetails['name'], array(
- 'Open Case'))) {
- $aTypesFilter[$typeDetails['id']] = CRM_Utils_Array::value('label', $typeDetails);
- }
- }
- asort($aTypesFilter);
- $this->add('select', 'activity_type_filter_id', ts('Activity Type'), array('' => ts('- select activity type -')) + $aTypesFilter);
-
$this->assign('caseRelationships', $caseRelationships);
//also add client as role. CRM-4438
$this->assign('caseRoles', $caseRoles);
- $this->add('select', 'reporter_id', ts('Reporter/Role'), $reporters);
-
// Retrieve ALL client relationships
$relClient = CRM_Contact_BAO_Relationship::getRelationship($this->_contactID,
CRM_Contact_BAO_Relationship::CURRENT,
$session->pushUserContext($url);
}
}
-}
+ /**
+ * Build the activity selector/datatable
+ * @param CRM_Core_Form $form
+ */
+ static function activityForm($form) {
+ $caseRelationships = CRM_Case_BAO_Case::getCaseRoles($form->_contactID, $form->_caseID);
+ //build reporter select
+ $reporters = array("" => ts(' - any reporter - '));
+ foreach ($caseRelationships as $key => & $value) {
+ $reporters[$value['cid']] = $value['name'] . " ( {$value['relation']} )";
+ }
+ $form->add('select', 'reporter_id', ts('Reporter/Role'), $reporters, FALSE, array('id' => 'reporter_id_'.$form->_caseID));
+
+ // take all case activity types for search filter, CRM-7187
+ $aTypesFilter = array();
+ $allCaseActTypes = CRM_Case_PseudoConstant::caseActivityType();
+ foreach ($allCaseActTypes as $typeDetails) {
+ if (!in_array($typeDetails['name'], array('Open Case'))) {
+ $aTypesFilter[$typeDetails['id']] = CRM_Utils_Array::value('label', $typeDetails);
+ }
+ }
+ asort($aTypesFilter);
+ $form->add('select', 'activity_type_filter_id', ts('Activity Type'), array('' => ts('- select activity type -')) + $aTypesFilter, FALSE, array('id' => 'activity_type_filter_id_'.$form->_caseID));
+
+ $activityStatus = CRM_Core_PseudoConstant::activityStatus();
+ $form->add('select', 'status_id', ts('Status'), array("" => ts(' - any status - ')) + $activityStatus, FALSE, array('id' => 'status_id_'.$form->_caseID));
+
+ // activity dates
+ $form->addDate('activity_date_low_'.$form->_caseID, ts('Activity Dates - From'), FALSE, array('formatType' => 'searchDate'));
+ $form->addDate('activity_date_high_'.$form->_caseID, ts('To'), FALSE, array('formatType' => 'searchDate'));
+
+ if (CRM_Core_Permission::check('administer CiviCRM')) {
+ $form->add('checkbox', 'activity_deleted', ts('Deleted Activities'), '', FALSE, array('id' => 'activity_deleted_'.$form->_caseID));
+ }
+ }
+}