Commit Graph

394 Commits

Author SHA1 Message Date
madmatt
77c35e7bde BUGFIX: Remove possibility of E_NOTICE in updatetreenodes(). 2014-01-13 17:47:33 +13:00
micmania1
b89ab1eb16 Added SSViewer::get_templates_by_class() to make the functionality in LeftAndMain::getTemplatesWithSuffix() more open. 2013-12-01 07:42:37 +00:00
Ingo Schommer
93558a6d62 Globalization in TreeDropdownField JS 2013-10-08 12:12:25 +02:00
Ingo Schommer
e7953f3b41 Merge pull request #2474 from wilr/externalcmslink
API: Add attributes argument for CMSMenuItem for external links
2013-10-02 02:38:56 -07:00
Will Rossiter
2d0a354405 API: Add attributes argument for CMSMenuItem.
Currently help menu item is the only external link in the CMS and the ability for it to work is hardcoded in the template. This request makes the target attribute definable by CMSMenu::add_link().

Adds documentation for how to add a basic external link to the CMS.
2013-10-02 19:06:54 +13:00
Andrew Short
9e984b8c99 Add an extension hook for the batch actions form. 2013-09-27 15:46:01 +10:00
Ingo Schommer
afe06661ef Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	admin/templates/Includes/LeftAndMain_Menu.ss
	admin/templates/Includes/ModelAdmin_ImportSpec.ss
	admin/templates/Includes/ModelAdmin_Tools.ss
	admin/templates/LeftAndMain.ss
	admin/templates/ModelSidebar.ss
	i18n/i18n.php
	templates/ComplexTableField.ss
	templates/ComplexTableField_popup.ss
	templates/FileIFrameField_iframe.ss
	templates/Includes/GridFieldItemEditView.ss
	templates/Includes/TableListField_PageControls.ss
	templates/RelationComplexTableField.ss
	templates/TableField.ss
	templates/TableListField.ss
2013-08-07 17:14:47 +02:00
Ingo Schommer
00ffe72944 Translations: Switch to Transifex format
- Based on new (last) translation download from getlocalization.com
- Removed untranslated strings. Getlocalization started including those at some point
which is highly annoying, unnecessary and breaks the new transfix system,
since it'll mark all of the english strings as actual translations
- Avoid dots in entities. It confuses the Transifex YML parser
- Removed some locales unknown to Transifex which didn't have any translations anyway
- Removed "lolcat" locale, uses custom notation (en@lolcal)
  which SilverStripe's i18n system can't handle
  (needs mapping from SS naming to Zend naming)
- Renamed "Te Reo/Maori" locale from "mi_NZ" to "mi" (Transifex/CLDR notation)
- Namespaced all entities used in templates (deprecated usage)
- Converted dots to underscores where template filenames are used for namespaces,
since Transifex YML parsing handles them as separate YML keys otherwise
- Removed whitespace in entity names, SilverStripe i18n can't handle it
- Only allow selection of locales registered through i18n::$all_locales to avoid
  issues with unknown locales in Zend's CLDR database
2013-08-07 00:25:16 +02:00
Will Rossiter
919a8c21c3 FIX: pass controller as reference inside closure.
Non referenced causes segfaults on PHP <= 5.3.8 environments when opening subtrees in the CMS. Likely the cause of silverstripe-cms/issues/803.
2013-07-31 14:12:08 +12:00
Ingo Schommer
d4a1e6d294 BUG Prevent clickjacking in CMS and Security controllers (fixes #2215) 2013-07-14 22:44:09 +02:00
Simon Welsh
e5ed8f1ef2 Merge branch '3.0' into 3.1 2013-07-10 12:31:38 +12:00
Simon Welsh
b506eb1b29 Use httpError() instead of non-existent HTTPResponse_Exception class 2013-07-10 12:30:27 +12:00
ARNHOE
6e7cae50fd Updated helplink to 3.1 2013-06-22 18:08:25 +02:00
Ingo Schommer
bfff11eb9c API New CMSForm class to allow validation responses in CMS (fixes #1777)
Thanks to @willmorgan for getting this discussion started
(see https://github.com/silverstripe/sapphire/pull/1814).
2013-06-13 07:51:05 +02:00
Will Rossiter
db85f3ca16 FIX extra_requirements to accept non associative arrays.
Added unit tests for extra_requirements_js and extra_requirements_css.

Fixed YAML documentation to indicate list syntax.
2013-06-02 13:37:34 +12:00
Sam Minnee
4548b67538 NEW: Add LeftAndMain.session_keepalive_ping config option.
The Session-keepalive ping that is built into LeftAndMain (i.e. all of the CMS admin) can now be
turned off.  The main reason you would want to do this is if you have enabled Session.timeout,
and you want users to be locked out of the CMS after a period.
2013-05-31 16:27:30 +12:00
Ingo Schommer
bd918915e2 Merge pull request #2023 from g4b0/left-and-main-classes
BUG: correct handling of multiple classes
2013-05-29 07:23:26 -07:00
Loz Calver
9be5f07231 Fixes for LeftAndMain::require_themed_css()
LeftAndMain::require_themed_css() was setting an incorrect property, and a typo meant that those requirements would never be detected anyway
2013-05-28 15:48:23 +01:00
g4b0
9fc58feb03 BUG: correct handling of multiple classes 2013-05-28 16:25:25 +02:00
Ingo Schommer
67d1327b90 Avoid collision of status flags in tree items when updating tree nodes
Fixes silverstripe/silverstripe-cms#445
See https://github.com/silverstripe/silverstripe-framework/pull/1996
Thanks to Jean-Fabien for getting this started
2013-05-25 11:27:50 +02:00
Will Rossiter
ddcfcf7bed Update @package, @subpackage labels
Cleanup of framework's use of @package and @subpackage labels and additional of labels for classes missing packages.

Moved all GridField related components to the one name.

Countless spelling fixes, grammar for other comments.

Link ClassName references in file headers.
2013-05-21 22:24:41 +12:00
Ingo Schommer
e5d3a1da6b Disable ContentNegotiator in CMS (fixes #1850) 2013-05-08 23:45:53 +02:00
Ingo Schommer
17362f9474 Showing "Help" menu item below "Settings" 2013-04-09 12:20:20 +02:00
Sam Minnee
e6d8280296 Removed notice-level erorr in CMS page list. 2013-04-09 11:42:30 +12: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
Ingo Schommer
828ac7fe4f API Replaced SSViewer.custom_theme with SSViewer.theme_enabled
Since we can't influence the setting of configuration values,
we also can't set/unset the 'custom_theme' value based on which
theme is set. This means the 'custom_theme' value goes stale,
and we can't rely on it e.g. in FilesystemPublisher.

The 'theme_enabled' toggle is a cleaner solution to the same problem,
since the 'custom_theme' was really just a way to remember the original
theme, while still disabling it. The toggle makes this more explicit,
but also requires users of the 'theme' setting to check for it.
2013-04-07 23:59:10 +02:00
Ingo Schommer
1dda9ae45f Fixed extra_requirements docs 2013-04-05 15:35:30 +02:00
g4b0
f033321adc Solved json obj to array issue 2013-03-28 22:06:37 +01:00
g4b0
93428bd8f2 Solved json obj to array issue 2013-03-28 14:52:13 +01:00
Ingo Schommer
3c30c36b71 Fixed help_link config usage 2013-03-27 21:48:55 +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
Ingo Schommer
53c84ee1fe Merge remote-tracking branch 'origin/3.0' into 3.1 2013-03-19 14:04:29 +01:00
Ingo Schommer
52ffb307a7 Fixed ValidationException handling in LeftAndMain
getResult() isn't always available, and has the same content
as the native Exception->getMessage() anyway
2013-03-19 14:02:28 +01:00
Andrew Short
b8a51c3792 Merge branch '3.0' into 3.1 2013-03-19 22:27:09 +11:00
Ingo Schommer
dd6f33ab37 FIX Respect tree node limits, fix search result node display
- Renamed $minNodeCount to more accurate $nodeCountThreshold
- The $minNodeCount attribute wasn't properly respected
during actual querying, so SilverStripe would always traverse
the entire tree (and load all objects into memory),
before then marking nodes as "unexpanded", which prevents
them from actually being rendered.
- Fixes nodes on search results to be expanded by default
- Fixes nodes on search results to correctly ajax-expand
2013-03-19 00:05:14 +01:00
Andrew Short
6ae931df24 Merge branch '3.0' into 3.1 2013-03-15 21:47:23 +11:00
Ingo Schommer
b81f39aee5 API Handle uncaught ValidationException on CMS controller execution
This removes the need for a lot of boilerplate code
around DataObject->write() logic, and avoids generic 500 errors
on user-level failures. This should really be a per-project choice,
but at the moment request handling doesn't allow to configure
custom exception handling.
2013-03-08 12:55:30 +01:00
Ingo Schommer
2b6d735182 Using composer.lock for LeftAndMain->CMSVersion()
See https://github.com/silverstripe/silverstripe-cms/pull/289 for context
2013-02-28 13:38:19 +01:00
Loz Calver
8066376290 ENHANCEMENT: LeftAndMain breadcrumbs to use MenuTitle
Breadcrumbs in the CMS currently only use title, when MenuTitle is
probably more appropriate (if it is set).
2012-12-17 17:41:04 +01:00
uniun
77212c0647 CMS Titles does not support UTF-8
Title in CMS is set using header X-Title. But UTF-8 characters can't be used in HTTP headers. So the title should be encoded just before sending X-Title header and decoded before setting HTML document title (fixes #7942).
2012-12-17 17:36:00 +01:00
Naomi Guyer
5cef05ebea Separate out ActionTabSet functionality into a new file & clean up. 2012-12-13 17:43:25 +01:00
Mateusz Uzdowski
4fa2b0f3ff API Support disabling/enabling of previews.
This fixes the problem of panels flipping back to the Pages section if
loading a non-previewable section, and also initialisation problems.
2012-12-10 17:52:01 +01:00
Mateusz Uzdowski
8f5acd70b3 API Move state to enwtine properties, provide API for preview.
Also the preview state is now kept between panel loads. We also use a
redraw function to update appearance based on the state.
2012-12-10 17:52:01 +01:00
Mateusz Uzdowski
d4f13fe532 API Refactor the CMS layouting to provide access to options.
It is now possible to change the threeColumnLayout width options for the
columns via entwine property LayoutOptions and accessor methods.

Thanks @robert-h-curry, @clarkepaul for contributing!
2012-12-10 17:52:01 +01:00
Mateusz Uzdowski
f4b080ee06 NEW Side by side editing functionality - first cut (os#7412)
Introduces a preview window that appears when the screen is wide enough,
removes old preview button, adds a draft-public switch, adds variety of
preview options which are not hooked up yet.

Goes along with cms commit fa3738a9f4c5181eabf18a77ca89792d31592250
2012-12-10 17:51:35 +01:00
Ingo Schommer
4d106aa998 BUG Fixed unintentional ParentID reset in "add page" form
Side effects from old JS hanging around which was no longer used.
See d364070941
for background discussion.
2012-12-04 11:30:29 +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
Loz Calver
ea2dc9da0e ENHANCEMENT: Add ability to change URL for SS logo in CMS Menu 2012-11-09 11:06:04 +01:00
Andrew O'Neil
0c8de0a1de APICHANGE: Use late static binding for Object::has_extension() 2012-11-07 11:07:55 +13:00
Sean Harvey
169366a011 Merge branch '3.0' 2012-11-06 13:04:21 +13:00
Sean Harvey
3451da001a BUG Fixing session keep alive for non-ADMIN users
SecurityAdmin isn't always available for CMS users, as they might
not have permission to view that section. This fixes the problem
with session keep alive by moving the ping to Security/ping, which
is available for all users.
2012-11-05 15:41:10 +13:00
Sean Harvey
fbc6e3366b Merge branch '3.0' 2012-11-05 15:11:48 +13:00
Sean Harvey
7a7c1a6857 BUG Escape tree title 2012-11-05 13:19:02 +13:00
Simon Welsh
0b279a2cbc Changes ping to POST and clears Requirements for ping
GET requests can, and do, get cached. Using POST forces them not to.
Clears requirements so that the SecurityAdmin JS isn't injected.
2012-11-01 21:15:43 +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
Saophalkun Ponlu
e3a27ea7da CMS member profile now is no longer in a popup (#7880) 2012-10-08 12:57:55 +02: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
e2f073f38a Method visibility according to coding conventions 2012-09-20 10:46:59 +02:00
Ingo Schommer
2f643817a4 LeftAndMain::$session_namespace
More fine-grained control over session storage,
particularly when reusing the "current page" state.
2012-08-29 15:10:05 +02:00
martimiz
82500dd4c4 NEW Custom menu icons for the CMS main menu
Add optional custom menu icons to the CMS main menu for every class
extending LeftAndMain (ModelAdmin). Works by setting optional static
$menu_icon = '/path/to/image' and providing custom styling for added
icons. Works for the menu as well as icon in the right-side (GridField) pane header.
2012-08-29 13:14:59 +02:00
Hamish Friedlander
05fade3249 FIX 7763 TreeDropdownField needs to refresh after CMS edit form save 2012-08-29 10:52:56 +12:00
Kirk Mayo
3e351bc421 BUG: open ticket 7812 correcting filter syntax on a DataObject used by function updatetreenodes 2012-08-27 14:41:07 +12:00
Ingo Schommer
2fab657fce i18n for CMS section titles (see #7798) 2012-08-26 23:58:31 +02:00
Hamish Friedlander
b560d258d3 Re-enable Entwine Inspector in CMS & document 2012-08-20 11:26:11 +12:00
Ingo Schommer
77d939f0b2 CMS Localization 2012-08-09 23:55:30 +02:00
Hamish Friedlander
22d6c7afa4 BUG Updating node would position wrong, Sort isnt === offset 2012-07-23 22:15:11 +12:00
Ingo Schommer
120de7cba2 NEW Tree node updates after save (fixes #7450, #7389)
- Updates icon, badges, title, and position in hierarchy
- New LeftAndMain_TreeNode API to allow rendering of single tree nodes
without their hierarchy, extracted from LeftAndMain->getSiteTreeFor()
- New LeftAndMain->updatetreenodes() endpoint to request updated state
for one or more nodes. Triggered on demand by form refreshes.
2012-07-23 17:21:49 +12:00
Ingo Schommer
faff2c122d Localized CMS breadcrumbs title 2012-07-18 13:51:12 +02:00
Ingo Schommer
d4b8db27af Marking fake LeftAndMain->redirect() responses as finished
Introduce new LeftAndMain_HTTPResponse class for this purpose,
to mark a response as finished regardless of HTTP status.
This is required for ajax responses which do redirects on app layer
rather than HTTP (to avoid double processing).

Specifically required to decorate LeftAndMain->init()
in the 'translatable' module (TranslatableCMSMainExtension),
which marks the response as finished through its redirect,
avoiding further processing after init().
2012-07-16 23:30:59 +02:00
Ingo Schommer
ba9c3c7b8e BUGFIX Type checking in CMS URL params (fixes #7187)
Nasty issue where nested requests to sub-controllers within LeftAndMain->EditForm() would fail because of
LeftAndMain->currentPageID() being taken from the URL, even though it was a field action name.
Example: POST /admin/pages/edit/EditForm/field/MyGridField/item/1/ItemEditForm/field/MyUploadField/upload
The current ID would be detected as "field" in this case.
Bug was previously fixed for AssetAdmin.
2012-06-22 17:47:45 +02:00
Sam Minnée
7ce7ac406e Merge pull request #528 from mango9/master
Ticket #5578
2012-06-14 16:43:20 -07:00
Hamish Friedlander
21e7ec61f4 ENHANCEMENT: In dev mode, include some basic leak detection functions in the admin panel 2012-06-15 01:19:19 +02:00
Ingo Schommer
c81d0e1222 MINOR Only set X-Pjax header in redirections if it doesn't already exist in the response 2012-06-14 20:20:29 +02:00
Paul Meyrick
882b4267cb BUGFIX: Ticket #5578 SiteTree->CanCreateTopLevel() doesn't change dragged tree nodes or ParentID changes 2012-06-14 17:17:27 +12:00
Andrew Short
d9c7bb8eb9 ENHANCEMENT: Implemented help text for form fields.
The title attribute is extracted from form fields and displayed inline
below the field.
2012-06-13 13:19:12 +02:00
Ingo Schommer
ce3d48e310 MINOR Supressed dependencies of tree logic on SiteTree elements (not properly isolated to work well with Folder objects) 2012-06-13 00:51:53 +02:00
Ingo Schommer
b1d95cffac BUGFIX Passing existing SS_HTTPResponse to PjaxResponseNegotiator in LeftAndMain so state like X-Status HTTP headers are retained (fixes #7427) 2012-06-13 00:27:03 +02:00
Ingo Schommer
ed9c856442 ENHANCEMENT Strikethrough styling for deleted tree nodes, adding status classes to tree node <li> in addition to the existing <span class="badge"> (fixes #7410) 2012-06-12 15:53:38 +02:00
Sam Minnee
267f41bdf4 ENHANCEMENT: Point userhelp link at a new userhelp instance. (#7430) 2012-06-07 13:46:47 +12:00
Ingo Schommer
b3164eb2a9 MINOR Disabled jQuery.entwine inspector in dev mode, as it causes side effects due to document.write() before other scripts are loaded 2012-06-06 11:49:32 +02:00
Ingo Schommer
5178954311 UNFINISHED Processing multiple PJAX responses on CMS JavaScript, introducing data-pjax-fragment attribute to identify reloadable template parts 2012-05-30 15:07:13 +02:00
Ingo Schommer
5b03f49245 BUGFIX Respecting server-overrides on X-Pjax responses during ajax redirects. Fixes GridFieldDetailForm redirect after delete, e.g. in ModelAdmin. Partially reverts 8b4b896. Closes pull request #488 2012-05-29 11:34:47 +02:00
Sean Harvey
45465dca91 Merge pull request #483 from halkyon/cms_ping_keepalive
Re-instate CMS ping to ensure sessions are kept alive
2012-05-23 15:55:22 -07:00
Sean Harvey
77c2365b87 MINOR Replacing deprecated static function calls to Director with
current Controller instance replacements.
2012-05-23 21:50:02 +12:00
Sean Harvey
ecf847b61c ENHANCEMENT Re-instate pinging every 5 minutes in the CMS as a measure
to keep sessions alive. Moved Security/ping to admin/security/ping
2012-05-23 17:15:17 +12:00
Sean Harvey
3ed9c5f9f8 MINOR Removed getitem allowed action, this method no longer exists in LeftAndMain 2012-05-22 17:33:34 +12:00
Sean Harvey
3f932d6bad Merge pull request #464 from mateusz/os7299
BUGFIX: add capability of redirecting form actions.
2012-05-17 22:44:05 -07:00
Mateusz Uzdowski
8b4b896578 BUGFIX: add capability of redirecting form actions.
Form actions assume that they are reloading the form afterwards. But
this is not always the case - for example "delete" action will redirect
back to the panel, so we need to be able to set the X-Pjax headers
accordingly.
2012-05-18 17:36:06 +12:00
Sam Minnee
70a5b49dd6 MINOR: Fixed i18n coding for LeftAndMain save and delete. 2012-05-18 16:15:13 +12:00
Ingo Schommer
5ff282e20a MINOR Allow extending LeftAndMain->SiteTreeAsUL() (specifically used to add the language drop down for the 'translatable' module) 2012-05-15 21:28:38 +02:00
Ingo Schommer
8e39e7dfba MINOR Allow extension of LeftAndMain->Link() 2012-05-15 21:27:32 +02:00
Ingo Schommer
d42ea5a9d6 BUGFIX Encoding multibyte characters in custom X-Status HTTP headers used in CMS (headers don't allow multibyte data) 2012-05-14 15:13:49 +02:00
Ingo Schommer
45ae2465e8 Merge pull request #438 from ajshort/sapphire
---

These are some enhancements + tweaks I made as part of getting the advanced workflow module running in SS3:

* Added a readonly view button and action to GridField.
* Made LeftAndMain::getResponseNegotiator() public so CMS extensions can use it to generate responses.
* Fixed top tab background, made text more readable (http://i.imgur.com/yDmmY.png).
* Allow fields in the CMS to not be change tracked using ".no-change-track".
* Made all icons 16x16 (some were different sizes, being cut off), and allow them without .ui-state-default.
* Fixed ToggleCompositeField and tweaked field styling.
2012-05-14 14:25:16 +02:00
Hamish Friedlander
7f05add15e ENHANCEMENT: Make jQuery.Entwine inspector available in admin panels in dev mode 2012-05-14 16:34:18 +12:00
Andrew Short
1e174b3102 API CHANGE: Made LeftAndMain::getResponseNegotiator() public so extensions can use it. 2012-05-12 18:49:56 +10:00
Mateusz Uzdowski
be06ae7e5f MINOR: change the tree reorganisation message. 2012-05-11 16:22:56 +12:00
Ingo Schommer
7e0d0a4dee MINOR Tree metadata naming 2012-05-07 14:45:25 +02:00
Ingo Schommer
4029f96728 ENHANCEMENT Section icons in CMS (#7269) 2012-05-03 13:49:19 +02:00
Ingo Schommer
7b18d9d0da MINOR Switching _t() calls from sprintf() to using injection parameters (#7170) 2012-05-01 22:17:00 +02:00
Sean Harvey
1663e96ddb BUGFIX Fixing stray . in the "Page type: x" tooltip hovering over a page 2012-05-01 15:16:22 +12:00
Sam Minnee
9d36048ada BUGFIX: Fixed a few references to non-existent $request variable. 2012-04-19 10:11:01 +12:00
Ingo Schommer
d8bb1b2375 MINOR Consistent link method names: LeftAndMain->PreviewLink() changed to LinkPreview() 2012-04-18 22:59:18 +02:00
Ingo Schommer
57ee9bf5e8 MINOR Removed unnecessary jquery.livequery include from CMS, its still processing in the background = performance overhead 2012-04-18 17:37:36 +02:00
Ingo Schommer
972e7ccb1a MERGE sitetreeasul 2012-04-18 16:55:15 +02:00
Ingo Schommer
473d3a66b8 MINOR Fixed controller contexts in LeftAndMain->SiteTreeAsUL() - needs different context for edit links and determining "current page" (not applicable for CMSPagesController) 2012-04-17 22:33:30 +02:00
Ingo Schommer
0ef5d0b84f MINOR Moved tree filtering in LeftAndMain from SiteTreeAsUL() into getSiteTreeFor() to allow filtering the initial tree (via GET parameters), rather than just through getsubtree() 2012-04-17 16:07:22 +02:00
Ingo Schommer
9b2b39aaaa MINOR More specific tree links, to ensure correct CMSMain subclass is used 2012-04-17 11:03:09 +02:00
Andrew O'Neil
3b9f99394b MINOR: Use config system for cms title, rather than eval. 2012-04-16 11:04:55 +12:00
Ingo Schommer
d44f6b3e1f MINOR Removed deprecated usage of $priority argument in _t() calls 2012-04-15 17:17:17 +02:00
Will Rossiter
befbd3e6a8 MINOR: remove reference to sapphire in CMSVersion 2012-04-15 15:00:52 +12:00
Simon Welsh
3a6341a251 API-CHANGE sapphire folder can now be renamed. 2012-04-15 10:50:19 +12:00
Ingo Schommer
3572b31a94 MINOR Default app title when SiteConfig object is not present (fixes #7114) 2012-04-13 16:21:30 +02:00
Ingo Schommer
85a898e1d5 MINOR Don't assume existence of cms/ folder in LeftAndMain->CMSVersion() (regression from earlier code) 2012-04-09 23:55:23 +02:00
Wolf Vollprecht
3ae0ac7805 ENHANCEMENT: Rightlick submenu styles and ability to add page with pagetype 2012-04-09 21:08:19 +02:00
Sam Minnee
e01b0aa3d0 ENHANCEMENT PjaxResponseNegotiator for more structured partial ajax refreshes, applied in CMS and GridField. Also fixes issues with history.pushState() and pseudo-redirects on form submissions (e.g. from page/add to page/edit/show/<new-record-id>) 2012-04-05 23:00:22 +02:00
Ingo Schommer
a44b67bae2 API CHANGE Moved RequestHandler->isAjax() to SS_HTTPRequest->isAjax() 2012-04-05 23:00:22 +02:00
Ingo Schommer
40d73127ae MINOR Using late static binding instead of Object::create() calls 2012-04-04 17:10:31 +02:00
Ingo Schommer
6517f4496b Merge pull request #273 from ajoneil/sapphire
---

This allows DataList::create(SiteTree) as equivalent to Object::create(DataList, SiteTree), without
having to have a create() function on DataList.

Required for E_STRICT compliance, as child classes cant override create() if they change the arguments.

DBField::create() is also renamed to DBField::create_field(), as this does not just call the constructor, which all other cases of create() do.

Conflicts:
	tests/model/DateTest.php
	tests/model/DatetimeTest.php
2012-04-04 16:48:16 +02:00
Ingo Schommer
0414e42bbc MINOR Keep X-ControllerURL canonical by not re-constructing with question mark if there's no GET string (caused duplicate HTML5 pushState requests) 2012-04-04 16:47:13 +02:00
Ingo Schommer
f34e58f573 ENHANCEMENT Enabled History.pushState() support in IE via onhashchange fallbacks (#7002) 2012-03-30 16:51:42 +02:00
Sean Harvey
e097f6e1a8 MINOR Fixes to method arguments in core classes for E_STRICT support.
API CHANGE Remove abstract static function and just use static functions
in Authenticator (PHP 5.3+ doesn't support abstract static functions)
2012-03-28 22:41:42 +13:00
Andrew O'Neil
de2832e65f ENHANCEMENT: Allow Object::create() to be called with late static binding.
This allows DataList::create('SiteTree') as equivalent to Object::create('DataList', 'SiteTree'), without
having to have a create() function on DataList. Required for E_STRICT compliance.
2012-03-27 17:57:42 +13:00
Ingo Schommer
620b23a23f MINOR Including GET parameters in X-ControllerURL default headers (which fixes e.g. AssetAdmin search persistence) 2012-03-14 16:07:50 +01:00
Ingo Schommer
bac23bcdb7 BUGFIX Correctly set $BaseCSSClasses on LeftAndMain content container templates, not only on forms. Fixes $('.cms-menu') handling of "current id" updates (fixes #6997) 2012-03-12 14:05:54 +01:00
Ingo Schommer
8f8817b2f9 MINOR Always set X-ControllerURL in CMS responses, in order to fix menu state after Ajax HTTP redirects (e.g. from CMSPageAddController to CMSPageEditController) 2012-03-12 13:41:22 +01:00
Ingo Schommer
44515f51b6 MINOR Don't link tree root node in CMS views, its not editable any longer (replaced by more specialised views with CMSSettingsController and SecurityAdmin->EditForm()) 2012-03-12 10:42:07 +01:00
Ingo Schommer
9e6d70be64 MINOR Moved LeftAndMain->doAdd() and AddForm() to subclasses where they're actually used (no possible through a combination of architectural and UI changes) 2012-03-10 00:04:51 +01:00
Sean Harvey
9f3344b355 API CHANGE Removed built-in behaviour.js client-side form validation.
This is no longer supported. Please use custom client-side validation instead. (see 3.0.0 changelog
for more information)
2012-03-09 12:19:57 +13:00
Ingo Schommer
e4a6dd5850 Merge branch 'integration'
Conflicts:
	forms/gridfield/GridField.php
2012-03-08 20:25:21 +01:00
Ingo Schommer
c117ef58cf API CHANGE Removed LeftAndMain->RootForm(), concept no longer applies in 3.0 UI. Use EmptyForm() or EditForm() 2012-03-08 18:22:30 +01:00
Ingo Schommer
174cf08c75 MINOR Removing special TinyMCE case in LeftAndMain->doAdd(), feature has been removed 2012-03-08 18:22:30 +01:00
Ingo Schommer
27d23633ea MINOR Disabled browser autocomplete for batch action select 2012-03-08 01:49:36 +01:00
Julian Seidenberg
13c7c01b95 MINOR: changing order of save and delete buttons so that they are consistent 2012-03-07 16:43:12 +13:00
Hamish Friedlander
28bb83552a API-CHANGE: moving iterator support from ViewableData to SSViewer. New set of unit tests for iterator support functions. 2012-03-06 09:31:55 +13:00
Hamish Friedlander
927dbbe717 API-CHANGE: Global template variables can now be called directly using SSViewer_DataPresenter instead of needing to inherit off ViewableData 2012-03-06 09:11:46 +13:00
Ingo Schommer
2abb021efb BUGFIX Restored old permission code model, broken due to new controller structure. Introduced LeftAndMain::$required_permission_codes as a way to control permissions independently of subclasses, and "cluster" multiple classes under a single code. 2012-03-05 17:41:49 +01:00
Ingo Schommer
02e728fa08 BUGFIX Fixed visibility of admin/myprofile for non-admins by moving it to a new CMSProfileController class and overloaded canView() 2012-03-02 20:46:22 +01:00
Ingo Schommer
3659c63afe MINOR Updated jquery.form.js plugin, and re-added it to standard includes (its handy for clearing out forms, and consistently getting form field values) 2012-03-02 13:42:15 +01:00
Ingo Schommer
1b600a0b09 MINOR Fixed empty breadcrumbs in AssetAdmin when using non-existent (singleton) record as the "current record" 2012-03-01 00:20:25 +01:00
Ingo Schommer
7d10ff790c MINOR Fixed JS notice/alerts in CMS 2012-02-29 17:15:52 +01:00
Ingo Schommer
af9e46af74 MINOR LeftAndMain->Breadcrumbs() ordering 2012-02-28 18:48:20 +01:00
Ingo Schommer
f67cca321c BUGFIX Using RequestHandler->urlParams rather than HTTPRequest->param() in LeftandMain->currentPageId() in order to avoid the wrong ID being chosen on nested controllers like GridField with their own "ID" parameters in the URL signature 2012-02-28 18:48:02 +01:00
Ingo Schommer
832d410303 MINOR Merge errors 2012-02-28 00:34:15 +01:00
Ingo Schommer
bcc73de85e Merge branch '106-add-edit-records-rc'
Conflicts:
	admin/code/LeftAndMain.php
	admin/css/screen.css
	admin/scss/_style.scss
	admin/templates/Includes/LeftAndMain_EditForm.ss
	css/GridField.css
	filesystem/Folder.php
	forms/gridfield/GridField.php
	forms/gridfield/GridFieldDefaultColumns.php
	forms/gridfield/GridFieldPopupForms.php
2012-02-27 23:58:10 +01:00
Ingo Schommer
3b53ed1937 MINOR Moved some CMS-specific template config into GridFieldPopupForms, to make the external API easier to use, and make specific configs less dependent on the instanciation context, and more tuned to the actual execution controller context 2012-02-27 23:52:48 +01:00
Sam Minnée
61c810a79a Merge pull request #200 from simonwelsh/patch-1
BUGFIX Fallback to sapphire/silverstripe_version if there is no CMS (fra...
2012-02-23 19:14:09 -08:00
Ingo Schommer
30989b598d ENHANCEMENT Added path manipulation lib from jQuery.mobile, using it to ensure all URLs are made absolute (to fix IE issues) 2012-02-23 23:29:59 +01:00
Simon Welsh
df82dac334 BUGFIX Fallback to sapphire/silverstripe_version if there is no CMS (framework only) 2012-02-23 20:46:34 +13:00
Ingo Schommer
abfa16fa70 ENHANCEMENT Using native jQuery UI buttons and icon styling for a less coupled implementation (e.g. assuming that a "constructive" button always has a specific icon, or one at all). All CMS UI buttons switched to use <button> markup, which allows for inline icons and correctly aligned multi-line button labels. 2012-02-17 15:58:32 +01:00
Ingo Schommer
ac56fef8b4 MINOR Removed jQuery.metadata usage in CMS, use jQuery.data() and HTML5 data attributes instead. Also fixes errors where jQuery.metadata tries to eval() HTML5 data attrs, which isn't always applicable 2012-02-17 13:35:53 +01:00
Ingo Schommer
5911abc0f6 API CHANGE Removed prototype.js style $() alias usage for document.getElementById() to avoid confusion with the more common jQuery() alias.
API CHANGE Removed several unsed JavaScript globals: sprintf(), Number.prototype.CURRENCIES, Number.prototype.toCurrency(), String.prototype.ucfirst(), jQuery.fn.clearFields(), jQuery.fn.clearInputs()
MINOR Removed prototype_improvements.js and jquery_improvements.js files, now contained in individual component code (or removed altogether)
2012-02-16 12:27:47 +01:00
Ingo Schommer
a1e9c0f41e ENHANCEMENT CMS panels restructured to use two new types of "tools" templates, fetched through LeftAndMain->Tools() and LeftAndMain->EditFormTools(). Requires less overloading of template markup. 2012-02-15 14:26:45 +01:00
Ingo Schommer
37dfbb6b7e ENHANCEMENT LeftAndMain->Breadcrumbs() 2012-02-14 17:31:32 +01:00
Ingo Schommer
5220a46fd0 ENHANCEMENT Inserting image via new dialog with ajax field retrieval and GridField file selection. Rewritten to jQuery.entwine and using the new HTML editor abstraction layer. 2012-02-14 13:53:35 +01:00
Fred Condo
d370423825 Clean up trailing ?> per coding standard
All sapphire but the lang directory
2012-02-12 12:40:16 -08:00
Ingo Schommer
d261f4406a API CHANGE silverstripe_version file now contains the plain version number, rather than an SVN path 2012-02-01 18:42:21 +01:00
Jeremy Thomerson
09bb6d404c Use corrected function name from silverstripe-cms project
The CMS project had a function named "SiteTree::prepopuplate_permission_cache" which
should be "SiteTree::prepopulate_permission_cache".  Since another commit corrected
the function name in that project, this project needs to use the new name.
2012-01-23 14:29:55 -05:00
Ingo Schommer
e18698d541 MINOR Wrapping tree title in its own element (mainly to facilitate selectors during testing) 2012-01-22 18:27:57 +01:00
Ingo Schommer
c6e1937021 MINOR Rotated labels for collapsed panels 2012-01-06 16:58:04 +01:00
Ingo Schommer
a633326c3e ENHANCEMENT Allow Requirements::add_i18n_javascript() to return its files more optimised inclusion, using it in LeftAndMain 2012-01-06 15:34:29 +01:00
Ingo Schommer
850ea4cd7b MINOR Don't combine CMS-related CSS files in LeftAndMain, as it breaks relative image paths 2012-01-06 10:46:27 +01:00
Ingo Schommer
1ec694d0a9 MINOR Moved EditorToolbar() from CMSMain to LeftAndMain (as we don't support loading link forms via ajax) 2012-01-03 23:01:02 +01:00
Ingo Schommer
b4b6e5a2db MINOR Cleaned up CMS dialog styling (now works with/without tabs, in iframe and inline markup), removed superfluous SCSS variable declarations 2012-01-03 18:11:21 +01:00
Ingo Schommer
8dd64bd2ef MINOR Using box-sizing to lay out form fields rather than relying on hacky 90% widths + pixel-based paddings, which makes it impossible to align anything outside of the field container the these elements. Using conditional CSS to disable field padding if box-sizing is not available. Generalized "stacked" form pattern in _form.scss, fixed CMS actions padding to align with fields. 2012-01-03 18:11:21 +01:00
wolfv
2ccda564ca ENHANCEMENT: #6579 Show page status in page tree (pull request #142 from wolfv/sapphire) 2011-12-29 10:35:44 +01:00
Ingo Schommer
225776389a MINOR Allow overwriting of 'X-Controller' and 'X-Title' HTTP headers in CMS 2011-12-20 17:46:44 +01:00
Ingo Schommer
4d28b79c1b MINOR Reduced HTML validation errors in CMS and FieldGroup 2011-12-18 17:00:01 +01:00
Ingo Schommer
e8ecdf66b2 BUGFIX Disabling HTML5 history hash change fallbacks due to infinite loops on changing hash values 2011-12-15 00:48:34 +01:00
Ingo Schommer
f2ec8b0d54 BUGFIX Enforcing TinyMCE textarea call on window.load in addition to entwine/DOMReady to ensure TinyMCE.init() has been called and all plugins are loaded. 2011-12-15 00:48:29 +01:00
Ingo Schommer
a17e1c21c2 MINOR Suppress inline JS validation scripts in CMS (they don't work with ajax-loaded content) 2011-12-14 16:15:32 +01:00
Ingo Schommer
e5b88c6c48 MINOR Documentation 2011-10-29 21:59:21 +02:00
Ingo Schommer
3aafb63821 MINOR Allowing usage of custom *_EditForm templates in base class with LeftAndMain->getEditForm() (was already implemented in subclasses) 2011-10-29 21:56:33 +02:00
Ingo Schommer
7be28d5714 BUGFIX Making LeftAndMain->PreviewLink() an "opt-in", returning false by default to avoid adverse effects from loading unpreviewable items like users or filesystem folders - see CMSMain for sample implementation 2011-10-29 19:12:33 +02:00
Will Rossiter
3d77214d91 MINOR remove old stylesheet 2011-10-29 15:47:07 +13:00
Sam Minnée
089c38a5da Merge pull request #73 from stojg/leftandmain
MINOR Fixing the path of the CSS files in LeftAndMain
2011-10-27 20:13:47 -07:00
Stig Lindqvist
e38dd08ea5 MINOR: Fix docblocks to reference SS_List instead of (now deprecated) DataObjectSet where appropriate 2011-10-28 15:58:55 +13:00
Hamish Friedlander
0a3e0f15de MINOR: Replace references to FieldSet (now deprecated) with references to FieldList 2011-10-28 15:58:55 +13:00
Stig Lindqvist
15ad2d29c3 MINOR Fixing the path of the CSS files in LeftAndMain 2011-10-22 17:04:02 +02:00
Ingo Schommer
2279e9f3b3 MINOR Removed individual Requirements calls in LeftAndMain->init() in favour of Requirements::combine_files(), to avoid duplication and hard to debug behaviour differences due to changed file inclusion orders between non-live and live systems 2011-10-11 09:55:58 +02:00
Ingo Schommer
98b4fe21d9 Merge branch 'candidasa-cms-enhancements' 2011-10-11 09:37:18 +02:00
Julian Seidenberg
b7f9c59e12 ENHANCEMENT: adding hoverIntent plug-in to the js combined_files (SSO-7) 2011-10-11 12:12:46 +13:00
Julian Seidenberg
f807aa01b2 ENHANCEMENT: introducing a flight delay (using the jQuery HoverIntent plug-in) to prevent "sloppy mouse movement" from instantly closing the flyout menu when the mouse leaves the area. Also fixes problem with the menu in IE7. 2011-10-10 14:00:47 +13:00
Ingo Schommer
fa6681f5c5 BUGFIX: Better handling of non-existent records in delete calls (if button is clicked twice) 2011-10-07 14:12:52 +02:00
Will Rossiter
51affd2d63 BUGFIX: update LeftAndMain::handleRequest() to be consistent with Controller::handleRequest() 2011-09-26 16:55:59 +13:00
Will Rossiter
1732a17114 Merged new-orm into datagrid 2011-09-26 16:47:54 +13:00
Will Rossiter
2036354d8d ENHANCEMENT: implemented CMSPageHistoryController with comparsion view, single version view into new CMSMain interface 2011-09-19 17:26:01 +02:00
Will Rossiter
60cba7dd76 BUGFIX: fixed submenu not opening in cms-menu when cms loads on page other than edit page section 2011-09-19 17:22:36 +02:00
Ingo Schommer
ce8e72cf0e MINOR Removing executable flag from all files (thanks miiihi) 2011-09-18 22:04:02 +02:00
Ingo Schommer
4461cae31b ENHANCEMENT New CMSPreviewable interface class to standardize metadata making a record previewable by the CMS.
ENHANCEMENT New "preview" and "edit" buttons to toggle between preview and cms views. Reinstated utility links to switch between draft and live preview (based on SilverStripeNavigator) (formerly called "AjaxSwitchView")
2011-08-12 17:05:50 +02:00
Ingo Schommer
dacdade4b0 ENHANCEMENT Removed automatic redirection to admin URLs in ContentController, too counter-intuitive and hard to implement consistently, while still allowing linkage of pages without CMS around them. Use $SilverStripeNavigator in custom Page.ss to link a page to its admin view for logged-in users. 2011-08-12 14:28:44 +02:00
Ingo Schommer
e40d3d45c0 ENHANCEMENT $('.cms-preview').block()/unblock() for blocking preview window when unavailable. Fixed duplicate addition of GET parameters in preview with new jQuery.query library for parameter parsing. 2011-08-12 14:28:22 +02:00
Will Rossiter
9a340e7eb4 ENHANCEMENT: Added Chosen jQuery library for providing styled and searchable dropdowns. BUGFIX: removed explict width on TreeDropdownFields, instead using a width from jQuery. 2011-08-05 15:46:57 +12:00
Will Rossiter
1827c18fe1 BUGFIX: fixed CMSMain menu being displayed on CMSPageController pages. MINOR: added icons for main left hand side. 2011-07-28 16:57:41 +12:00
Ingo Schommer
1dc9457048 MINOR Using LeftAndMain->BaseCSSClasses() instead of ViewableData->CSSClasses() to avoid conflicts with customized controller objects (e.g. ModelAdmin_RecordController->edit()) 2011-07-08 15:36:46 +02:00
Ingo Schommer
b326f03ed7 MINOR Using LeftAndMain->Link() $action parameter correctly in getSiteTreeFor() 2011-07-08 15:36:46 +02:00
Ingo Schommer
d68ec395a3 API CHANGE Using $Link instead of $ApplicationTitle and $SectionTitle in LeftAndMain.ss. Adding new 'X-Title' HTTP header in order to support title changes for history.pushState 2011-07-08 15:36:46 +02:00
Ingo Schommer
2f2096cd3a ENHANCEMENT HTML5 History.pushState support in CMS 2011-07-08 15:36:46 +02:00
Ingo Schommer
ff54044206 API CHANGE Forms in ajax responses from LeftAndMain and subclasses include <form> tags, and replace the form itself on the client (rather than just everything inside the form). Form submissions and loading is handled by its container ('.cms-content') to avoid problems with a DOM element replacing itself upon form submission. 2011-07-08 15:36:46 +02:00
Ingo Schommer
8378a9d561 MINOR Moved "pinging" logic for CMS into new LeftAndMain.Ping.js container 2011-07-08 15:36:44 +02:00
Ingo Schommer
4e0949f565 ENHANCEMENT Consistently wrapping CMS forms in <div class="cms-content">, added LeftAndMain.Content.js to reload panels via ajax, hooking into preview logic 2011-07-08 15:36:44 +02:00