Commit Graph

610 Commits

Author SHA1 Message Date
Chris Joe
82119888c1 Validation on server side for React forms (fixes #6205) 2016-10-28 16:13:29 +13:00
Damian Mooyman
7cd32b7d72
Remove unnecessary $schemaLink parameter 2016-10-21 11:11:18 +13:00
Ingo Schommer
1e478a5378 Consistently set 'id' in FormSchema
The URL to request the schema representation is the unique identifier.
We can't default to $request->getURL() since that's different for form submissions.

The schema.schema_url key is redundant, since the identifier is already contained on the top level 'id' key.
Keeping schema_url in a schema itself makes it less portable, particularly once we transition into
generic schemas which are not reliant on a particular record context (that's only contained in the schema_url)

This also fixes the issue of form schemas not refreshing after submit,
e.g. when form fields are added or removed.
2016-10-20 15:33:50 +13:00
Damian Mooyman
840f275235 API Created a generic FormFactory interface (#6178)
Created a generic DataObject FormFactory interface that can be substituted in place of getCMSFields. Different FormFactories can depend on different kinds of context, such as
'Record' or 'Controller' - it's the responsibility of the code calling the factory to interpret and
supply this context.

The expected use-case is that rather than overriding getCMSFields(), developers can
change CMS UIs by manipulating the FormFactory associated with the given DataObject.

This is an experimental UI and may change before 4.0 stable is released.
2016-10-20 12:42:24 +13:00
Damian Mooyman
27d35403e8 API Force formschema to be reloaded on form submission
BUG Fix missing action state
2016-10-07 13:26:57 +13:00
Damian Mooyman
11bbed4f76
API Move many methods from DataObject to DataObjectSchema 2016-10-06 19:57:24 +13:00
Christopher Joe
287809ec3b Refactored react FormFields to use react-bootstrap FormControl components
Addded Checkbox, CheckboxSet and Optionset (radio) fields
Refactored documentation
2016-10-05 10:25:21 +13:00
Ingo Schommer
9cb33ea5bf Fixed @covers namespaces 2016-09-27 07:46:17 +13:00
Sam Minnee
61d7c3af28 FIX: Fix tests when running directly from framework. 2016-09-17 15:40:32 +12:00
Ingo Schommer
8f23fa99a5 API Moved CMS-specific JavaScript to admin/thirdparty
The 'admin' module will be split off from 'framework',
where 'framework' only provides (mostly) frontend-agnostic PHP classes.
For example, HTMLEditorField.php has a TinyMCEConfig.php driver,
but doesn't come with its own JS includes.
2016-09-16 13:46:10 +12:00
Christopher Joe
ee5b4fd8d3 Tabs support in new file/image editor
Introducing <Tabs> component based on react-bootstrap
Better support for nested fields in FormBuilder
Tweaks to get FormBuilder working with frameworktest BasicFieldsPage fields
Added exception in FormBuilder when Component is defined but not found
Added check in SingleSelectField for empty value before adding one in
Added temporary workaround for CompositeFields with no name (another story to address the actual problem)
Added asset_preview_height for File image preview, matches the defined CSS max-height
Added documentation to DBFile::PreviewLink() method
2016-09-14 14:08:59 +12:00
Damian Mooyman
bfd9cb1aca Rename SS_ prefixed classes (#5974) 2016-09-09 18:43:05 +12:00
Damian Mooyman
8dd644d25d
API Namespace all classes
Namespace all templates
Move difflib and BBCodeParser2 to thirdparty
Remove deprecated API marked for removal in 4.0
2016-09-08 10:23:17 +12:00
Daniel Hensby
918fb94396
Merge branch '3' 2016-09-07 09:31:23 +01:00
Damian Mooyman
c9b6e9bac0
API Update template lookup to late resolution for performance reasons
API Update behaviour of form fields to use standard template lookup mechanism
API Support custom "type" parameter to template lookup
2016-09-06 12:54:03 +12:00
Damian Mooyman
fc353dc17a API Allow has_many fixtures to be declared with array format as well as many_many (#5944)
BUG Fix issue with parsing of extrafields in fixtures
BUG Fix issue in duplicate relation name, and ensure FixtureBlueprint fails on these
2016-09-05 16:58:36 +12:00
Daniel Hensby
f2ed59e185
FIX Empty dmyfields on DateField now validate as true 2016-09-01 11:55:17 +01:00
Christopher Joe
d7663e850e Remove duplicate props for PopoverField, added FormBuilder->handleAction and flattened state data 2016-08-28 13:07:30 +12:00
Daniel Hensby
1d1227cc9a
Merge branch '3' 2016-08-23 10:37:47 +01:00
Damian Mooyman
b0ba2015d9 [ss-2016-015] Fix value / title escaping in CheckboxSetField and OptionsetField 2016-08-15 15:53:21 +12:00
Paul Clarke
b9445511b7 Bootstrap GridField 2016-08-03 18:35:18 +12:00
Damian Mooyman
4ca3d1dc94 API Allow custom 'type' option for scripts
Fixes #5829
2016-08-02 18:49:13 +12:00
Damian Mooyman
9188628ae3 API Add $action parameter to Controller::Link 2016-08-02 10:27:55 +12:00
Damian Mooyman
6e74b57c36 BUG Fix issue with gulpfile.js not compiling client/src/legacy dir
BUG Make SelectionGroup.ss and SelectionGroup.js work together
BUG Fix for IE visual indentation of composite field
2016-07-28 16:32:40 +12:00
Damian Mooyman
20daf1f8e1
API Abstract ThemeManifest into ThemeList
BUG Fix Requirements not resolving $default theme
2016-07-21 12:11:25 +12:00
Loz Calver
0a7e4cf7c3
Merge branch '3' 2016-07-15 16:01:48 +01:00
Loz Calver
44d7919496
Merge branch '3.3' into 3.4 2016-07-15 14:34:18 +01:00
Loz Calver
b3fea3723f
FIX: Fixes support for "inline" form actions (fixes #2534) 2016-07-15 10:11:47 +01:00
Sam Minnée
5c98d331a3 Merge pull request #5804 from open-sausages/feature/themestack
API Theme stacking
2016-07-15 17:12:54 +12:00
Hamish Friedlander
b8b4e98ac2 API Theme stacking 2016-07-15 16:29:25 +12:00
Damian Mooyman
5cb4ab4a82 API Add PopoverField for extra-actions popup in react 2016-07-15 15:46:11 +12:00
Damian Mooyman
83c2af72ca BUG Fix some regressions from #5653 (#5806) 2016-07-14 14:43:53 +12:00
Damian Mooyman
6a7c1056fe BUG Fix shortcode parsing in HTMLEditorField::getanchors()
Fixes #5678
2016-07-13 17:15:45 +12:00
Damian Mooyman
5c9044a007 API Enforce default_cast for all field usages
API Introduce HTMLFragment as casting helper for HTMLText with shortcodes disabled
API Introduce DBField::CDATA for XML file value encoding
API RSSFeed now casts from the underlying model rather than by override
API Introduce CustomMethods::getExtraMethodConfig() to allow metadata to be queried
BUG Remove _call hack from VirtualPage
API Remove FormField::$dontEscape
API Introduce HTMLReadonlyField for non-editable readonly HTML
API FormField::Field() now returns string in many cases rather than DBField instance.
API Remove redundant *_val methods from ViewableData
API ViewableData::obj() no longer has a $forceReturnObject parameter as it always returns an object
BUG  Fix issue with ViewableData caching incorrect field values after being modified.
API Remove deprecated DB class methods
API Enforce plain text left/right formfield titles
2016-07-13 17:15:45 +12:00
Florian Thoma
9fc51dc527 add async and defer attributes to js requirements, replaces #4555 2016-07-08 14:31:39 +10:00
Damian Mooyman
af22a83166 API Apply Framework\Security namespace 2016-07-07 11:32:28 +12:00
Chris Joe
dfe375e87e Fix MemberDatetime helper description, and shifted them to templates (#5766)
* Fix MemberDatetime helper description, and shifted them to templates

* added descriptionTemplate for setting the description

* Unit test for description with templates
2016-07-06 09:16:27 +01:00
Hamish Friedlander
80d4af6b6e
API Apply Framework\ORM Namespace to model 2016-06-29 10:02:32 +12:00
Damian Mooyman
24bea79cd9 Merge pull request #5481 from mikenz/file-name-filter-test
Explictly set the FileNameFilter replacements before testing them
2016-06-28 17:03:19 +12:00
Damian Mooyman
bf00810e1f
BUG Fix buttonClicked() error
Fixes #3208
2016-06-08 12:26:11 +12:00
Simon Erkelens
20fac04637 RFC #5487 Remove Oembed in favor of embed/embed. (#5536) 2016-05-27 13:09:03 +12:00
Damian Mooyman
574bc6038b Merge 3 into master
# Conflicts:
#	CONTRIBUTING.md
#	admin/css/screen.css
#	admin/css/screen.css.map
#	admin/javascript/LeftAndMain.EditForm.js
#	admin/javascript/LeftAndMain.js
#	admin/scss/_forms.scss
#	dev/Debug.php
#	docs/en/05_Contributing/01_Code.md
#	forms/DropdownField.php
#	model/DataObject.php
#	model/Versioned.php
#	model/fieldtypes/DBLocale.php
#	tests/forms/gridfield/GridFieldExportButtonTest.yml
#	tests/model/MoneyTest.php
#	tests/model/MoneyTest.yml
#	tests/model/SQLQueryTest.php
2016-05-18 18:36:10 +12:00
Damian Mooyman
303f695751 Merge 3.3 into 3
# Conflicts:
#	admin/javascript/LeftAndMain.EditForm.js
2016-05-18 17:29:30 +12:00
Shawn Lin
2a856300c0 Fix bug, export button cannot export value '0' 2016-05-16 16:49:10 +12:00
Daniel Hensby
8ebdedf330 Merge pull request #5488 from robbieaverill/bugfix/4835-array-to-string
Fix for array to string conversion in DropdownField
2016-05-13 13:54:04 +01:00
Robbie Averill
7d7800e5e7 Fix for array to string conversion in DropdownField
* Resolves #4835
* Add unit test to cover array values
* Add value assertion
2016-05-13 10:11:42 +12:00
Damian Mooyman
4f06a43986 Merge 3.3 into 3
# Conflicts:
#	admin/javascript/lang/src/cs.js
#	admin/javascript/lang/src/de.js
#	admin/javascript/lang/src/en.js
#	admin/javascript/lang/src/eo.js
#	admin/javascript/lang/src/es.js
#	admin/javascript/lang/src/fi.js
#	admin/javascript/lang/src/fr.js
#	admin/javascript/lang/src/id.js
#	admin/javascript/lang/src/id_ID.js
#	admin/javascript/lang/src/it.js
#	admin/javascript/lang/src/ja.js
#	admin/javascript/lang/src/lt.js
#	admin/javascript/lang/src/mi.js
#	admin/javascript/lang/src/nb.js
#	admin/javascript/lang/src/nl.js
#	admin/javascript/lang/src/pl.js
#	admin/javascript/lang/src/ro.js
#	admin/javascript/lang/src/ru.js
#	admin/javascript/lang/src/sk.js
#	admin/javascript/lang/src/sl.js
#	admin/javascript/lang/src/sr.js
#	admin/javascript/lang/src/sr@latin.js
#	admin/javascript/lang/src/sr_RS.js
#	admin/javascript/lang/src/sr_RS@latin.js
#	admin/javascript/lang/src/sv.js
#	admin/javascript/lang/src/zh.js
#	javascript/lang/fr.js
#	javascript/lang/src/ar.js
#	javascript/lang/src/cs.js
#	javascript/lang/src/de.js
#	javascript/lang/src/en.js
#	javascript/lang/src/eo.js
#	javascript/lang/src/es.js
#	javascript/lang/src/fi.js
#	javascript/lang/src/fr.js
#	javascript/lang/src/id.js
#	javascript/lang/src/id_ID.js
#	javascript/lang/src/it.js
#	javascript/lang/src/ja.js
#	javascript/lang/src/lt.js
#	javascript/lang/src/mi.js
#	javascript/lang/src/nb.js
#	javascript/lang/src/nl.js
#	javascript/lang/src/pl.js
#	javascript/lang/src/ru.js
#	javascript/lang/src/sk.js
#	javascript/lang/src/sl.js
#	javascript/lang/src/sr.js
#	javascript/lang/src/sr@latin.js
#	javascript/lang/src/sr_RS.js
#	javascript/lang/src/sr_RS@latin.js
#	javascript/lang/src/sv.js
#	javascript/lang/src/zh.js
#	lang/it.yml
2016-05-11 14:06:23 +12:00
Cochrane, Mike
faffdf4981 Explictly set the FileNameFilter replacements before relying on them 2016-05-09 20:12:29 +12:00
Frank Mullenger
b4cd617ee3 FIX: Renaming to HTMLEditorConfig.
FIX: Renaming to HTMLEditorField*.

FIX: Renaming to HTMLEditorSanitiser*.
2016-05-06 14:16:34 +12:00
Damian Mooyman
4bc04e795a Excuse php7 errors due to regressions in 7.0.6 2016-05-04 16:33:40 +12:00