Commit Graph

4425 Commits

Author SHA1 Message Date
Samuel Georges 321f7eaa1f Catch fatal errors after cycling page action
This is a complex issues where a "model not found" exception is getting thrown during the `pageAction` cycle, then getting suppressed by the fatal error handler:

try {
    // RelationController throws error here
}
catch (Exception $ex) {
    $this->controller->handleError($ex);
}

Fixes #4784
2019-12-29 15:40:28 +11:00
Samuel Georges e19f8b287d Db::getConfig has no second arg
Currently returns null via Arr::get(arr, key, default=null)
2019-12-29 11:46:01 +11:00
Samuel Georges 160ae441ff Shorten default string length
- Introduce varcharmax config item, this default eventually should be increased to 255, when MySQL 5.6 support is dropped
- Config item can be kept to retain legacy support
- Only apply to mysql driver, previously was impacting other drivers
- Source true config values, previously was sourcing hard coded "mysql" connection values
2019-12-29 11:43:27 +11:00
Samuell 90e9b2e2c6 Typo fix in SK translation (#4852)
Credit to @Samuell1
2019-12-27 12:23:15 -06:00
Samuel Georges 4fb897ff12 Fixes bug showing the entered password 2019-12-24 18:10:17 +11:00
Samuel Georges 2b45c3f322 Simplify wording to sound more DOS-era robotic 2019-12-24 17:43:25 +11:00
Ben Thomson a66310bd56
Allow changing of Backend user passwords through CLI. (#4836)
Adds an Artisan command "october:passwd" to change the password of a Backend User through CLI. This command may only be run through CLI - it will not work if called through a web handler.

Refs: #3521, #4835. Docs: 1f3bfc719e
2019-12-23 08:19:15 +08:00
Ayumi 0436165a90 Improve UX for checkboxlists on mobile (#4841)
Credit to @ayumi-cloud.
2019-12-22 13:39:22 -06:00
Samuel Georges 953061797d Remove hard coded widget name for lazy tabs (#4839)
- The widget alias may not always be form, so pass the handler name
- No need to spam non-lazy tabs with useless data tags
2019-12-22 16:39:45 +11:00
Marc Jauvin 3a49b5fa7a allow loading of lazy tabs for secondary tabs as well (#4839) 2019-12-22 15:24:42 +11:00
Samuel Georges adb303a53c Always sort plugins by key, then dependencies
This has been benchmarked and appears to have minimal impact on performance and solves unnecessary randomness and race conditions during the app's registration and boot cycle

Fixes #4826
2019-12-21 20:50:28 +11:00
Samuel Georges 21f8c5f272 Fixes styling issue when quick select is forced
Replaces #4827
2019-12-21 13:46:06 +11:00
Samuel Georges cbc620c3e8 Rollback for Build 462
This change should be revisited since it doesn't account for database-based templates which have no file path. Upon revisit, we might want to consider adding this logic in to the afterFetch() event with detection of file based mode, or even at the lower levels where the file is first extracted from the filesystem. TBA
2019-12-19 17:42:25 +11:00
Luke Towers a51215b9b3
Revert "Added additional robots meta fields to CMS pages (#4685)" (#4832)
This reverts commit 8303e0dbb2. Reverts #4685. Should be implemented as a plugin instead.
2019-12-18 13:51:50 -06:00
Nick Khaetsky 8303e0dbb2 Added additional robots meta fields to CMS pages (#4685)
Credit to @FlusherDock1
2019-12-18 10:16:36 -06:00
Dan Harrin 3fc7f6aa76 Refresh Relation Manager on Unlink and Delete (#4741)
Credit to @DanHarrin. Fixes #3470 and #4718. Replaces #3476.
2019-12-17 23:16:55 +08:00
Ben Thomson a53cc52752
Correctly display HTML entities in event log (#4566)
This changes the event log to use a partial for the log message which double-encodes the data. When using formatted view in the log viewer widget, the HTML entites are allowed by decoding back a step. When in raw view, the HTML entities are kept double-encoded.

Fixes #4558.
2019-12-17 22:43:44 +08:00
Ayumi 56eab50260 Documented session.http_only (#4743)
Credit to @ayumi-cloud
2019-12-14 11:14:23 -06:00
Samuel Georges 7902cfa58a Simplify security check
Logic in ComponentPartial was rolled back and moved to the Controller. Since there are issues with throwing exceptions inside the component partial lookup logic (exceptions are conditionally suppressed), it seems like it would be better to bubble up the security logic to the controller level as a simple base dir security check, which is no longer concerned about any suppression logic. This looks to have logic parity with the previous solution

Refs #4652
2019-12-14 12:37:44 +11:00
Tobias Kündig 80f870c313 Allow partial overrides in subfolders (#4652)
* Allow partial overrides in subfolders + security checker
2019-12-14 12:22:30 +11:00
Samuel Georges 6277f9b44c Event goes off not on 2019-12-13 21:56:39 +11:00
Samuel Georges 0a98afbff8 Remove GPU enablement
It is unsure why this was ever needed, but it appears to fix the overflow issues with the sortable plugin

Refs https://github.com/rainlab/pages-plugin/issues/384
Refs 11be3fede3
2019-12-13 21:44:37 +11:00
Samuel Georges ed2eec6afb Move placeholder upon mouse scroll
This is one step closer to fixing the sorting issues when a scrollbar is present. It still doesn't quite fix the issue, still need to find a way to get the container dimensions to update

Refs https://github.com/rainlab/pages-plugin/issues/384
Refs 1d91c221b0
2019-12-13 21:34:59 +11:00
Samuel Georges 22db1299ae Exception handling
$widget->secondaryTabs['fields'] may not always be present
2019-12-12 22:02:39 +11:00
Ben Thomson c17cb58aa1 More strict checking of addItem request for child repeaters (#4814)
Similarly named repeater fields being used in viewBag variables were being assigned aliases which succeeded the `strpos` check on line 407. This will more clearly look for a child repeater form and index.

Fixes #4808
2019-12-12 21:44:10 +11:00
Samuel Georges 5839b6869a Recompile assets 2019-12-10 20:41:19 +11:00
Philipp Lang d4d1874311 Allow setting customview path for relation list (#4680) 2019-12-10 20:21:56 +11:00
Blaž Oražem 8abed1794f Slovenian language added (#4796)
* Add Slovenian language
2019-12-10 20:17:42 +11:00
Robin Bonnes 9145955978 Adds the ability to override the column header label in import/export. (#4737)
Now we can use the `backend.list.overrideHeaderValue` event also in the import/export.
2019-12-10 20:06:10 +11:00
Samuel Georges 70e57120d0 ApplicationException -> SystemException
This appears to be a typoe. It doesn't make sense to ever log "user errors", only "system errors"

Fixes #4569
2019-12-10 19:59:49 +11:00
Samuel Georges 260e1f503f Rollback d31006ae1a 2019-12-10 03:12:12 +11:00
Marc Jauvin 864816f7f2 Make CMS object code editor read-only in safe mode (#4769)
Adds a dismissable message to the CMS object code editor indicating that the PHP code section of a CMS object cannot be edited when `cms.enableSafeMode` is `true` (or when debugging is disabled if `null`).

Credit to @mjauvin.
2019-12-09 21:05:50 +08:00
Samuel Georges 63729e401b Fixes typo in merge conflict 2019-12-09 20:58:16 +11:00
Tobias Kündig 4704f85096 Added lazy loading for backend form tabs (#4658)
* Added lazy loading for backend form tabs
2019-12-09 20:45:26 +11:00
Samuel Georges 1e449c82b6 Prevents erratic rendering issues
This occurs due to a race condition in the rendering where the scrollbars enable and disable over and over because of a slow height calculation. Giving any height number appears to close the loop by never letting the height resolve to 0

Refs #4632
2019-12-08 10:27:59 +11:00
Samuel Georges b22021db3b Minor continuity change
Let's save this for L6 upgrade. Although PHP 7 partially support this, we should revisit once the PHP version is bumped + better support for it
2019-12-07 11:37:06 +11:00
Tobias Kündig a4359c91e9 Explicitly pass focused item along as it is already known (#4807)
If the DataTable widget is loaded in a Popup, the .focus() call does not
seem to focus the target element correctly, which leads to the problem,
that the updateCellFromFocusedItem method fails to find the focused
item.
This commit passes the target item along since it is already known.
2019-12-07 11:33:06 +11:00
Larry Barker 2b05d01c6c Support additional file name and path characters in media manager (#4564)
* Support additional file name and path characters in media manager

When working with abstract file names that may contain additional characters, such as quotes or ampersands, the media manager would throw an error. This PR adds two additional characters to the character whitelist.

* Add unicode filename to tests
2019-12-05 19:44:04 +11:00
Philipp Fehr 9dc54baddd Fix race condition when clearing recordfinder value (#4802)
Credit to @TheFehr. Fixes #4800.
2019-12-04 10:14:19 -06:00
Luke Towers 5f8a5454ee Narrow the scope of when Lists orderBy conditions are reset.
Credit to @bennothommo & @daftspunk
Replaces: 9f8d8ec9fa. Refs: #4439
2019-12-04 02:36:51 -06:00
empower-josh 4ab464cede Add public methods to access Lists widget's sort direction & column (#4746)
Credit to @empower-josh.
2019-12-04 02:29:24 -06:00
Samuel Georges aa31667952 Make fake-infinity precise to 4 bytes 2019-12-04 18:30:32 +11:00
Samuel Georges ee4078ac44 Tweak chart markup to not depend on an external class
This fixes the rendering of the example markup. The line chart has no styles but just needs to know the display height
2019-12-04 08:25:44 +11:00
Samuel Georges 905e5fbb72 Fix for strict SQL languages (Pgsql)
When the value is null [id >= ''] an error is thrown, not being an integer, while [id >= null] will return nil results, curiously. Here we emulate infinity by using a large-ish number instead of null. In future if this becomes a problem we may need to resort to multiple condition definitions as a more verbose solution, for example:

- For when both are set (conditions: id >= ':min' and id <= ':max')
- For when min is set (conditionsMin: id >= ':min')
- For when max is set (conditionsMax: id >= ':max')
2019-12-02 17:27:43 +11:00
Ben Thomson 9f8d8ec9fa
Force ordering when list widget column is sorted
When ordering is applied externally, ie. by a relation config, the orderBy call in the List widget simply adds an additional field to the ordering clauses, which prevents lists in these scenarios from being re-ordered correctly. This changes the order clause so that the ordering is reset and only the specified column is ordered when the user sorts a column.

Developers can continue to use the `extendQuery` event to do specialised custom ordering if required.

Fixes #4439.
2019-12-02 09:27:25 +08:00
Ben Thomson 1283121069
Trigger "change" event when time picker is changed
This allows dependent fields (ie. dependsOn) to trigger correctly when a time field, or the time part of a datetime field, is changed.

Fixes #4268
2019-11-30 00:09:49 +08:00
Tobias Kündig 61129b48ec Only put sortOptions to the session if the List query succeeded 2019-11-29 08:26:37 +01:00
Luke Towers 7e98e199a4 Revert #4567, fixes #4648.
If including the asset extension is important, this can be done by listening to the `system.assets.beforeAddAsset(&$type, &$path, &$attributes)` event introduced in Build 460.
2019-11-28 10:32:34 -06:00
Ben Thomson 9b72c2d181
Number range filter improvements (#4789)
- Allow minimum or maximum to be unspecified, meaning you want everything up to maximum, or everything above minimum.
- Allow for zero values to work
- Tweak display of infinite values

Fixes #3982.
2019-11-28 22:23:28 +08:00
Samuel Georges 566f138eab Fixes touch events in sortable plugin
Refs #4791
Refs #4777
Refs #3755
2019-11-28 21:03:32 +11:00