Commit Graph

48 Commits

Author SHA1 Message Date
Ingo Schommer
55f12939bb Defined $schemaDataType constant, added to FormField subclasses 2016-03-30 23:00:00 +13:00
Sam Minnee
aeccb8b8e0 API: Move DBField subclasses into SilverStripe\Model\FieldType namespace
API: Deprecate SS_Datetime.

The DBField subclasses are have all been renamed to start with “DB” and
be in the SilverStripe\Model\FieldType namespace. To keep DataObject
definitions concise, the original short variations of their names are
preserved as service definitions. Most of the field generation code
doesn’t need to change, but where field classes are referenced directly,
changes will be needed.

SS_Datetime, which is commonly referenced outside the model system
itself, has been preserved as a subclass of DBDatetime. This has been
marked as deprecated and can be removed in SilverStripe 5.

A few places that referred to $db and $casting values weren’t using
the Injector to instantiate the relevant classes. This meant that the
remapping we have created as part of moving classes into a namespace
didn’t work.
2016-03-22 18:09:30 +13:00
Daniel Hensby
79c4f63855 DOCS Fixing docs (and bad API usage) 2015-07-20 16:42:33 +01:00
Damian Mooyman
1d122803cc Merge remote-tracking branch 'origin/3.1' into 3.2
Conflicts:
	dev/SapphireTest.php
	docs/en/02_Developer_Guides/01_Templates/01_Syntax.md
	forms/DatetimeField.php
	forms/NullableField.php
	forms/NumericField.php
	forms/gridfield/GridField.php
	tests/control/DirectorTest.php
	tests/model/DataObjectSchemaGenerationTest.php
	tests/model/MySQLDatabaseTest.php
2015-06-19 10:48:07 +12:00
Gregory Smirnov
66b1dd9154 Issue 4305: fixed DatetimeField::setName() 2015-06-18 18:36:02 +02:00
Stevie Mayhew
9e8a5c9ba5 FIX: remove validation type constraint from form fields for 3.2 release 2015-05-11 12:32:00 +12:00
Stevie Mayhew
41ea83b337 FEATURE: add validation to form field subclasses 2014-11-17 08:17:38 +13:00
Damian Mooyman
eb069e605d Remove all redundant whitespace 2014-08-19 09:17:15 +12:00
Ian Walls
b906442a9c Fixes issue #2669
Add local setName() function to DatetimeField, which also sets Name
on the constituent DateField, TimeField and timezoneField.
2013-11-15 14:18:48 -05:00
Ingo Schommer
1c31c098ee FIX Correct Zend_Locale fallbacks in i18n/DateField/DateTimeField
Due to the recent change of translations to transifex, some
locales changed their names, which prompted a fix to
i18n::get_available_translations() (see 00ffe7294).
This caused a regression where short locales are determined
from the YAML file names (e.g. "en"), but weren't matched up
with fully qualified locales from get_available_translations() (e.g. "en_US").
Since this list is used in the admin/myprofile dropdown for the Member.Locale value,
it didn't match up with any entries and defaulted to the first one ("Africaans").

Note that the behaviour of admin/myprofile is still a bit weird:
It defaults the locale on new members to the one set for the current administrator.
So if a site defaults to en_US in _config.php, but the admin happens to view
his backend in de_DE, all members he creates default to de_DE as well.

Thanks to @tractorcow for contributing and peer reviewing!
2013-08-30 10:18:00 +02:00
chiujl
cb463449e8 DatetimeField returns wrong year
This is related to how Zend_Date returns year for YYYY & yyyy format. Detailed explanation is here http://framework.zend.com/issues/browse/ZF-5297

Sample code (adapted the Datetimefield setValue() method) to highlight the problem:

include 'framework/thirdparty/Zend/Date.php';

$userValueObj = new Zend_Date(null, null, 'en_US');
$userValueObj->setTimezone('GMT');
$userValueObj->setDate('2012-01-01', 'YYYY-MM-dd');
$userValueObj->setTime('00:00:00', 'HH:mm:ss');
echo $userValueObj->get('YYYY-MM-dd HH:mm:ss', 'en_US'), "\n"; // returns 2011-01-01 00:00:00
echo $userValueObj->get('yyyy-MM-dd HH:mm:ss', 'en_US'), "\n"; // returns 2012-01-01 00:00:00
2013-04-13 06:26:52 +08:00
Ingo Schommer
3334eafcb1 API Marked statics private, use Config API instead (#8317)
See "Static configuration properties are now immutable, you must use Config API." in the 3.1 change log for details.
2013-03-24 17:20:53 +01:00
Ingo Schommer
f4068371fc Merge pull request #1159 from chillu/pulls/datetimefield-field-setters
DatetimeField->setDateField()/setTimeField()
2013-02-14 11:31:31 -08:00
Ingo Schommer
048f6b19fe Removed DatetimeField->setDescription() proxying
We shouldn't pass it to the child fields since it ends
up showing the description three times in the default
"inline" mode. If the description is required as a hover/focus effect,
it can be set individually on the fields.
2013-02-07 11:41:20 +01:00
Ingo Schommer
b350ded87c Fixed DatetimeField formatting (single row, smaller field)
Also removed the arbitrary right-floating of fields within a fieldgroup
2013-02-05 12:01:32 +01:00
Ingo Schommer
6c22545639 DatetimeField->setDateField()/setTimeField()
Useful e.g. to override the time field with the
"silverstripe/timefield" dropdown
2013-02-05 11:03:19 +01:00
Ingo Schommer
559abecd56 API Copying instance props on FormField readonly/disabled transformations
Introduced new FormField->castedCopy() method
which tries to replicate the existing form field instance
as closely as possible.

Primarily, the fix was targeted at consistently passing
through FormField->description to all of its variations.
2012-12-14 01:58:04 +01:00
Ingo Schommer
212c427c45 Pass setDescription() through to sub-fields in DatetimeField and PhoneNumberField 2012-12-14 01:57:27 +01:00
Ingo Schommer
26141718ec BUG Deep cloning for DateTimeField 2012-12-14 01:57:26 +01:00
Sam Minnee
1f7fc1f76a FIX Remove instances of lines longer than 120c
The entire framework repo (with the exception of system-generated files) has been amended to respect the 120c line-length limit.  This is in preparation for the enforcement of this rule with PHP_CodeSniffer.
2012-09-30 17:18:13 +13:00
Ingo Schommer
e2f073f38a Method visibility according to coding conventions 2012-09-20 10:46:59 +02:00
Naomi Guyer
ae52be54f0 FIX: Missing last login time (fixes 7666)
Add in missing user login time
2012-08-10 18:08:53 +12:00
Simon Welsh
f07258f3cf MINOR Update @package values to match renaming sapphire 2012-04-15 10:50:19 +12:00
Simon Welsh
3a6341a251 API-CHANGE sapphire folder can now be renamed. 2012-04-15 10:50:19 +12:00
Andrew O'Neil
716ff9dcfa MINOR: Ensure all form fields have FieldHolder() with identical signature to FormField::FieldHolder(). Fixes E_STRICT warnings. 2012-04-11 18:07:55 +12:00
Andrew O'Neil
4be59a8d45 MINOR: Ensure all form fields Field() method has the same signature as FormField::Field(). Fixes E_STRICT warnings. 2012-04-11 17:33:36 +12:00
Ingo Schommer
40d73127ae MINOR Using late static binding instead of Object::create() calls 2012-04-04 17:10:31 +02:00
Sean Harvey
9f3344b355 API CHANGE Removed built-in behaviour.js client-side form validation.
This is no longer supported. Please use custom client-side validation instead. (see 3.0.0 changelog
for more information)
2012-03-09 12:19:57 +13:00
Ingo Schommer
299bf8b9c6 Merge branch 'integration' 2012-03-02 20:53:06 +01:00
Ingo Schommer
b92676cc86 MINOR Fixed DatetimeField_Readonly config retrieval 2012-02-29 16:59:07 +01:00
Sean Harvey
f4a758e500 BUGFIX DatetimeField allows non-US style dates with an empty time component to be saved correctly 2012-02-24 20:52:26 +13:00
Ingo Schommer
7602d081a2 ENHANCEMENT Fluent interface in Form API by returning instance from all setters 2012-02-17 13:35:26 +01:00
Fred Condo
d370423825 Clean up trailing ?> per coding standard
All sapphire but the lang directory
2012-02-12 12:40:16 -08:00
Ingo Schommer
e31851b182 BUGFIX Correctly mark DatetimeField, MoneyField and PhoneNumberField composites as disabled or readonly 2012-01-02 16:49:33 +01:00
Sam Minnee
a49b56a348 MINOR: Removed usage of deprecated FormField::Name() 2011-10-29 17:34:32 +13:00
Ingo Schommer
a3bcf0c61c MINOR Using Object::create() for sub fields in DatetimeField to allow changing the dependencies globally 2011-10-07 14:12:51 +02:00
Ingo Schommer
7c147fed14 ENHANCEMENT Passing 'timeformat' and other metadata to markup generated in DateField, TimeField and DatetimeField, to allow for easier integration with third party libraries 2011-10-07 14:12:51 +02:00
Ingo Schommer
d93bd49edc ENHANCEMENT Allowing global default configuration for DateField, TimeField and DatetimeField 2011-10-07 14:12:50 +02:00
Ingo Schommer
aa60201cd1 MINOR Making date/time order and separation configurable through DatetimeField->setConfig('datetimeorder') 2011-10-07 14:12:50 +02:00
Ingo Schommer
c89bdbb268 ENHANCEMENT Added user timezone support to DatetimeField 2011-10-07 14:12:50 +02:00
Ingo Schommer
168b1ff279 MINOR Allowing to retrieve the whole configuration array in DateField/TimeField/DateetimeField->getConfig() 2011-09-19 15:44:35 +02:00
Ingo Schommer
eda75a2aa9 MINOR Fixed documentation for DatetimeField 2011-03-30 08:39:35 +13:00
Sam Minnee
31d442f5da BUGFIX Respecting field specific locale settings in DatetimeField and DateField when validating and saving values (fixes #5931, thanks Tjofras) (from r110889)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112864 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-19 03:01:03 +00:00
Sam Minnee
ea50868156 BUGFIX Added a clearing div after the date and time fields, not the best way of doing it but the only way as the overflow css trick for clearing fields doesn't work with the time dropdown (from r107811)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112698 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-18 22:26:13 +00:00
Sam Minnee
c5f4926d4d BUGFIX Fixed DateField->validate() with keyed, but empty array values
MINOR Fixed DateField/TimeField validation message translation (wrong sprintf() nesting) (from r107789)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112696 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-18 22:25:41 +00:00
Ingo Schommer
e07d56096d BUGFIX Allowing DatetimeField->saveInto() to save a partial array notation with missing 'time' value (from r107441)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112599 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-15 03:51:21 +00:00
Ingo Schommer
52bd0cc4bb API CHANGE Using FieldHolder() instead of Field() for subfields in DatetimeField->FieldHolder(), in order to get configuraton settings for javascript DateField (from r107439)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112598 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-15 03:49:06 +00:00
Ingo Schommer
6227478f82 FEATURE New DatetimeField class (form field wrapper composed of DateField andTimeField)
FEATURE New DateField and TimeField form classes with more consistent API and easier localization
API CHANGE Date/time parsing in DateField, TimeField and DatetimeField defaults to i18n::get_locale() ('en_US') instead of using en_NZ/en_GB specific parsing. Use i18n::set_locale('en_NZ') in mysite/_config.php to revert to old behaviour.
API CHANGE  constructor parameter in TimeField needs to be in ISO date notation (not PHP's date())
API CHANGE TimeField, DateField and related subclasses use Zend_Date for date parsing, meaning they're stricer than the previously used strtotime()
API CHANGE Removed DMYCalendarDateField and CalendarDateField, use DateField with setConfig('showcalendar')
API CHANGE Removed CompositeDateField, DMYDateField, use DateField with setConfig('dmyfields')
API CHANGE Removed DropdownTimeField, use TimeField with setConfig('showdropdown')
API CHANGE Removed PopupDateTimeField, use DatetimeField
API CHANGE Changed 'date', 'month' and 'year' HTML field names to lowercase in DMYDateField
API CHANGE Removed support for ambiguous date formats in DateField, e.g. '06/03/03'. Use DateField->setConfig('dateformat', '<format>') to revert to this behaviour.
API CHANGE Removed  flag from DateField, CalendarDateField etc., use DateField->setConfig('min') and DateField->setConfig('max')
ENHANCEMENT Using Zend_Date for DateField and TimeField, with more robust date handling, starting localization support. Set globally via i18n::set_locale(), or for a field instance through setLocale(). Note: Javascript validation is not localized yet. (from r99360)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@102859 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-04-14 04:38:40 +00:00