Commit Graph

268 Commits

Author SHA1 Message Date
Sean Harvey
76b5adc979 Merged from branches/2.3
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@75579 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-04-28 23:52:15 +00:00
Ingo Schommer
99c1fe9f93 BUGFIX Allowing translated homepages in RootUrlController
BUGFIX Limiting RootURLController to just trigger Translatable if no DomainForHomepage value is found
BUGFIX Using $locale parameter in Translatable::get_homepage_urlsegment_by_locale()
BUGFIX Updated enabling mechanism in Translatable->alternateGetByUrl()
MINOR Removed HTTP_HOST setting in TranslatableTest, wasn't necessary
API CHANGE Deprecated Translatable::get_homepage_urlsegment_by_language(), use get_homepage_urlsegment_by_locale()

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@75328 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-04-27 23:08:39 +00:00
Ingo Schommer
ca24365c6f BUGFIX Fixed Translatable->onBeforeWrite() to change ClassNames on all translations when the "master page" (default language) changes its class to avoid inconsistencies with saving translations (see #3487)
BUGFIX Correctly showing the available languages dropdown in Translatable->getCMSFields()

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@75249 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-04-27 05:57:11 +00:00
Ingo Schommer
e55f3126fa BUGFIX Changed DataObject->newClassInstance() to only force changes if a differing classname was set. Setting ClassName property on new instance to trigger change detection (required for Translatable->onBeforeWrite())
BUGFIX Only force DataObject->forceChange() on fields which aren't already marked as changed

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@75248 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-04-27 05:55:25 +00:00
Sam Minnee
b165bde578 BUGFIX #3919: Fix DataObject::dbObject() for decorated fields
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@75150 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-04-27 00:44:10 +00:00
Ingo Schommer
bac89fd2c5 BUGFIX Setting the correct ParentID for children with existing parents in Translatable->createTranslation() - see #3861
BUGFIX Fixed Locale duplication detection for queries in Translatable->augmentSQL()

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@75027 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-04-23 04:41:49 +00:00
Ingo Schommer
235ce958b8 BUGFIX Fixed TranslatableSearchFormTest->setUp() method
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@74942 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-04-22 03:24:50 +00:00
Ingo Schommer
228b976ce1 ENHANCEMENT Adding SapphireTest::set_up_once() and SapphireTest::tear_down_once() for better test performance with state that just needs to be initialized once per test case (not per test method). Added new SapphireTestSuite to support this through PHPUnit.
ENHANCEMENT Using set_up_once() in TranslatableTest and TranslatableSearchFormTest for better test run performance

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@74941 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-04-22 03:22:09 +00:00
Ingo Schommer
50fc4959a2 ENHANCEMENT Improved deprecated fallbacks in Translatable by auto-converting short language codes to long locales and vice versa through i18n::get_lang_from_locale()/i18n::get_locale_from_lang()
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@74017 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-04-02 21:49:40 +00:00
Ingo Schommer
d1a9e2b3f6 BUGFIX Fixed DateTest timestamp->date testing - was assuming a NZ timezone environment setting, hence failing in other timezones
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@74011 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-04-02 17:16:34 +00:00
Ingo Schommer
93a931edbb MINOR Fixed DateTest to be more expressive (no iteration on test values)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@74010 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-04-02 16:45:10 +00:00
Ingo Schommer
e0ec30dcc8 ENHANCEMENT Allowing usage of global settings via asterisk (*) in RequestHandler->$allowed_actions
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@74009 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-04-02 16:34:27 +00:00
Ingo Schommer
e482ada014 API CHANGE Deprecated Translatable::enable() and i18n::enable()- use Object::add_extension('SiteTree','Translatable'), Deprecated Translatable::disable() and i18n::disable() - use Object::remove_extension('SiteTree','Translatable'), Deprecated Translatable::enabled() - use $myPage->hasExtension('Translatable')
API CHANGE Removed Translatable::creating_from() - doesn't apply any longer
ENHANCEMENT Translatable extension is no longer hooked up to SiteTree by default, which should improve performance and memory usage for sites not using Translatable. Please use Object::add_extension('SiteTree','Translatable') in your _config.php instead. Adjusted several classes (Image, ErrorPage, RootURLController) to the new behaviour.

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73951 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-04-01 16:35:32 +00:00
Ingo Schommer
9f0be3eb7b API CHANGE Deprecated Object->extInstance(), use getExtensionInstance() instead
ENHANCEMENT Added Object->getExtensionInstances()
ENHANCEMENT Added Object::get_extensions()
ENHANCEMENT Unsetting class caches when using Object::add_extension() to avoid problems with defineMethods etc.
BUGFIX Fixed extension comparison with case sensitivity and stripping arguments in Object::has_extension()
BUGFIX Unsetting all cached singletons in Object::remove_extension() to avoid outdated extension_instances
MINOR Documentation in Object

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73900 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-31 22:27:53 +00:00
Ingo Schommer
ea9ce082e2 BUGFIX Fixed SoapModelAccessTest to conform to new 401 returns in RestfulServer
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73835 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-30 05:20:08 +00:00
Ingo Schommer
ec42a12162 BUGFIX RestfulServer->permissionFailiure() returns correct HTTP status code if authentication is possible: 401 Unauthrized instead of 403 Forbidden (patch #3803, thanks DoubleClique)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73820 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-30 03:12:58 +00:00
Sam Minnee
6cbeeb9e03 MINOR: Fixed test to get previous change to work
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73765 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-29 21:50:47 +00:00
Ingo Schommer
40910f9f71 ENHANCEMENT RestfulServer now accepts form-encoded HTTP requests for PUT and POST with new FormEncodedDataFormatter class (#3792, thanks camspiers)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73747 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-29 00:51:38 +00:00
Sam Minnee
131316e57a MINOR: Fixed syntax error in test source file
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73483 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-22 00:29:47 +00:00
Sam Minnee
ef4c5019a6 Added a syntax checking test that will use short_tags on and off and asp_tags on
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73481 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-22 00:25:09 +00:00
Sam Minnee
a28ea0a69e ENHANCEMENT: Added Object::combined_static(), which gets all values of a static property from each class in the hierarchy
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73473 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-21 05:10:05 +00:00
Ingo Schommer
16a012dfa1 MINOR fixed typo
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73470 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-20 08:56:57 +00:00
Ingo Schommer
7ad7f8dcf2 ENHANCEMENT Adjusted SearchForm, Debug, ErrorPage, SiteTree to using locales instead of lang codes
API CHANGE Changed Translatable datamodel to use locales ("en_US") instead of lang values ("en).
API CHANGE Changed Translatable::$default_lang to $default_locale, Translatable::$reading_lang to $reading_locale
API CHANGE Using "locale" instead of "lang" in Translatable::choose_site_lang() to auto-detect language from cookies or GET parameters
API CHANGE Deprecated Translatable::is_default_lang(), set_default_lang(), get_default_lang(), current_lang(), set_reading_lang(), get_reading_lang(), get_by_lang(), get_one_by_lang()
API CHANGE Removed Translatable::get_original() - with the new "translation groups" concept there no longer is an original for a translation
BUGFIX Updated MigrateTranslatableTask to new Locale based datamodel

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73468 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-20 08:47:06 +00:00
Ingo Schommer
25b19f0ae4 BUGFIX Fixed Hierarchy->Children() testing in TranslatableTest - with the new datamodel you can't call Children() in a different language regardless of Translatable::set_reading_lang(), the Children() call has to be made from a parent in the same language
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73465 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-20 07:58:52 +00:00
Ingo Schommer
103c6e8d68 API CHANGE Added concept of "translation groups" to Translatable- every page can belong to a group of related translations, rather than having an explicit "original", meaning you can have pages in "non-default" languages which have no representation in other language trees. This group is recorded in a new table "<classname>_translationgroups". Translatable->createTranslation() and Translatable->onBeforeWrite() will automatically associate records in this groups. Added Translatable->addTranslationGroup(), Translatable->removeTranslationGroup(), Translatable->getTranslationGroup()
API CHANGE Removed Translatable->isTranslation() - after the new "translation group" model, every page is potentially a translation
API CHANGE Translatable->findOriginalIDs(), Translatable->setOriginalPage(), Translatable->getOriginalPage()
ENHANCEMENT Translatable->getCMSFields() will now always show the "create translation" option, not only on default languages - meaning you can create translations based on other translations
ENHANCEMENT Translatable language dropdown in CMS will always show all available languages, rather than filtering by already existing translations
ENHANCEMENT Added check for an existing record in Translatable->createTranslation()
BUGFIX Removed Translatable->getLang() which overloaded the $db property - it was causing side effects during creation of SiteTree default records.
BUGFIX Added check in Translatable->augmentSQL() to avoid reapplying "Lang = ..." filter twice
BUGFIX Removed bypass in Translatable->AllChildrenIncludingDeleted()

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73338 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-18 16:13:40 +00:00
Ingo Schommer
47f2deee7f BUGFIX Fixed Director::makeRelative() to accept https:// protocol
BUGFIX Fixed GET-parameter replacement in Director::is_absolute_url()
ENHANCEMENT Added Director::is_relative_url() and Director::is_site_url()
BUGFIX Validating $_FILES array in Director::direct()

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73250 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-17 22:22:55 +00:00
Ingo Schommer
76c114f270 MINOR Added DataObjectDecoratorTest->testPopulateDefaults()
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73132 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-16 13:47:52 +00:00
Ingo Schommer
88359b1ba5 MINOR Added DataObjectTest->testPopulateDefaults()
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73131 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-16 13:43:03 +00:00
Sam Minnee
14c37bf510 MINOR: Commented out problematic caching test :-(
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73123 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-16 06:49:05 +00:00
Sam Minnee
67a1c6cda3 ENHANCEMENT: Added Object::clearCache() to clear a cache
BUGFIX: Make object cache testing more robust

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73059 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-15 01:09:59 +00:00
Sam Minnee
08e2fc15ef Improved object cache testing
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73058 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-15 00:48:33 +00:00
Sam Minnee
41fb93b344 ENHANCEMENT #3032 ajshort: Use static methods for accessing static data
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73036 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-14 00:16:32 +00:00
Sam Minnee
3e596ba66c BUGFIX: Fixed dates in DateTest so that they don't trip up on timezone quirks, since those are more to do with our buildslave than bugs in SilverStripe
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@72679 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-09 07:32:51 +00:00
Sam Minnee
ca5825e52c BUGFIX: Fixed dates in DateTest so that they don't trip up on timezone quirks, since those are more to do with our buildslave than bugs in SilverStripe.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@72461 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-04 05:33:08 +00:00
Andrew O'Neil
635e2c3df6 Merged from 2.3
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@72453 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-04 03:44:11 +00:00
Ingo Schommer
30cef24822 MINOR Added DataObjectSetTest
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@72361 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-02 20:26:22 +00:00
Ingo Schommer
4b4b7cca9a BUGFIX Fixed finding a translated homepage without an explicit URLSegment (e.g. http://mysite.com/?lang=de) - see #3540
ENHANCEMENT Added Translatable::get_homepage_urlsegment_by_language()
ENHANCEMENT Added RootURLController::get_default_homepage_urlsegment()

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@72054 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-22 21:30:41 +00:00
Sean Harvey
11dc761752 MINOR phpDoc change on HTMLTextTest
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71796 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-12 09:40:14 +00:00
Sean Harvey
7a065b087a ENHANCEMENT Strip tags before limiting characters when using LimitCharacters() on HTMLText field type
MINOR Added test to TextTest for LimitCharacters()
MINOR Added test HTMLTextTest and added test case for LimitCharacters()



git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71795 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-12 09:38:43 +00:00
Sean Harvey
e9757a57b2 MINOR Merged changes to TextTest that weren't merged in from branches/2.3
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71793 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-12 09:30:56 +00:00
Sean Harvey
5ccca85e7f MINOR Added TextTest - was missing after merge from branches/2.3
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71792 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-12 09:24:33 +00:00
Sean Harvey
1d121b7f90 ENHANCEMENT Allow setting date timestamp for Date::setValue()
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71786 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-12 04:57:17 +00:00
Ingo Schommer
6d708765fe BUGFIX Fixed redirection to external URLs through Security/login with BackURL parameter
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71708 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-11 21:08:28 +00:00
Ingo Schommer
74ab33f23b ENHANCEMENT Added Director::is_absolute_url()
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71707 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-11 21:07:58 +00:00
Sean Harvey
fa4c42d642 ENHANCEMENT Allow auto setting a many-to-many relation on ComplexTableField in the similar fashion of auto setting the foreign key for a one-to-many or one-to-many relation.
ENHANCEMENT Added DataObject::many_many_extraFields() for getting the many_many_extraFields fields for a component name on both sides of a many-to-many relation.
MINOR Added test for many_many_extraFields in DataObjectTest



git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71613 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-10 06:04:36 +00:00
Ingo Schommer
023e733b16 BUGFIX Fixed wrong condition in Requirements::includeInHTML() which failed to process requirements if only customCSS() was used
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71467 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-08 19:06:15 +00:00
Sean Harvey
88720f07c5 MINOR Added basic tests for Percentage
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71414 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-05 02:33:00 +00:00
Sean Harvey
a38b3268c6 Merged from branches/2.3
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71282 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-03 04:00:02 +00:00
Andrew O'Neil
60f75c5ca4 Merged changes from 2.3 branch
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71172 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-01 23:49:53 +00:00
Ingo Schommer
e7e8a1209b BUGFIX #3376 RestfulServiceTest fails with "authorization required" - seems to happen if result cache is not invalidated properly, hence made sure to call ?flush=1 on each URL
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@70665 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-01-23 02:08:01 +00:00