Commit Graph

4793 Commits

Author SHA1 Message Date
Guy Sartorelli
3b1d859baf
Merge pull request #11235 from creative-commoners/pulls/6/fieldlist-strongly-type
API Strongly type Fieldlist
2024-05-17 08:59:11 +12:00
Steve Boyd
7b847f8d7e API Strongly type Fieldlist 2024-05-16 18:16:08 +12:00
github-actions
c6aee6c5c7 Merge branch '5' into 6 2024-05-16 01:13:13 +00:00
github-actions
f60e1bc236 Merge branch '5.2' into 5 2024-05-16 01:13:12 +00:00
Guy Sartorelli
8afe1adc57
Merge pull request #11238 from creative-commoners/pulls/5/viewable-scalar
ENH Rendering scalars in ArrayList in templates
2024-05-15 17:33:13 +12:00
Steve Boyd
12a741feee ENH Rendering scalars in ArrayList in templates 2024-05-15 16:31:39 +12:00
Guy Sartorelli
50a0018363
FIX many_many through should allow subclasses (#11230)
```php
class HomePage extends Page
{
    private static $many_many = [
        'HeroImages' => [
            'through' => PageImageLink::class,
            'from' => 'Page',
            'to' => 'Image',
        ]
    ];

}
```

```php
class PageImageLink extends DataObject
{
    private static $has_one = [
        'Page' => SiteTree::class,
        'Image' => Image::class,
    ];
}

This fails because the linking object's relation class doesn't exactly match the owner. Sharing the linking objects across various entries in the ancestry should be a supported use case.

Co-authored-by: Aaron Carlino <unclecheese@leftandmain.com>
2024-05-13 14:15:37 +12:00
github-actions
3c8f8b99e7 Merge branch '5' into 6 2024-05-11 14:24:49 +00:00
github-actions
4429a4999d Merge branch '5.2' into 5 2024-05-11 14:24:47 +00:00
Dominik Beerbohm
0f6d210602
FIX Correctly eagerload polymorphic has_one relations (#11204) 2024-05-08 11:12:51 +12:00
Guy Sartorelli
a198c91628
FIX Don't throw exception for empty eagerloaded relation (#11220) 2024-05-06 18:06:54 +12:00
Guy Sartorelli
a92baeaf6f
FIX Allow double dots in path when not attempting directory traversal (#11219) 2024-05-06 13:15:26 +12:00
Steve Boyd
b8f0b8ca4f FIX Handle getting HasOneRelationFieldInterface passed as an array 2024-05-02 12:06:43 +12:00
github-actions
d37c871883 Merge branch '5' into 6 2024-04-20 14:23:55 +00:00
github-actions
19ea32ebfa Merge branch '5.2' into 5 2024-04-20 14:23:53 +00:00
Guy Sartorelli
dcc6863401
NEW Allow skipping validation on write (#11202) 2024-04-19 10:35:36 +12:00
Guy Sartorelli
a4adad60e9
FIX Don't skip sanitisation when no valid elements are defined 2024-04-18 14:28:02 +12:00
Guy Sartorelli
584968e80c
MNT Update tests to use a dataprovider
Also explicitly test both valid_elements and extended_valid_elements
2024-04-18 14:27:25 +12:00
Bernie Hamlin
99e965b5d7
FIX Use field editorconfig when sanitising content 2024-04-18 14:16:53 +12:00
Dominik Beerbohm
135f9c6d30
FIX Ensure eagerLoading don't load has_one twice (#11170) 2024-04-18 13:27:50 +12:00
Loz Calver
a53301f673 FIX: OutOfBoundsException when recipe-core isn't installed (fixes #11197) 2024-04-15 16:59:59 +01:00
github-actions
f63862df83 Merge branch '5.2' into 5 2024-03-19 23:26:26 +00:00
github-actions
90298002a4 Merge branch '5.1' into 5.2 2024-03-19 23:26:25 +00:00
Guy Sartorelli
e68af4de40
Merge branch '4' into 5.1 2024-03-20 12:15:22 +13:00
Guy Sartorelli
6ede0316bf
Revert "Use field editorconfig when sanitising content" (#11180)
This reverts commit e5eb98cc34.
2024-03-20 12:02:54 +13:00
Guy Sartorelli
25f61141cb
Enhancements required for linkfield migration (#11171)
* ENH Add lightweight test override for Environment::isCli()

* NEW Allow JOIN with SQL UPDATE.
2024-03-20 11:49:57 +13:00
Guy Sartorelli
dcd33319c7
Merge branch '5.1' into 5.2 2024-03-18 15:33:54 +13:00
github-actions
c25922fedb Merge branch '4' into 5.1 2024-03-16 14:24:08 +00:00
Thomas Portelange
fcf5e324dd FIX Handle non-breakable spaces
Fixes issue https://github.com/silverstripe/silverstripe-framework/issues/11162
2024-03-12 11:01:09 +13:00
Steve Boyd
a18fb1bcb7 MNT Ensure composer/semver installed or skip test 2024-03-04 12:52:17 +13:00
Guy Sartorelli
4f3282bf2a
Merge pull request #11157 from lekoala/patch-46
FIX use composer runtime api
2024-02-28 09:16:25 +13:00
Thomas Portelange
59177dd315
Delete tests/php/Core/Manifest/fixtures/VersionProviderTest directory 2024-02-27 10:42:25 +01:00
Thomas Portelange
a06ce0493a
use VersionParser instead of comparator 2024-02-26 11:44:11 +01:00
Thomas Portelange
80e197fe4f
make error message more readable 2024-02-26 10:21:23 +01:00
Thomas Portelange
a1d1e977c5
use composer/semver 2024-02-26 10:13:34 +01:00
Thomas Portelange
2b64e98afc
Update VersionProviderTest.php 2024-02-26 09:48:15 +01:00
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
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
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
github-actions
5f355fbb75 Merge branch '5.1' into 5 2024-02-13 20:47:47 +00:00
Guy Sartorelli
c493485281
MNT Remove unexpected coupling with admin for test (#11136) 2024-02-13 17:35:03 +13:00
Guy Sartorelli
5e53dbcdbc
NEW Add a trace comment for queries in dev mode (#11065) 2024-02-08 16:29:55 +13:00
github-actions
e696e70dc4 Merge branch '5.1' into 5 2024-02-03 14:24:00 +00:00
github-actions
4d96674752 Merge branch '4' into 5.1 2024-02-03 14:23:59 +00: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
00276373b7 MNT Fix unit test when running without silverstripe/admin installed 2024-01-31 15:02:44 +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
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
b979ce5896
MNT Fix test for required password fields in kitchen sink (#11111) 2024-01-19 13:27:32 +13: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
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
7073246a37
MNT Add tests for using GridField with arbitrary data
Note that the main tests are added as behat tests in the admin module
2023-12-18 14:20:33 +13:00
Guy Sartorelli
2cafba2bd5
MNT Add new behat function to allow deleting gridfield rows 2023-12-18 12:41:45 +13:00
Steve Boyd
23eca53dfb NEW SearchableDropdownField 2023-12-14 15:28:19 +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
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