Commit Graph

2094 Commits

Author SHA1 Message Date
Ingo Schommer
14c59be85e API Form::setStrictFormMethodCheck() and strict argument to setFormMethod()
Thanks to @sminnee for getting this started
2013-05-08 10:25:13 +02:00
Simon Welsh
8930304dfc Only set GridField state in request if a value is submitted 2013-05-07 08:15:27 +12:00
a2nt
423c737502 FIX media dialog add url button fix
Use HtmlEditorField.BUTTONADDURL for localization
2013-05-04 03:34:02 +07:00
Ingo Schommer
5ca9db5e5e Limit HtmlEditorField HTMLText casting note to existing fields
This prevents it from failing for proxied values
like BlogEntryForm, where the field name doesn't exist,
and rather gets processed and saved into a different field.
2013-04-29 09:32:05 +02:00
Will Rossiter
a6b0807b9f Merge pull request #1800 from willmorgan/patch-1
Define ConfirmedPassword::$children as a public variable
2013-04-24 16:18:44 -07:00
Will Morgan
9732a7fb3b Fixing typo on Validator exception message 2013-04-24 18:50:40 +02:00
Will Morgan
676aa8de05 Defining $children as a public variable
Defining $children as a public variable (it was previously defined on-the-fly)
2013-04-24 16:25:13 +02:00
Ingo Schommer
7f6671628d "UploadFieldFileButtons" casting (regression from casting changes)
Caused the UploadField rows to show "[Object object]" because
it tried to pass through a PHP object to JS without string casting
(the return used to be a string).
2013-04-18 17:09:56 +02:00
uniun
4d70daa9e2 BUG: HiddenFields and VisibleFields should always return extraFields
HiddenFields() and VisibleFields() should always return extraFields, e.g. HiddenFields doesn't return SecurityID if it is called before Fields().
2013-04-17 20:31:17 +02:00
Sean Harvey
2a65f17542 Merge pull request #1757 from tractorcow/3.1-phone-field-fix
BUG Fixed incorrect variable usage in generation of PhoneNumberField form fields
2013-04-14 14:01:09 -07:00
chiujl
cb463449e8 DatetimeField returns wrong year
This is related to how Zend_Date returns year for YYYY & yyyy format. Detailed explanation is here http://framework.zend.com/issues/browse/ZF-5297

Sample code (adapted the Datetimefield setValue() method) to highlight the problem:

include 'framework/thirdparty/Zend/Date.php';

$userValueObj = new Zend_Date(null, null, 'en_US');
$userValueObj->setTimezone('GMT');
$userValueObj->setDate('2012-01-01', 'YYYY-MM-dd');
$userValueObj->setTime('00:00:00', 'HH:mm:ss');
echo $userValueObj->get('YYYY-MM-dd HH:mm:ss', 'en_US'), "\n"; // returns 2011-01-01 00:00:00
echo $userValueObj->get('yyyy-MM-dd HH:mm:ss', 'en_US'), "\n"; // returns 2012-01-01 00:00:00
2013-04-13 06:26:52 +08:00
Damian Mooyman
0dfc6d5eab BUG Fixed incorrect variable usage in generation of PhoneNumberField form fields 2013-04-12 15:13:58 +12:00
Ingo Schommer
59dc0085d8 Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	docs/en/reference/urlvariabletools.md
	tests/forms/CheckboxFieldTest.php
2013-04-12 01:13:32 +02:00
Ingo Schommer
933fbf8ea4 l10n key to make "yes" and "no" translatable (see #1749) 2013-04-12 01:11:24 +02:00
Ingo Schommer
9856fcef21 Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	javascript/DateField.js
	model/DataQuery.php
	model/Versioned.php
	tests/forms/RequirementsTest.php
	tests/model/DataObjectLazyLoadingTest.php
	view/Requirements.php
2013-04-09 14:45:35 +02:00
Ingo Schommer
01f46d039f NEW Enforce max node counts to avoid excessive resource usage
Rendering potentially 1000s of nodes can exceed the CPU and memory constraints
of a normal PHP process, as well as the rendering capabilities of browsers.
Set a hard maximum for the renderable nodes, deferring to a "show as list" action
in the main CMS tree. For TreeDropdownField, we don't have the list fallback option,
so ask the user to search for the node title instead.

Also makes both the "node_threshold_total" and "node_threshold_leaf" values configurable
2013-04-09 10:24:18 +12:00
Will Rossiter
69722222b4 FIX: Ensure FieldList::push() doesn't eliminate key 2013-04-06 19:16:59 +13:00
Nik Rolls
5143c8149a Form now loads correctly when ClassName is changed. 2013-04-02 11:03:49 +02:00
Stig Lindqvist
3aced1151f BUG: GridFieldFilterHeader only filters on last filter
GridFieldFilterHeader only filters on the last filter argument because it keeps recloning the original datalist
2013-03-29 20:06:57 +13:00
g4b0
c63d840561 BUGFIX: fixed access to asset_preview_width in getFieldsForImage 2013-03-27 17:52:40 +01:00
Ingo Schommer
3334eafcb1 API Marked statics private, use Config API instead (#8317)
See "Static configuration properties are now immutable, you must use Config API." in the 3.1 change log for details.
2013-03-24 17:20:53 +01:00
Andrew Short
222e554ce6 Merge pull request #1328 from a2nt/html_tabs_fix
FIX Localized HtmlEditorField Tabs
2013-03-24 04:20:24 -07:00
a2nt
27b0cda054 FIX Localized HtmlEditorField Tabs
Tabs can have only lattin characters in it's name
2013-03-24 15:19:45 +06:00
Ingo Schommer
63c8441410 Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	admin/javascript/LeftAndMain.js
2013-03-21 00:11:17 +01:00
Ingo Schommer
2787d360c1 FIX "Insert Link" and other TinyMCE loading bugs (fixes #8327)
Caused by SS loading a URL with html entities (&)
through the Requirements API, which only works when directly
inserted into the HTML template (standard behaviour),
but garbles the URL GET parameters when loaded via the jQuery.ondemand
JavaScript/XHR logic.

It didn't fail the request, just meant that tiny_mce_gzip.php wasn't
getting all the required options from the GET parameters.
And since this newly loaded file contains the same JS globals,
it would override previously loaded (correct) state.
2013-03-20 17:58:17 +01:00
Ingo Schommer
06ff9f72b1 Increased recent deprecation warnings from 3.1 to 3.2
The deprecations are supposed to denote the release where
the functionality will be removed, as opposed to the one where
its deprecated. Having 3.1 as a target for recent changes
in popular methods like Object::add_extension() causes
too many short-term hassles, there's no "grace period".
2013-03-20 10:00:51 +01:00
Ingo Schommer
0a9f3b75a9 Fixed deprecated usage of <% control %> 2013-03-19 12:58:14 +01:00
Ingo Schommer
3abfc7e25c Merge pull request #1300 from patbolo/ticket/8328
FIX #8328 Expose previously selected values of TreeMultiSelectField so t...
2013-03-19 01:27:21 -07:00
Ingo Schommer
2a73b370d0 Merge pull request #1204 from dhensby/unsavedrelationlist-improvements
BUG UnsavedRelationList aren't checked
2013-03-18 13:43:41 -07:00
jean
d9f4a362d7 FIX #8328 Expose previously selected values of TreeMultiSelectField so they are not wipped out when selecting more values at an higher level in hierarchy 2013-03-19 08:48:44 +13:00
Hamish Friedlander
168f071499 API Make HTMLValue replace-able via DI
Extracted common code out to SS_HTMLValue and made abstract, then
put HTML 4 specific code in SS_HTML4Value. Its now possible to
replace HTMLValue with one designed for HTML 5 or XHTML

Requires a code change from new SS_HTMLValue to
Injector::inst()->create(HTMLValue)
2013-03-14 12:49:02 +13:00
Ingo Schommer
07886c3e61 Merge pull request #1262 from ajshort/grid-field-null-list
BUG: Fix grid field rendering when the list is null
2013-03-08 06:12:20 -08:00
ajshort
a965d3b374 BUG: Fix grid field rendering when the list is null 2013-03-09 01:04:51 +11:00
Tom Densham
ed4057f573 Avoid mid-sentence periods in combined field validation messages
See https://github.com/silverstripe/sapphire/pull/1241
2013-03-08 12:16:03 +01:00
Will Rossiter
1ddd1ddc47 Docblock and coding conventions for GridField related classes. 2013-03-05 10:29:27 +13:00
Will Rossiter
36d3303e1b FIX GridField export and print actions should preserve state. 2013-03-05 10:27:15 +13:00
Ingo Schommer
af52de97e9 Merge pull request #1161 from chillu/pulls/uploadfield-replacefile
NEW Upload->replaceFile setting
2013-02-27 01:24:27 -08:00
Ingo Schommer
bea1b9002d Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	control/HTTP.php
2013-02-26 13:28:35 +01:00
Ingo Schommer
25af4adce2 Merge tag '3.0.5' into 3.0 2013-02-20 02:21:41 +01:00
Daniel Hensby
4e36020118 BUG UnsavedRelationList aren't checked
When saveInto is called on ListboxField and CheckboxsetField,
UnsavedRelationList should be an acceptable relationship type. This is
leading to relations not being saved on initial creation of Member
objects
2013-02-19 14:58:31 +00:00
Ingo Schommer
16d0c188ee BUG Find Form actions in CompositeFields for access checks
This bug was introduced with the new nested CMS actions
around December 2012, but wasn't noticed until now
because checkAccessAction() would wrongly return TRUE
before the dataFieldByName() check was reached.
2013-02-19 15:48:29 +01:00
Daniel Hensby
b7e34bd54c Removing redundant function
At the moment form actions (buttons) have the classes 'action action' as default. This is because the extraClass function adds 'action' and then calls the parent method. The parent then includes the $this->Type() ('action') again.

So I've remove this overloading of extraClass
2013-02-18 16:38:15 +00:00
Graeme Smith
a1114b8fcb MINOR: Correct exception message in constructor 2013-02-18 15:01:48 +00:00
Ingo Schommer
14dcc82e76 BUG Find Form actions in CompositeFields for access checks
This bug was introduced with the new nested CMS actions
around December 2012, but wasn't noticed until now
because checkAccessAction() would wrongly return TRUE
before the dataFieldByName() check was reached.
2013-02-18 15:30:36 +01:00
Ingo Schommer
92458d9f43 Fixed line lengths 2013-02-18 14:41:49 +01:00
Hamish Friedlander
4b54383d68 API change request handling to be more orthogonal
RequestHandler#handleAction now exists. It takes the request, and
the action to call on itself. All calls from handleRequest to call an action
will go through this method

Controller#handleAction has had it's signature changed to
match new RequestHandler#handleAction

RequestHandler#findAction has been added, which extracts the
"match URL to rules to find action" portion of RequestHandler#handleRequest
into a separate, overrideable function

GridField#handleAction has beeen renamed to handleAlterAction and
CMSBatchActionHandler#handleAction has been renamed to handleBatchAction to
avoid name clash with new RequestHandler#handleAction

Reason for change: The exact behaviour of request handling depended heavily
on whether you inherited from RequestHandler or Controller, and whether the
rule extracted it's action directly (like "foo/$ID" => 'foo') or dynamically
(like "$Action/$ID" => "handleAction"). This cleans up behaviour so
all calls follow the same path through handleRequest and handleAction, and
the additional behaviour that Controller adds is clear.
2013-02-18 14:56:04 +13:00
Hamish Friedlander
7efae6b95f Merge remote-tracking branch 'origin/3.0' into 3.1 2013-02-18 14:31:57 +13:00
Ingo Schommer
7bb0bbff0e BUGFIX Fixed XSS in admin/security and "My Profile" forms 2013-02-17 23:27:15 +01:00
Ingo Schommer
e21bd49462 BUG TimeField respects user choice (fixes #8260)
Regression from c969e04731.
Also fixes width to accommodate for widest common format:
"11:11:11 AM"
2013-02-17 21:00:02 +01:00
Ingo Schommer
f4068371fc Merge pull request #1159 from chillu/pulls/datetimefield-field-setters
DatetimeField->setDateField()/setTimeField()
2013-02-14 11:31:31 -08:00
Ingo Schommer
14a56c18e9 Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	control/Director.php
2013-02-07 21:45:16 +01:00
Ingo Schommer
048f6b19fe Removed DatetimeField->setDescription() proxying
We shouldn't pass it to the child fields since it ends
up showing the description three times in the default
"inline" mode. If the description is required as a hover/focus effect,
it can be set individually on the fields.
2013-02-07 11:41:20 +01:00
Ingo Schommer
083b6b2164 NEW Upload->replaceFile setting 2013-02-05 19:28:24 +01:00
Ingo Schommer
b350ded87c Fixed DatetimeField formatting (single row, smaller field)
Also removed the arbitrary right-floating of fields within a fieldgroup
2013-02-05 12:01:32 +01:00
Ingo Schommer
6c22545639 DatetimeField->setDateField()/setTimeField()
Useful e.g. to override the time field with the
"silverstripe/timefield" dropdown
2013-02-05 11:03:19 +01:00
Ingo Schommer
857d8bb8df FIX Don't escape values on TreeDropdownField readonly views
They typically output TreeTitle() which is assumed to be HTML.
2013-02-04 17:15:32 +01:00
Ingo Schommer
634c91c6ff Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	email/Mailer.php
2013-01-30 12:46:24 +01:00
Sam Minnee
9a2ba483df BUGFIX: Made CSRF-error wording friendlier. 2013-01-29 18:03:49 +01:00
Sam Minnee
47e037e74c FIX: Removed notice-level error after forms w/ required fields are made readonly. 2013-01-29 18:03:47 +01:00
Simon Welsh
3439e30ac1 Corrects indentation and line length 2013-01-24 19:56:02 +13:00
Ingo Schommer
37f4d2e21f Merge remote-tracking branch 'origin/3.0' into 3.1 2013-01-21 11:15:17 +01:00
Ingo Schommer
c11b3918fc Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	admin/css/screen.css
	admin/scss/_style.scss
	core/PaginatedList.php
	email/Mailer.php
2013-01-21 11:14:57 +01:00
Ingo Schommer
8717deca82 HTMLEditorField undefined $dimensionsField (fixes #7494)
Also use fluent API for form field definition to keep field invocations
in one place and thereby reduce these kind of bugs.
2013-01-21 11:11:21 +01:00
Ingo Schommer
5d37d55f35 BUG Form session message clearing regression
Regression originally from 729bcc95, but made visible by 014f541a8
2013-01-21 11:11:21 +01:00
Ingo Schommer
014f541a89 BUG Regression in Form->clearMessage() (fixes #8186)
See 729bcc9
2013-01-15 14:25:07 +01:00
Andrew Short
16efd7402e ENHANCEMENT: Add grid field save handler. 2013-01-15 22:41:25 +11:00
Ingo Schommer
80feb8c0b4 Respect displayFields in GridFieldPrintButton
Provides more coherent and expected default behaviour
2013-01-15 00:55:24 +01:00
micschk
7f605cfb54 NEW Disable items in DropdownField and GroupedDropdownField 2013-01-11 16:32:20 +01:00
uniun
e020c7be57 BUG doSave() and doDelete() should use translated singular name 2013-01-11 15:50:09 +01:00
Ingo Schommer
42a73715cf Merge pull request #1051 from uniun/patch-3
BUG removeRequiredField() should use array_splice() instead of unset()
2013-01-11 06:45:35 -08:00
Ingo Schommer
9b42dec932 Merge pull request #1072 from sunnysideup/patch-2
adding extension hook in GridFieldDetailForm.php
2013-01-11 06:37:27 -08:00
Ingo Schommer
7dda38742e Merge pull request #1071 from sunnysideup/patch-1
Update forms/TextareaField.php: small edit to description of the field
2013-01-11 06:37:01 -08:00
Ingo Schommer
e7e6c45aee Merge pull request #1082 from sminnee/form-improvements
Form improvements
2013-01-11 02:29:14 -08:00
Ingo Schommer
acc616b2ca Merge pull request #1080 from sminnee/caching-improvements
Caching improvements
2013-01-11 02:00:51 -08:00
Ingo Schommer
f3c0669fec Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	_config/uploadfield.yml
	css/UploadField.css
	forms/UploadField.php
	scss/UploadField.scss
	templates/UploadField.ss
	tests/forms/uploadfield/UploadFieldTest.php
2013-01-11 10:02:39 +01:00
Ingo Schommer
9e82d8e857 Fixed line lengths 2013-01-11 09:59:33 +01:00
Sam Minnee
5b450f7fea NEW: Added replaceExistingFile setting for UploadField.
Sometimes has-one UploadFields can get confused about whether or not there is an existing file that needs deleting.  This setting lets you make a more robust has-one UploadField, where any existing file will be replaced.  It more closely mimics simple single-file upload fields.
2013-01-11 09:29:06 +01:00
Sam Minnee
cc7318fde4 NEW: Added canAttachExisting config option for UploadField.
This is the companion setting to canUpload, letting you control whether existing files from the asset store can be referenced.  It's particularly useful when using UploadField on the front-end.
2013-01-11 09:29:02 +01:00
Sam Minnee
2fdd9a3b13 FIX: Allow images attached to UploadFields to be unlinked without File::canEdit() or File::canDelete() permission.
Although editing meta-data or deleting permanently would require File editing/deleting permissions, merely linking to a record does not.  This change is important for allowing front-end use of UploadField; or, more importantly, use of UploadFile by people without CMS rights.
2013-01-11 09:07:42 +01:00
Ingo Schommer
67c5db3320 NEW Global default config for UploadField 2013-01-11 09:07:42 +01:00
Ingo Schommer
2dfd42795e NEW Restrict upload abilities in UploadField
Conflicts:
	css/UploadField.css
	templates/UploadField.ss
2013-01-11 09:07:42 +01:00
Ingo Schommer
43601d6010 NEW Global default config for UploadField 2013-01-10 00:15:35 +01:00
Ingo Schommer
9310b8d86d NEW Restrict upload abilities in UploadField 2013-01-10 00:15:34 +01:00
Ingo Schommer
abfb3c7095 Default TreeDropdownField to TreeTitle
Same behaviour as in 2.x. All common elements displayed
in this field (SiteTree, Group, File) have a TreeTitle accessor.
2013-01-08 18:39:31 +01:00
Ingo Schommer
61cc033304 Fluent interface for TreeDropdownField 2013-01-08 18:32:40 +01:00
Ingo Schommer
79997477b3 Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	model/DataList.php
2013-01-08 17:16:09 +01:00
Hamish Friedlander
2916f2043c NEW: Improve HTTP caching logic to automatically disable caching for requests that use the session.
This improvement makes it easier to set a side-wide default cache time without needing to worry about CSRF-protected forms, etc.
2013-01-08 17:47:05 +13:00
Sam Minnee
729bcc95db BUGFIX: Don't clear form messages unless forTemplate() is actually called.
BUGFIX: Clear session-stored form data as well as form error message.
2013-01-08 17:45:17 +13:00
Sam Minnee
abbee41b78 NEW: Add ReadonlyField::setIncludeHiddenField()
The new config setter restores the 2.4 behaviour of including <input type="hidden"> with a field. Although as a default, this option has security flaws; it is useful in a few circumstances and, if nothing else, is handy to make upgrading sites easier.
2013-01-08 17:45:17 +13:00
Sean Harvey
2140a621fb Merge pull request #1067 from halkyon/shorthand_ternary_op
Remove unncessary variable from TreeDropdownField
2013-01-06 17:20:54 -08:00
Sean Harvey
68eb367d27 Remove unncessary variable from TreeDropdownField 2013-01-07 14:14:54 +13:00
Ingo Schommer
06f05d0e7a Merge pull request #1075 from g4b0/8088-GroupedDropdownField-xhtml-strict-2
BUG:removed null FormField value. fixes #8088
2013-01-02 09:02:47 -08:00
g4b0
63dbb1c6c9 BUG:removed null FormField value. fixes #8088 2013-01-02 15:47:06 +01:00
Ingo Schommer
9dafc83f29 Fixed DateField phpdocs 2013-01-02 13:45:15 +01:00
Nicolaas
a32451f72e adding extension hook in GridFieldDetailForm.php
This hook is useful so that you can add additional fields / actions in a gridfield form that are not available in other settings (e.g. additional actions: previous / next / save and publish / unpublish / etc
2012-12-27 19:22:54 +13:00
Justin Martin
f431b35b88 BUG: Confirmed Password Field now copies attributes to child fields. 2012-12-27 09:25:15 +13:00
Nicolaas
3fca288873 Update forms/TextareaField.php
small edit to description of the field (usage).  Removed reference to cols and rows parameters.
2012-12-26 22:29:36 +13:00
Simon Elvery
775567d427 Allow <button type='submit'> for the benifit of IE<=7 2012-12-21 16:19:43 +01:00
Ingo Schommer
8ec3641e60 Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	admin/javascript/LeftAndMain.FieldHelp.js
	lang/en.yml
	model/URLSegmentFilter.php
2012-12-21 15:04:17 +01:00
Ingo Schommer
661a4a2492 Removed direct sprintf() usage from _t() calls
Parameterized strings are easier to understand,
and more fail-proof, don't fatal out when not enough sprintf() args
2012-12-21 11:46:38 +01:00
Ingo Schommer
7a6ce01567 BUG Skip pagination on UnsavedRelationList in GFPaginator 2012-12-20 20:16:53 +01:00
Nathan J. Brauer
d487a42456 API Default to Upload::$uploads_dir in UploadField 2012-12-20 10:25:52 +01:00
uniun
6aba24b3e9 BUG removeRequiredField() should use array_splice() instead of unset()
Function unset() preserves numeric keys and method removeRequiredField() will give a PHP notice about nonexistent array key and loop won't iterate throughout all elements in array on second method call (and all subsequent).
So it's better to use foreach loop and array_splice() function (it doesn't preserve numeric keys).
2012-12-18 11:57:11 +02:00
Ingo Schommer
bbc8e06d49 API Show GridFieldEditButton even without edit permissions (for readonly forms) 2012-12-17 00:47:23 +01:00
Ingo Schommer
1848d7e90a API Check model permissions in GridField 2012-12-17 00:46:51 +01:00
Ingo Schommer
963f02e7a3 Using new description style in MemberDateTimeOptionSetField 2012-12-14 01:58:04 +01:00
Ingo Schommer
1ca3883a76 NEW Tooltip and inline help text support for CMS form fields 2012-12-14 01:58:04 +01:00
Ingo Schommer
559abecd56 API Copying instance props on FormField readonly/disabled transformations
Introduced new FormField->castedCopy() method
which tries to replicate the existing form field instance
as closely as possible.

Primarily, the fix was targeted at consistently passing
through FormField->description to all of its variations.
2012-12-14 01:58:04 +01:00
Ingo Schommer
6f9d01f621 API FormField->setDescription() visible in default template
Renders into <span class="description"> instead of "title" attribute
2012-12-14 01:58:04 +01:00
Ingo Schommer
212c427c45 Pass setDescription() through to sub-fields in DatetimeField and PhoneNumberField 2012-12-14 01:57:27 +01:00
Ingo Schommer
26141718ec BUG Deep cloning for DateTimeField 2012-12-14 01:57:26 +01:00
Ingo Schommer
644cc79ebb API Removed methods previously deprecated in 3.0 2012-12-14 01:16:47 +01:00
Justin Martin
0f60ca7255 BUG: Confirmed Password Field now copies attributes to child fields. 2012-12-12 14:44:25 +01:00
Simon Welsh
b0121b541c Add codesniffer that ensures indentation is with tabs. 2012-12-12 17:33:31 +13:00
Simon Welsh
fc5dd2994c Add codesniffer that ensures indentation is with tabs. 2012-12-12 00:12:11 +13:00
Ingo Schommer
548ad503ed API Removed keyed arrays for title/value setting in SelectionGroup
Use SelectionGroup_Item class instead. Necessary because
of removal of array key support from ArrayList (see d12b49702).
2012-12-11 11:06:06 +01:00
Ingo Schommer
8108f7f936 NEW Relation search for GridFieldAddExistingAutocompleter
Now also searches 1:n relations if they where defined in searchableFields() with dot notation.
2012-11-27 10:51:10 +01:00
Ingo Schommer
c8136f5d4c NEW Many-many relation data editing in GridFieldDetailForm
Also adds GridFieldDetailForm->setFields() for customizing
the displayed form fields (required for adding relational fields).
2012-11-27 10:45:43 +01:00
Ingo Schommer
c55c7c33f8 Merge branch '3.0'
Conflicts:
	admin/code/CMSProfileController.php
	composer.json
	tests/model/DataObjectTest.php
2012-11-22 23:51:28 +01:00
Ingo Schommer
434759cc83 BUGFIX Correct redirection URL on deletion in GridFieldDetailForm 2012-11-16 15:32:17 +13:00
Ingo Schommer
bd0e597ac6 Use button tag for delete button in GridFieldEditForm 2012-11-16 15:32:17 +13:00
Hamish Friedlander
5edf86fe7a Merge branch '3.0.3' into 3.0 2012-11-16 14:57:50 +13:00
Hamish Friedlander
7315be4531 FIX default values from DataObject not showing in GridField details form 2012-11-16 12:36:00 +13:00
Hamish Friedlander
0dd97a38f6 API: Form#loadDataFrom 2nd arg now sets how existing field data is merged with new data 2012-11-16 12:36:00 +13:00
Sean Harvey
6a868e79e1 Removing deprecated prototype/behaviour libraries 2012-11-16 11:37:56 +13:00
Sean Harvey
4651e9bbc9 BUG Fixing ToggleField to work correctly with jQuery 2012-11-16 11:33:58 +13:00
Sean Harvey
77337ae58c Removing deprecated TableListField and subclasses
These have been moved to a module called "legacytablefields"
located at https://github.com/silverstripe-labs/legacytablefields
2012-11-16 11:04:28 +13:00
Sean Harvey
aeef4d6e84 Removing deprecated JS from AjaxUniqueTextField 2012-11-16 11:01:14 +13:00
Sean Harvey
8b0bb8dd09 API Replace deprecated FormField::createTag() with static create_tag()
GridField uses createTag() which is marked for deprecation, rather
than have it used as the cornerstone of generating FormField templates,
use it as a helper in case fields generate HTML tags from PHP.
2012-11-15 14:43:21 +13:00
Sean Harvey
8c3ecabc31 Removed deprecated ToggleCompositeField::startClosed()
Use ToggleCompositeField->setStartClosed() instead
2012-11-15 14:43:21 +13:00
Sean Harvey
4c803a2049 Removed deprecated arguments of row, cols to TextareaField
Use setColumns() and setRows() instead
2012-11-15 14:43:21 +13:00
Sean Harvey
4d110809d9 Remove deprecated rows and columns argument support from HtmlEditorField
Use setColumns() and setRows() instead
2012-11-15 14:43:20 +13:00
Sean Harvey
b3b071a05a Removing deprecated FormField functions
setTabIndex() -> setAttribute('tabindex')
getTabIndex() -> getAttribute('tabindex')
describe() -> setDescription()
2012-11-15 14:43:20 +13:00
Sean Harvey
0d659a5e5a Removing deprecated FormField::Name(), use getName() instead 2012-11-15 14:43:20 +13:00
Sean Harvey
c99ed7dc2b Extending deprecation of legacy table fields to 3.1 2012-11-15 14:43:20 +13:00
Sean Harvey
b43b023c1e Remove deprecated security token methods on Form
Use SecurityToken class directly instead
2012-11-15 14:43:18 +13:00
Sean Harvey
63820130c2 Remove deprecated Form::FormEncType(), use getEncType() instead 2012-11-15 14:43:17 +13:00
Sean Harvey
4e355bdb19 Removing deprecated methods on Form
Use FieldList API through Form::Fields() and Form::Actions() instead
2012-11-15 14:43:17 +13:00
Sean Harvey
208086754d Removing deprecated arguments to FileField for setting folder name
Use setRightTitle() and setFolderName() instead
2012-11-15 14:43:17 +13:00
Sean Harvey
a9d7c9e2a6 Removing deprecated variables from FileField 2012-11-15 14:43:17 +13:00
Sean Harvey
0a5d43f1b3 Removing deprecated CompositeField::FieldSet(), use FieldList() instead 2012-11-15 14:43:17 +13:00
Sean Harvey
6448cd79bc Removing deprecated Validator javascript methods
Use custom Javascript validation instead
2012-11-15 14:43:17 +13:00
Sean Harvey
de2509c3e0 Removing deprecated SimpleImageField
Use UploadField with
a$myField->getValidator()->setAllowedExtensions(array('jpg', 'gif', 'png'))
2012-11-15 14:43:15 +13:00
Sean Harvey
6ce33d5e59 Removing deprecated ImageFormAction
Use FormAction with setAttribute('src', 'myimage.png') and custom
JavaScript to achieve hover effect.
2012-11-15 14:43:15 +13:00
Sean Harvey
8156f0ff5a Removing deprecated ImageField, use UploadField instead 2012-11-15 14:43:14 +13:00
Sean Harvey
594faf71b2 Removing deprecated FileIFrameField, use UploadField instead 2012-11-15 14:43:14 +13:00
Sean Harvey
0673f278d8 Remove deprecated FieldSet, use FieldList instead 2012-11-15 14:43:11 +13:00
Tim Klein
f0f5dcb966 fixed mediaform urls in modeladmin
see http://open.silverstripe.org/ticket/8013
2012-11-09 16:44:48 +13:00
Andrew O'Neil
0c8de0a1de APICHANGE: Use late static binding for Object::has_extension() 2012-11-07 11:07:55 +13:00
Ingo Schommer
2d075671c3 ENHANCEMENT Tab style consolidation and design consistency 2012-11-06 22:28:19 +01:00
Sean Harvey
169366a011 Merge branch '3.0' 2012-11-06 13:04:21 +13:00
Sean Harvey
532699c2ac Merge pull request #877 from UndefinedOffset/3.0
FIX 7906 Regression: GridFieldConfig_RelationEditor: Removing relation d...
2012-11-05 11:53:25 -08:00
Sean Harvey
fbc6e3366b Merge branch '3.0' 2012-11-05 15:11:48 +13:00
Ingo Schommer
bcbf4636fc BUG Remove .ss-tabset class from CMS tabs to prevent rogue ajax load (#7980)
The existence of .ss-tabset triggers JS which applies $.tabs(),
and in turn interprets the first available link as the tab navigation.
jQuery UI subsequently tries to ajax-load this link, which is not
desired. Instead, $.tabs() should *only* be applied to a container
DOM element with .cms-tabset applied.
2012-11-01 00:25:13 +01:00
Ingo Schommer
2d04de0377 BUG FormField->removeExtraClass() works on indexed arrays
Was assuming an associative map, which isn't the case
in the current implementations.
2012-10-31 15:44:57 +01:00
Ingo Schommer
efabde1416 Merge remote-tracking branch 'origin/3.0'
Conflicts:
	admin/css/screen.css
	admin/scss/_style.scss
	security/Member.php
2012-10-30 17:52:49 +01:00
Marcus Nyeholt
9c1b4693f7 BUG Fixed DateField date format error for IE8
On IE8, camel case element attributes are NOT included in the object returned
by $(elem).data(), meaning attrs defined in DateField.php (jqueryDateformat and
isoDateformat) are NOT seen by the code in DateField.js (ie the "config" var
doesn't have these set). Causing IE8 to fall back to using US date (mm/dd/yyyy)
formats. This can subsequently cause validation issues if the user's date
format is different.

DateField.js already explicitly checks for jquerydateformat (all lowercase)
so DateField.php has been modified to reflect the correct case for this
attribute name
2012-10-24 13:49:10 +11:00
UndefinedOffset
908869290e FIX 7906 Regression: GridFieldConfig_RelationEditor: Removing relation deletes data object 2012-10-15 13:41:11 -03:00
Sean Harvey
f6a90467e4 Merge branch '3.0' 2012-10-15 10:10:01 +13:00
jean
574c53d5ba FIX 7927 Redirect to the parent controller after deleting an item in a gridfield (edit form) 2012-10-12 18:09:17 +02:00
martimiz
5186bada17 FIX DateField Calendar - make dates with day- and monthnames validate
In locales other than en_US, as a result of missing jQuery locale
files, the DatePicker defaulted to English whenever day and monthnames
were used, breaking validation. Needed to change official locale files
before adding, because Zend_Date and jQuery day/monthnames not matching
again breaks validation.

Removed hard setting the names to uppercase, breaking validation for
other locales

Changed order in convert_iso_to_jquery_format(), to prevent EEE(E)
settings from being overwritten

Added a check for existing locale files, and made DatePicker fallback
to ISO yyy-MM-dd if a missing locale file would otherwise break
validation.

Added documentation for the DateField
2012-10-12 10:16:35 +02:00
Sean Harvey
bc64de0264 Fixing misleading SimpleImageField deprecation message 2012-10-11 16:58:57 +13:00
Sean Harvey
27a7fc34c1 Fixing misleading ImageField deprecation message 2012-10-11 15:40:55 +13:00
Ingo Schommer
d1ee7612f5 Merge remote-tracking branch 'origin/3.0' 2012-10-08 16:48:52 +02:00
Ingo Schommer
890bac8de3 Docs: GridFieldDeleteAction 2012-10-05 17:39:19 +02:00
Normann Lou
9aaa6b1a7b ENHANCEMENT: change those harded-coded 'sapphire' to 'framework' either in javascript code or inline document, or a <a> href propty. 2012-10-05 17:00:39 +13:00
Normann Lou
1fca4911e1 BUGFIX: replace 'sapphire' with 'framework' in those legacy fields: TableField, TableListField and ComplexTableField. 2012-10-05 16:54:14 +13:00
Ingo Schommer
56f7ce1dcf Merge remote-tracking branch 'origin/3.0'
Conflicts:
	control/Cookie.php
	control/Director.php
	control/HTTPResponse.php
	model/Database.php
	model/MySQLDatabase.php
	model/SQLQuery.php
	view/Requirements.php
	view/SSViewer.php
2012-10-03 16:16:19 +02:00
Damian Mooyman
4d392098a5 FIX: GridFieldPageCount now throws an exception if added to a gridfield with no gridfieldpaginator 2012-10-03 14:54:37 +13:00
Damian Mooyman
f265595c1e NEW: GridFieldPageCount control for displaying the current page count/total in the gridview header. Designed to complement a functional pager in the grid footer.
NEW: GridFieldPageCount widget to default config settings
FIX: @extend .col_buttons in GridField.scss which was raising a warning
2012-10-03 14:54:37 +13:00
Sam Minnee
1f7fc1f76a FIX Remove instances of lines longer than 120c
The entire framework repo (with the exception of system-generated files) has been amended to respect the 120c line-length limit.  This is in preparation for the enforcement of this rule with PHP_CodeSniffer.
2012-09-30 17:18:13 +13:00
Ingo Schommer
d504e9e634 Add .cms-tabset on all GridFieldDetailForm instances
This allows us to add cms behaviour consistently
2012-09-28 16:37:35 +02:00
Howard Grigg
aa6f345d1d API FormField::name_to_label() for unlabelled fields
Will convert camel case to spaces, e.g. "TotalAmount"
to "Total Amount".
2012-09-26 11:20:34 +02:00
Simon Welsh
1e629f4585 Merge branch '3.0'
Conflicts:
	control/Cookie.php
	control/Director.php
	dev/Profiler.php
	view/Requirements.php
2012-09-21 14:56:56 +12:00
Ingo Schommer
e2f073f38a Method visibility according to coding conventions 2012-09-20 10:46:59 +02:00
Sean Harvey
6ab04a6a55 Refer to setColumns in deprecation message instead of non-existent setCols 2012-09-18 09:39:08 +12:00
Sean Harvey
9c2be0f025 Merge branch '3.0' 2012-09-17 15:16:52 +12:00
Will Rossiter
15f40af4eb Merge pull request #794 from creamarketing/ListboxField_Inconsistency
FIX: ListBoxField and DropdownField should respect getSource()
2012-09-14 14:11:01 -07:00
Tom
54d8abcdc7 Bug:ListBoxField and DropdownField does not respect getSource in all Places
In some places source is referenced directly and assumed to be array, while in some places the getSource() method is used instead.
By changing this you have more freedom when extending these classes
2012-09-14 16:08:34 +03:00
Ingo Schommer
6544c8fc13 Merge remote-tracking branch 'origin/3.0' 2012-09-11 14:05:45 +02:00
Ingo Schommer
f5ff607a0a Localization for "cancel" button in GridFieldDetailForm 2012-09-11 13:47:12 +02:00
Ingo Schommer
1088d044c5 Merge remote-tracking branch 'origin/3.0'
Conflicts:
	.travis.yml
2012-09-07 17:21:41 +02:00
Simon Welsh
d2b4e0df01 BUG Use the manipulated datalist for counting total items.
This allows other Manipulators to change the total size of the List before
pagination is applied.
2012-09-06 23:47:38 +12:00
Simon Welsh
4ead89a4d0 API Adds getManipulatedList() method to GridField to get the SS_List after applying Manipulators 2012-09-06 23:42:48 +12:00
Andrew O'Neil
aa52dae464 BUGFIX: Don't add ss-tabset class to GridFieldDetailForms without tabs, as this causes the first <ul> within the form to have tabs applied 2012-09-05 14:16:28 +12:00
Ingo Schommer
52263e6a5f BUG Gridfield fails when save changes filter criteria (fixes #7785) 2012-09-02 16:57:50 +02:00
Zauberfisch
d24ea5ec97 BUG jQueryUI configs broken because keys were all lowercase 2012-09-02 12:51:25 +02:00
Saophalkun Ponlu
f3fcae315d BUG Fix wrong date conversion from PHP format 'y' to jquery date and back.
While 'y' in PHP means 4 digits year (e.g. 2012), jquery date picker means 2 digits (e.g. 12). That's all fine until then but when you pass the 2 digit year value back to PHP it all goes awry.
For exmple, defatult date format in en_US is 'MMM d, y' so in jquery date picker it's something like this 'Aug 22, 12' and eventually PHP will convert that value to '0012-08-22' which completely wrong.
2012-08-30 22:21:04 +02:00
Ingo Schommer
3946a3e991 Merge pull request #746 from phalkunz/7601-listview-sort-by-title
GridFieldSortableHeader now allows composite fields to be sorted based db fields (see #7601)
2012-08-29 05:41:50 -07:00
jean
14759b6ff1 FIX #7787 Handles ajax and normal requests differently when validation fails on gridfields 2012-08-29 13:00:05 +02:00
Zauberfisch
70b22fa4ca API CHANGE: GridFieldConfig should extend object to make use of Object::create() this also fixes GridFieldConfig_RecordViewer::create() which was not working before
but don't extend Object
2012-08-29 12:45:23 +12:00
Saophalkun Ponlu
e595b8fc75 GridFieldSortableHeader now allows composite fields to be sorted based db fields (see #7601) 2012-08-28 21:15:46 +12:00
Sam Minnee
824afffd2e Merge branch '3.0' 2012-08-23 12:39:41 +12:00
James Cocker
9a8313dce0 BUGFIX: GridField delete icon now correctly deletes, rather than always just unlinking (Fixes 7801)
Fixes the handleAction function of GridFieldDeleteAction which wasn't differentiating between a 'deleterecord' action and an 'unlinkrelation' action.

Fixes http://open.silverstripe.org/ticket/7801
2012-08-21 23:31:34 +01:00
Sam Minnee
f9b1485640 Merge branch '3.0' 2012-08-21 14:38:19 +12:00
Ingo Schommer
06cddb747a BUG Force refresh of GridFieldDetailEditForm after save
Wasn't refreshing after ajax save operations on existing
content, as the URL didn't change, and hence the CMS
didn't reload the view. Return the view directly instead,
unless we're dealing with new records (= changed URL).
2012-08-20 15:08:30 +02:00
Ingo Schommer
4cc82e906b Merge remote-tracking branch 'origin/3.0' 2012-08-20 10:13:55 +02:00
unclecheese
4fde42f72e ENHANCEMENT: Add "jpeg" to list of allowed extensions
.jpeg is the correct extension for these files, and they were being filtered out of the list.
2012-08-17 13:17:26 -03:00
Ingo Schommer
472752361a Added correct CSS class to GroupedDropdownField 2012-08-16 23:31:13 +02:00
mightycoco
5f94d23000 ENHANCEMENT: Ntfcatn. image embedding(trac #7438)
Adding an additional warning / notification message, when author embedds an external image.
2012-08-16 21:03:37 +02:00
Ingo Schommer
3bce3550d3 Merge remote-tracking branch 'origin/3.0' 2012-08-12 22:21:06 +02:00
Jak
b649c09b08 BUG prevent notice when using selection group 2012-08-10 18:53:33 +12:00
Naomi Guyer
ae52be54f0 FIX: Missing last login time (fixes 7666)
Add in missing user login time
2012-08-10 18:08:53 +12:00
Ingo Schommer
cac540d252 Merge branch '3.0' 2012-08-10 00:19:00 +02:00
martimiz
deb3780a45 BUG #7768 - add-button and breadcrumb translation in Security, ModelAdmin
The classnames on the add-new button and breadcrumbs were not
translated due to the use of singular_name() instead of
i18n-singular_name() in GridFieldAddNewButton and GridFieldDetailForm.
2012-08-09 23:46:40 +02:00
Ingo Schommer
b69813af9f Merge branch '3.0' 2012-08-09 12:47:26 +02:00
Ingo Schommer
fb7008627c Merge remote-tracking branch 'origin/3.0' 2012-08-09 10:47:44 +02:00
Damian Mooyman
d172e160a8 FIXED: Bug in GridFieldAddExistingAutocompleter.php where an uninitialised variable would occasionally crash searches
REMOVED: Unused variable
2012-08-09 15:04:02 +12:00
jean
90b0fe8db7 FIX Only reload data for a item edited through a GridField if the record exists. Fix 7721 2012-08-04 10:53:13 +12:00
Andrew Short
1900842d37 Make the list used for autocomplete search results settable.
This is useful if you want to limit the autocomplete results to a subset
of all available objects.
2012-08-02 21:25:45 +12:00
Andrew Short
f5b25d2dff Make the list used for autocomplete search results settable.
This is useful if you want to limit the autocomplete results to a subset
of all available objects.
2012-08-01 17:16:18 +10:00
Hamish Friedlander
3efdb5c981 Merge in changes from 3.0.1 final 2012-07-31 16:51:10 +12:00
Hamish Friedlander
bbb0868227 Merge in changes from 3.0.1-rc3 2012-07-30 11:53:12 +12:00
jakr
13bf61d402 Reformatted GridFieldDataColumns->castValue and added missing assignment. 2012-07-29 21:40:14 +02:00
Hamish Friedlander
9c4e4747c9 BUG 15e2efb55d broke the Page ListView. 2012-07-28 15:42:39 +12:00
Juerg Rast
4848becf5e Removed duplicated 'return ' 2012-07-28 01:11:03 +02:00
jakr
15e2efb55d FIX 7590: Image thumbnails broken in gridfield
Delay converting the object to a string and escaping its value until the end of getColumnContent. Call formatValue BEFORE castValue, so that formatValue can create raw HTML by casting to HTMLText afterwards.
2012-07-27 14:05:41 +12:00
Ingo Schommer
3ae8b0b665 Merge remote-tracking branch 'origin/3.0' 2012-07-18 15:00:06 +02:00
Ingo Schommer
1a91431d39 Query param searches for GridFieldAddExistingAutocompleter
Fixes issues with query construction in JS when the search URL
already contains GET paramters (e.g. when using the 'translatable'
module).
2012-07-17 13:26:33 +02:00
Andrew Short
8d38551297 Don't change track autocompleter fields. 2012-07-17 12:07:53 +02:00
Andrew Short
8c0a8539c7 Limit the results shown in the autocompleter. 2012-07-17 12:07:53 +02:00
Ingo Schommer
b42a76bebc Fluent interface for ToggleCompositeField 2012-07-15 21:28:09 +02:00
jakr
78038eb75e FIX 7617: Back button in CMS after Add/Edit/View action in GridField does not work 2012-07-13 16:53:42 +02:00
Ingo Schommer
712f28bc78 Scoped deprecation messages (fixes #7645) 2012-07-13 11:37:35 +02:00
Juerg Rast
8d3d3a7229 Typo in the Filename of the CSS-File 2012-07-12 23:09:22 +02:00
Mateusz Uzdowski
7c41ff22ab BUG Change all shortcodes into the new, comma separated, format.
Space delimiter is often confused by browsers, and encoded as %20 which
breaks the shortcode system. Change to comma delimitation has already
been implemented, this is a followup cleanup.

Ref http://open.silverstripe.org/ticket/7337
2012-07-12 16:44:21 +12:00
Ingo Schommer
998b8e048c Merge pull request #634 from silverstripe-rebelalliance/3.0_7603
BUGFIX: open ticket 7603 fixing search filtering - thought I should initialise $dataListClone
2012-07-11 06:59:39 -07:00
Jeremy Bridson
e096c297b8 BUGFIX: open ticket 7603 fixing search filtering - thought I should initialise $dataListClone 2012-07-11 09:19:50 +12:00
Ingo Schommer
0ae20a13f8 Merge pull request #630 from silverstripe-rebelalliance/open/6875
BUG: open/6875 removing DataGrid filter fields from track changes
2012-07-10 02:50:00 -07:00
Will Rossiter
6b611c6825 Merge pull request #572 from burnbright/datefield-fix
BUGFIX: DateField javascript fails when it is included in a GroupField
2012-07-08 21:50:48 -07:00
Ingo Schommer
64357a4522 Merge branch '3.0'
Conflicts:
	admin/css/screen.css
	admin/scss/_forms.scss
	docs/en/changelogs/3.0.0.md
2012-07-05 18:01:09 +02:00
jakr
20696958df FIX: Ticket #7592 GridFieldDataColumns: Wrong documentation for getFieldCasting Moved documentation to the appropriate function, added note about the two parameter callback function. 2012-07-04 18:08:24 +02:00
Andrew Short
eb733dee60 NEW Add set config method to GridField. 2012-07-04 13:13:23 +10:00
Kirk Mayo
9d88169f3e BUG: open/6875 removing DataGrid filter fields from track changes 2012-07-04 10:27:42 +12:00
Jeremy Shipman
dbc1edef87 Merge branch 'master' of github.com:silverstripe/sapphire into datefield-fix 2012-06-30 19:13:03 +12:00
Ingo Schommer
aa8dfd127c FileField->getUpload() and setUpload() 2012-06-28 11:42:27 +02:00
Ingo Schommer
cb145a0094 "dmyplaceholders" setting for DateFields 2012-06-27 10:12:42 +02:00
Ingo Schommer
0dfc82342a Merge pull request #574 from mightycoco/master
Improving oEmbed insertion of direct image urls
2012-06-26 15:43:41 -07:00
Ingo Schommer
218037b8cf Add .dropdown class to CountryDropdownField to make it use chosen.js 2012-06-26 17:56:07 +02:00
Ingo Schommer
a9fa281723 Form field docs update (fixes #7521) 2012-06-26 15:03:11 +02:00
Naomi Guyer
d935a74e31 ENHANCEMENT: Modify GridFieldLevelup to be more reusable 2012-06-26 13:34:49 +02:00
mightycoco
e582935582 BUGFIX insertion of images (trac #7438)
Allow insertion of images via oEmbed dialog using a direct url
2012-06-25 17:19:15 +02:00
Jeremy Shipman
606d86a926 BUGFIX: DateField javascript fails when it is included in a GroupField 2012-06-25 20:32:53 +12:00
Naomi Guyer
e51bf760e9 BUGFIX: Insert link styling broken, and inconsistent with Insert media (fixes #7528) 2012-06-25 15:31:39 +12:00
Naomi Guyer
5713a37a32 BUGFIX: Alignment of http label in insert media 2012-06-22 18:11:00 +12:00
Naomi Guyer
f01c1640c7 BUGFIX: Alignment of http label in insert media 2012-06-22 18:04:13 +12:00
Sam Minnee
4aa4cd2c28 Merge branch '3.0'
Conflicts:
	admin/scss/ie7.scss
2012-06-22 17:20:07 +12:00
Hamish Friedlander
01062c70a1 ENHANCEMENT: Add back CountryDropdownField
We removed this because it depended on GeoIP, which was weird, and had its own dependancies.
But Zend_Locale is included in core, and can give us all the data we need for CountryDropdownField
2012-06-22 09:51:33 +12:00
Hamish Friedlander
65030906ad BUGFIX: Add validation to fix open.silverstripe.org ticket #7494
When adding media via the HtmlEditorField dialog, the value of the URL field wasnt being validated. Youd get different errors depending on if the field was empty
or if it had text, but it didnt look like an absolute URL to HtmlEditorField#viewfile.

This adds some javascript validation to make the text field look like a URL field
2012-06-21 14:19:41 +12:00
Ingo Schommer
6af3b076be MINOR Fixed phpdocs 2012-06-20 23:59:57 +02:00