Commit Graph

2601 Commits

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