5640 Commits

Author SHA1 Message Date
Luke Towers
eeb71496d8 Add support for scrollPastEnd on the codeeditor FormWidget 2023-08-13 15:04:12 -06:00
Luke Towers
a394f3f8bf
Support limit property on list column relation value queries 2023-08-13 11:43:14 -06:00
Luke Towers
e8a1285ff3 Fix User Impersonation notice styles
The LESS files weren't included in 857d42101e for some reason.
2023-08-07 22:43:44 -06:00
Luke Towers
c95b425a02
Improve error reporting of invalid Twig extensions 2023-08-04 20:12:53 -06:00
Marc Jauvin
6d641af3be
Allow extending the default relationcontroller modal footers (#954) 2023-08-04 16:50:42 -06:00
Luke Towers
a43e97afec
Store MediaManager view preferences as a UserPreference
This persists the user's selection of sort method, sort direction, and view mode to their user preferences so that they retain their view preferences across sessions. The selections are keyed by the widget's alias, which effectively out of the box means that the main mediamanager instance and most if not all mediafinder popup widgets will have separate settings for this.

Implemented from user feedback complaining about the minor annoyance having to switch to sorting by the Last Modified Desc every time they opened the media manager.
2023-08-04 00:12:55 -06:00
Ben Thomson
6cec80d950
Recompile Snowboard 2023-08-02 16:17:34 +08:00
Ben Thomson
d792becc1d
Allow request to disable stripe loader
Set the "stripe" option to false in the request options.
2023-08-02 16:17:05 +08:00
Ben Thomson
43594b4103
Defensive programming tweaks for some Snowboard extras
Fixes some intermittent errors with certain requests - mainly JS-driven requests that have no element attached.
2023-08-02 16:16:30 +08:00
Ben Thomson
02f16acf16
Resolve promise if "beforeUpdate" event is cancelled
This provides a way to cancel the updating of partials, but still allow the rest of the request lifecycle to proceed.
2023-08-02 16:15:37 +08:00
Luke Towers
0db059db56
Fix allowed types for Repeater Form configuration
System\Traits\ConfigMaker() is used to process the input provided to this property.
2023-07-30 13:35:20 -06:00
Marc Jauvin
a32b6b7cae
Use localization strings for dropdown-like field options. (#910)
Documented by https://github.com/wintercms/docs/pull/133
2023-07-27 11:21:24 -06:00
Romain 'Maz' BILLOIR
71479dd51d
Put mail template style tags in the head (#951) 2023-07-26 11:17:02 -06:00
Marc Jauvin
646621cee8
Apply filterFields before saving the form (#927) 2023-07-25 15:04:43 -06:00
Ben Thomson
529ded7cb6
Fix URL regex for detecting absolute URLs in Snowboard URL utility
The previous iteration broke if someone was using a single domain (ie. "localhost")
2023-07-24 10:17:45 +08:00
Luke Towers
725306c7ef Use the new Url().asset() helper for loading snowboard extras styling 2023-07-18 15:13:08 -04:00
Luke Towers
4566d8a15c Typo fix and recompile snowboard assets 2023-07-18 14:53:58 -04:00
Luke Towers
49f69e706a Merge branch 'develop' of github.com:wintercms/winter into develop 2023-07-18 14:21:39 -04:00
Luke Towers
1890091565 Added support for Asset URLs in Snowboard
- Added url().asset() method to the Url Snowboard plugin
- Switched the AssetLoader Snowboard plugin to use url().asset()
2023-07-18 14:21:26 -04:00
Ben Thomson
7ad522fc89
Add support for "grid" repeater (#926)
By setting "mode" to "grid" in the repeater config, the repeater will be formatted as a grid and will add items horizontally, crossing to a new row when the "columns" amount is met.

Docs: https://github.com/wintercms/docs/pull/134
Refs: https://github.com/wintercms/wn-blocks-plugin/pull/17
2023-07-17 20:02:09 +08:00
Luke Towers
7eba7e7b0a Fix type conflict 2023-07-14 20:24:20 -06:00
Luke Towers
cd2d769402 Code tidying for console commands
Also switches theme:list, plugin:list, and mix:list to output nicely formatted tables.
2023-07-14 16:41:48 -06:00
Luke Towers
5b297aeb28 Use new hasDatabaseTable() helpers 2023-07-14 15:31:21 -06:00
Luke Towers
433d1bc7a0 Code tidying 2023-07-14 14:54:54 -06:00
Luke Towers
71fcf8eef9 Limit plugins loaded for CLI requests when database is configured but not initialized yet
Related: octobercms/october#3208. This issue surfaces when deployment tools attempt to run various commands not already protected (i.e. vapor:health-check) before running any migrations, which causes issues if plugins attempt to access the database during their registration or booting process.

In theory we could also apply this logic to HTTP requests, however it is generally easier to see and handle the reported exception of the table being missing in an HTTP context, so it's acceptable to limit this protection to the CLI.

As a reminder, plugins making use of the $elevated permissions are responsible for defensive measures to reliably operate in potentially unstable states of the application.
2023-07-14 14:51:00 -06:00
Luke Towers
4441fcfbd0 Minor code tidying 2023-07-14 14:45:41 -06:00
Luke Towers
8c0d2f4900 Fix exception when accessing a SettingsModel before the table exists
Related: octobercms/october#3208. This solves an issue when attempting to access any SettingsModel before initial migrations have been run but the database exists (which is all App::hasDatabase() looks for).
2023-07-14 14:45:01 -06:00
Ben Thomson
9df99dc74a Add GH action for manifest update 2023-07-11 09:31:34 +08:00
Luke Towers
57a9807cbd
Fix typo
Fixes wrong class removed in 589ea8523d
2023-07-07 14:14:54 -06:00
Luke Towers
589ea8523d
Remove background styles from recordfinder Clear button
See also af5f4c1d70
2023-07-07 14:14:19 -06:00
der_On
af5f4c1d70
Make Clear button in the recordfinder visible (#937)
Credit to @der-On
2023-07-07 14:13:19 -06:00
Luke Towers
fa50b4c748 Add support for uploading SVGs 2023-07-07 11:54:38 -06:00
Luke Towers
4f80b2bc6f
Make cms.beforeRoute a halting event
This change allows developers to prevent the CMS route from being registered.

An example use case for this is loading the CMS content under a set path prefix by re-registering the CMS route with the appropriate prefix in place. Preventing the registration of the default CMS route is required in order to override the mapping of the controller action to URL (and thus have the Cms::url() helper generate the correct URLs in this example). 

Example:
```php
Route::any('docs/{slug?}', 'Cms\Classes\CmsController@run')->where('slug', '(.*)?')->middleware('web');

Event::listen('cms.beforeRoute', function () {
    $path = Request::path();
    // Disable the CMS routes so that the docs/ route can take over for URL generation
    if (Str::startsWith($path, 'docs')) {
        return false;
    }
});
```
2023-07-06 20:46:40 -06:00
Luke Towers
0c4d27f4e6
Use a per-theme cache key for caching Theme asset URLs 2023-07-06 18:48:17 -06:00
Luke Towers
496a3e485a Finish implementing the create:migration command 2023-07-03 22:26:38 -06:00
Luke Towers
b7af5d300e Add support for getPlugin() helper on scaffolding commands implementing the HasPluginArgument trait 2023-07-03 22:25:57 -06:00
Luke Towers
643463943c Reuse getPluginVersions() in getPluginVersion() 2023-07-03 22:25:24 -06:00
Luke Towers
b6f147d16a Add support for --uninspiring flag on code generation commands 2023-07-03 22:24:50 -06:00
Luke Towers
f42b93de1d reorder imports 2023-07-03 20:17:46 -06:00
Luke Towers
40bfc57c3a Remove unnecessary imports 2023-07-03 20:16:45 -06:00
Luke Towers
e621f5938a Add getPluginVersions() to PluginBase 2023-07-03 20:15:52 -06:00
Luke Towers
d7afbf9414 Recompile mediamanager JS 2023-06-24 17:27:17 -04:00
Marc Jauvin
de9d22fded close parenthesis in log entry 2023-06-13 23:33:25 -04:00
Marc Jauvin
9632e62920
Avoid logging error erroneously (#923)
Fixes #922
2023-06-13 15:58:27 -06:00
Marc Jauvin
428d2bcad8
Add inputmode attribute to datepicker formwidget (#891)
Co-authored-by: Ben Thomson <git@alfreido.com>
Co-authored-by: Luke Towers <luke@luketowers.ca>
2023-06-11 19:55:38 +08:00
Ben Thomson
0cb5585b4d
Show migration messages even if an exception is thrown (#903)
Fixes #510
2023-06-11 19:54:09 +08:00
Alex Oroshchuk
71705de716
Fix race condition with maxItem limit check after adding a new repeater item (#919)
Introduce a delay to give the widget enough time to show the just added item before maxItem limit check is run.

Co-authored-by: Alexandr Orosciuc <alexandr.orosciuc@isoftbet.com>
Co-authored-by: Ben Thomson <git@alfreido.com>
2023-06-11 19:47:22 +08:00
Ben Thomson
02cbd8654a
Fix case sensitivity issue with determining "upload_max_filesize" size
Fixes https://github.com/wintercms/winter/issues/788
2023-06-11 19:43:09 +08:00
Luke Towers
ad427a621a Improve typehinting 2023-06-07 09:29:39 -06:00
Luke Towers
a3d01188fa Exclude ignored Mix packages from MixAssets->getPackages() 2023-06-07 09:29:27 -06:00