Commit Graph

4725 Commits

Author SHA1 Message Date
Guy Sartorelli
c405ed6cf3
NEW Allow a single has_one to manage multiple reciprocal has_many (#11084) 2023-12-12 10:18:25 +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
Loz Calver
e28af9a5a7 FIX: UnsavedRelationList first/last to return null if list is empty (fixes #11083) 2023-12-04 11:32:08 +00:00
Guy Sartorelli
f81439521f
MNT Add sort order to unit test so it passes with mariadb 2023-11-28 20:54:38 +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
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
github-actions
92866d9326 Merge branch '5.1' into 5 2023-11-02 20:08:55 +00:00
github-actions
0ac8499ea3 Merge branch '4' into 5.1 2023-11-02 20:08:54 +00:00
Sabina Talipova
f393adf1fc MNT Fix incorrect expected value in HTMLEditorFieldTest 2023-11-03 08:48:43 +13:00
github-actions
cb520db8b7 Merge branch '5.1' into 5 2023-11-01 20:14:50 +00:00
github-actions
5125be5a30 Merge branch '4' into 5.1 2023-11-01 20:14:46 +00:00
Sabina Talipova
50aaf9a9d5 MNT Table header closed tag position 2023-11-02 08:51:21 +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
Guy Sartorelli
64e2b5e489
Merge pull request #10974 from creative-commoners/pulls/5/random-password
NEW Generate a random password if a blank password is entered
2023-10-20 12:10:15 +13:00
Steve Boyd
159112ca8b NEW Generate a random password if a blank password is entered 2023-10-20 11:37:25 +13:00
Guy Sartorelli
cbd358ab93
MNT Test that we can't filter/sort eagerloaded data by relation (#10978) 2023-10-18 09:36:41 +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
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
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
Rastislav Brandobur
7ae7e9ff47 added maxLength validation tests 2023-08-30 10:56:21 +02:00
Guy Sartorelli
b4463d9050
NEW Enable ArrayList and EagerLoadedList to use search filters (#10925) 2023-08-29 15:40:19 +12: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
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
Guy Sartorelli
5ee77b69f1
Merge pull request #10924 from kinglozzer/10689-typo-in-test-class-name
FIX: Typo in CheckboxSetFieldMultiEnumTest class name (closes #10689)
2023-08-23 11:11:14 +12: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
Loz Calver
57cb55d6ae FIX: Typo in CheckboxSetFieldMultiEnumTest class name (closes #10689) 2023-08-21 15:49:09 +01:00
Guy Sartorelli
c7cd26299a
Fix ArrayList canFilterBy to work with ArrayData (#10915) 2023-08-15 11:31:20 +12:00
Thomas Portelange
637859a1f4
Update tests/php/ORM/DBCompositeTest.php
Co-authored-by: Guy Sartorelli <36352093+GuySartorelli@users.noreply.github.com>
2023-08-14 09:26:33 +02:00
Thomas Portelange
0d4231abb8
comment test for ss4 2023-08-11 13:24:01 +02: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
e29be44373
MNT Don't change auto-increment for non mysql database in test (#10906) 2023-08-08 14:43:25 +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
3628cec1f3
FIX Empty relations don't have extra DB calls with eager-loading (#10886) 2023-08-04 12:02:42 +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
Thomas Portelange
359cb1427a BUG include silverstripe core files into roots 2023-08-02 10:00:33 +12: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
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
ed4c34b9d9
MNT Re-implement static test data for main eagerloading test 2023-07-17 12:03:11 +12:00
Guy Sartorelli
acad946b74
MNT Add missing tests for eagerloaded DataList interactions
Add tests for:
- filtered, limited, and sorted DataLists with eagerloaded relations
- iterating through the list multiple times
- eagerLoad method can be called anywhere in a query chain
- eager loaded relation lists can be correctly empty without throwing
  exceptions
- repeating relations to be eagerloaded in various permutations doesn't
  cause issues
- eagerloading doesn't negatively impact chunkedFetch functionality

squash
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
9bed2a3d98
MNT Refactor eagerloading tests into their own class 2023-07-17 12:03:09 +12:00
Steve Boyd
771844335b Merge branch '5.0' into 5 2023-07-17 11:52:07 +12:00
Steve Boyd
3aa6d590a1 MNT Fix unit test 2023-07-11 10:25:16 +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
612f7e734f
FIX Allow repeated iterations of predicated query result (#10857) 2023-07-05 16:25:58 +12:00
Andrew Paxley
34019426dd NEW add OnlyTheseMembers Inherited Permission type 2023-07-05 16:22:17 +12:00
Maxime Rainville
110c9135e0
MNT Tweak the Eagerload test to not worry about sort order (#10848)
* MNT Tweak the Eagerload test to not worry about sort order
* MNT Use array keys for EagerLoad test DataProvider
2023-07-03 16:32:03 +12: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
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
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
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
Guy Sartorelli
fd57f06755
Merge pull request #10804 from creative-commoners/pulls/5/unit-test-buildtask
MNT Add BuildTaskTest
2023-06-09 10:26:55 +12:00
Steve Boyd
ce01137e56 MNT Add BuildTaskTest 2023-06-08 12:32:47 +12:00
Steve Boyd
246735101a NEW ORM eager loading 2023-06-07 14:59:02 +12:00
Steve Boyd
f54bbc50f0 Merge branch '5.0' into 5 2023-05-22 12:46:02 +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
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
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
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
Florian Thoma
1dbb2bc5ba remove manually added config values in test 2023-04-12 14:11:08 +10:00
Florian Thoma
c0722308af add loading of automatic ORM field labels to i18nTextCollector 2023-04-12 11:11:26 +10:00
elliot sawyer
0d9724c708
Update tests/php/Forms/TreeDropdownFieldTest.php
Co-authored-by: Guy Sartorelli <36352093+GuySartorelli@users.noreply.github.com>
2023-04-11 10:43:47 +12:00
Guy Sartorelli
2c874a1e94
ENH Exclude a list of models for checking and repairs (#10746) 2023-04-04 14:22:00 +12:00
Steve Boyd
63c2460f72 Merge branch '4' into 5.0 2023-03-30 13:20:03 +13:00
elliot sawyer
280354df08 NEW: Allow different search filters on TreeDropdownField 2023-03-27 18:50:54 +13:00
Steve Boyd
0f40cc38ec FIX Respect searchable_fields 2023-03-23 10:57:03 +13:00
Steve Boyd
41bb35f3f3 FIX Reduce array method calls 2023-03-22 11:06:23 +13:00
Steve Boyd
b4f330d734 API Remove configurability of attributes 2023-03-21 16:38:05 +13:00
Steve Boyd
9f250cf772 MNT Remove references to PDO 2023-03-16 10:59:34 +13:00
Guy Sartorelli
046befc4ba
ENH Improve deprecation logging 2023-03-06 13:25:44 +13:00
Guy Sartorelli
128b327c6d
API Add method to check if env var is set 2023-03-06 11:49:22 +13:00
Steve Boyd
f6d8d27c89 Merge branch '4' into 5.0 2023-03-02 16:02:34 +13:00
Guy Sartorelli
e3a94b9d10
FIX Ensure getters and setters are respected (#10708) 2023-03-01 15:19:07 +13:00
Guy Sartorelli
652281507f
FIX Correctly identify deprecated API in withNoReplacement (#10706) 2023-02-27 15:25:27 +13:00
Guy Sartorelli
e962608918
Merge pull request #10569 from kinglozzer/formfield-validation-extensions
NEW: Add extension hook for field-specific validation
2023-02-23 09:47:40 +13:00
Loz Calver
0633f2ed0d Add kitchensink fields to formfield validation test 2023-02-22 16:09:35 +00:00
Steve Boyd
0075bf6e49 NEW Access dynamic data inside ViewableData 2023-02-22 09:40:27 +13:00
Loz Calver
97f7be502f NEW: Add extension hook for field-specific validation 2023-02-20 10:24:41 +00:00
Maxime Rainville
8c396eb1f6 MNT Remove bad PHPDoc comments on test 2023-02-17 18:53:42 +13:00
Maxime Rainville
7bc4c9dbc3 MNT Tweak some test to account for slightly different sorting logic in PostgreSQL 2023-02-17 18:47:20 +13:00
Guy Sartorelli
ab566b0a15
API Add new deprecation notices. (#10691)
These are removed in CMS 5.
2023-02-15 13:26:36 +13:00
Guy Sartorelli
7930fb87ae
MNT small indentation change 2023-02-08 16:20:25 +13:00
Guy Sartorelli
9a5ccdba51
ENH Protect against possible unexpected values 2023-02-08 16:18:13 +13:00
Guy Sartorelli
557421a245
MNT Fix linting issue 2023-02-08 16:18:00 +13:00
Guy Sartorelli
603723e8f3
API Rename Diff to HtmlDiff
This class doesn't diff anything other than HTML, really. For anything
else, SebastianBergmann\Diff\Differ should be used directly.
2023-02-08 14:59:34 +13:00