Commit Graph

1359 Commits

Author SHA1 Message Date
3Dgoo
785b0c69da
minor i18nEntityProvider.php API documentation fix
Fixing documentation typo.
2018-09-28 10:28:00 +10:00
Ingo Schommer
25759ffc5f NEW Show file path on PHP parser exceptions 2018-09-28 08:58:47 +12:00
Robbie Averill
1b0293d8c5 Replace array syntax, use some strict comparison and remove unnecessary elseif 2018-09-27 17:37:37 +02:00
Robbie Averill
594fa30b82 Remove redundant elseif complexity and switch to short array syntax 2018-09-27 17:29:52 +02:00
Robbie Averill
adb4d1f92d MINOR Reduce some code complexity, update array syntax and injected SQLSelect etc 2018-09-27 16:40:23 +02:00
Thomas Portelange
fdd5acff5d
raw2att accepts array, but sprintf doesn't
it's not very likely to happen (it did in my case :-) ) but if the value is an array, sprintf will fail (because raw2att accepts array, but sprintf doesn't). i suggest to json encode any array data to ensure it's safely included in the html. Or we should throw proper exceptions to make sure invalid values do not result in a php error.
2018-09-27 12:12:59 +02:00
Guy Marriott
c54e7317d2
FIX Avoid having search fields with the same names as form elements 2018-09-27 17:39:50 +12:00
Thomas Portelange
f103648f8c
value can be something else than a string
if the value is not a string (an array for instance), sprintf will fail
2018-09-26 11:35:40 +02:00
Sam Minnée
a31a496362
Merge pull request #8399 from lekoala/patch-12
var_export does not handle circular references
2018-09-26 20:58:25 +12:00
Maxime Rainville
77339b7e75 MINOR Add caching to the TreeDropdownField tree action 2018-09-26 17:24:06 +12:00
Robbie Averill
f5929d87e0 DOCS Update do blocks for DataQuery::having() to reflect correct input types 2018-09-25 17:46:42 +02:00
Sam Minnée
5b7a84141b NEW: Add Hierarchy::prepopulate_numchildren_cache() (#8380)
* NEW: Add Hierarchy::prepopulate_numchildren_cache()
API: Hierarchy::stageChildren() customisations must be applied to the base class and not include record-specific behaviour.

Adds the ability to prepopulate the cache for Hierarchy::numChildren()
in a batch.

Note that this optimisation means that stageChildren() is not called on
each record in order to calculate numChildren(). This means that the
structure of the stageChildren() query must be the same for all records
and the behaviour cannot be customised only for a subclass of the base
data class. For example, apply your customisations to SiteTree and not
a subclass.

This is an useful part of optimising the query count on tree generation.
See https://github.com/silverstripe/silverstripe-framework/issues/8379

* NEW: Add Hierarchy::prepopulateTreeDataCache()

This provides a more extensible way of preopulating caches for optimised
tree generation.

Fixes https://github.com/silverstripe/silverstripe-framework/issues/8391
2018-09-25 12:25:23 +12:00
Robbie Averill
3eacecbb1c
Merge pull request #8398 from open-sausages/pulls/4/test-flush
FIX Don't flush manifests in tests by default
2018-09-25 00:19:32 +02:00
Robbie Averill
0276f6c089 FIX Revert semver break in adding GridField type hint to method signature 2018-09-24 13:39:33 +02:00
Thomas Portelange
72b25d1a97
var_export does not handle circular references
this often happens in SilverStripe, a plain print_r is much safer
2018-09-24 12:31:06 +02:00
Loz Calver
f01473f1b3
Merge pull request #8390 from caffeineinc/bugfix/8389-login-attempt-performance-issues
Performance issues with BasicAuth and LoginAttempts
2018-09-24 10:24:29 +02:00
Ingo Schommer
a2bb70c46d FIX Don't flush manifests in tests by default
It's massively slowing down test execution,
particularly for rapid execution through test-driven-development (TDD)
2018-09-24 18:12:35 +12:00
Robbie Averill
d11911d4dd
Merge pull request #8394 from littlegiant/pulls/4.2/http-status-codes
BUG Prevent error on valid response status codes
2018-09-21 13:19:29 +02:00
Andre Kiste
e8fd49b394
Merge pull request #8381 from open-sausages/pulls/4.2/sort-out-your-field
BUG Changes being detected on TreeMulti as values not sorted
2018-09-21 16:38:56 +12:00
Luke Edwards
4ac4cdc91b
Merge pull request #8348 from caffeineinc/bugfix/3357
BUG Add GridField Readonly Transformation (#3357)
2018-09-21 14:54:37 +12:00
Damian Mooyman
1d5ecd342e
BUG Prevent error on valid response status codes 2018-09-21 14:54:26 +12:00
Simon Gow
c269a987d5 Performance issues with BasicAuth and LoginAttempts
Two functions interact with the LoginAttempt object which when used in conjunction with BasicAuth result in significant performance degradation over time, as the LoginAttempts Table fills.

This fix adds an index to the lookup column EmailHashed and removes the Email filter part of getByEmail() so it can use the index resulting in a much faster query.

For more information see https://github.com/silverstripe/silverstripe-framework/issues/8389
2018-09-20 13:34:03 +12:00
Luke Edwards
3fc49dd4ce Lint fixes and allow a few other components by default 2018-09-20 13:32:52 +12:00
Robbie Averill
3b7802bb51
Merge pull request #8388 from sminnee/showqueries-backtrace
NEW: Add ?showqueries=backtrace
2018-09-19 11:21:36 +02:00
Sam Minnee
40dde226fd NEW: Add ?showqueries=backtrace
This variant of showqueries will include a backtrace after each query.
This is extremely verbose but can be helpful when diagnosing where
queries have come from.

This is something that I have frequently added as a local hack on my
environment, I figured that exposing it as a formal feature would be
useful.
2018-09-19 14:28:40 +12:00
Luke Edwards
db63f55fbb BUG Changes being detected on TreeMulti as values not sorted 2018-09-18 13:24:55 +12:00
Raissa North
588bf83e12 NEW Add hideNav flag to schema defaults 2018-09-18 10:45:36 +12:00
Luke Edwards
a33866ff4c
Merge pull request #8353 from open-sausages/pulls/4.2/2227-show-link-tracking
API: Add Link Tracking section to Relations developer guide
2018-09-13 14:23:34 +12:00
bergice
01db5c9e98 API: Add Link Tracking section to Relations developer guide and describe show_sitetree_link_tracking, show_file_link_tracking.
Refactor form scaffolder.
2018-09-13 11:02:09 +12:00
Robbie Averill
b555bb83b8
Merge pull request #8359 from creative-commoners/pulls/4/HTMLEditorSchema
Add schema information for HTMLEditorField
2018-09-10 09:53:12 +02:00
Robbie Averill
373a8afeb5 Merge branch '4.2' into 4 2018-09-06 13:26:46 +02:00
Robbie Averill
270aba4007 Merge branch '4.1' into 4.2 2018-09-06 13:26:31 +02:00
Robbie Averill
b6ff21f72a Merge branch '4.0' into 4.1 2018-09-06 13:26:13 +02:00
Dylan Wagstaff
f13ee4486d Add schema information for HTMLEditorField
This allows React form builders (or other such view layer builders in a
headless environment) to obtain the details that would otherwise only be
rendered in a PHP side template. Some of the details are critical for
rendering correctly, and are necessary to be passed through -
particularly when moving toward replacing the Entwine initiator for
TinyMCE with a React component in `silverstripe/admin`.

I new interface method has been added to the abstract class for HTML
editor configs in order to facilitate this. It is not itself abstract as
this would break backwards compatiblity with any existing custom config
(aside from the TinyMCE one which we're editing here), which is most
certainly not what we want.
2018-09-06 14:35:11 +12:00
Ingo Schommer
f7d85fe794 Make sure that CMS requests disable caching
Original author: @dhensby

Forward port from 3.7 fix at https://github.com/silverstripe/silverstripe-framework/pull/8318
2018-09-05 11:38:41 +12:00
Maxime Rainville
cc22024e9a ADD New search component for GridFields (#1777) 2018-09-04 11:35:17 +12:00
Robbie Averill
b922c0d732 FIX Check scheme is truthy before setting it to the request 2018-09-03 08:59:37 +02:00
Robbie Averill
2254459310 FIX Text collector translations now compile without errors 2018-09-03 08:21:05 +02:00
Robbie Averill
94f5d32f41
Merge pull request #8351 from open-sausages/pulls/4.2/move-to-your-other-left
BUG Use classes for TinyMCE alignment buttons
2018-08-31 10:18:03 +12:00
Luke Edwards
234b795f89 BUG Use classes for TinyMCE alignment buttons 2018-08-31 09:02:17 +12:00
Guy Marriott
610f17282f
DOCS Updating DataObject config documentation 2018-08-29 14:53:05 +12:00
Simon Gow
4c3a068859 Issue 3357 - Add GridField Readonly Transformation
GridField doesn't have a valid readonly state if it's value is set to an Object
without `forTemplate()`. The default behaviour is to render a ReadonlyField,
but given GridField is a complex type this isn't suitable.

This bugfix provides a transformation method to render only components that are
whitelisted to provide a readonly state.

@see #3357 - https://github.com/silverstripe/silverstripe-framework/issues/3357
2018-08-29 14:47:06 +12:00
Maxime Rainville
dd3379e68f
Merge pull request #8075 from creative-commoners/pulls/4.0/remap-polymorphics
FIX Polymorphic relationship class columns have obsolete class names remapped
2018-08-28 17:03:39 +12:00
Robbie Averill
d651d0fbfc FIX Use base class (not remapping target class) when looking up whether object is versioned 2018-08-28 14:15:02 +12:00
Maxime Rainville
e8261589e8
Merge pull request #8304 from micmania1/patch-12
BUGFIX Installer redirect to home/ (without domain)
2018-08-28 13:47:24 +12:00
Robbie Averill
83e461abbf Merge branch '4.2' into 4 2018-08-27 16:15:57 +12:00
Robbie Averill
37a266f2f0 Merge branch '4.1' into 4.2 2018-08-27 16:14:24 +12:00
Scott Hutchinson
4da5569232 FIX ensure createFromVariables takes correct params on CLIRequestBuilder 2018-08-27 16:12:52 +12:00
Robbie Averill
66c09afc9c Merge branch '4.0' into 4.1 2018-08-27 16:12:04 +12:00
Robbie Averill
3178fbf3bb
Merge pull request #8028 from andrewandante/pulls/4.0/unset_http_scheme_on_cli
unset http scheme on CLIRequestBuilder
2018-08-27 16:11:42 +12:00
Robbie Averill
a87165c299
Merge pull request #8326 from creative-commoners/pulls/4.2/remove-double-encoding
FIX Remove double escaping of HTML values in print views
2018-08-27 13:37:32 +12:00
Luke Edwards
6164d01d65 FIX GridField delete button to offer archive action if possible (#8325)
* FIX GridField delete button to offer archive action if possible

* Refactor archive action to versioned module

* Fix GridFieldDeleteAction test
2018-08-24 13:13:32 +12:00
Robbie Averill
050afd79c1
Merge pull request #8316 from anhld/anhld-patch-1
Password changing notification issue on new member
2018-08-23 14:03:17 +12:00
Thomas Portelange
27ac001d5b FIX email rendering should not include requirements
If no body is defined, the email is rendered according to a template. Clearing requirements prevent unnecessary styles/scripts to be included in the html (and that needs to be processed/stripped down the line).
2018-08-23 14:01:27 +12:00
Robbie Averill
373326e49c
Merge pull request #8324 from creative-commoners/pulls/4.2/request-before-init
FIX Pass request to dummy controller before calling init
2018-08-21 12:08:14 +12:00
Daniel Hensby
aa153cb5c7
Merge pull request #8315 from open-sausages/pulls/4.2/changing-change
FIX Paginating a gridfield causing a change event
2018-08-20 17:59:50 +01:00
Robbie Averill
18fff5c16c Remove past tense for "log in" in expired token message 2018-08-20 22:31:23 +12:00
Robbie Averill
dbab696690 FIX Message when changing password with invalid token now contains correct links to login
The Security controller should be used to return these links rather than the
ChangePasswordHandler
2018-08-20 22:30:12 +12:00
Robbie Averill
735c87b709
Merge pull request #8327 from dhensby/pulls/4/application-json
FIX text/json is not a valid mimetype
2018-08-19 13:42:27 +12:00
maks
160d595e22
fix trailing whitespace 2018-08-17 18:16:17 +02:00
maks
16217f3655
fix accidentaly deleted comma 2018-08-17 15:13:13 +02:00
maks
aa1e576a3f
convert to php 5.4+ array syntax 2018-08-17 15:03:46 +02:00
Luke Edwards
9f5b0086cb FIX Paginating a gridfield causing a change event 2018-08-17 09:35:57 +12:00
Daniel Hensby
d9154bffbf
FIX text/json is not a valid mimetype 2018-08-15 12:10:39 +01:00
Robbie Averill
0db594b2d3 FIX Remove double escaping of HTML values in print views
Print view uses the SilverStripe templating to render values which means that
values are safely escaped by default. This can be tested by chaing `$CellString`
to `$CellString.RAW` in the GridField_print.ss template to see this escaping
being disabled.

This pull request removes double escaping of HTML in strings.
2018-08-15 17:57:40 +12:00
Robbie Averill
953153500d FIX Polymorphic relationship class columns have obsolete class names remapped 2018-08-15 10:40:51 +12:00
Robbie Averill
873873dc30 FIX Pass request to dummy controller before calling init 2018-08-15 10:14:25 +12:00
Anh Le
68f75a9e25
Password changing notification issue on new member
With `notify_password_change = true`, new member is receiving notification email regarding password changing when they should not.
2018-08-13 14:13:05 +07:00
Michael Strong
13372f9a37
BUGFIX Installer redirect to home/ (without domain)
This fixes a bug where the installer redirects to home/ ('home' as the domain) as the url as opposed to localhost/home.

To reproduce:
* Use chrome (untested in other browsers)
* composer create project silverstripe/installer
* Run through the installer

Expected:
* Silverstripe installs and it takes you to the success page

Actual:
* SilverStripe installs and takes you to a different domain (ie. 'http://home')

The problem seems to be, any URL starting with `//` (two slashes) is normalised by the browser to an absolute URL by removing both slashes meaning `//home` becomes just `home` (as in http://home)
2018-08-06 14:48:23 +12:00
Ingo Schommer
2d6964c243
Merge pull request #8261 from open-sausages/pulls/4/secure-remember-me-cookie
NEW Option for secure "remember me" cookie
2018-07-31 09:19:15 +12:00
Daniel Hensby
4d83330981
Merge branch '4.2' into 4 2018-07-30 17:11:42 +01:00
Daniel Hensby
17dbb86257
Merge pull request #8293 from open-sausages/pulls/4.2/restore-default-delete-action-of-record-editor
FIX Restore default delete action on GridFieldConfig_RecordEditor
2018-07-30 17:00:09 +01:00
Ingo Schommer
114b0a5ea7
NEW Option for secure "remember me" cookie
Fixes #8234
2018-07-30 16:41:49 +01:00
Daniel Hensby
d0598c02c5
Merge branch '4.2' into 4 2018-07-30 11:07:15 +01:00
Daniel Hensby
ec5640cbd9
Merge tag '4.2.0' into 4.2
Release 4.2.0
2018-07-30 11:04:57 +01:00
Will Rossiter
9ec77ab9d3 Check database has table before altering.
Work around to prevent several issues with silverstripe-framework#4451 and cwp#0031726.

Throws a LogicException if the table does not exist.
2018-07-30 13:14:03 +12:00
Maxime Rainville
85b4b48fb5 FIX Restore default delete action on GridFieldConfig_RecordEditor 2018-07-27 17:19:09 +12:00
Mark Muller
e154aa170c
Make removeDuplicates() chainable
Added the return to allow removeDuplicates to be chained.
2018-07-24 13:50:37 +01:00
Daniel Hensby
ae00147de1
Merge pull request #8280 from open-sausages/pulls/4/simpler-vary-header
FIX: Remove X-Requested-With from default Vary header
2018-07-24 01:45:07 +01:00
Ingo Schommer
d12c2fe631
Properly deprecate HTTP.cache_control 2018-07-23 19:09:11 +01:00
Ingo Schommer
0f5420b6a5
Removed unused classes 2018-07-23 19:09:11 +01:00
Ingo Schommer
d426ecbb89
Add $maxAge arg for caching API
See https://github.com/silverstripe/silverstripe-framework/issues/8272
2018-07-23 19:09:10 +01:00
Daniel Hensby
cc0320b2a7
Merge branch '4.2' into 4 2018-07-23 17:42:43 +01:00
Sam Minnee
bde3121a33
FIX: Remove X-Requested-With from default Vary header
3.x forward port of https://github.com/silverstripe/silverstripe-framework/pull/8242
2018-07-23 14:18:05 +01:00
Daniel Hensby
ccbbcd45a2
FIX Fixed bug in config merging priorities so that config values set by extensions are now least important instead of most important 2018-07-23 14:15:24 +01:00
Daniel Hensby
6e1c7c2781
FIX remove personal information from password reset confirmation screen 2018-07-23 14:13:52 +01:00
Maxime Rainville
c77042aa8b
Fix linting. 2018-07-23 14:12:44 +01:00
Maxime Rainville
7fda52b2cd
Add a MERGE_AS_SUBMITTED_VALUE flag for Form::loadDataFrom 2018-07-23 14:12:43 +01:00
Maxime Rainville
3fa2c056d7
FIX Don't reload form session data using FormField::setSubmittedValue (#8056) 2018-07-23 14:12:43 +01:00
Ingo Schommer
74b655d3fc
Fix tests on unset session data
Thanks Robbie!
2018-07-23 14:09:42 +01:00
Ingo Schommer
76ac8465de
BUG Lazy session state (fixes #8267)
Fixes regression from 3.x, where sessions where lazy started as required:
Either because an existing session identifier was sent through with the request,
or because new session data needed to be persisted as part of the request execution.

Without this lazy starting, *every* request will get a session,
which makes all those responses uncacheable by HTTP layers.

Note that 4.x also changed the $data vs. $changedData payloads:
In 3.x, they both contained key/value pairs.
In 4.x, $data contains key/value, while $changedData contains key/boolean to declare isChanged.
While this reduces duplication in the class, it also surfaced a bug which was latent in 3.x:
When an existing session is lazily resumed via start(), $data is set back to an empty array.
In 3.x, any changed data before this point was *also* retained in $changedData,
ensuring it gets merged into existing $_SESSION data.
In 4.x, this clears out data - hence the need for a more complex merge logic.

Since isset($this->data) is no longer an accurate indicator of a started session,
we introduce a separate $this->started flag.

Note that I've chosen not to make lazy an opt-in (e.g. via start($request, $lazy=false)).
We already have a distinction between lazy starting via init(), and force starting via start().
2018-07-23 14:09:42 +01:00
Daniel Hensby
e37b3b95f4
FIX updateValidatePassword calls need to be masked from backtraces 2018-07-23 14:08:26 +01:00
Daniel Hensby
a3687147fe
State default should be state enabled (no-cache is an enabled state) 2018-07-23 14:07:10 +01:00
Daniel Hensby
9f1471332d
Make augmentState method more efficient 2018-07-23 14:07:10 +01:00
Daniel Hensby
cebed776ab
FIX If theres a max-age set remove no-cache and no-store 2018-07-23 14:07:09 +01:00
Daniel Hensby
2b1c55bc4e
FIX Allow setNoCache(false) to remove no-cache directive 2018-07-23 14:07:09 +01:00
Daniel Hensby
842b39e988
FIX Add must-revalidate to default state so its common on all our core states 2018-07-23 14:07:09 +01:00
Daniel Hensby
997730aa7f
FIX Allow cache control changes to affect default state 2018-07-23 14:07:08 +01:00
Daniel Hensby
c52be7fe09
Consolidate disabling cache logic 2018-07-23 14:05:12 +01:00
Daniel Hensby
f7f567a12e
Make config private (notation isnt working) 2018-07-23 14:05:12 +01:00
Daniel Hensby
b78a89a76c
FIX Default cache state should be no-cache 2018-07-23 14:05:12 +01:00
Daniel Hensby
793aafae91
FIX Transaction depth should error if not implemented by child classes 2018-07-23 14:03:20 +01:00
Robbie Averill
1048520fbe
Restore check for zero or negative transaction nesting 2018-07-23 14:01:22 +01:00
Daniel Hensby
cbdf547c1b
Address feedback 2018-07-23 14:01:22 +01:00
Damian Mooyman
8ea3bb36a0
Maybe fix it? 2018-07-23 14:01:21 +01:00
Damian Mooyman
225e61dc67
BUG FIx manual resetDBSchema() calls breaking the database 2018-07-23 14:01:21 +01:00
Damian Mooyman
11e0a3de43
BUG Ensure that build includes extra classes 2018-07-23 14:01:21 +01:00
Damian Mooyman
95bcac796a
ENHANCEMENT Ensure test DB is flushed on either DDL or transaction-disabled tests
Fixes #8182
2018-07-23 14:01:20 +01:00
Daniel Hensby
b984959170
Merge branch '4.1' into 4.2 2018-07-23 13:30:49 +01:00
Ingo Schommer
e415bcb44a Fix tests on unset session data
Thanks Robbie!
2018-07-19 13:32:08 +12:00
Ingo Schommer
93b0884e19 BUG Lazy session state (fixes #8267)
Fixes regression from 3.x, where sessions where lazy started as required:
Either because an existing session identifier was sent through with the request,
or because new session data needed to be persisted as part of the request execution.

Without this lazy starting, *every* request will get a session,
which makes all those responses uncacheable by HTTP layers.

Note that 4.x also changed the $data vs. $changedData payloads:
In 3.x, they both contained key/value pairs.
In 4.x, $data contains key/value, while $changedData contains key/boolean to declare isChanged.
While this reduces duplication in the class, it also surfaced a bug which was latent in 3.x:
When an existing session is lazily resumed via start(), $data is set back to an empty array.
In 3.x, any changed data before this point was *also* retained in $changedData,
ensuring it gets merged into existing $_SESSION data.
In 4.x, this clears out data - hence the need for a more complex merge logic.

Since isset($this->data) is no longer an accurate indicator of a started session,
we introduce a separate $this->started flag.

Note that I've chosen not to make lazy an opt-in (e.g. via start($request, $lazy=false)).
We already have a distinction between lazy starting via init(), and force starting via start().
2018-07-19 13:32:04 +12:00
Daniel Hensby
921b98112e
Merge pull request #8262 from open-sausages/pulls/4/falsifying-tab-evidence
MINOR removeField(s)FromTab no longer creates a tab if it doesn't exist
2018-07-16 17:26:41 +01:00
Gerald Baumeister
df5395b101 Added check for php-intl requirement 2018-07-16 18:08:25 +02:00
Loz Calver
b317bf163c
Merge pull request #8213 from creative-commoners/pulls/4.2/falsy-forms
FIX FormField::Link works when no form is currently set
2018-07-16 13:53:58 +01:00
Robbie Averill
b93e94c0c3
FIX FormField::Link now throws a LogicException if no form is set yet 2018-07-16 13:02:58 +01:00
Daniel Hensby
1a634f5ba6
Merge pull request #8244 from altwohill/column-not-distinct
Make column query not distinct
2018-07-16 13:01:32 +01:00
Al Twohill
3292a8b773
NEW Add columnUnique API SS_List classes. 2018-07-16 12:16:17 +01:00
Al Twohill
91068c23b5
FIX Make column query not distinct
When selecting a column, it doesn't  make sense to have it distinct.

As an alternative, the API could be changed to give the end user the option
(eg `->column($field, $distinct = false)`)
However if we did that, we would need to make sure we do something
similar with `SilverStripe\ORM\UnsavedRelationList` to ensure consistency.
2018-07-16 11:38:41 +01:00
Loz Calver
106ca6643a
Merge pull request #8263 from dhensby/pulls/4.1/mask-backtrace
FIX updateValidatePassword calls need to be masked from backtraces
2018-07-16 10:30:22 +01:00
Damian Mooyman
c6952b46c4
Merge pull request #8245 from dhensby/pulls/4.2/http-cache-fixes
HTTPCacheControlMiddleware fixes
2018-07-16 13:13:12 +12:00
Robbie Averill
d122995652 FIX Duplicate config values for cascade_duplicates no longer duplicate their duplicates
Previously you could define identical values for this config prop via a DataExtension and on the base
class, resulting in double duplication
2018-07-16 12:04:56 +12:00
Daniel Hensby
8703839eb1
FIX updateValidatePassword calls need to be masked from backtraces 2018-07-15 01:06:45 +01:00
Daniel Hensby
ac5c3416a4
Merge branch '4.2' into 4 2018-07-13 17:06:51 +01:00
Daniel Hensby
bd2abc7a12
Merge branch '4.1' into 4.2 2018-07-13 16:44:23 +01:00
Daniel Hensby
ec9281ee02
Merge branch '4.0' into 4.1 2018-07-13 16:42:00 +01:00
Luke Edwards
7ed056ec50 MINOR removeField(s)FromTab no longer creates a tab if it doesn't exist 2018-07-13 14:18:04 +12:00
Luke Edwards
599a4420bf FIX Improve GridFieldViewButton to work with new Archive Admin (#8240)
* Add gridfield restore action, enable view button in action menu

* Abstract restore action and create test

* Use more appropriate canRestoreToDraft and isArchived, move translations

* Use Hierarchy to determine if a record should be restored to root

* Move restore action to versioned
2018-07-13 10:45:13 +12:00
Daniel Hensby
4acec33562
FIX Fixed bug in config merging priorities so that config values set by extensions are now least important instead of most important 2018-07-12 00:55:39 +01:00
Daniel Hensby
fd8448889c
State default should be state enabled (no-cache is an enabled state) 2018-07-10 16:58:08 +01:00
Daniel Hensby
601bb4d768
Make augmentState method more efficient 2018-07-10 16:58:07 +01:00
Daniel Hensby
399ebd0031
FIX If theres a max-age set remove no-cache and no-store 2018-07-10 16:58:07 +01:00
Harsh Chokshi
6af736a9e1 Change DBCurrency scaffolded form field to CurrencyField (fixes #8246)
Add test ensuring DBCurrency scaffolds CurrencyField
2018-07-09 10:57:01 +12:00
Ingo Schommer
2e6f29fea0
Merge pull request #8223 from dhensby/pulls/4.0/remove-email-from-pswdrecovery
FIX remove personal information from password reset confirmation screen
2018-07-06 11:27:03 +12:00
Daniel Hensby
92f5ef31d8
FIX Allow setNoCache(false) to remove no-cache directive 2018-07-05 22:51:39 +01:00
Daniel Hensby
18b7dc235a
FIX Add must-revalidate to default state so its common on all our core states 2018-07-05 22:51:03 +01:00
Daniel Hensby
9e829c1607
FIX Allow cache control changes to affect default state 2018-07-05 22:50:35 +01:00
Daniel Hensby
560fe9820a FIX remove personal information from password reset confirmation screen 2018-07-05 14:19:15 +12:00
Luke Edwards
fbf30ee747 Message reflect previous return type change 2018-07-04 10:55:20 +12:00
Daniel Hensby
3116b1f97c
Consolidate disabling cache logic 2018-07-02 15:13:46 +01:00
Daniel Hensby
b9b1a74b92
Make config private (notation isnt working) 2018-07-02 13:54:11 +01:00
Daniel Hensby
e4ef83bd2a
FIX Default cache state should be no-cache 2018-07-02 13:33:36 +01:00
Luke Edwards
9ee84fd515 MINOR: DataObject->fieldLabels() will only return an array 2018-07-02 13:53:59 +12:00
Robbie Averill
a39a221c4c Merge branch '4.2' into 4 2018-06-25 13:45:03 +12:00
Daniel Hensby
27b60ae989
FIX Transaction depth should error if not implemented by child classes 2018-06-21 14:26:21 +01:00
Robbie Averill
df257686c1 Restore check for zero or negative transaction nesting 2018-06-20 14:46:50 +12:00
Daniel Hensby
d8430f549d Address feedback 2018-06-20 14:46:50 +12:00
Damian Mooyman
6da72d686f Maybe fix it? 2018-06-20 14:46:50 +12:00
Damian Mooyman
a116b5dad8 BUG FIx manual resetDBSchema() calls breaking the database 2018-06-20 14:46:50 +12:00
Damian Mooyman
f2c2ded27f BUG Ensure that build includes extra classes 2018-06-20 14:46:50 +12:00
Damian Mooyman
fbfd454d65 ENHANCEMENT Ensure test DB is flushed on either DDL or transaction-disabled tests
Fixes #8182
2018-06-20 14:46:50 +12:00
Robbie Averill
7d90a14f37 NEW Shift Embeddable and EmbedResource from asset-admin, lazy load Embed to allow injected dependencies (#8194) 2018-06-20 11:40:28 +12:00
Robbie Averill
725212a707 FIX Allow dispatcher in Embed to be configured with injector (#8192) 2018-06-20 11:37:35 +12:00
Daniel Hensby
a7a45559f0
Merge pull request #8188 from gelysis/array-lib
Tweaks on the ArrayLib class
2018-06-19 15:06:39 +01:00
Robbie Averill
12cc2c68a5
Merge pull request #8023 from silverstripe-terraformers/feature/lookup_field_set_value_fix
LookupField value handling corrected
2018-06-19 21:37:36 +12:00
Damian Mooyman
82634bf08c
Merge remote-tracking branch 'origin/4.2' into 4 2018-06-19 17:20:49 +12:00
Damian Mooyman
cfc3b851e7
Merge remote-tracking branch 'origin/4.1' into 4.2
# Conflicts:
#	lang/sv.yml
2018-06-19 17:20:25 +12:00
Maxime Rainville
3f80e2dc67 FIX Don't reload form session data using FormField::setSubmittedValue… (#8184) 2018-06-19 11:27:09 +12:00
Ingo Schommer
39a86e6d92
Merge pull request #8195 from dhensby/pulls/4.2/cache-default
FIX Default cache state should be `no-cache`
2018-06-19 11:15:57 +12:00
Daniel Hensby
2f1c2992f8
FIX Default cache state should be no-cache 2018-06-18 21:45:38 +01:00
Aaron Carlino
05edb372f1 Revise per tractorcow review 2018-06-18 16:00:17 +12:00
jovenden
b0863fee91 Ensure tables are properly named on dontRequireTable() 2018-06-18 16:00:17 +12:00
Andreas Gerhards
59fe36ba04 Tweaked the other flattening method as well, allowing keys to be preserved 2018-06-18 11:16:20 +12:00
Andreas Gerhards
1753bb2d07 Improved speed on the recursive array flattening 2018-06-18 10:37:20 +12:00
Andreas Gerhards
f45cf75407 Implemented improved associative array check 2018-06-18 08:45:22 +12:00
Damian Mooyman
8181dc4fd2 ENHANCEMENT Ensure extensions are told the internal item request class for gridfield detail form (#8164)
Fixes https://github.com/silverstripe/silverstripe-framework/issues/8136
2018-06-15 17:58:53 +12:00
Damian Mooyman
53dded8cff
API Remove @internal from new 4.2 methods 2018-06-15 13:14:42 +12:00
Robbie Averill
5fa5abf295 Merge branch '4.1' into 4
# Conflicts:
  #	src/Forms/DateField.php
2018-06-15 11:52:07 +12:00
Damian Mooyman
b636587945
Respect semver and add tests 2018-06-15 11:04:12 +12:00
Damian Mooyman
310a259c5f
Add locale to Format
Fix up some regressions
2018-06-14 17:28:16 +12:00
Ingo Schommer
1c5876acf0
Merge pull request #8179 from open-sausages/pulls/4/safer-test-clear
BUG Make regression in #7839 safer
2018-06-14 17:28:13 +12:00
Ingo Schommer
bd84944c0d
Merge pull request #8166 from open-sausages/pulls/4/http-cache-middleware
NEW Add better HTTP cache-control manipulation (4.x branch)
2018-06-14 17:19:54 +12:00
Damian Mooyman
d52c4dd602
BUG Make regression in #7839 safer 2018-06-14 16:45:09 +12:00
Damian Mooyman
b686b86c34 Session now prevents cache headers being sent unintentionally 2018-06-14 15:59:51 +12:00
Ingo Schommer
513e0891d3 Clarify function of registerModificationDate() 2018-06-14 14:13:28 +12:00
Damian Mooyman
6b8f63c4d5
Refactor redirect cache busting into middleware 2018-06-14 14:11:31 +12:00
Robbie Averill
acc8d48b11 FIX SapphireTest can load relative fixtures in subfolders, switch "needs db" priority check order
A minute performance gain by checking instance properties for "uses database" before loading and parsing PHPDoc
annotations for the same thing, rather than doing it afterwards.
2018-06-14 13:59:44 +12:00
Damian Mooyman
3ce8ab3adc
Improve handling of deprecated apis 2018-06-14 13:01:27 +12:00
Damian Mooyman
163f1523e9
Add upgrade rule for HTTPCacheControl 2018-06-14 11:55:05 +12:00
Damian Mooyman
9274692415
Fix core tests 2018-06-14 11:46:47 +12:00
Damian Mooyman
59ba208df0
Fix HTTPTest 2018-06-14 11:46:28 +12:00
Damian Mooyman
e93289326e
Add Form::canBeCached() method 2018-06-14 11:17:21 +12:00
Damian Mooyman
6b68495c0d
Rename ETagMiddleware to ChangeDetectionMiddleware 2018-06-14 11:16:52 +12:00
Damian Mooyman
b7e54bad24
Adjust HTTPResponse::getVersion() to match PSR-7 Method signature 2018-06-14 11:04:07 +12:00
Daniel Hensby
a88257efac
NEW Add version to HTTPRequest and create raw string representation 2018-06-13 15:29:04 +01:00
Daniel Hensby
1b425570cf
Remove IE edge case handling 2018-06-13 15:29:04 +01:00
Daniel Hensby
17ad985925
Cleanup ETag middleware 2018-06-13 15:29:03 +01:00
Daniel Hensby
0b308c871d
DOCS Update doc errors 2018-06-13 15:29:03 +01:00
Damian Mooyman
687d0a6af1
Refactor everything out of HTTP and into separate middlewares 2018-06-13 17:56:47 +12:00
Damian Mooyman
6f32762268
Fix unit tests 2018-06-13 14:09:31 +12:00
Damian Mooyman
aa1ba0ef90
Fix inverted condition
Remove unnecessary yml block
Deprecate HTTP::set_cache_age()
2018-06-13 13:56:47 +12:00
Damian Mooyman
02ae2e7ed0
BUG Fix internal date formatting inheriting default locale
Fixes #8097
2018-06-13 13:32:11 +12:00
Daniel Hensby
befd81d0c2 FIX Bug with forms being cached 2018-06-13 11:33:46 +12:00
Daniel Hensby
7c875918c7 FIX make sure we create ETags from the body, not the request 2018-06-13 11:33:46 +12:00
Daniel Hensby
6bb69d1ae5 Throw caught exceptions in HTTPCacheControlMiddleware::process 2018-06-13 11:33:46 +12:00
Daniel Hensby
37343cf0e2 Use veradic argument for HTTP::combineVary 2018-06-13 11:33:45 +12:00
Daniel Hensby
bf90af4845 Linting fixes 2018-06-13 11:33:45 +12:00
Damian Mooyman
442db3050c Manual merge up of 3.x changes to HTTP class 2018-06-13 11:33:45 +12:00
Damian Mooyman
76bf2ab21a WIP of cache middlware 2018-06-13 11:33:45 +12:00
Damian Mooyman
6c985c4e5f
Merge remote-tracking branch 'origin/4.1' into 4 2018-06-13 11:25:20 +12:00
Damian Mooyman
c2123f772f
Merge remote-tracking branch 'origin/4.0' into 4.1 2018-06-13 11:24:12 +12:00
Daniel Hensby
ec956a682d API Moving tests to use transactions 2018-06-13 09:35:45 +12:00
Robbie Averill
f256045020
Merge pull request #8158 from open-sausages/pulls/4.0/fix-cli-canonical-middleware
BUG Prevent canonical URL causing a redirect on CLI unless explicitly enabled
2018-06-12 10:53:37 +12:00
Daniel Hensby
ce58890baf
Merge branch '4.0' into 4.1 2018-06-11 09:27:42 +01:00
Robbie Averill
27e24a4728
Merge pull request #8142 from open-sausages/pulls/4.0/fix-injector-empty
BUG Safely handle empty injector factory responses
2018-06-11 15:20:24 +12:00
Damian Mooyman
2a51f34c3e
BUG Prevent canonical URL causing a redirect on CLI unless explicitly enabled
Replaces #8157
2018-06-11 13:54:27 +12:00
Damian Mooyman
77a45c0dbc
Merge remote-tracking branch 'origin/4.1' into 4
# Conflicts:
#	src/Forms/HTMLEditor/HTMLEditorSanitiser.php
#	src/ORM/DataObjectSchema.php
#	src/ORM/Queries/SQLSelect.php
#	src/View/Parsers/ShortcodeParser.php
2018-06-11 10:19:04 +12:00
Robbie Averill
d842225df6 FIX Codesniffer style violations with comments 2018-06-11 09:55:18 +12:00
Damian Mooyman
546c6c3e22
Merge pull request #8125 from open-sausages/pulls/4/date-field-tweaks
Remove legacy logic from DateField_Disabled
2018-06-11 09:23:33 +12:00
Daniel Hensby
e260319823
Merge branch '4.0' into 4.1 2018-06-08 23:05:24 +01:00
Maxime Rainville
582c69d32f
BUG Fix issue with Disabled DateField always display (not set). 2018-06-08 13:51:22 +01:00
Daniel Hensby
e1450b5e82
Merge pull request #8147 from kinglozzer/mysql-pdo-attr
FIX: Only set MYSQL_ATTR_INIT_COMMAND when using mysql driver (fixes #8103)
2018-06-08 13:06:03 +01:00
Ingo Schommer
80c30c7b05
Merge pull request #8089 from creative-commoners/pulls/4.1/fix-maori-macron
FIX Add macron to Māori language name
2018-06-08 14:07:05 +12:00
Damian Mooyman
29f9b1c18f
Fix linting issues 2018-06-08 11:38:36 +12:00
Loz Calver
66f57bd4da FIX: Only set MYSQL_ATTR_INIT_COMMAND when using mysql driver (fixes #8103) 2018-06-07 10:26:00 +01:00
Aaron Carlino
31ad3cdaab
BUGFIX: Allow buttons to opt out of display (#8113)
* Allow buttons to opt out of display

* Linting

* Remove redundant function call

* Add test for group delete action

* Add menu group check and test for delete action

* Fix linting
2018-06-06 21:14:29 +12:00
Damian Mooyman
c070e989c4
BUG Safely handle empty injector factory responses
Fixes issue with ImageBackendFactory returning null and breaking injector
2018-06-06 16:45:16 +12:00
Damian Mooyman
0aa13da0d9
BUG Backport bugfix for belongs_many_many with many_many through.
Partial backport of #7928
Fixes #8131
2018-06-06 09:43:04 +12:00
Jonathon Menz
bf07ba30f4 FIX: Make error messages available to extensions 2018-06-05 14:12:28 -07:00
Jonathon Menz
5a5ba1e5c0 Fix: negative values in read only currency field
Don’t strip out ‘-‘ character as this makes negative values appear to be positive (Fixes #8126)
2018-06-01 12:59:02 -07:00
Damian Mooyman
2510935b53
Merge pull request #8065 from dhensby/pulls/4/mmtl-jointable
NEW Add getJoinTable to MMTL
2018-06-01 10:33:46 +12:00
Robbie Averill
e0993043f8 Merge branch '4.1' into 4 2018-05-30 15:08:39 +12:00
Robbie Averill
d0d936bc40 Merge branch '4.0' into 4.1 2018-05-30 14:52:31 +12:00
Robbie Averill
c8b0bc0ad7 Merge branch '4.0' into 4.1
# Conflicts:
  #	src/ORM/DataObject.php
  #	tests/php/ORM/DataObjectDuplicationTest.php
  #	tests/php/ORM/DataObjectDuplicationTest/Class1.php
2018-05-30 14:52:07 +12:00
Robbie Averill
624a5326a7
Typo in PHPDoc type 2018-05-30 14:51:09 +12:00
Luke Edwards
385e9e105c Create GridField Actions Menu component (#8083)
* WIP GridField action menu work, the gist of the idea is using a new gridfield component

* Add delete action to actions menu

* Actions are added automatically to action menu (allows for extension)

* Add test and minor changes

* Add docs and minor changes

* Refactor ActionMenuItem into distinct types, general ActionMenu cleanup

* Add icons and fix title

* Pass columnName, so it can be used by components

* Update test to open and find action menu buttons

* Add section in changelog upgrade section for GridField_ActionMenu
2018-05-29 16:10:52 +12:00
Robbie Averill
c3e5ab2258
Merge pull request #65 from silverstripe-security/pulls/4.2/ss-2018-009
[SS-2018-009] Allow forced redirects to HTTPS for responses with basic authentication
2018-05-28 18:57:38 +12:00
Robbie Averill
ea16e28aa7 Merge branch '4.1' into 4 2018-05-28 18:33:56 +12:00
Robbie Averill
6d98a912c9 Merge branch 'heads/4.1.1' into 4.1 2018-05-28 18:26:20 +12:00
Robbie Averill
3a537bc745 Merge branch 'heads/4.0.4' into 4.0 2018-05-28 17:50:07 +12:00
Robbie Averill
722202fef4 Merge remote-tracking branch 'origin/4.0.4' into 4.1.1
# Conflicts:
  #	src/Control/Director.php
2018-05-24 15:41:11 +12:00
Damian Mooyman
5bff64b47b BUG Fix Director::test() not persisting removed session keys on teardown 2018-05-24 13:10:03 +12:00
Robbie Averill
c308416afa FIX Add macron to Māori language name 2018-05-23 11:22:30 +12:00
Damian Mooyman
865ebb3398 ENHANCEMENT Improve upgrading experience. (#8025)
* ENHANCEMENT Improve upgrading experience.
Show errors and back button if errors encountered during install
BUG Fix hard-coded 'mysite' folder
Fixes #8024

* Patch behat tests to work with new  buttons
2018-05-21 22:08:34 +12:00
Daniel Hensby
1a57c7c1d0
NEW Add getJoinTable to MMTL 2018-05-14 11:19:24 +01:00
Aaron Carlino
f847f186b1 [ss-2018-013] Remove password text from session data on failed submission 2018-05-14 17:14:38 +12:00
Robbie Averill
5887201dd5
Merge pull request #64 from silverstripe-security/pulls/4.0/ss-2018-010
[SS-2018-010] Fix regression of SS-2017-002
2018-05-14 17:12:45 +12:00
Robbie Averill
beec0c0d47 [SS-2018-010] Fix regression of SS-2017-002 2018-05-14 17:12:07 +12:00
Robbie Averill
1e6790bfb6
Merge pull request #62 from silverstripe-security/pulls/4.0/ss-2018-001
[ss-2018-001] Restrict non-admins from being assigned to admin groups
2018-05-14 17:11:03 +12:00
Damian Mooyman
e409d6f673 [ss-2018-001] Restrict non-admins from being assigned to admin groups 2018-05-14 17:10:22 +12:00
Robbie Averill
39b62e5fbb
Merge pull request #61 from silverstripe-security/pulls/4.0/ss-2018-008
[ss-2018-008] Validate against malformed urls
2018-05-14 17:07:09 +12:00
Damian Mooyman
9053014a7e [ss-2018-008] Validate against malformed urls 2018-05-14 17:06:47 +12:00
Robbie Averill
6f50728b18
Merge pull request #59 from silverstripe-security/pulls/4.0/ss-2018-006
[ss-2018-006] Prevent code execution in template value resolution
2018-05-14 17:06:04 +12:00
Robbie Averill
cd716fb61b Switch check for is_string 2018-05-14 17:05:31 +12:00
Damian Mooyman
2e13ae746f [ss-2018-006] Prevent code execution in template value resolution 2018-05-14 17:05:31 +12:00
Damian Mooyman
d935140a95 [ss-2018-005] Prevent unauthenticated isDev / isTest being allowed 2018-05-14 17:03:39 +12:00
Andrew Aitken-Fincham
64964f7402
unset http scheme on CLIRequestBuilder 2018-05-02 11:43:51 +01:00
Daniel Hensby
d5e2d3fa67
Merge branch '3.6' into 4.0 2018-05-01 21:47:17 +01:00
Daniel Hensby
62631dc3ee
Merge pull request #8013 from open-sausages/pulls/4.1/fix-password-validator-fields
BUG Prevent password validator min score producing false negatives
2018-04-30 12:16:56 +01:00
JorisDebonnet
1d3e83838d
Fix phpdoc for relation method (namespace) 2018-04-30 02:10:33 +02:00
azt3k
6b39b25e20
Fixes a count() php warning without an api change
Warning: count(): Parameter must be an array or an object that implements Countable in /path/to/vendor/silverstripe/framework/src/Security/Member.php on line 1355
2018-04-27 09:31:07 +01:00