Commit Graph

265 Commits

Author SHA1 Message Date
Samuel Georges 35296c5b26 Adds getFieldName helper to FormWidgetBase
Refs https://github.com/octobercms/docs/pull/207
2016-11-24 08:59:07 +11:00
Samuel Georges 46c473e2f2 Fixes fetching multi tiered pivot relation values
Refs https://github.com/daftspunk/oc-crm-plugin/issues/3
Minor code clean on select.js
2016-11-08 07:02:31 +11:00
Samuel Georges 6173ff177b Typo in variable name 2016-11-02 08:58:07 +11:00
Samuel Georges 0aadcc6675 Merge paths and vars when calling widget handler
When an AJAX handler is called for a widget, the view paths and specified variables should be merged in to the controller. This sets the appropriate context:

1) Look at the widget first
2) Fall back to the controller

Fixes #2432
2016-11-02 08:50:15 +11:00
Samuel Georges bc165078de Removes redundant code
The form widget label and widgetDetails() method was intended for use by the Builder plugin, since it ended up using its own internal registration system, this is not used anywhere so is removed.

Refs https://github.com/octobercms/docs/issues/200
2016-11-01 08:15:03 +11:00
Samuel Georges 0b345ad592 Add 'readOnly' spec to form field
Same as disabled except data is still posted back
2016-09-27 16:50:52 +10:00
soulshockers e10c162667 Fixed calling dynamic methods for dynamically extended widgets. 2016-08-05 18:51:27 +03:00
Samuel Georges 78a4067564 Make logic more explicit
This tightens up the rules of 7baea87068
2016-07-23 15:50:48 +10:00
Samuel Georges 7baea87068 Allow AJAX handlers to pipe objects to Laravel
Treat non scalar, non array, non RedirectResponse, non null as a Laravel compatible response
This brings AJAX handlers in line with page cycles, which do the same thing if the response is not a string. However in AJAX we should treat any scalar as a "result", not just a string. For all else (where not null), let Laravel handle it as a custom response object -- could be a model for serialization, or anything compatible.
Importantly to note when a custom redirect is sent, October's workflow is completely wiped out, so any partial updates, redirects, etc. will not occur. This is a normal and fair expectation.
Fixes #1784
2016-07-23 11:57:15 +10:00
Samuel Georges e970d80443 Align AJAX logic: merge custom response last
This is to allow overriding the standard values
Refs #2209
2016-07-16 13:11:10 +10:00
Luke Towers b73811fefc Moves AJAX handler response handling
Fixes octobercms/october#2208
2016-07-13 09:51:18 -06:00
Samuel Georges bcff1d3ecd Widget classes are now extendable
Fixes #2078
Fixes #1586
2016-06-15 17:10:46 +10:00
Samuel Georges 171b14c6ab Nicer error message when no DB and backend access attempt
This is for flat-file sites that don't use a database. If debug mode is on, it will show an error page with advice to set up the database. If debug mode is off, it will simply show a 404 page. Previously it was a nasty exception/plain error page.
2016-06-05 07:16:11 +10:00
Samuel Georges e9be15cc15 Preferences -> Preference
Rename brandsetting config folder
2016-05-27 07:46:50 +10:00
Samuel Georges cdb35f5070 UserPreferences -> UserPreference
(Models should be singular)
2016-05-27 07:35:32 +10:00
Samuel Georges 6c081d9265 Combine editor preferences and backend preferences
Add backend timezone setting used for converting display dates
2016-04-23 05:31:05 +10:00
Samuel Georges 0504da41f2 Add hasFields methods
formHasOutsideFields, formHasPrimaryTabs + formHasSecondaryTabs
2016-04-23 05:13:08 +10:00
Samuel Georges 87a4de40de Address serialize/unserialize issues
This will require a cache clear for the combiner
Ref https://davidwalsh.name/php-serialize-unserialize-issues
2016-04-16 08:22:31 +10:00
Pásztor Gábor 9f3fcf27ed Update AssetsList 2016-03-30 18:17:18 +02:00
Samuel Georges a035acdc2c Tidy up some logic, restore firstRowTitles setting
Refs #1856
2016-03-26 14:10:05 +11:00
Jérémy Gaulin 2a60e34558 Import options to configure the CSV reader + patch to prevent unfriendly error to be thrown due to bad import source file encoding (on AJAX request) 2016-03-26 12:54:13 +11:00
Samuel Georges 0aef151d9a Add showSearch option to dropdown
This is a highly specific option, so we shouldn't add it to the FormField class itself
2016-03-25 18:21:58 +11:00
Samuel Georges 23f4d40ef2 Merge common functionality in to FormModelWidget 2016-03-25 18:01:58 +11:00
Samuel Georges 1241f584d0 Merge remote-tracking branch 'remotes/origin/stable' into ui 2016-03-01 07:02:07 +11:00
Samuel Georges 21f3ac93c1 Add support for HTML comments
Fixes #1808
2016-02-27 09:46:00 +11:00
alekseybobkov a943708b99 UI updates 2016-02-19 22:12:41 -08:00
Joshua Wilson 6f3d7a58f2 Phpdoc cleanup for System\Traits
removed in WidgetMaker trait

phpdoc cleanup of backend traits and classes

Minor fix for cases when file is not found
2016-02-13 14:06:50 +11:00
Samuel Georges 3cfc7b6a5d Move widget classes that are exclusive to their own space 2016-01-16 16:02:28 +11:00
Pásztor Gábor 31457bd2ee Cleanup 2016-01-15 10:20:57 +01:00
Samuel Georges 2213c6f28c Fix string comparison function
Flush stray output on view errors
2016-01-02 16:13:30 +11:00
Samuel Georges a186a60c43 Fixes the datepicker saving an empty value when disabled
Refs https://github.com/responsiv/campaign-plugin/issues/4
2015-12-09 08:19:53 +11:00
Samuel Georges 04e61adac3 Add official support for "nolink" columns - Fixes #1599
To make a row non-clickable, use the `clickable` option in the list column definition
2015-12-05 10:05:42 +11:00
Samuel Georges 33d39c8b34 Minor 2015-10-17 10:51:54 +11:00
Samuel Georges f446f8acd4 Merge pull request #1506 from tschallacka/FormFieldCatchForEmptyYaml
Fixed form field parsing to accept no config
2015-10-17 10:23:58 +11:00
Samuel Georges ef22ac934d DRY up code from #1504 2015-10-17 10:16:49 +11:00
tschallacka c4fffbd6f7 Fixed form field parsing to accept no config
If a programmer would define a yaml like

    fields:

        shortcut:

        country:

It would fail with message

    "array_key_exists() expects parameter 2 to be array, null given" on line 275 of ..\modules\backend\classes\FormField.php

The yaml parsing returns a null. This check intercepts that null value being passed to the function and turns it into a proper array.
2015-10-09 16:06:23 +02:00
flynsarmy 82c2787f39 Add support for default values in form widgets 2015-10-09 13:51:33 +10:00
Samuel Georges 1c8d021a35 Adds the ability to remove navigation items
Included tests
Refs #1413
2015-09-12 08:45:58 +10:00
Samuel Georges 2a6b58a3fe Merge pull request #1425 from Flynsarmy/getPublicActions
Add getPublicActions controller method
2015-09-08 12:48:44 +10:00
flynsarmy 98e1d0fe4d Add getPublicActions controller method 2015-09-07 14:17:09 +10:00
Samuel Georges 917cfd437f Make sure a tab is defined always - Refs #1397 2015-08-29 16:45:01 +10:00
Jérémy GAULIN 2872e80a14 Merge branch 'develop' of https://github.com/octobercms/october into fix-extending-plugin 2015-08-03 18:20:20 +02:00
Jérémy GAULIN f22a16d482 Fix NavigationManager error when extending a side menu by adding a new item.
The code and owner were not set in the value array.
2015-08-03 18:07:56 +02:00
Samuel Georges bb4c2da404 Revert change from #1315, fixes original issue, write tests 2015-07-28 18:52:12 +10:00
Samuel Georges 48b4a137fa Allow passing explicit content to hints 2015-07-25 09:34:47 +10:00
Samuel Georges d453f922dc Improve the hint API, add inset mode to loader 2015-07-25 09:23:34 +10:00
Samuel Georges fc490b18e9 Add actionUrl() helper to backend controller
Used for generating URLs to the current controller
2015-07-23 19:44:54 +10:00
Samuel Georges 846feb6a33 FileUpload now triggers dependsOn event
form.beforeRefresh event now uses dataholder pattern
Improve exception handling in ControllerBehavior
2015-07-18 08:50:31 +10:00
Samuel Georges 606892143b Added new security config option cms.enableCsrfProtection 2015-07-04 09:31:28 +10:00
Samuel Georges f9c921a797 Adds getAjaxHandler() API to controllers
Fixes bug where update process fails midway
2015-06-30 08:56:53 +10:00
Samuel Georges c9a9c6ea16 List columns now support specifying a default option used when the value would otherwise be null. 2015-06-27 10:39:07 +10:00
Samuel Georges d9dfa21372 Adds CSRF protection to the backend - Refs #105 2015-06-20 21:17:58 +10:00
Samuel Georges cd1d62d8d7 AJAX requests can only use the POST method 2015-06-20 20:18:58 +10:00
Samuel Georges 37e5b2328f Form text/password/number fields now support maxlength attribute - Fixes #1210 2015-06-20 12:00:37 +10:00
Samuel Georges e71025de09 Tidy up from #1219 2015-06-18 18:46:03 +10:00
flynsarmy 9a9a525180 Remove empty tabs when removing form fields 2015-06-18 14:44:43 +10:00
Samuel Georges 9ed73e0cba Updates for new symbolizePath API, requires latest rain lib code
Backend layouts can now be provided by plugins
2015-05-30 15:54:47 +10:00
Samuel Georges a1291c3716 Restyle Administrator pages 2015-05-21 22:55:08 +10:00
Samuel Georges cceae62812 Apply incremental default order values on side menu items
Refs #1079
2015-05-02 10:47:06 +10:00
Samuel Georges 7c205c7ceb Merge pull request #1079 from dshoreman/sortable-sidenavs
Add support for sorting sideMenu items
2015-05-02 10:28:55 +10:00
Samuel Georges 9173e3bb9a Merge branch 'develop' into media-manager 2015-04-23 18:09:18 +10:00
Dave Shoreman e6342dbd8a Add support for sorting sideMenu items
Up until now, only main menu items have supported the 'order' parameter
to set the sort order. This adds the same support to side menus, which
is especially useful when one plugin extends the side menu of another.

There is one downside: any existing plugins that use the side menu will
inevitably end up with their menu items appearing out of order, until
the author adds the 'order' parameter to their sideMenu array.
2015-04-22 22:16:06 +01:00
Samuel Georges 1a037bad04 Add the ability to include middleware in CMS / Backend controllers
Add init.php script to plugins
Fixes https://github.com/octobercms/library/issues/106
2015-04-21 20:07:34 +10:00
alekseybobkov c1740c479c Media Manager: implemented insert link, insert image, and crop and insert features. Minor fixes in October core and third-party JS plugins. 2015-04-11 18:55:02 -07:00
Samuel Georges 7e9e5adfb5 Merge pull request #1032 from keiosweb/fix_hhvm_relation_formfield_issue
fixes HHVM relation formfield
2015-04-01 19:02:08 +11:00
Samuel Georges c4027b8bc6 Added a defaultFrom option to form fields
Default context of manage and pivot forms is now create and update respectively, instead of the old value relation
2015-03-28 16:14:22 +11:00
Łukasz Biały e19759c9f9 fixes HHVM relation formfield (belongsToMany in particular) issue in which no data is pulled from relation 2015-03-27 23:03:38 +01:00
Samuel Georges a743d78658 List Column of type switch now has text-center CSS
List Column now have getName and getId accessors
2015-03-25 19:35:00 +11:00
Samuel Georges 0916c7a650 Fixes #1008 - typo in code 2015-03-18 05:41:39 +11:00
Samuel Georges 77d3ab8b67 Finish basic theme utilities: properties, import/export, duplicate, delete 2015-03-16 19:00:39 +11:00
Samuel Georges 9b8e1ce3c1 Improve theme list to allow editing properties 2015-03-14 18:09:54 +11:00
Samuel Georges e479ccbda6 Tab options can now specify 'defaultTab' 2015-03-14 17:06:03 +11:00
Samuel Georges c6bfd5d01c Move this logic to no longer depend on AR model 2015-03-10 09:34:59 +11:00
Samuel Georges 668457b4e6 Updated deprecated references
Str::evalHtmlId -> October\Rain\Html\Helper::nameToId
Str::evalHtmlArray -> October\Rain\Html\Helper::nameToArray
Str::stripHtml -> October\Rain\Html\Helper::strip
Str::limitHtml -> October\Rain\Html\Helper::limit
Str::cleanHtml -> October\Rain\Html\Helper::clean
2015-03-07 12:48:39 +11:00
Samuel Georges 8c41bc181e Model can now resolve this for us 2015-03-07 12:28:50 +11:00
Samuel Georges 8ca1f8b7a3 Discovered an undoc feature "data-input-preset-prefix-input"... added to API as "prefixInput" 2015-03-07 11:14:03 +11:00
Samuel Georges 69542c311c Form field "preset" options can be a string that just specifies the other field, defaults to url type 2015-03-07 11:02:16 +11:00
Samuel Georges f8c3eac9c6 Streamline data-input-preset in to FormField API 2015-03-07 10:45:22 +11:00
Samuel Georges 7e3cf98a75 Adds data-trigger-closest-parent to Trigger API
Test code:

<form id="form1">
    <input
        type="text" name="aa" value="aaa"
        data-trigger-action="show"
        data-trigger="input[name=bb]"
        data-trigger-condition="checked"
        data-trigger-closest-parent="form"
     />

    <input type="checkbox" name="bb" />
</form>

<form id="form2">
    <input
        type="text" name="aa" value="aaa"
        data-trigger-action="show"
        data-trigger="input[name=bb]"
        data-trigger-condition="checked"
        data-trigger-closest-parent="form"
     />

    <input type="checkbox" name="bb" />
</form>
2015-03-07 09:47:44 +11:00
Samuel Georges 507bfab768 !!! *BREAKING*: Form widget base class no longer takes a model as the 2nd argument, it should be passed as `model` in the configuration instead. 2015-03-06 20:37:05 +11:00
Samuel Georges f869b8cc94 Gives FormWidgets the ability to say: "No labels, please"
ping @keiosweb
2015-03-03 20:24:14 +11:00
Samuel Georges a3f3084924 Implement AjaxException 2015-03-03 18:41:09 +11:00
Samuel Georges 85c47c4e01 public -> protected $defaultAlias 2015-02-28 12:43:53 +11:00
Samuel Georges 932a40a025 Streamline the process of filling a widget with its config options 2015-02-28 12:12:22 +11:00
Samuel Georges 5784417862 Document widget accepted config
These definitions don't serve a function other than helping developers
2015-02-28 11:50:27 +11:00
Amanda Tresbach d50e9e743f Allow setting 'options' for a scope in filter config 2015-02-22 20:28:05 -03:00
Pásztor Gábor f8cb3900f0 Add validation rules for mail settings. 2015-02-21 19:55:37 +01:00
Samuel Georges c746ba5c2b Disabled property on form fields should work 2015-02-21 17:09:21 +11:00
Samuel Georges 6bf72386ee Can now prune event/request log records, add width definition to list columns 2015-02-21 13:49:32 +11:00
Samuel Georges 536a391754 Add basic trigger implementation to Form Field
Implement trigger on Mail Settings page
2015-02-18 18:12:20 +11:00
Samuel Georges 7145aac457 Prepare for CDN, config rename cms.plugins|themes|uploadsDir -> cms.plugins|themes|uploadsPath
Deprecate data-trigger-type on triggerapi
Fixes ref to Util class
2015-02-17 20:58:38 +11:00
Samuel Georges 7b52e07b65 Overhaul exceptions, rename triggerapi display -> show 2015-02-16 21:16:43 +11:00
Samuel Georges 6a2f64757b *** REMOVED ALL DEPRECATED CODE ** 2015-02-14 14:11:25 +11:00
Samuel Georges e50a220fae Fixes an issue where unix users get locked out of the backend 2015-02-12 21:02:47 +11:00
Samuel Georges 2b32fc4718 Minor touch ups 2015-02-12 08:37:24 +11:00
Samuel Georges 77d0d25f64 Merge pull request #934 from Flynsarmy/removeFormField
Add support for removing form fields
2015-02-12 08:32:03 +11:00
Samuel Georges 439f9a05c2 Merge pull request #941 from Flynsarmy/getAllConfig
Add support for getting all config
2015-02-11 20:53:07 +11:00
Samuel Georges 0a6e14f4d2 Popup control now supports several sizes via `data-size` attribute: giant, huge, large, small, tiny.
Fixes various bugs in RC version
2015-02-11 14:36:00 +11:00
Samuel Georges b4c49ca0fd Move backend helper to its own directory 2015-02-11 14:34:37 +11:00
Samuel Georges 9f34db8c56 Merge pull request #936 from Flynsarmy/setConfigRequiredFix
Incorrect requried argument default value
2015-02-10 17:51:50 +11:00