Commit Graph

260 Commits

Author SHA1 Message Date
Sam Minnee
712680a5e8 BUGFIX #5362: Fixed duplicate removal on DataObject:get() with join argument for all databases. (from r103588)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112150 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-13 03:58:10 +00:00
Sam Minnee
0914dd55c5 ENHANCEMENT: allow to check for any changed fields on the DataObject, this is expected behaviour when isChanged function is called without parameters (#5421, patch by walec51) (from r103047)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112072 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-13 01:48:48 +00:00
Sam Minnee
890ac94a6a MINOR: Several changes merged from branches/2.4
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112060 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-13 01:35:19 +00:00
Sam Minnee
daa50b9d3b BUGFIX: Ensure that DataObject IDs are numbers and no string equivalents of numbers - 3 not '3' (from r101939)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112049 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-13 01:19:33 +00:00
Sam Minnee
dad17e2330 MINOR Marked DataObject::has_own_table() as static (from r101782)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112034 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-13 01:06:47 +00:00
Sam Minnee
c6b8148052 BUGFIX: Prevent failed migrateVersion writes from breaking versioning system in future writes.
BUGFIX: MAke site tree pages go green when you save a new draft.
API CHANGE: Add option for DataObjectDecorator::onAfterSkippedWrite() (from r101155)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@111963 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-12 21:48:07 +00:00
Sam Minnee
bfc354ab7e BUGFIX: Flush cache after deleting an item.
BUGFIX: Fixed databaseFieldsOnly version of DataObject::getChangedFields() (from r101116)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@111592 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-04 04:50:43 +00:00
Sam Minnee
cc355a4f18 API CHANGE: Replaced eval based creation of extension and field objects with Object::create_from_string().
API CHANGE: Introduced new function Object::create_from_string() to instantiate an object from a string like 'Int(50)' (from r101093)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@111585 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-04 04:46:41 +00:00
Sam Minnee
ec067ab08a API CHANGE: Pass the full extension string as the 2nd argument to DataObjectDecorator::extraStatics() (from r101043)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@111568 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-04 04:32:30 +00:00
Sam Minnee
2e49064341 BUGFIX DataObject::hasValue() is now compatible with parent ViewableData::hasValue() (this also fixes E_STRICT standards in PHP) (from r100921)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@111541 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-04 04:21:06 +00:00
Julian Seidenberg
6c541940e4 MINOR: updated comments on new methods that duplicate relations to be compatible with PHPDoc
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@110909 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-09-17 02:27:44 +00:00
Julian Seidenberg
c32a6e34a0 BUGFIX: fix to #110845 to allow parsing of the DataObject file in PHP 5.2 and below.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@110863 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-09-16 05:53:16 +00:00
Julian Seidenberg
ed666b71b7 ENHANCEMENT: DataObject and SiteTree duplicate now duplicate relations (except for has_many relations, as the object at the other end of such a relation has an existing relation to the original object and that should not be modified by the duplication)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@110845 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-09-16 03:40:34 +00:00
Ingo Schommer
3bd114256b MINOR added Rfc2822 method to SS_Datetime. Fixed bug where dates in DataObject would not set times. (from r100032)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@105546 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-05-25 03:40:37 +00:00
Ingo Schommer
052f71f4b3 MINOR LastEdited/Created dates are now mockable via SS_Datetime (from r100008)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@105545 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-05-25 03:40:11 +00:00
Ingo Schommer
6460d09570 MINOR Fixed phpdoc documentation
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@103385 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-04-23 00:11:41 +00:00
Ingo Schommer
98de6165ea MINOR: groupby works for SQLite too (from r97985)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@102563 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-04-13 01:46:51 +00:00
Ingo Schommer
fa8c4b128c BUGFIX: Fixed potential data corruption issue when you are changing the class of a SiteTree subclass between two subclasses that share a fieldname. (from r97594)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@102514 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-04-12 22:30:07 +00:00
Ingo Schommer
4e850f6011 FEATURE: Add aggregate calculation to DataObject, allowing (cached) calculation of Max, Min, Count, Avg, etc (from r97390)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@102448 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-04-12 05:04:34 +00:00
Ingo Schommer
08075929ba API CHANGE: Added DataObjectDecorator::cacheKeyComponent() to ensure that the cached behind DataObject::get_one() is appropriately specific (from r93095) (from r96749)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@102378 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-04-12 02:40:50 +00:00
Ingo Schommer
22e789e916 BUGFIX: Allow set objects as properties if the property is not a database field (from r96663)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@102329 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-04-12 01:36:30 +00:00
Ingo Schommer
2fc2d72501 BUGFIX Fixed DataObject->fieldLabels() to respect flag
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@98748 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-02-11 02:18:54 +00:00
Ingo Schommer
c340d9a1c5 MINOR Fixed tabs (from r93859)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@93944 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-11-30 00:45:59 +00:00
Will Rossiter
be31f19160 API CHANGE: removed $add_action from SiteTree. Use ClassName.SINGULARNAME in the lang tables instead
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@93658 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-11-26 22:05:06 +00:00
Will Rossiter
c1cf726419 MINOR: added deprecated labels for databaseFields()
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@93656 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-11-26 21:52:02 +00:00
Will Rossiter
2ff4631c1f API CHANGE: removed listOfFields() function. Use custom code instead.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@93647 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-11-26 21:24:38 +00:00
Will Rossiter
f50066cddd APICHANGE: removed deprecated fieldExists() function. Use hasField() instead
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@93633 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-11-26 20:48:36 +00:00
Will Rossiter
e0f1fa8c3a APICHANGE: removed deprecated extend calls
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@93632 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-11-26 20:40:49 +00:00
Sam Minnee
b5a5500ff4 BUGFIX: Make DataObject::dbObject('ClassName') work.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@90632 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-11-02 06:27:00 +00:00
Sam Minnee
994e93f790 API CHANGE: replaced Database::USE_ANSI_SQL with DB::USE_ANSI_SQL
API CHANGE: replaced Database::alteration_message() with DB::alteration_message()

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@90097 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-26 22:03:29 +00:00
Ingo Schommer
2527b1543d BUGFIX Don't skip flushCache() extension if $cache_get_one is empty on DataObject->flushCache()
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@90082 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-26 20:54:50 +00:00
Andrew Short
79773042be API CHANGE: Renamed conflicting classes to have an "SS_" namespace, and renamed existing "SS" namespace to "SS_". The affected classes are: HTTPRequest, HTTPResponse, Query, Database, SSBacktrace, SSCli, SSDatetime, SSDatetimeTest, SSLog, SSLogTest, SSLogEmailWriter, SSLogErrorEmailFormatter, SSLogErrorFileFormatter, SSLogFileWriter and SSZendLog.
MINOR: Replaced usage of renamed classes with the new namespaced name.

From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@90075 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-26 03:06:31 +00:00
Sam Minnee
709f162f13 Merge branch 'master' of git@github.com:sminnee/sapphire
From: Sam Minnee <sam@silverstripe.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@90072 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-23 23:27:51 +00:00
Sam Minnee
9a83be9140 Merge branch 'master' of git@github.com:sminnee/sapphire
From: Sam Minnee <sam@silverstripe.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@90071 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-23 23:26:10 +00:00
Andrew O'Neil
8679fd9883 FEATURE: Allow Text/Varchar fields to be configured to differentiate between NULL and empty string. (#4178, petebd)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@90036 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-23 01:29:55 +00:00
Sean Harvey
559bbfcca8 BUGFIX #4605 DataObject::newClassInstance() should repopulate it's defaults after changing to an instance of a different class, otherwise databases will complain of NULL values being written to columns that don't accept NULL values.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88956 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-14 06:35:45 +00:00
Andrew Short
5c316aa1c0 MINOR: Removed unnecessary check in DataObject->hasField() and optimised DataObject->db() call.
From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88699 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-12 22:28:30 +00:00
Sam Minnee
24435fbbf7 BUGFIX: Fixed bugs in ViewableData casting system.
From: Sam Minnee <sam@silverstripe.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88664 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-12 06:58:40 +00:00
Andrew Short
365b4784a9 FEATURE: Refactored ViewableData. The main changes are:
* Values are not always casted before being rendered into a template.
	* Casting information can by dynamically provided by $casting_properties, rather than being hardcoded to $casting and $db.
	* Removed unneeded ViewableData_Iterator - ArrayIterator is instead used.
	* Removed ViewableData_ObjectCustomised - now just uses ViewableData_Customised.
ENHANCEMENT: Added template and value methods to database fields.
MINOR: Added ViewableDataTest and extended DataObjectTest.

From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88474 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:06:58 +00:00
Geoff Munn
084e3801c5 API CHANGE: $database_extensions static variable now supported
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88294 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-08 01:21:24 +00:00
Sean Harvey
b77d088d47 Merged in parent::__construct() additions from branches/2.3 - r83580 and r83587
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@86676 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-09-18 03:02:19 +00:00
Geoff Munn
844330a63d MINOR FIX: columns quoted properly
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@86513 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-09-17 00:09:23 +00:00
Geoff Munn
ab735c70d0 BUG FIX: ID column in delete function now quoted properly
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@86170 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-09-13 22:28:19 +00:00
Normann Lou
c8753a99d3 BUGFIX: Fix the bug in buildSQL() by trying to join an table with non-exsiting composite db field like "Money"
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@85120 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-24 23:51:53 +00:00
Sam Minnee
dfbd16e140 BUGFIX: Fixed querying of composite fields (broken due to inappropriate optimisation of hasField)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84796 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-19 04:59:40 +00:00
Sam Minnee
a74129b5a6 ENHANCEMENT: Improved performance of DataObject::hasField()
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84165 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-11 08:57:14 +00:00
Sam Minnee
5790ddf708 API CHANGE: Added DataObject::is_composite_field() and DataObject::composite_fields() to efficiently keep track of which fields are composite.
API CHANGE: Deprecated DataObject::databaseFields() in favour of the static DataObject::database_fields()

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84161 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-11 08:49:52 +00:00
Sam Minnee
d5cf940d69 API CHANGE: Make Object::uninherited_static() have a separate execution path to Object::get_static(), for more reliable operation. The intention is that for any given static, you either use Object::get_static() or you use Object::uninherited_static() - not both.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84151 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-11 05:01:17 +00:00
Sam Minnee
5f6bee22ba BUGFIX: Added static resetting methods for more reliable test execution.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84147 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-11 04:45:54 +00:00
Sam Minnee
51e28f078c ENHANCEMENT: Improved performance of DataObject::buildSQL(), by caching a suitable interim piece.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@83441 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-07-31 05:41:59 +00:00