Craig Weber
e732aee6eb
Fixes #3182 Fixes lazy loading of fields when query was created in default stage
...
When a DataObject query is created in the default stage (stage.Stage), then the
stage is changed to something else (stage.Live), the query itself runs
correctly against stage.Stage. However, lazy loaded fields incorrectly run
against stage.Live. This is due to DataQuery parameters not being saved when
the default stage is active.
This commit fixes this bug by always saving query params, even when the default
stage was active at the time of query creation.
2016-05-10 15:44:22 +12:00
Damian Mooyman
d52db0ba34
Merge 3 into master
...
# Conflicts:
# .travis.yml
# admin/css/ie7.css
# admin/css/ie7.css.map
# admin/css/ie8.css.map
# admin/css/screen.css
# admin/css/screen.css.map
# admin/javascript/LeftAndMain.js
# admin/scss/_style.scss
# admin/scss/_uitheme.scss
# control/HTTPRequest.php
# core/Object.php
# css/AssetUploadField.css
# css/AssetUploadField.css.map
# css/ConfirmedPasswordField.css.map
# css/Form.css.map
# css/GridField.css.map
# css/TreeDropdownField.css.map
# css/UploadField.css
# css/UploadField.css.map
# css/debug.css.map
# dev/Debug.php
# docs/en/00_Getting_Started/00_Server_Requirements.md
# docs/en/02_Developer_Guides/06_Testing/00_Unit_Testing.md
# docs/en/02_Developer_Guides/06_Testing/index.md
# docs/en/02_Developer_Guides/14_Files/02_Images.md
# docs/en/02_Developer_Guides/15_Customising_the_Admin_Interface/How_Tos/Extend_CMS_Interface.md
# filesystem/File.php
# filesystem/Folder.php
# filesystem/GD.php
# filesystem/Upload.php
# forms/ToggleField.php
# forms/Validator.php
# javascript/lang/en_GB.js
# javascript/lang/fr.js
# javascript/lang/src/en.js
# javascript/lang/src/fr.js
# model/Image.php
# model/UnsavedRelationList.php
# model/Versioned.php
# model/connect/MySQLDatabase.php
# model/fieldtypes/DBField.php
# model/fieldtypes/Enum.php
# scss/AssetUploadField.scss
# scss/UploadField.scss
# templates/email/ChangePasswordEmail.ss
# templates/forms/DropdownField.ss
# tests/behat/features/bootstrap/SilverStripe/Framework/Test/Behaviour/CmsFormsContext.php
# tests/behat/features/bootstrap/SilverStripe/Framework/Test/Behaviour/CmsUiContext.php
# tests/forms/EnumFieldTest.php
# tests/security/MemberTest.php
# tests/security/MemberTest.yml
# tests/security/SecurityTest.php
2016-04-29 17:50:55 +12:00
Damian Mooyman
da8f4a7eb6
Merge pull request #3828 from dhensby/pulls/byids-arraylist
...
API `byIDs` added to `ArrayList`
2016-04-26 17:52:22 +12:00
Daniel Hensby
679185514d
Merge 3.3 into 3
...
Conflicts:
admin/css/screen.css.map
2016-04-26 00:24:59 +01:00
Hamish Friedlander
9a5db5f760
Fix ChangeSet test mixing Object ID and ChangeSetItem ID up
2016-04-15 14:42:32 +12:00
Hamish Friedlander
35e642d0bf
Add two new accessors to ChangeSetItem
...
You shouldn't have to worry about exactly formatting the reference to
get a ChangeSetItem related to a DataObject, and doing it that way makes
you vulnerable to breakages like introduced in previous API change
2016-04-15 14:42:24 +12:00
Hamish Friedlander
2d16d69ddb
API Use base data class for ChangeSetItem#ObjectClass, not just ClassName
...
This is a data structure change, but makes ChangeSetItems less likely to break
on /dev/build where a ClassName changes
2016-04-15 14:41:26 +12:00
Damian Mooyman
3c2b53157e
API Update Versioned methods
2016-04-04 14:50:16 +12:00
Damian Mooyman
87ee4365e7
API Implement ChangeSets for batch publishing
2016-04-04 14:46:38 +12:00
Ingo Schommer
1049288cb5
Merge pull request #5240 from madmatt/pulls/fix-dbstringtest-annotations
...
MINOR: Fix PHPUnit @covers assertions for DBStringTest
2016-03-29 16:13:50 +13:00
Hamish Friedlander
700cf9bd56
Merge pull request #5223 from tractorcow/pulls/4.0/transactions
...
API Add SS_Database::withTransaction for nice enclosed transactions
2016-03-29 10:54:04 +13:00
madmatt
41a3a86862
MINOR: Fix PHPUnit @covers assertions for DBStringTest
...
This resolves issues when PHPUnit is run strictly, where it exits when
it hits an @covers annotation that references a method that doesn't exist
2016-03-26 17:58:28 +13:00
Damian Mooyman
8abede1339
API Add SS_Database::withTransaction for nice enclosed transactions
2016-03-24 09:57:07 +13:00
Damian Mooyman
094745ec0f
API Formally support custom ownership relations
...
API 'owned_by' is no longer mandatory for relations backed by normal db relations
API Extension setOwner/clearOwner is now nested
2016-03-23 14:49:34 +13:00
Roman Schmid
25c453fe7b
Fixed issue where canViewVersioned
caused a DB error when Versioned was used with stages other than the default "Stage" and "Live".
...
Updated VersionedTest to also check an Object with a single stage in the canView test.
2016-03-22 09:42:21 +01: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
Sam Minnee
083799ec03
FIX: Minimal data-model changes to support PHP7.
...
The tidiest fix for this will be to update the namespace/naming of all
field types to follow this pattern. I’ve broken out the minimum
necessary to support PHP7 as its own commit, in case anyone needs to
backport that (e.g. if someone wanted to patch a SS 3 system to get
PHP7 support).
Rather than introduce a new API for fieldtype namespace simplification,
I’ve just used Injector. We may come up with a new configuration tool
that is better, but this has the advantage of existing now, and as such
I think is a good first step.
2016-03-22 17:39:08 +13:00
Simon Erkelens
debe8ba2a3
Improvement: Set the owner on an extension, before getting all the available method names.
...
This enhances the extensions to enable certain features like adding wrapper methods instead of having to have them on the object itself.
2016-03-21 02:36:34 +01:00
Ingo Schommer
8ae794ee99
API TinyMCE Image shortcodes
2016-03-21 09:23:40 +13:00
Damian Mooyman
0848aca462
API Massive refactor of Versioned
...
API Implemented recursive versioned actions (publish, etc)
API Un-deprecate delete batch action
API Changed Versioned getters and setters for stages
BUG Inject query parameters during DataObject construction to prevent incorrect lazy loading
2016-03-17 13:43:53 +13:00
Damian Mooyman
3dada00905
Cleanup trailing whitespace
2016-03-09 10:20:31 +13:00
Damian Mooyman
b196d33bfa
API Ownership API
...
API Filter Relation. query parameters from relations when creating objects
API Versioned::publish now triggers invokeWithExtensions
API Update behaviour of versioned for all_versions mode to respect ID filters
API Tweak behaviour of inherited query parameters
2016-02-29 14:38:44 +13:00
Damian Mooyman
0ee1564896
BUG Fix deprecated API usage in DataFormatter API and DataObjectTest
...
PHPDoc Cleanup
API DataFormatter::convertStringToArray is now abstract
2016-02-25 17:10:09 +13:00
Damian Mooyman
3b0a9f4ba2
Merge remote-tracking branch 'origin/3'
...
# Conflicts:
# admin/javascript/LeftAndMain.Menu.js
# control/HTTPRequest.php
# css/GridField.css
# css/GridField.css.map
# docs/en/02_Developer_Guides/03_Forms/Field_types/01_Common_Subclasses.md
# docs/en/02_Developer_Guides/06_Testing/00_Unit_Testing.md
# docs/en/02_Developer_Guides/06_Testing/index.md
# docs/en/02_Developer_Guides/14_Files/01_File_Management.md
# docs/en/02_Developer_Guides/14_Files/02_Images.md
# filesystem/Upload.php
# javascript/HtmlEditorField.js
# model/Image.php
# model/connect/MySQLDatabase.php
# model/fieldtypes/Enum.php
# model/versioning/Versioned.php
# scss/GridField.scss
2016-02-25 14:51:59 +13:00
Damian Mooyman
9fed5561f4
Merge remote-tracking branch 'origin/3.3' into 3
...
# Conflicts:
# core/Constants.php
# dev/DevelopmentAdmin.php
2016-02-24 17:39:04 +13:00
Damian Mooyman
5f2d3f31d7
Merge remote-tracking branch 'origin/3.2' into 3.3
...
# Conflicts:
# dev/DevelopmentAdmin.php
# docs/en/02_Developer_Guides/08_Performance/02_HTTP_Cache_Headers.md
# lang/cs.yml
# lang/lt.yml
2016-02-24 17:29:06 +13:00
Tyler Kidd
375bbf954e
Enhancement and fix for issue #3186
2016-02-23 14:53:52 -06:00
Ingo Schommer
589fee1a8a
Removed obsolete TestRunner->$skipTests flag
...
Taken care of by the default PHPUnit implementation of markTestSkipped()
2016-02-23 22:29:58 +13:00
Damian Mooyman
510c556739
API File has Versioned extension
...
API Improved support for versioned DataObject
API GridField extensions for versioned dataobjects
API De-couple File and ErrorPage
API File::handle_shortcode now respects canView()
API AssetControlExtension is now able to delete, publish, or protect files
API Upload now protects new assets by default
2016-02-23 13:46:28 +13:00
Damian Mooyman
65a0981c08
BUG Correct behaviour of publish with $createNewVersion = true
...
Fixes #5040
Cleanup code to make behaviour more apparent
2016-02-23 10:15:49 +13:00
Damian Mooyman
829135a85a
API remove Object::useCustomClass
...
API Broke out Injectable, Configurable, and Extensible from Object into traits
BUG Fix missing extraDataObjects in tests
2016-02-17 10:22:04 +13:00
Mark Stephens
3fcf1e2c98
BUG edge case on many many extra fields (fixes 4991)
...
Fixes an edge case where extraFields are not returned if
one side of a many many is added via extension (although this
may not be the only failure case). Fixes a
downstream issue with dms breaking the CMS on framework 3.2.
The bug is where a many many relationship exists on a class,
and a sub-class attempts to get the extra fields of the
relationship. The change fixes the test for exact matching of
the relationship class to the instance class, to checking if
the instance is the class or a subclass of the relationship.
The unit tests check the dms failure case, which is a more
complex failure case.
2016-02-04 12:47:07 +13:00
Daniel Hensby
e74665b639
Merge pull request #4964 from tractorcow/pulls/4.0/tomap-standardise
...
API Standardise SS_List::map() implementation
2016-01-25 13:31:05 +00:00
Damian Mooyman
69c9ad1428
Merge remote-tracking branch 'origin/3'
...
# Conflicts:
# admin/css/ie8.css.map
# admin/css/screen.css
# admin/css/screen.css.map
# admin/scss/_style.scss
# css/AssetUploadField.css
# css/GridField.css.map
# docs/en/02_Developer_Guides/00_Model/08_SQL_Select.md
# lang/fi.yml
2016-01-25 16:15:41 +13:00
Damian Mooyman
e091bb8474
Merge remote-tracking branch 'origin/3.3' into 3
...
# Conflicts:
# admin/scss/_forms.scss
# admin/scss/_style.scss
# tests/model/VersionedTest.yml
2016-01-25 15:57:37 +13:00
Damian Mooyman
7c448bb4a2
Merge remote-tracking branch 'origin/3.2' into 3.3
...
# Conflicts:
# tests/model/DataObjectLazyLoadingTest.php
# tests/model/VersionedTest.yml
2016-01-25 14:11:37 +13:00
Damian Mooyman
e77389d0c8
API Standardise SS_List::map() implementation
...
Fixes #1593
2016-01-25 10:22:47 +13:00
Damian Mooyman
bf8bf5e4d5
BUG Prevent Versioned::doRollbackTo from creating incorrect versions on subclasses of Versioned DataObjects
...
Document correct configuration of Versioned DataObjects
Fixes #4936
2016-01-22 15:35:58 +13:00
Jarkko Linnanvirta
cf8e9f2427
Test removing some bad characters when multibyte is allowed
2016-01-21 12:57:50 +02:00
Damian Mooyman
5138bf1b7f
API Refactor out Page default classname hack
...
Fixes #1932
2016-01-21 17:12:55 +13:00
Damian Mooyman
df76d783fe
BUG Fix VersionedTest sometimes failing given certain querystring arguments
2016-01-20 14:49:46 +13:00
Damian Mooyman
e6b877df27
Merge remote-tracking branch 'origin/3'
...
# Conflicts:
# control/Director.php
# control/HTTP.php
# core/startup/ParameterConfirmationToken.php
# docs/en/00_Getting_Started/01_Installation/05_Common_Problems.md
# docs/en/00_Getting_Started/04_Directory_Structure.md
# docs/en/00_Getting_Started/05_Coding_Conventions.md
# docs/en/01_Tutorials/01_Building_A_Basic_Site.md
# docs/en/01_Tutorials/02_Extending_A_Basic_Site.md
# docs/en/01_Tutorials/03_Forms.md
# docs/en/01_Tutorials/04_Site_Search.md
# docs/en/01_Tutorials/05_Dataobject_Relationship_Management.md
# docs/en/02_Developer_Guides/12_Search/01_Searchcontext.md
# docs/en/02_Developer_Guides/13_i18n/index.md
# docs/en/02_Developer_Guides/15_Customising_the_Admin_Interface/06_Javascript_Development.md
# docs/en/03_Upgrading/index.md
# docs/en/changelogs/index.md
# docs/en/howto/customize-cms-menu.md
# docs/en/howto/navigation-menu.md
# docs/en/index.md
# docs/en/installation/index.md
# docs/en/installation/windows-manual-iis-6.md
# docs/en/misc/contributing/code.md
# docs/en/misc/contributing/issues.md
# docs/en/misc/module-release-process.md
# docs/en/reference/dataobject.md
# docs/en/reference/execution-pipeline.md
# docs/en/reference/grid-field.md
# docs/en/reference/modeladmin.md
# docs/en/reference/rssfeed.md
# docs/en/reference/templates.md
# docs/en/topics/commandline.md
# docs/en/topics/debugging.md
# docs/en/topics/email.md
# docs/en/topics/forms.md
# docs/en/topics/index.md
# docs/en/topics/module-development.md
# docs/en/topics/modules.md
# docs/en/topics/page-type-templates.md
# docs/en/topics/page-types.md
# docs/en/topics/search.md
# docs/en/topics/testing/index.md
# docs/en/topics/testing/testing-guide-troubleshooting.md
# docs/en/topics/theme-development.md
# docs/en/tutorials/1-building-a-basic-site.md
# docs/en/tutorials/2-extending-a-basic-site.md
# docs/en/tutorials/3-forms.md
# docs/en/tutorials/4-site-search.md
# docs/en/tutorials/5-dataobject-relationship-management.md
# docs/en/tutorials/building-a-basic-site.md
# docs/en/tutorials/dataobject-relationship-management.md
# docs/en/tutorials/extending-a-basic-site.md
# docs/en/tutorials/forms.md
# docs/en/tutorials/index.md
# docs/en/tutorials/site-search.md
# main.php
# model/SQLQuery.php
# security/ChangePasswordForm.php
# security/MemberLoginForm.php
# tests/control/ControllerTest.php
# tests/core/startup/ParameterConfirmationTokenTest.php
# tests/model/SQLQueryTest.php
# tests/security/SecurityTest.php
# tests/view/SSViewerTest.php
# view/SSTemplateParser.php
# view/SSTemplateParser.php.inc
# view/SSViewer.php
2016-01-20 13:16:27 +13:00
Sam Minnee
3ee8f505b7
MINORE: Remove training whitespace.
...
The main benefit of this is so that authors who make use of
.editorconfig don't end up with whitespace changes in their PRs.
Spaces vs. tabs has been left alone, although that could do with a
tidy-up in SS4 after the switch to PSR-1/2.
The command used was this:
for match in '*.ss' '*.css' '*.scss' '*.html' '*.yml' '*.php' '*.js' '*.csv' '*.inc' '*.php5'; do
find . -path ./thirdparty -not -prune -o -path ./admin/thirdparty -not -prune -o -type f -name "$match" -exec sed -E -i '' 's/[[:space:]]+$//' {} \+
find . -path ./thirdparty -not -prune -o -path ./admin/thirdparty -not -prune -o -type f -name "$match" | xargs perl -pi -e 's/ +$//'
done
2016-01-07 10:15:54 +13:00
Damian Mooyman
fce82519bd
BUG Workaround for issues in testing version
2015-12-22 17:47:53 +13:00
Damian Mooyman
48a30909f3
Merge remote-tracking branch 'origin/3.2' into 3
...
# Conflicts:
# admin/javascript/LeftAndMain.BatchActions.js
# css/UploadField.css
# forms/HtmlEditorField.php
2015-12-22 14:07:52 +13:00
Ingo Schommer
0175167761
Merge pull request #4830 from open-sausages/pulls/3/fix-querystring-stage
...
API Disable unauthenticated get parameter access to site stage mode
2015-12-10 10:44:43 +13:00
Damian Mooyman
fa0160a874
BUG Fix regression in canViewStage
2015-12-09 14:53:21 +13:00
Damian Mooyman
6089a7c5bd
API Create default security permission model for versioned data objects
2015-12-09 11:33:53 +13:00
Damian Mooyman
38e154af0a
API Disable get parameter access to site stage mode
...
BUG Fix missing and undocumented response from Security::permissionFailure()
2015-12-07 17:39:18 +13:00
Damian Mooyman
641c26299c
API Enable linear-only restriction for DataList::applyRelation
...
API Remove DataList::getRelation
2015-12-01 09:58:27 +13:00