Commit Graph

10350 Commits

Author SHA1 Message Date
Hamish Friedlander
bd59f842f0 FIX Make sure you can only remove items from a DataList that are actually in it 2012-12-14 13:30:36 +13:00
Hamish Friedlander
9979b11b59 FIX Make sure ArrayList#limit uses clone so for subclasses it returns instances of same subclass 2012-12-14 13:30:35 +13:00
Hamish Friedlander
27113f82c3 API Make DataList and ArrayList immutable
In 3.0 there was some confusion about whether DataLists and ArrayLists
were mutable or not. If DataLists were immutable, they'd return the result, and your code
would look like

  $list = $list->filter(....);

If DataLists were mutable, they'd operate on themselves, returning nothing, and your code
would look like

 $list->filter(....);

This makes all DataLists and ArrayList immutable for all _searching_ operations.
Operations on DataList that modify the underlying SQL data store remain mutating.

- These functions no longer mutate the existing object, and if you do not capture the value
returned by them will have no effect:

  ArrayList#reverse
  ArrayList#sort
  ArrayList#filter
  ArrayList#exclude

  DataList#dataQuery (use DataList#alterDataQuery to modify dataQuery in a safe manner)
  DataList#where
  DataList#limit
  DataList#sort
  DataList#addFilter
  DataList#applyFilterContext
  DataList#innerJoin
  DataList#leftJoin
  DataList#find
  DataList#byIDs
  DataList#reverse

- DataList#setDataQueryParam has been added as syntactic sugar around the most common
cause of accessing the dataQuery directly - setting query parameters

- RelationList#setForeignID has been removed. Always use RelationList#forForeignID
when querying, and overload RelationList#foreignIDList when subclassing.

- Relatedly,the protected variable RelationList->foreignID has been removed, as the ID is
now stored on a query parameter. Use RelationList#getForeignID to read it.
2012-12-14 13:30:35 +13:00
Ingo Schommer
644cc79ebb API Removed methods previously deprecated in 3.0 2012-12-14 01:16:47 +01:00
Ingo Schommer
aed58a55c4 Loading indicator for "more options" buttons 2012-12-14 00:32:06 +01:00
Ingo Schommer
7e4629073a NEW Date->Ago() with "less than a minute" support 2012-12-13 19:01:27 +01:00
Paul Clarke
c0a122613e Bug fix and code clean up
Removed tempory button fixs not needed any more,
Removed unrelated commits,
fix for preview note
2012-12-13 17:44:06 +01:00
Naomi Guyer
6100eb957e Remove or comment magic numbers, whitespace 2012-12-13 17:43:26 +01:00
Paul Clarke
5d93f8daec Bug fix preview note "Website preview" 2012-12-13 17:43:25 +01:00
Mateusz Uzdowski
4d6d823cb1 API Allow ignoring persistent tab state through entwine property.
In this case we don't want to rely on data attributes in the DOM, as
this should be an inbuilt property associated with this class.
2012-12-13 17:43:25 +01:00
Naomi Guyer
5cef05ebea Separate out ActionTabSet functionality into a new file & clean up. 2012-12-13 17:43:25 +01:00
Naomi Guyer
ee797e4a48 More CSS fixes for the ActionTabSets.
Thanks for contributing @clarkepaul.
2012-12-13 17:43:25 +01:00
Naomi Guyer
618e639526 Refactor and comment TabSet.js 2012-12-13 17:43:25 +01:00
Naomi Guyer
235e8c8138 CSS fixes for the ActionTabSet.
Thanks for contributing @clarkepaul!
2012-12-13 17:43:25 +01:00
Naomi Guyer
a80aa3c969 Provide new save icon for the use in the framework. 2012-12-13 17:43:25 +01:00
Mateusz Uzdowski
fe08236f21 API Add action tabsets as a interface idiom.
Introduces the concept of action tabsets - usage of TabSet and Tabs
in between the action buttons to allow richer set of capabilities that
can be offered to the user.

Goes along with c8d0cdec99c95dbed3b58ebcc098cc9d22c58206 that implements
a change to the CMS actions.
2012-12-13 17:43:24 +01:00
Joel Edwards
236e335a0a Permission list styling improvements (#8100) 2012-12-13 16:45:32 +01:00
Ingo Schommer
006790bb26 Fixed IE7 GridField "add row" alignment issue
Regression from Paul's last commit
2012-12-13 10:50:08 +01:00
Ingo Schommer
7dd224d2a4 Made GridField font size settings less cryptic
Instead of applying it to generic alignment classes like
"left" and "right", make it clear that those are targeted
at all contents of the button row.
2012-12-13 10:34:13 +01:00
Ingo Schommer
abf1ee9b52 Suppress jQuery UI's borders around tabs in the CMS
Noticed this on the "Groups" tab in admin/security, but
likely a problem elsewhere as well.
2012-12-13 10:21:56 +01:00
Ingo Schommer
2369cc4f42 Moved group member listing utility buttons after field
Stay consistent with main member listing in admin/security,
and de-emphasize their importantce. Having the "link existing"
closer to the actual table is a much stronger UI coupling.
2012-12-13 10:15:03 +01:00
Paul Clarke
0ba51c1ebf Fix to allow buttons to align inline (fixes #8099) 2012-12-13 10:09:30 +01:00
Ingo Schommer
bdc3e91e01 Fixed wrong floating on GridField certain buttons
Regression from 9152387c92, alternative solution to
https://github.com/silverstripe/sapphire/pull/1028
2012-12-13 09:47:30 +01:00
Ingo Schommer
5fed5b91c9 API Moved email bounce handling to new 'emailbouncehandler' module 2012-12-12 23:36:42 +01:00
Justin Martin
0f60ca7255 BUG: Confirmed Password Field now copies attributes to child fields. 2012-12-12 14:44:25 +01:00
Ingo Schommer
f03ad7b0dd Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	admin/javascript/LeftAndMain.AddForm.js
	control/Director.php
	control/HTTPResponse.php
	dev/Profiler.php
	email/Mailer.php
	forms/ComplexTableField.php
	forms/ManyManyComplexTableField.php
	forms/SimpleImageField.php
	forms/TableField.php
	forms/TableListField.php
	javascript/ComplexTableField.js
	javascript/ImageFormAction.js
	javascript/TableField.js
	javascript/TableListField.js
	security/Member.php
	tests/behat/features/bootstrap/SilverStripe/Framework/Test/Behaviour/CmsUiContext.php
	tests/forms/TableListFieldTest.php
2012-12-12 10:11:56 +01:00
Ingo Schommer
8fdea7a2ab Merge pull request #1019 from nyeholt/injector_convert_service_params
BUG Fixed issue with convertServiceProperty
2012-12-12 01:07:47 -08:00
Sam Minnée
4b38571ecd Merge pull request #1021 from simonwelsh/indent-sniff_3.1
Add codesniffer that ensures indentation is with tabs.
2012-12-11 20:46:58 -08:00
Sam Minnée
b618909220 Merge pull request #1007 from simonwelsh/indent-sniff
Add codesniffer that ensures indentation is with tabs
2012-12-11 20:46:47 -08:00
Simon Welsh
b0121b541c Add codesniffer that ensures indentation is with tabs. 2012-12-12 17:33:31 +13:00
Marcus Nyeholt
4f63f91cc8 BUG Fixed issue with convertServiceProperty
Fixed issue where convertServiceProperty is called when creating objects
with user-supplied constructor arguments, so that it's only called when
creating objects using injector configuration. This reduces the overhead
of unnecessary calls to convertServiceProperty.

Updated test cases to validate behaviour
2012-12-12 15:22:23 +11:00
Ingo Schommer
ed11970ede Updated composer.json 2012-12-11 17:59:47 +01:00
Ingo Schommer
6571c17992 Merge remote-tracking branch 'origin/3.0' 2012-12-11 17:16:19 +01:00
Ingo Schommer
e8fbfc0bd1 NEW FixtureFactory separated out from YamlFixture
Enables more generic use of the fixture facilities
without dependency on the YAML format, for example
when creating fixtures from Behat step definitions.

Note: The YamlFixture class needs to be created via
Injector::inst()->create('YamlFixture') now,
direct instantiation is no longer supported.
2012-12-11 17:06:27 +01:00
Ingo Schommer
142ad15a47 Merge branch 'pulls/sqlite-case-matching-new' 2012-12-11 15:20:18 +01:00
Simon Welsh
fc5dd2994c Add codesniffer that ensures indentation is with tabs. 2012-12-12 00:12:11 +13:00
Ingo Schommer
e6e47cb35e API DB-specific comparisators in SearchFilter and DataList
Too many edge cases to leave this up to datalists,
particularly now that we introduced enforced
case sensitivity/insensitivity in the ORM APIs.
2012-12-11 12:04:48 +01:00
Ingo Schommer
98034594e0 Fixed SelectionGroupTest 2012-12-11 11:38:31 +01:00
Ingo Schommer
d92258da8f Allow calling SSViewer_Scope on empty sets
Specifically fixes a bug where a SelectionGroup_Item
without a "child" field causes fatal errors.
2012-12-11 11:07:00 +01:00
Ingo Schommer
548ad503ed API Removed keyed arrays for title/value setting in SelectionGroup
Use SelectionGroup_Item class instead. Necessary because
of removal of array key support from ArrayList (see d12b49702).
2012-12-11 11:06:06 +01:00
Andrew O'Neil
9d74c99e08 BUGFIX: ArrayList now discards keys of the array passed in and keeps the numerically indexed array sequential.
This fixes FirstLast and EvenOdd in templates, and makes ArrayList more consistent, as several methods already discarded the keys.
2012-12-11 10:12:00 +01:00
Sean Harvey
0f8b229d6b Modify Composer install path in docs
Composer examples at http://getcomposer.org/doc/00-intro.md use
/usr/local/bin for installing Composer globally, so let's use that
path as well instead of /usr/bin.
2012-12-11 15:43:30 +13:00
Ingo Schommer
0fd6d14f94 Fixed Behat steps for preview feature 2012-12-10 18:06:49 +01:00
Ingo Schommer
d5dcecf984 Disable change tracking for preview state switch 2012-12-10 17:52:02 +01:00
Naomi Guyer
dbee4a1bf9 Clean up the side-by-side code. 2012-12-10 17:52:02 +01:00
Paul Clarke
747346bb16 Ability to rotate the mobile preview in side-by-side preview. 2012-12-10 17:52:02 +01:00
Naomi Guyer
00f1ba4ab0 Side-by-side preview browser compatibility fixes. 2012-12-10 17:52:02 +01:00
Mateusz Uzdowski
fa3ef8c126 Side-by-side preview initialisation and navigation fixes.
Disables changetracking on preview options.
2012-12-10 17:52:01 +01:00
Mateusz Uzdowski
4fa2b0f3ff API Support disabling/enabling of previews.
This fixes the problem of panels flipping back to the Pages section if
loading a non-previewable section, and also initialisation problems.
2012-12-10 17:52:01 +01:00
Naomi Guyer
8ce272861c Replace the state selector switch to support more than 2 states. 2012-12-10 17:52:01 +01:00