protected $_summary = NULL;
+ /**
+ * Organisation contact ie. 'contact_id_b' or 'contact_id_a'
+ * @var string
+ */
+ protected $orgContact;
+
+ /**
+ * Related Contact ie. 'contact_id_b' or 'contact_id_a'
+ * @var string
+ */
+ protected $otherContact;
+
/**
*
*/
}
$this->_columns = array(
- 'civicrm_contact_organization' =>
- array(
+ 'civicrm_contact_organization' => array(
'dao' => 'CRM_Contact_DAO_Contact',
- 'fields' =>
- array(
- 'organization_name' =>
- array('title' => ts('Organization Name'),
+ 'fields' => array(
+ 'organization_name' => array(
+ 'title' => ts('Organization Name'),
'required' => TRUE,
'no_repeat' => TRUE,
),
- 'id' =>
- array(
+ 'id' => array(
'no_display' => TRUE,
'required' => TRUE,
),
- 'contact_type' =>
- array(
+ 'contact_type' => array(
'title' => ts('Contact Type'),
),
- 'contact_sub_type' =>
- array(
- 'title' => ts('Contact SubType'),
+ 'contact_sub_type' => array(
+ 'title' => ts('Contact Subtype'),
),
),
- 'filters' =>
- array(
- 'organization_name' =>
- array('title' => ts('Organization Name')),
+ 'filters' => array(
+ 'organization_name' => array('title' => ts('Organization Name')),
),
'grouping' => 'organization-fields',
),
- 'civicrm_relationship' =>
- array(
+ 'civicrm_relationship' => array(
'dao' => 'CRM_Contact_DAO_Relationship',
- 'fields' =>
- array(
- 'relationship_type_id' =>
- array('title' => ts('Relationship Type'),
+ 'fields' => array(
+ 'relationship_type_id' => array(
+ 'title' => ts('Relationship Type'),
),
),
- 'filters' =>
- array(
- 'relationship_type_id' =>
- array(
+ 'filters' => array(
+ 'relationship_type_id' => array(
'title' => ts('Relationship Type'),
'type' => CRM_Utils_Type::T_INT,
'operatorType' => CRM_Report_Form::OP_SELECT,
'options' => $this->relationTypes,
- 'default' => array(1),
+ 'default' => key($this->relationTypes),
),
),
'grouping' => 'organization-fields',
),
- 'civicrm_contact' =>
- array(
+ 'civicrm_contact' => array(
'dao' => 'CRM_Contact_DAO_Contact',
- 'fields' =>
- array(
- 'sort_name' =>
- array('title' => ts('Contact Name'),
+ 'fields' => array(
+ 'sort_name' => array(
+ 'title' => ts('Contact Name'),
'required' => TRUE,
),
- 'id' =>
- array(
+ 'id' => array(
'no_display' => TRUE,
'required' => TRUE,
),
),
'grouping' => 'contact-fields',
),
- 'civicrm_contribution' =>
- array(
+ 'civicrm_contribution' => array(
'dao' => 'CRM_Contribute_DAO_Contribution',
- 'fields' =>
- array('total_amount' => array('title' => ts('Amount'),
+ 'fields' => array(
+ 'total_amount' => array(
+ 'title' => ts('Amount'),
'required' => TRUE,
),
'id' => array(
'title' => 'Contribution Status',
'default' => TRUE,
),
- 'check_number' => array('title' => ts('Check Number'),
+ 'check_number' => array(
+ 'title' => ts('Check Number'),
),
'currency' => array(
'required' => TRUE,
'receive_date' => array('default' => TRUE),
'receipt_date' => NULL,
),
- 'filters' =>
- array(
- 'receive_date' =>
- array('operatorType' => CRM_Report_Form::OP_DATE),
- 'total_amount' =>
- array('title' => ts('Amount Between')),
- 'currency' =>
- array('title' => 'Currency',
+ 'filters' => array(
+ 'receive_date' => array('operatorType' => CRM_Report_Form::OP_DATE),
+ 'total_amount' => array('title' => ts('Amount Between')),
+ 'currency' => array(
+ 'title' => 'Currency',
'operatorType' => CRM_Report_Form::OP_MULTISELECT,
'options' => CRM_Core_OptionGroup::values('currencies_enabled'),
'default' => NULL,
'type' => CRM_Utils_Type::T_STRING,
),
- 'contribution_status_id' =>
- array('title' => ts('Contribution Status'),
+ 'contribution_status_id' => array(
+ 'title' => ts('Contribution Status'),
'operatorType' => CRM_Report_Form::OP_MULTISELECT,
'options' => CRM_Contribute_PseudoConstant::contributionStatus(),
'default' => array(1),
),
'grouping' => 'contri-fields',
),
- 'civicrm_address' =>
- array(
+ 'civicrm_address' => array(
'dao' => 'CRM_Core_DAO_Address',
- 'fields' =>
- array(
+ 'fields' => array(
'street_address' => NULL,
'city' => NULL,
'postal_code' => NULL,
- 'state_province_id' =>
- array('title' => ts('State/Province'),
+ 'state_province_id' => array(
+ 'title' => ts('State/Province'),
),
- 'country_id' =>
- array('title' => ts('Country'),
+ 'country_id' => array(
+ 'title' => ts('Country'),
),
),
'grouping' => 'contact-fields',
),
- 'civicrm_email' =>
- array(
+ 'civicrm_email' => array(
'dao' => 'CRM_Core_DAO_Email',
- 'fields' =>
- array('email' => NULL),
+ 'fields' => array('email' => NULL),
'grouping' => 'contact-fields',
),
);
'title' => 'Campaign',
'default' => 'false',
);
- $this->_columns['civicrm_contribution']['filters']['campaign_id'] = array('title' => ts('Campaign'),
+ $this->_columns['civicrm_contribution']['filters']['campaign_id'] = array(
+ 'title' => ts('Campaign'),
'operatorType' => CRM_Report_Form::OP_MULTISELECT,
'options' => $this->activeCampaigns,
);
}
}
else {
- $select[] = "{$table['alias']}.{$fieldName} as {$tableName}_{$fieldName}";
+ $select[] = "{$field['dbAlias']} as {$tableName}_{$fieldName}";
$this->_columnHeaders["{$tableName}_{$fieldName}"]['title'] = CRM_Utils_Array::value('title', $field);
$this->_columnHeaders["{$tableName}_{$fieldName}"]['type'] = CRM_Utils_Array::value('type', $field);
$clause = NULL;
if (CRM_Utils_Array::value('type', $field) & CRM_Utils_Type::T_DATE) {
$relative = CRM_Utils_Array::value("{$fieldName}_relative", $this->_params);
- $from = CRM_Utils_Array::value("{$fieldName}_from", $this->_params);
- $to = CRM_Utils_Array::value("{$fieldName}_to", $this->_params);
+ $from = CRM_Utils_Array::value("{$fieldName}_from", $this->_params);
+ $to = CRM_Utils_Array::value("{$fieldName}_to", $this->_params);
$clause = $this->dateClause($field['name'], $relative, $from, $to, $field['type']);
}
//hack filter display for relationship type
$type = substr($this->_params['relationship_type_id_value'], -3);
foreach ($statistics['filters'] as $id => $value) {
- if ($value['title'] == 'Relationship Type') {
- $statistics['filters'][$id]['value'] = 'Is equal to ' . $this->relationTypes[$this->relationshipId . '_' . $type];
+ if ($value['title'] == 'Relationship Type' && !empty($id)) {
+ $statistics['filters'][$id]['value'] = 'Is equal to ' .
+ $this->relationTypes[$this->relationshipId . '_' . $type];
}
}
return $statistics;
}
function postProcess() {
-
$this->beginPostProcess();
+ $this->buildACLClause(array($this->_aliases['civicrm_contact'], $this->_aliases['civicrm_contact_organization']));
+ $sql = $this->buildQuery(TRUE);
+ $rows = array();
+ $this->buildRows($sql, $rows);
+ $this->formatDisplay($rows);
+ $this->doTemplateAssignment($rows);
+ $this->endPostProcess($rows);
+ }
+
+ /**
+ * Set variables to be accessed by API and form layer in processing
+ */
+ function beginPostProcessCommon() {
$getRelationship = $this->_params['relationship_type_id_value'];
$type = substr($getRelationship, -3);
$this->relationshipId = intval((substr($getRelationship, 0, strpos($getRelationship, '_'))));
$this->orgContact = 'contact_id_a';
$this->otherContact = 'contact_id_b';
}
-
- $this->buildACLClause(array($this->_aliases['civicrm_contact'], $this->_aliases['civicrm_contact_organization']));
- $sql = $this->buildQuery(TRUE);
- $rows = array();
-
- $this->buildRows($sql, $rows);
- $this->formatDisplay($rows);
- $this->doTemplateAssignment($rows);
- $this->endPostProcess($rows);
}
function validRelationships() {
$this->relationTypes = $relationTypes = array();
$params = array('contact_type_b' => 'Organization', 'version' => 3);
- $typesA = &civicrm_api('relationship_type', 'get', $params);
+ $typesA = civicrm_api('relationship_type', 'get', $params);
if (empty($typesA['is_error'])) {
foreach ($typesA['values'] as $rel) {
}
$params = array('contact_type_a' => 'Organization', 'version' => 3);
- $typesB = &civicrm_api('relationship_type', 'get', $params);
+ $typesB = civicrm_api('relationship_type', 'get', $params);
if (empty($typesB['is_error'])) {
foreach ($typesB['values'] as $rel) {
}
/**
- * @param $rows
+ * @param array $rows
*/
function alterDisplay(&$rows) {
// custom code to alter rows
// convert Organization display name to links
if (array_key_exists('civicrm_contact_organization_organization_name', $row) && !empty($rows[$rowNum]
-['civicrm_contact_organization_organization_name']) &&
+ ['civicrm_contact_organization_organization_name']) &&
array_key_exists('civicrm_contact_organization_id', $row)
) {
$url = CRM_Utils_System::url('civicrm/contact/view',
CRM_Core_Permission::check('access CiviContribute')
) {
$url = CRM_Utils_System::url('civicrm/contact/view/contribution',
- "reset=1&id=" . $row['civicrm_contribution_id'] . "&cid=" . $row['civicrm_contact_id'] . "&action=view&context=contribution&selectedChild=contribute",
+ "reset=1&id=" . $row['civicrm_contribution_id'] . "&cid=" . $row['civicrm_contact_id'] .
+ "&action=view&context=contribution&selectedChild=contribute",
$this->_absoluteUrl
);
$rows[$rowNum]['civicrm_contribution_total_amount_link'] = $url;