);
$formattedField = CRM_Utils_Date::addDateMetadataToField($fieldMetaData, $formattedField);
+ if (in_array($name, array_keys(self::getNonUpgradedDateFields()))) {
+ $formattedField['is_legacy_date'] = 1;
+ }
//adding custom field property
if (substr($field->field_name, 0, 6) == 'custom' ||
$addressOptions = CRM_Core_BAO_Setting::valueOptions(CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME,
'address_options', TRUE, NULL, TRUE
);
+ $legacyHandledDateFields = self::getNonUpgradedDateFields();
if (substr($fieldName, 0, 14) === 'state_province') {
$form->addChainSelect($name, array('label' => $title, 'required' => $required));
}
}
}
- elseif (($fieldName === 'birth_date') || ($fieldName === 'deceased_date')) {
- $form->addDate($name, $title, $required, array('formatType' => 'birth'));
- }
- elseif (in_array($fieldName, array(
- 'membership_start_date',
- 'membership_end_date',
- 'join_date',
- ))) {
- $form->addDate($name, $title, $required, array('formatType' => 'activityDate'));
+ elseif (isset($legacyHandledDateFields[$fieldName])) {
+ $form->addDate($name, $title, $required, array('formatType' => $legacyHandledDateFields[$fieldName]));
}
elseif (CRM_Utils_Array::value('name', $field) == 'membership_type') {
list($orgInfo, $types) = CRM_Member_BAO_MembershipType::getMembershipTypeInfo();
CRM_Core_BAO_CustomField::addQuickFormElement($form, $name, $customFieldID, $required, $search, $title);
}
}
- elseif (in_array($fieldName, array(
- 'receive_date',
- 'receipt_date',
- 'thankyou_date',
- 'cancel_date',
- ))) {
- $form->addDateTime($name, $title, $required, array('formatType' => 'activityDateTime'));
- }
elseif ($fieldName == 'send_receipt') {
$form->addElement('checkbox', $name, $title);
}
) + CRM_Contribute_PseudoConstant::contributionPage(), $required, 'class="big"'
);
}
- elseif ($fieldName == 'participant_register_date') {
- $form->addDateTime($name, $title, $required, array('formatType' => 'activityDateTime'));
- }
elseif ($fieldName == 'activity_status_id') {
$form->add('select', $name, $title,
array(
) + CRM_Campaign_PseudoConstant::engagementLevel(), $required
);
}
- elseif ($fieldName == 'activity_date_time') {
- $form->addDateTime($name, $title, $required, array('formatType' => 'activityDateTime'));
- }
elseif ($fieldName == 'participant_status') {
$cond = NULL;
if ($online == TRUE) {
}
}
+ /**
+ * Get fields that have not been upgraded to use datepicker.
+ *
+ * Fields that use the old code have jcalendar in the tpl and
+ * the form uses a customised format. We are moving towards datepicker
+ * which among other things passes dates back and forth using a standardised
+ * format. Remove fields from here as they are tested and converted.
+ */
+ static public function getNonUpgradedDateFields() {
+ return array(
+ 'birth_date' => 'birth',
+ 'deceased_date' => 'birth',
+ 'membership_start_date' => 'activityDate',
+ 'membership_end_date' => 'activityDate',
+ 'join_date' => 'activityDate',
+ 'receive_date' => 'activityDateTime',
+ 'receipt_date' => 'activityDateTime',
+ 'thankyou_date' => 'activityDateTime',
+ 'cancel_date' => 'activityDateTime',
+ 'participant_register_date' => 'activityDateTime',
+ 'activity_date_time' => 'activityDateTime',
+ );
+ }
+
/**
* Set profile defaults.
*
{include file="CRM/Profile/Form/GreetingType.tpl"}
{elseif ($profileFieldName eq 'group' && $form.group) || ($profileFieldName eq 'tag' && $form.tag)}
{include file="CRM/Contact/Form/Edit/TagsAndGroups.tpl" type=$profileFieldName title=null context="profile"}
- {elseif ( $profileFieldName|substr:-5:5 eq '_date' ) AND
- ( $form.formName neq 'Confirm' ) AND
- ( $form.formName neq 'ThankYou' ) }
- {include file="CRM/common/jcalendar.tpl" elementName=$profileFieldName}
{elseif $field.is_datetime_field && $action == 4}
{assign var="date_value" value=$form.$profileFieldName.value}
<span class="crm-frozen-field">
- {$date_value|date_format:"%Y-%m-%d"|crmDate:$field.php_datetime_format}
+ {$date_value|date_format:"%Y-%m-%d"|crmDate:$config->dateformatshortdate}
<input type="hidden"
name="{$form.$profileFieldName.name}"
value="{$form.$profileFieldName.value}" id="{$form.$profileFieldName.name}"
>
</span>
+ {elseif $field.is_legacy_date}
+ {include file="CRM/common/jcalendar.tpl" elementName=$profileFieldName}
{elseif $profileFieldName|substr:0:5 eq 'phone'}
{assign var="phone_ext_field" value=$profileFieldName|replace:'phone':'phone_ext'}
{if $prefix}{$form.$prefix.$profileFieldName.html}{else}{$form.$profileFieldName.html}{/if}