Commit Graph

2732 Commits

Author SHA1 Message Date
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