Source of file EditableDateField.php
Size: 1,797 Bytes - Last Modified: 2021-12-23T10:38:03+00:00
/var/www/docs.ssmods.com/process/src/code/Model/EditableFormField/EditableDateField.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | <?php namespace SilverStripe\UserForms\Model\EditableFormField; use SilverStripe\Forms\CheckboxField; use SilverStripe\Forms\FieldList; use SilverStripe\ORM\FieldType\DBDatetime; use SilverStripe\UserForms\Model\EditableFormField; use SilverStripe\UserForms\Model\EditableFormField\EditableDateField\FormField; /** * EditableDateField * * Allows a user to add a date field. * * @package userforms */ class EditableDateField extends EditableFormField { private static $singular_name = 'Date Field'; private static $plural_name = 'Date Fields'; private static $has_placeholder = true; private static $db = [ 'DefaultToToday' => 'Boolean' // From customsettings ]; private static $table_name = 'EditableDateField'; /** * @return FieldList */ public function getCMSFields() { $this->beforeUpdateCMSFields(function (FieldList $fields) { $fields->addFieldToTab( 'Root.Main', CheckboxField::create( 'DefaultToToday', _t('SilverStripe\\UserForms\\Model\\EditableFormField.DEFAULTTOTODAY', 'Default to Today?') ), 'RightTitle' ); }); return parent::getCMSFields(); } /** * Return the form field * */ public function getFormField() { $defaultValue = $this->DefaultToToday ? DBDatetime::now()->Format('yyyy-MM-dd') : $this->Default; $field = FormField::create($this->Name, $this->Title ?: false, $defaultValue) ->setFieldHolderTemplate(EditableFormField::class . '_holder') ->setTemplate(EditableFormField::class); $this->doUpdateFormField($field); return $field; } } |