Compare commits
4 Commits
d80bd71993
...
master
Author | SHA1 | Date | |
---|---|---|---|
2dd9ef25ef | |||
d975405623 | |||
c9aa4e0955 | |||
8e68436afd |
@ -34,6 +34,14 @@ class CRM_EntityTemplates_Utils {
|
||||
* @param object $form
|
||||
*/
|
||||
public static function buildForm($formName, &$form) {
|
||||
if ('CRM_Custom_Form_CustomDataByType' == $formName) {
|
||||
if (empty($form->_entityTemplateId)) {
|
||||
return;
|
||||
}
|
||||
$formValues = CRM_EntityTemplates_BAO_EntityTemplates::getFormValues($form->_entityTemplateId);
|
||||
$form->setDefaults($formValues);
|
||||
}
|
||||
|
||||
if (!empty($form->_entityTemplateValues)) {
|
||||
if ($form->_entityTemplate) {
|
||||
unset($form->_required);
|
||||
@ -74,7 +82,31 @@ class CRM_EntityTemplates_Utils {
|
||||
if ($form->_entityTemplateId) {
|
||||
$formValues = CRM_EntityTemplates_BAO_EntityTemplates::getFormValues($form->_entityTemplateId);
|
||||
$formValues['entity_template_id'] = $form->_entityTemplateId;
|
||||
|
||||
self::formatDateParams($formValues, $form->_elements);
|
||||
$form->setDefaults($formValues);
|
||||
|
||||
if (!empty($formValues['payment_instrument_id'])) {
|
||||
CRM_Core_Payment_Form::buildPaymentForm(
|
||||
$form,
|
||||
$form->getVar('_paymentProcessor'),
|
||||
FALSE,
|
||||
TRUE,
|
||||
$formValues['payment_instrument_id']
|
||||
);
|
||||
}
|
||||
|
||||
CRM_Core_Resources::singleton()->addScript("
|
||||
CRM.$(function($) {
|
||||
$(document).ajaxSend(function(event, jqxhr, settings) {
|
||||
if (settings.url .indexOf('civicrm/custom') != -1) {
|
||||
settings.url = settings.url + '&templateId={$form->_entityTemplateId}';
|
||||
}
|
||||
});
|
||||
})",
|
||||
10,
|
||||
'html-header'
|
||||
);
|
||||
}
|
||||
CRM_Core_Region::instance('page-body')->add([
|
||||
'template' => 'CRM/EntityTemplates/EntityTemplate.tpl',
|
||||
@ -89,6 +121,9 @@ class CRM_EntityTemplates_Utils {
|
||||
* @param array $params
|
||||
*/
|
||||
public static function addTemplate($objectName, $params) {
|
||||
if (empty($params['entity_template'])) {
|
||||
$params = $_POST;
|
||||
}
|
||||
if (CRM_Utils_Array::value('entity_template', $params) == $objectName) {
|
||||
$id = NULL;
|
||||
if (!empty($params['entity_template_id'])) {
|
||||
@ -111,7 +146,6 @@ class CRM_EntityTemplates_Utils {
|
||||
if ($id) {
|
||||
$entityParams['id'] = $id;
|
||||
}
|
||||
|
||||
civicrm_api3('EntityTemplates', 'create', $entityParams);
|
||||
|
||||
// print message
|
||||
@ -122,4 +156,24 @@ class CRM_EntityTemplates_Utils {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Format Date field values in params.
|
||||
*
|
||||
* @param array $params
|
||||
* @param object $elements
|
||||
*/
|
||||
public static function formatDateParams(&$params, $elements) {
|
||||
foreach ($elements as $element) {
|
||||
if (!empty($element->_attributes) && array_key_exists(
|
||||
'data-crm-datepicker',
|
||||
$element->_attributes
|
||||
)) {
|
||||
$name = $element->_attributes['name'];
|
||||
if (!CRM_Utils_System::isNull($params[$name])) {
|
||||
$params[$name] = date('Y-m-d H:i:s', strtotime($params[$name]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user