Commit Graph

2894 Commits

Author SHA1 Message Date
Guy Sartorelli
c2b606c24c
Merge pull request #11150 from beerbohmdo/allow_override_moneyfield
Allow better subclassing of MoneyField
2024-02-26 11:20:11 +13:00
Thomas Portelange
bc09127182
use composer runtime api 2024-02-23 17:06:27 +01:00
Dominik Beerbohm
a3ce922f1d
ENH Allow better subclassing of MoneyField
Move generation of NumberField from constructor to method to allow override in subclass.
Addded test for MoneyField
2024-02-20 11:42:45 +01:00
Guy Sartorelli
528344d1b0
NEW Allow manipulating eagerloading queries (#11140) 2024-02-20 16:17:31 +13:00
Guy Sartorelli
8664d2c4e9
ENH Allow all valid true-like ini values 2024-02-16 13:29:52 +13:00
github-actions
7e30e38ae6 Merge branch '5.1' into 5 2024-02-14 22:58:30 +00:00
Guy Sartorelli
d33332cb9e
FIX Add eagerloaded data to ALL relevant lists (#11139) 2024-02-15 11:57:22 +13:00
Steve Boyd
51fd1d6b7e FIX Handle __TRAIT__ in i18nTextCollector 2024-02-13 16:33:24 -07:00
Guy Sartorelli
a00bdd727f
MNT Run module-standardiser (#11121) 2024-02-13 14:33:23 +13:00
Guy Sartorelli
343c8ff787
Merge branch '5.1' into 5 2024-02-13 13:55:30 +13:00
Thomas Portelange
b56e771ed5
FIX add missing rawurlencode (#11105) 2024-02-13 10:08:28 +13:00
Guy Sartorelli
9c4266c8f3
Merge pull request #11127 from lekoala/patch-45
FIX Unknown column 'ClassName' in field list
2024-02-13 09:51:52 +13:00
Thomas Portelange
e0107e0202
Update src/ORM/DataQuery.php
Co-authored-by: Guy Sartorelli <36352093+GuySartorelli@users.noreply.github.com>
2024-02-08 09:14:27 +01:00
Thomas Portelange
2ac68a55a4
rename var 2024-02-08 09:13:40 +01:00
Guy Sartorelli
5e53dbcdbc
NEW Add a trace comment for queries in dev mode (#11065) 2024-02-08 16:29:55 +13:00
Guy Sartorelli
e87c724700
FIX Don't assume mysql handle is an object (#11129) 2024-02-08 15:07:33 +13:00
Thomas Portelange
1dd81488aa
fix unknown table
Fixes https://github.com/silverstripe/silverstripe-framework/issues/10737
2024-02-07 17:38:14 +01:00
Guy Sartorelli
26273bf371
TLN Update translations (#11125) 2024-02-07 10:16:25 +13:00
Steve Boyd
2e4bc95157 NEW Add UrlField 2024-02-02 13:43:26 +13:00
Guy Sartorelli
7f71695335
NEW Wire up symfony/validator (#11123) 2024-02-02 13:15:32 +13:00
Steve Boyd
6ccdd10c60 MNT Remove unused import 2024-01-31 16:15:36 +13:00
Steve Boyd
9d335f73d6 NEW HasOneRelationFieldInterface 2024-01-31 10:34:25 +13:00
Antony Thorpe
90a3d60b59
Update DropdownField.php
Update the enum example with a namespaces classname
2024-01-30 19:02:05 +13:00
github-actions
1eadc84a22 Merge branch '5.1' into 5 2024-01-27 14:24:02 +00:00
Sabina Talipova
afd53d1d6a FIX HTMLEditorField::setRows with Elemental 2024-01-25 12:07:10 +13:00
Guy Sartorelli
98951c088e
Merge branch '5.1' into 5 2024-01-23 12:04:23 +13:00
github-actions
312ee58292 Merge branch '4' into 5.1 2024-01-22 22:58:52 +00:00
Guy Sartorelli
90a57c2aa4
Merge branch '5.1' into 5 2024-01-23 11:58:17 +13:00
Sabina Talipova
6fe377e69d
Merge pull request #11113 from creative-commoners/pulls/4.13/cve-2023-48714
[CVE-2023-48714] Don't show or add records the member isn't allowed to
2024-01-23 11:46:28 +13:00
Guy Sartorelli
873b721b6b
[CVE-2023-48714] Don't show or add records the member isn't allowed to
see
2024-01-23 11:11:36 +13:00
Guy Sartorelli
4b1b487041
[CVE-2023-49783] Allow permission checks in BulkLoader 2024-01-23 11:01:25 +13:00
github-actions
96241b2db8 Merge branch '4' into 5.1 2024-01-20 14:24:40 +00:00
Guy Sartorelli
357ed7ad7e
ENH Add generic types (#11108)
There are also a few general corrections to PHPDocs that I noticed along
the way (e.g. adding `|null` when the method is returning a null value.

There are some cases where either the return type or the whole PHPDoc
was duplicated from the parent class - in those cases I've simply
removed the duplication.
2024-01-17 17:08:26 +13:00
Guy Sartorelli
8b427f4e74
API Deprecate some unused API 2024-01-17 14:00:47 +13:00
github-actions
56086121a2 Merge branch '5.1' into 5 2024-01-13 14:24:50 +00:00
Sabina Talipova
ff3a6f72df
FIX HTMLEditorField::setRows minimal hieght (#10965) 2024-01-11 15:00:24 +13:00
Steve Boyd
9bfb731bc3 FIX Handle polymorphic relationships that use Owner instead of Parent 2024-01-10 11:43:26 +13:00
Guy Sartorelli
b1a1d4b951
Merge pull request #11100 from creative-commoners/pulls/5/split-summary-by-punctuation
ENH Split sentences by configurable punctuation for summary
2024-01-09 09:01:44 +13:00
Nick
e456de11b0
Fix clobbering of the upload size validation (#10059)
* Fix clobbering of the upload size validation

When the validation is set here like this, it overrides validation which has already been setup with a simple '*' rule for the size based on PHP.

If you've defined in the sites yml config something like

    SilverStripe\Assets\Upload_Validator:
      default_max_file_size:
        '[image]': '2m'
        '*' : '1m'

then it will not be respected.

If you review SilverStripe\Assets\Upload_Validator and check the getAllowedMaxFileSize method, you'll see the sizing will be populated (if it hasn't been done before).

You can see it fail by;
- Setup a new SilverStripe site.
- Set your PHP to allow max post / max upload size of 10mb.
- Add the above config to your sites yml file and flush.
- In the CMS you'll be able to upload a 5MB file, when you shouldn't.

* Test that FileField will use size validation if defined

Couple of tests which prove a fix so the FileField and others will use the default_max_file_size setting

* Fix variable name in last commit

This is what happens when you refactor in the github window.
Fix the variable names. This will get squashed once merged.

* Updates the pr - white space and non deprecated method for byte conversion

Remove extra white space to appease the CS. Use the non deprecated method for memstring2bytes

* White space fixes for the phpcs

White space fixes for the phpcs

* Ensure that "memstring2bytes" can handle if an empty or value with no number is passed in

* DEP Bump assets constraint to ensure that change is also pulled in

---------

Co-authored-by: Guy Sartorelli <guy.sartorelli@silverstripe.com>
2024-01-08 15:49:41 +13:00
Finlay Metcalfe
2487c4085d
ENH Create Requirements::customScriptWithAttributes (#11076)
* ENH Create Requirements::customScriptWithAttributes

* MNT PHP Lint failures corrected

* ENH Refactored attribute handling to avoid API changes, auto lowercase, strong typing

* FIX Updated default value handling for type in customScriptWithAttributes

* DOC Removed white space

* MNT PHP Lint Failures Corrected

* Update src/View/Requirements_Backend.php

Co-authored-by: Steve Boyd <emteknetnz@gmail.com>

* Update src/View/Requirements_Backend.php

Co-authored-by: Steve Boyd <emteknetnz@gmail.com>

* Update tests/php/View/RequirementsTest.php

Co-authored-by: Steve Boyd <emteknetnz@gmail.com>

* FIX Removed extra closing brace in customScriptWithAttributes

* Update src/View/Requirements_Backend.php

Co-authored-by: Steve Boyd <emteknetnz@gmail.com>

* Update src/View/Requirements.php

Co-authored-by: Guy Sartorelli <36352093+GuySartorelli@users.noreply.github.com>

* MNT Fixed left over content definition and created tests for uniquenessIDs

* MNT Fixed PHP Lint Error

* MNT Fix PHP Lint Error

* FIX Remove attribute when calling customScript with the same uniquenessID

---------

Co-authored-by: Steve Boyd <emteknetnz@gmail.com>
Co-authored-by: Guy Sartorelli <36352093+GuySartorelli@users.noreply.github.com>
2023-12-22 12:00:33 +13:00
Guy Sartorelli
bf629dfabd
ENH Split sentences by configurable punctuation for summary
Co-authored-by: Lukas Erni <le@kraftausdruck.ch>
2023-12-20 15:08:01 +13:00
Guy Sartorelli
7dc1a7a12b
FIX Correctly mark ConfirmedPasswordField children as required 2023-12-20 12:35:30 +13:00
Maxime Rainville
6c69d32367
Merge pull request #11049 from creative-commoners/pulls/5/gridfield-with-viewabledata
Make GridField components work with ViewableData where possible
2023-12-19 19:55:29 +13:00
Guy Sartorelli
e7775a6133
Merge pull request #11071 from creative-commoners/pulls/5/foreign-key-field-scaffold
ENH Use SearchableDropdownField for autoscaffolded has_one relationships
2023-12-19 10:42:12 +13:00
Steve Boyd
e66c1aec06 ENH Use SearchableDropdownField for autoscaffolded has_one relationships 2023-12-19 10:04:01 +13:00
Guy Sartorelli
c96f37ea93
Merge branch '5.1' into 5 2023-12-18 15:20:02 +13:00
Guy Sartorelli
3d64eac129
NEW Make most GridField components work with arbitrary data 2023-12-18 12:41:42 +13:00
Guy Sartorelli
ad8cf9902c
Merge pull request #11093 from creative-commoners/pulls/5.1/docblock
MNT Update @methods on class docblocks
2023-12-15 12:38:38 +13:00
Guy Sartorelli
3acd6d3147
Merge pull request #11091 from edwilde/patch-16
Remove unused lines in `findTab()`
2023-12-15 10:36:45 +13:00
Guy Sartorelli
dd3a0dba24
FIX Don't break the page if password recover email fails to send 2023-12-15 09:05:18 +13:00
Steve Boyd
23eca53dfb NEW SearchableDropdownField 2023-12-14 15:28:19 +13:00
Guy Sartorelli
446810bc5e
FIX Allow new password to save even if there's an error sending email 2023-12-14 12:47:05 +13:00
Steve Boyd
db69a1f83c MNT Update @methods on class docblocks 2023-12-14 11:04:08 +13:00
Ed Wilde
b6c646ffbe
Also remove the unused $last_idx assignment 2023-12-13 10:42:06 +13:00
Ed Wilde
81541db892
Remove unused line in findTab()
This line doesn't appear to be of any use
2023-12-13 10:28:03 +13:00
Guy Sartorelli
ff38ff1d63
Merge pull request #11073 from creative-commoners/pulls/5/limit-int
API Use correct param types
2023-12-12 10:55:59 +13:00
Guy Sartorelli
c405ed6cf3
NEW Allow a single has_one to manage multiple reciprocal has_many (#11084) 2023-12-12 10:18:25 +13:00
Guy Sartorelli
5838772b19
ENH Explicitly require DataObject for some gridfield components
These components simply cannot work with non-DataObjects. They have
explicit DataObject queries, and allowing arbitrary callbacks for these
components would be a case of diminishing returns.
2023-12-11 12:34:00 +13:00
Guy Sartorelli
b1295af281
NEW Provide an easy way to filter arbitrary ViewableData in gridfields 2023-12-11 12:33:56 +13:00
github-actions
c890d79ea9 Merge branch '5.1' into 5 2023-12-09 14:24:25 +00:00
github-actions
bf45b0c44b Merge branch '4' into 5.1 2023-12-09 14:24:24 +00:00
Steve Boyd
3fe42b84af API Use correct param types 2023-12-08 16:50:34 +13:00
Loz Calver
40b888eaf3 FIX: UnsavedRelationList::last() sometimes returned an ID instead of an item 2023-12-04 11:44:34 +00:00
Loz Calver
e28af9a5a7 FIX: UnsavedRelationList first/last to return null if list is empty (fixes #11083) 2023-12-04 11:32:08 +00:00
github-actions
809f9e7ae0 Merge branch '5.1' into 5 2023-11-29 22:52:10 +00:00
Guy Sartorelli
eb245a1f83
Merge branch '4' into 5.1 2023-11-30 11:51:36 +13:00
Guy Sartorelli
6d903848ab
FIX Don't replace config manifest for nested kernels (#11082) 2023-11-30 11:39:14 +13:00
github-actions
c63dca37a8 Merge branch '5.1' into 5 2023-11-28 02:04:54 +00:00
github-actions
4f0dfe8657 Merge branch '4' into 5.1 2023-11-28 02:04:52 +00:00
Steve Boyd
4dbbf04ba5 FIX Add extraEmptyValues to TreedropdownField 2023-11-27 12:42:28 +13:00
github-actions
1347fcd563 Merge branch '5.1' into 5 2023-11-25 14:24:28 +00:00
github-actions
6f6b2650ec Merge branch '4' into 5.1 2023-11-25 14:24:26 +00:00
Steve Boyd
fdb329913c ENH Throw exception when no react component 2023-11-22 14:17:47 +13:00
Guy Sartorelli
7eab49f850
FIX Ensure environment is checked before enabling deprecations (#11055) 2023-11-22 09:30:08 +13:00
Guy Sartorelli
bc47d65cc5
DEP Deprecate configurable silent failures in GridField components 2023-11-20 16:50:32 +13:00
github-actions
cfd8f05a04 Merge branch '5.1' into 5 2023-11-18 14:24:16 +00:00
github-actions
1ae7e9262d Merge branch '4' into 5.1 2023-11-18 14:24:15 +00:00
Guy Sartorelli
05f1d9ab86
FIX Make deprecation enabled check faster 2023-11-17 10:41:02 +13:00
github-actions
f22282acb2 Merge branch '5.1' into 5 2023-11-13 04:42:01 +00:00
github-actions
fe9b7699a2 Merge branch '4' into 5.1 2023-11-13 04:42:00 +00:00
Guy Sartorelli
a1eee2a9ef
Merge pull request #10979 from andrewandante/ENH_add_buildtask_permissions
Add buildtask and dev URL permissions
2023-11-10 13:20:06 +13:00
Andrew Paxley
b9da08a301 Update task-not-found messaging 2023-11-10 09:40:16 +13:00
Andrew Paxley
c77a77d584 Flip canView logic and combine into taskEnabled check 2023-11-09 20:22:59 +13:00
Sabina Talipova
d883719c16 FIX ModelAdmin toast elements 2023-11-09 09:39:52 +13:00
Andrew Paxley
b9b891d050 ENH handle sub-urls 2023-11-03 17:10:08 +13:00
Andrew Paxley
5d4327b238 ENH replace permission checks with canView check on TestDBTask 2023-11-03 09:19:29 +13:00
github-actions
cb520db8b7 Merge branch '5.1' into 5 2023-11-01 20:14:50 +00:00
Andrew Paxley
78444a44ca ENH add DevAdminConfirmationMiddleware 2023-10-31 17:35:55 +13:00
Guy Sartorelli
0887170115
Merge pull request #11032 from creative-commoners/pulls/5.1/remove-todo
MNT Remove TODO comments
2023-10-31 10:11:27 +13:00
Sabina Talipova
56511c8618 MNT Remove TODO comments 2023-10-30 13:21:09 +13:00
github-actions
0556dfe45f Merge branch '5.1' into 5 2023-10-28 14:23:52 +00:00
github-actions
9a497f54d7 Merge branch '4' into 5.1 2023-10-28 14:23:50 +00:00
Andrew Paxley
3244b44a54 ENH add permissions for build tasks
ENH add granular dev url permissions
2023-10-27 12:34:25 +13:00
Bernie Hamlin
e5eb98cc34 Use field editorconfig when sanitising content 2023-10-25 12:08:46 +13:00
Steve Boyd
159112ca8b NEW Generate a random password if a blank password is entered 2023-10-20 11:37:25 +13:00
Andrew Paxley
a0cbebb2d1 ENH allow stacked messages on FormMessage 2023-10-09 11:12:03 +13:00
Guy Sartorelli
44b170098e
NEW Add ORM abstraction for "WITH" clauses (#10943) 2023-10-02 15:25:14 +13:00
github-actions
11c0198b9d Merge branch '5.1' into 5 2023-09-30 14:24:05 +00:00
github-actions
cf78a9d785 Merge branch '5.0' into 5.1 2023-09-30 14:24:03 +00:00
github-actions
3d60e1e77e Merge branch '4' into 5.0 2023-09-30 14:24:00 +00:00
Guy Sartorelli
7d5c62ed5f
NEW Add rightJoin method to DataList (#10961) 2023-09-27 15:24:32 +13:00
Guy Sartorelli
55e42683f8
FIX Match multi-line JOIN statements (#10960) 2023-09-26 10:30:55 +13:00
Guy Sartorelli
7bb72eb7c5
FIX Ensure all fixed fields are added 2023-09-25 15:35:34 +13:00
Guy Sartorelli
76da701b6b
NEW Add sql UNION abstraction 2023-09-25 12:33:30 +13:00
Guy Sartorelli
fac3356739
ENH Enable allowing collisions for field statements (#10957) 2023-09-25 12:32:40 +13:00
Guy Sartorelli
bbc0295f86
NEW Add abstraction for sql RIGHT JOIN (#10954) 2023-09-25 12:32:26 +13:00
Guy Sartorelli
b28749db44
ENH Allow selecting multiple (or no) tables (#10953) 2023-09-25 12:32:19 +13:00
Guy Sartorelli
b3b1d07616
ENH Deprecate old password encryptors (#10948) 2023-09-19 18:22:08 +12:00
github-actions
24db72a5f5 Merge branch '5.0' into 5.1 2023-09-16 14:23:45 +00:00
github-actions
ff4a091d93 Merge branch '4' into 5.0 2023-09-16 14:23:44 +00:00
Guy Sartorelli
58696e3ed5
FIX Set tableName on DBField before calling addToQuery (#10946) 2023-09-14 11:01:36 +12:00
Rastislav Brandobur
17733aa84a added missing returns (fluent setter) 2023-09-11 10:58:11 +02:00
github-actions
0b89d32f8c Merge branch '5.0' into 5.1 2023-09-09 14:23:42 +00:00
github-actions
b01afbe99b Merge branch '4' into 5.0 2023-09-09 14:23:41 +00:00
Steve Boyd
724d8c9047 Merge branch '5.0' into 5.1 2023-09-07 12:59:45 +12:00
Steve Boyd
17c33231c4 FIX Call Textarea validation extension 2023-09-05 16:08:20 +12:00
Guy Sartorelli
7ea25bf9e1
FIX Call addToQuery on all DBFields (#10936) 2023-09-05 15:06:53 +12:00
github-actions
c59aa5e13f Merge branch '5.0' into 5.1 2023-09-02 14:23:40 +00:00
github-actions
a0493cffff Merge branch '4' into 5.0 2023-09-02 14:23:38 +00:00
Guy Sartorelli
374771d4d7
FIX Correctly implement backwards compatible null comparisons (#10935) 2023-08-31 12:26:40 +12:00
Sabina Talipova
c5be3fc487
Merge pull request #10931 from tjbwsk/4.13
added missing maxLength validation
2023-08-31 08:45:10 +12:00
Guy Sartorelli
b4463d9050
NEW Enable ArrayList and EagerLoadedList to use search filters (#10925) 2023-08-29 15:40:19 +12:00
Rastislav Brandobur
d6c39e7d36 added missing maxLength validation 2023-08-28 10:51:43 +02:00
Steve Boyd
c17138b6f5 Merge branch '5.0' into 5 2023-08-28 18:26:22 +12:00
github-actions
69549f2a23 Merge branch '4' into 5.0 2023-08-26 14:23:32 +00:00
Niklas Forsdahl
88c70b3234 Fixed deprecation notices in php 8.2 by using the AllowDynamicProperties
annotation on classes that set dynamic properties
2023-08-25 11:07:48 +03:00
Guy Sartorelli
2e92b89b54
Merge pull request #10923 from kinglozzer/10821-mmtl-changetracking
FIX: Stop ManyManyThroughList join records incorrectly showing as changed (fixes #10821)
2023-08-24 09:05:38 +12:00
Loz Calver
1fd495449b FIX: Stop ManyManyThroughList join records incorrectly showing as changed (fixes #10821) 2023-08-23 16:43:56 +01:00
Steve Boyd
00cade0d38 Merge branch '5.0' into 5 2023-08-22 15:32:50 +12:00
Steve Boyd
ee0468e5b7 Merge branch '4.13' into 5.0 2023-08-22 15:32:38 +12:00
Sunny Side Up
6c2b5bdbe1
Update src/Security/Member.php
Co-authored-by: Guy Sartorelli <36352093+GuySartorelli@users.noreply.github.com>
2023-08-15 17:06:46 +12:00
Sunny Side Up
93d03f71ef
MINOR: set a default password encryption for a member, if no password encryption is set. 2023-08-15 16:29:52 +12:00
Guy Sartorelli
c7cd26299a
Fix ArrayList canFilterBy to work with ArrayData (#10915) 2023-08-15 11:31:20 +12:00
Guy Sartorelli
b178647dee
Merge pull request #10844 from lekoala/patch-40
update IPUtils
2023-08-11 20:47:09 +12:00
Thomas
d621d00eea
DBComposite::writeToManipulation() is never called 2023-08-11 09:56:37 +12:00
github-actions
613dc1620c Merge branch '5.0' into 5 2023-08-09 23:47:19 +00:00
Guy Sartorelli
15e4cbeb7a
Merge branch '4' into 5.0 2023-08-10 11:46:33 +12:00
Sabina Talipova
597d97bf0a
Merge pull request #10907 from creative-commoners/pulls/4.13/new-fields-validator
NEW Add FieldsValidator to ensure fields get validated
2023-08-10 10:50:57 +12:00
Loz Calver
8da4aa8637 FIX: Regression with include argument (fixes #10911) 2023-08-09 15:20:54 +01:00
Guy Sartorelli
fd2b76d38b
Merge pull request #10904 from creative-commoners/pulls/5/more-placeholders
ENH Do not use placeholders by default for foreignIDFilter()
2023-08-09 11:58:26 +12:00
Steve Boyd
358cbc9ee5 ENH Do not use placeholders by default for foreignIDFilter() 2023-08-09 10:46:08 +12:00
Guy Sartorelli
f345646481
FIX Allow subclasses of ManyMany lists in EagerLoadedList (#10905) 2023-08-08 14:43:08 +12:00
Sabina Talipova
037168a4fe FIX Multi HTML entities in shortcodes 2023-08-08 13:08:19 +12:00
Guy Sartorelli
5a52484d88
NEW Add FieldsValidator to ensure fields get validated 2023-08-08 13:02:27 +12:00
Guy Sartorelli
c9f48089c9
FIX Ensure DataList::eagerLoad() returns a clone (#10899) 2023-08-04 12:04:20 +12:00
Guy Sartorelli
3628cec1f3
FIX Empty relations don't have extra DB calls with eager-loading (#10886) 2023-08-04 12:02:42 +12:00
Guy Sartorelli
0e74e355eb
Merge pull request #10894 from lekoala/patch-43
Ensure cache key only contains valid characters
2023-08-03 19:15:38 +12:00
Guy Sartorelli
ae49e134a9
NEW Use custom list for eagerloaded relations (#10869) 2023-08-03 15:33:13 +12:00
Guy Sartorelli
9e5411e905
Merge pull request #10885 from creative-commoners/pulls/4.13/search-in-non-existing-fields
FIX Image in summaryfields breaks search
2023-08-03 15:11:49 +12:00
Sabina Talipova
d24095aba8 FIX Image in summaryfields breaks search 2023-08-03 14:48:55 +12:00
Guy Sartorelli
b90d606427
Merge pull request #10834 from lekoala/patch-36
SessionAuthenticationHandler doesn't cache member query
2023-08-03 11:54:50 +12:00
Thomas Portelange
0e839e12cc
Update src/Core/Manifest/VersionProvider.php
Co-authored-by: Michal Kleiner <mk@011.nz>
2023-08-02 06:55:32 +02:00
Thomas Portelange
b9f63001c5
Update src/Core/Manifest/VersionProvider.php
Co-authored-by: Michal Kleiner <mk@011.nz>
2023-08-02 06:55:16 +02:00
Thomas Portelange
359cb1427a BUG include silverstripe core files into roots 2023-08-02 10:00:33 +12:00
Thomas Portelange
c0cc129f12
remove sprintf 2023-08-01 19:40:34 +02:00
Thomas Portelange
d3c2fa897c
nicer key 2023-08-01 14:27:00 +02:00
Steve Boyd
c58bc0a7ff FIX Use TransportFactory to prevent infinite config loop 2023-08-01 10:06:47 +12:00
Steve Boyd
d9f40a2e3c Merge branch '4' into 5.0 2023-07-31 11:56:28 +12:00
Steve Boyd
ae1c3bf0a0 Merge branch '4.13' into 5 2023-07-31 11:44:21 +12:00
Steve Boyd
7b21b38ac4 [CVE-2023-32302] Require password field to be non-empty 2023-07-31 11:14:22 +12:00
Thomas Portelange
909bee8101
fix cache key 2023-07-29 08:56:24 +02:00
Guy Sartorelli
158d51a0a5
Merge pull request #10861 from creative-commoners/pulls/5/no-placeholders
ENH Do not use placeholders for int ID filters
2023-07-25 14:54:07 +12:00
Steve Boyd
672396880d ENH Do not use placeholders for int ID filters 2023-07-25 14:31:39 +12:00
github-actions
4d8d5c04a5 Merge branch '5.0' into 5 2023-07-20 21:38:32 +00:00
github-actions
d8b69c36d9 Merge branch '4' into 5.0 2023-07-20 21:38:31 +00:00
Steve Boyd
a16b268ff7 MNT Tidy up double assignment 2023-07-20 18:19:14 +12:00
Guy Sartorelli
642321db61
FIX Trigger eagerloading for first() and last() (#10875) 2023-07-20 16:37:03 +12:00
Steve Boyd
7daa3fdb08 FIX Short-array syntax for Enum 2023-07-20 16:06:01 +12:00
Guy Sartorelli
3bf845a9e6
FIX Protect against loading incorrect eager-loaded relations.
Don't fetch eager-loaded has_many or many_many unless we've validated
that the relation IS actually a has_many or many_many relation.
Also clear eager-loaded relations when flushing the record.
2023-07-17 12:03:11 +12:00
Guy Sartorelli
95d1c674a2
FIX Allow multiple iterations of eager-loaded DataLists
Includes making sure toArray() uses the correct iteration logic,
and cloning resets the eagerloaded data for the new clone.

Previously, a second iteration would add every relation item to the
relation list a second time - so with each iteration your relation list
count doubled (though it was the same records time and again).
2023-07-17 12:03:11 +12:00
Guy Sartorelli
d0ca9cfdde
FIX many_many extraFields and join records weren't in eagerloading 2023-07-17 12:03:11 +12:00
Guy Sartorelli
82e96068d2
Merge branch '5.0' into 5 2023-07-10 14:30:07 +12:00
Guy Sartorelli
5854ce6190
Merge branch '4.13' into 5.0 2023-07-10 14:29:03 +12:00
Dylan Wagstaff
8c3ba81052
FIX PHP 8.1 support in MySQLiConnector::query errors (#10570)
* FIX PHP 8.1 support in MySQLiConnector::query errors

The default error reporting mode in PHP 8.1 has changed from using
errors reported on the connection handle to throwing
mysqli_sql_exception. query() makes no allowance for this, and
functions up the call stack expect to catch
Silverstripe\ORM\Connect\DatabaseException instead - resulting in the
MySQLi exception going all the way up to halt the system.

We can use a try, catch, and finally to retain backwards compatibility,
no matter which setting (e.g. PHP version default) someone has enabled.

* Move MySQLConnector test skip call into setUp()

As review feedback; marking the test as skipped in a private function
obfuscated where the call was happening and made it harder to skimread
the tests. Moving this into a setUp function makes it obvious the check
is run before each test case, and skipped if necessary.
2023-07-07 15:56:31 +12:00
Guy Sartorelli
62bd560d0e
Merge pull request #10819 from andrewandante/FEAT_add_only_individual_users_inherited_permission
NEW add OnlyTheseMembers Inherited Permission type
2023-07-07 09:37:59 +12:00
Andrew Paxley
a03d0fdf68 FIX ListboxField entwine submissions 2023-07-06 17:51:16 +12:00
Steve Boyd
730a03d3f6
Merge pull request #10855 from creative-commoners/pulls/5/fix-eagerloading-performance
FIX Resolve problems with eagerloading performance
2023-07-06 17:04:02 +12:00
Guy Sartorelli
7af0fe245c
FIX Resolve problems with eagerloading performance 2023-07-06 14:33:01 +12:00
Sabina Talipova
a57adfc778
MNT Deprecation notice if param has wrong type (#10853) 2023-07-05 17:21:30 +12:00
Guy Sartorelli
612f7e734f
FIX Allow repeated iterations of predicated query result (#10857) 2023-07-05 16:25:58 +12:00
Andrew Paxley
4b22ab4dfe API deprecate InheritedPermissions::getJoinTable 2023-07-05 16:22:17 +12:00
Andrew Paxley
34019426dd NEW add OnlyTheseMembers Inherited Permission type 2023-07-05 16:22:17 +12:00
Guy Sartorelli
85e503d012
ENH Refactor eagerloading fetch into separate methods
It is hard to work with the current structure - having each relation
type in its own method makes it way easier to see where my concerns
start and end with a given relation.

This also reduces the chance of variable bleed-over, where the value in
a variable in the first loop (in the same or other relation type) could
bleed into the next iteration of the loop.
2023-07-05 12:48:58 +12:00
Guy Sartorelli
66f2df2571
Merge pull request #10842 from andrewandante/ENH_add_listboxfield_react_component_schema
NEW ListboxField react field schema
2023-07-05 10:17:54 +12:00
Thomas Portelange
6fa71bbf51
ENH avoid multiple calls to records->count() In PermissionCheckboxSetField (#10839)
these calls are not cached and lead to duplicate queries

Co-authored-by: Michal Kleiner <mk@011.nz>
2023-07-04 13:34:12 +12:00
Andrew Paxley
e1d10a0b4c NEW ListboxField react field schema 2023-07-04 11:28:01 +12:00
Thomas Portelange
a019b34fac
csfix 2023-06-28 10:56:22 +02:00
Thomas Portelange
a969180433
add anonymize 2023-06-28 10:25:19 +02:00
Guy Sartorelli
60ca35c02d
Merge pull request #10841 from creative-commoners/pulls/5/optimise-get-schema
ENH Cache DataObject::getSchema()
2023-06-28 15:08:53 +12:00
Steve Boyd
46d7930489 ENH Cache DataObject::getSchema() 2023-06-28 11:11:43 +12:00
Steve Boyd
ed07303703 ENH Cache $item->ID for eager loading 2023-06-27 19:46:29 +12:00
Sabina Talipova
bb5378e177
FIX Gridfiled pagination missing after search (#10828) 2023-06-26 12:11:33 +12:00
Thomas Portelange
9391e696bb
use Member::class 2023-06-23 09:35:34 +02:00
Thomas Portelange
2e73b5eeca
Use cached query
Fixes https://github.com/silverstripe/silverstripe-framework/issues/10833
2023-06-22 11:04:26 +02:00
Guy Sartorelli
0c40cc9b3d
Merge branch '5.0' into 5 2023-06-22 11:19:59 +12:00
Guy Sartorelli
fb7d2256f1
Merge branch '4.13' into 5.0 2023-06-22 11:18:46 +12:00
Sabina Talipova
ad9df97626 FIX LastPage method returns true if TotalPages equals 0 2023-06-22 10:50:41 +12:00
Steve Boyd
e9358c88af DOC Update eagerLoad() docblock 2023-06-21 14:12:55 +12:00
Guy Sartorelli
d27bf3d85c
Merge pull request #10798 from beerbohmdo/fix/empty-template-arguments
FIX Passing 0 as first method argument breaks template
2023-06-15 11:04:08 +12:00
Steve Boyd
9a279f654d Merge branch '5.0' into 5 2023-06-14 16:09:58 +12:00
Steve Boyd
cfda51a48e Merge branch '4' into 5.0 2023-06-14 16:09:34 +12:00
josephlewisnz
b6a3e3a951
added an additional filter to remove empty array items (#10803)
* ENH Added filter to remove empty/null from Path::join parts

This is to ensure null values are removed and trim() deprecated warnings are not thrown
Fixes #10802

* FIX revert public signature

Co-authored-by: Steve Boyd <emteknetnz@gmail.com>

---------

Co-authored-by: Steve Boyd <emteknetnz@gmail.com>
2023-06-14 15:46:23 +12:00
Guy Sartorelli
6fd7694cbc
Merge pull request #10816 from creative-commoners/pulls/4.13/updatebool
FIX Show correct default value
2023-06-14 13:32:09 +12:00
Steve Boyd
35a8d79f62 FIX Show correct default value 2023-06-14 11:25:34 +12:00
Steve Boyd
dbefcef440 Merge branch '5.0' into 5 2023-06-14 11:10:44 +12:00
Steve Boyd
f4e0c768bd FIX Handle __TRAIT__ in i18nTextCollector 2023-06-13 10:11:12 +12:00
Steve Boyd
8cee451d41 Merge branch '5.0' into 5 2023-06-12 14:08:03 +12:00
Steve Boyd
cf77f06544 Merge branch '4' into 5.0 2023-06-12 14:07:24 +12:00
Sabina Talipova
f88b7c3c2b
FIX Duplicate page keeps original pages canView and canEdit permission (#10806) 2023-06-12 13:29:06 +12:00
dominik
face94371e FIX Passing 0 as first argument breaks template
Replace !empty with explicit string test
Added test for falseish first parameter arguments
2023-06-09 08:55:20 +02:00
Nicolaas / Sunny Side Up
675ba90280
FIX fix issue where member without valid email can not be saved
It is possible to have a member record without a valid email address. In this case, you can not save Member as it throws an error (email is tried being sent without a valid email address).
2023-06-09 15:29:54 +12:00
Bram de Leeuw
33c62033fe
Fix translation key for DataObject.GENERALSEARCH (#10805)
* MNT Use gha-dispatch-ci

* Update DataObject.php

Fix typo in GENERALSEARCH localisation

* Update en.yml

remove unnecessary localisation line

* Update nl.yml

remove unnecessary localisation line

* Update eo.yml

remove unnecessary localisation line

* Update ci.yml
2023-06-09 13:44:00 +12:00
Sabina Talipova
02aa80ffd2
Merge pull request #10783 from creative-commoners/pulls/5/eager-load
NEW ORM eager loading
2023-06-09 09:52:28 +12:00
kevingroeger
30cd4047df
Adjust isEnabled method (#10801)
* Adjust isEnabled method to use config values if present, adjust dev.yml to have a default_enabled key, add is_enabled as a private property for deprecation in cms 6

* remove default_enabled flag again, adjust comments as suggested, remove method signature from isEnabled, fix typo, adjust logic and add fallback value for isEnabled as true

* adjust isEnabled method, change static:: to ->enabled as the property is not actually static

---------

Co-authored-by: Kevin Gröger <k.groeger@headtrip.eu>
2023-06-08 12:22:14 +12:00
Steve Boyd
95eceb8d9e FIX Ensure dir exists before scanning it 2023-06-07 17:35:13 +12:00
Steve Boyd
246735101a NEW ORM eager loading 2023-06-07 14:59:02 +12:00
Steve Boyd
e1ffa18db6 Merge branch '5.0' into 5 2023-05-31 14:26:21 +12:00
Bernard Hamlin
e98f0d45af
Use ::create instead of new in GridFieldDetailForm_ItemRequest (#10791)
Updates instances of `new X` to `X::create` so that Silverstripe classes will respect dependency injection
2023-05-25 11:42:43 +12:00
Steve Boyd
f54bbc50f0 Merge branch '5.0' into 5 2023-05-22 12:46:02 +12:00
Steve Boyd
8237c73b86 Merge branch '4' into 5.0 2023-05-22 12:45:29 +12:00
Guy Sartorelli
c4b8d9a246
FIX Add back missing SSL support for database connections (#10784) 2023-05-22 12:40:59 +12:00
Michal Kleiner
f815a9cf2a
FIX Provide correct replacement suggestion in deprecation message 2023-05-21 20:12:52 +12:00
Steve Boyd
696fe79dd6 FIX Use OR conjuctive in filterAny aggregate queries 2023-05-17 11:55:56 +12:00
Guy Sartorelli
1f45607977
Merge branch '4' into 5.0 2023-05-17 10:57:32 +12:00
Guy Sartorelli
58813d5075
Merge pull request #10776 from creative-commoners/pulls/5.0/acpu-memcached-factories
FIX Get ApcuCacheFactory and MemcachedCacheFactory working again
2023-05-17 10:53:26 +12:00
Guy Sartorelli
2afb01463b
FIX Don't redirect admin URLs regardless of trailing slash (#10781) 2023-05-17 10:49:34 +12:00
Steve Boyd
ef3b91417a FIX Get ApcuCacheFactory and MemcachedCacheFactory working again 2023-05-17 10:18:28 +12:00
Mohamed Alsharaf
b51bc427aa API Remove deprecated template vars 2023-05-16 15:04:42 +12:00
Sabina Talipova
0ab36f6ae1 UPD Add support new TinyMC cs_CZ.js 2023-05-16 11:56:05 +12:00
Guy Sartorelli
234e229098
Merge pull request #9976 from kinglozzer/9975-default-form-action
FIX: Form::defaultAction() didn't work if actions were in CompositeFields (fixes #9975)
2023-05-09 21:45:24 +12:00
Florian Thoma
04266f77cc Update i18nTextCollector to collect strings also from themes 2023-05-09 11:56:12 +10:00
Guy Sartorelli
01808a8316
FIX Don't assume searchableFields() exists in gridfield filter 2023-05-09 10:00:07 +12:00
Guy Sartorelli
66f0fc4814
Merge pull request #10688 from xini/fix-i18ntextcollector-orm-4
ENH Add loading of ORM field labels to i18nTextCollector
2023-05-08 15:49:44 +12:00
Guy Sartorelli
37937b7123
Merge pull request #10751 from xini/patch-7
make Group use tri-state can* extension hooks, fixes #9580
2023-05-08 11:22:35 +12:00
Guy Sartorelli
1c2e1f86a5
Merge pull request #10763 from sunnysideup/patch-25
MINOR: faster checking if record exists
2023-05-05 13:12:06 +12:00
Steve Boyd
0978a43871 Merge branch '5.0' into 5 2023-05-04 13:25:49 +12:00
Guy Sartorelli
6296c06f3a
Merge pull request #10735 from elliot-sawyer/feature/change-search-filter-treedropdownfield
NEW: Allow different search filters on TreeDropdownField
2023-05-02 08:30:51 +12:00
Nicolaas / Sunny Side Up
9660652fbc
MINOR: faster checking if record exists
Rather than using a loop through each object, we just filter for it in the SQL query.  This is likely to speed up the code and also make it more legible.
2023-04-28 09:40:12 +12:00
Guy Sartorelli
7efde6bf37
Merge branch '4' into 5.0 2023-04-27 14:43:38 +12:00
Guy Sartorelli
73ef035bd8
API Add AbsoluteLink method to RequestHandler (#10749)
This is a method that is commonly implemented on controllers, but
it really doesn't need to be.
2023-04-26 18:25:01 +12:00
Guy Sartorelli
908b6f2006
Merge branch '4.12' into 4.13 2023-04-26 11:44:54 +12:00
Sabina Talipova
c2733a3108
Merge pull request #10760 from creative-commoners/pulls/4.12/absoluteurl-parsing
Escaped double slash is absolute URL
2023-04-26 11:30:41 +12:00
Guy Sartorelli
1a5bb4cbec
[CVE-2023-22729] Escaped double slash is absolute URL 2023-04-26 09:49:59 +12:00
Guy Sartorelli
fd5d8217e8
[CVE-2023-22728] Check canView before printing from GridField 2023-04-26 09:45:34 +12:00
Guy Sartorelli
bdcb57ec2b
NEW Add a cascading theme version of $resourceURL 2023-04-12 17:29:59 +12:00
Florian Thoma
c0722308af add loading of automatic ORM field labels to i18nTextCollector 2023-04-12 11:11:26 +10:00
Florian Thoma
41c4b4ee02 make Group use tri-state can* extension hooks, fixes #9580 2023-04-11 10:18:21 +10:00
Steve Boyd
3d03a93b8f Merge branch '4.12' into 4.13 2023-04-11 10:55:17 +12:00
Dylan Wagstaff
92061a3ba6
FIX stabilise typed APIs (#10740)
Since 4.12 the use of typehints and return types has caused issues with
values fetched directly from config without validation. This has lead to
upgrade woes in a minor version (#10721) with no immediate recourse
other than manual system intervention.

To use types, we should ensure types, leaving a stable API that won't
error on a bad value - or should give a thoughtful and directive error
message if so.

Issue #10721 summary:
SessionMiddleware runs before FlushMiddleware
SessionMiddleware causes a PHP fatal error passing `null` to a `string`
parameter.
`null` comes from config, because default string value doesn't exist. We
need flush for this - but system execution never makes it that far.
2023-04-11 10:52:41 +12:00
Florian Thoma
cd946b6c80
Group visibility for SITETREE_GRANT_ACCESS permissions
Make groups visible if member has SITETREE_GRANT_ACCESS permissions, otherwise the dropdown for selecting the group is empty
2023-04-05 16:33:41 +10:00