Commit Graph

361 Commits

Author SHA1 Message Date
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
Sander van Dragt
b645703eb9 Sort menu items according to priority descending, then title ascending 2013-01-29 15:30:35 +00:00
Ingo Schommer
072b485f66 Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	lang/en.yml
2013-01-22 12:05:48 +01:00
Ingo Schommer
f7c8778466 Breadcrumb/back nav in ModelAdmin now retains search params 2013-01-21 12:04:20 +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
89176e8f5d Unescaped breadcrumbs for inline groups display (fixes #7936) 2013-01-21 08:51:16 +01:00
Nicolaas
7523fe4ef7 Update admin/code/ModelAdmin.php
Changed "Clear Database before import" - which is incorrect (not the whole database gets wiped, only the data in the model at hand) with the simpler: "replace data".
2013-01-19 22:38:55 +13:00
Jeremy Bridson
a93f8841d7 BUGFIX:fixed broken styling of iframe in IE for member and group import 2013-01-15 00:57:47 +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
Ingo Schommer
b3657147bf BUG Remove "delete" button from "My Profile" (fixes #8121) 2012-12-15 20:02:17 +01:00
Naomi Guyer
5cef05ebea Separate out ActionTabSet functionality into a new file & clean up. 2012-12-13 17:43: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
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
Sean Harvey
6a9617bf6b Remove deprecated LeftAndMainDecorator, use LeftAndMainExtension instead 2012-11-15 14:43:11 +13:00
Loz Calver
ea2dc9da0e ENHANCEMENT: Add ability to change URL for SS logo in CMS Menu 2012-11-09 11:06:04 +01:00
Sean Harvey
aec59de955 Adding title to CMSProfileController so translations get default 2012-11-07 11:41: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
3214a0a756 Merge remote-tracking branch 'origin/3.0'
Conflicts:
	admin/css/screen.css
2012-11-06 19:56:34 +01:00
Ingo Schommer
ff39f9ad38 Upgrade jQuery UI to 1.9
- Fixed jQuery.tabs remote tabs loading behaviour (see http://forum.jquery.com/topic/tabs-api-redesign)
2012-11-06 19:45:56 +01: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
Ingo Schommer
08832261c1 Fixed merge errors in CMSProfileController 2012-10-30 18:03:49 +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
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
Simon Erkelens
f991401a52 Translation possible for clear before import
I couldn't figure out why it wouldn't translate...
2012-09-28 09:45:16 +03: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
c7fd9a6605 CMS Localization 2012-08-10 00:17:34 +02: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
712f28bc78 Scoped deprecation messages (fixes #7645) 2012-07-13 11:37:35 +02:00
Simon Welsh
8d670283c9 FIX Santise model classes in ModelAdmin
As ModelAdmin puts classes directly into links, a namespaced class
has its \s turned into /s, breaking the links. This escapes them by
converting each \ to a -, then converting them back when loading.
2012-06-29 13:52:33 +12: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
Hamish Friedlander
03469230ff BUGFIX: Add batch handler status messages (fixes #7427)
7427 was mostly fixed by Ingos previous patch. But two batch actions, delete from draft site and delete from published site werent returning
status messages. Abstracted out the status preperation code that the batch actions that were returning status messages were using, and
used that to add status messages to the problem two
2012-06-22 13:59:08 +12: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
12f2e1e176 Merge branch 'pjax-multiple' 2012-06-05 14:01:18 +02:00
Ingo Schommer
31a66e0424 MINOR Returning at least some error feedback when admin/* route isn't found (fixes #7409) 2012-06-03 22:46:16 +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
c3eabffcb9 MINOR Use shorthand {class}::get() syntax instead of DataList::create()
in core code.
2012-05-28 21:13:42 +12:00
Sam Minnée
f80091f16a Merge pull request #492 from ajshort/multisites
Fix ModelAdmin When Managed Models Is Array
2012-05-27 16:53:28 -07:00
Sean Harvey
79680137b1 BUGFIX SecurityAdmin shows incorrect breadcrumbs for viewing Roles GridField. Partially reverts 16982ba17c. 2012-05-28 11:46:25 +12:00
Sean Harvey
74d444cf2f BUGFIX Ensure "Add [modelClass]" is shown instead of using the field name of the GridField, partially reverts 16982ba17c which broke breadcrumbs in SecurityAdmin 2012-05-28 11:43:47 +12:00
Andrew Short
b7ce610933 BUGFIX: Fixed ModelAdmin not working when managed models was defined as an array. 2012-05-27 21:45:42 +10:00
Ingo Schommer
fa445ad13f Merge pull request #452 from adrexia/sapphire
---

* Added a separate component to grid field to hold buttons.
* Updated templates for changes
* Updated comments

Conflicts:
	css/AssetUploadField.css
	css/GridField.css
2012-05-24 23:06:46 +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
ae1a106600 BUGFIX Ensure that CMSMain rule doesn't override the CMSPagesController
rule in AdminRootController::add_rule_for_controller()
2012-05-22 16:59:31 +12:00
Naomi Guyer
16982ba17c ENHANCEMENT: Make GridFieldAddNewButton Content more specific
* Alter Grid Field "Add New" Button to take the name of the table (i.e.
"Add Member")
* Alter table names in security section to be singular so the button
text makes sense
2012-05-21 17:47:14 +12:00
Hamish Friedlander
94f50f554e API CHANGE: Changes to make Director rules set through the new config system. Includes the addition of a new AdminRootController to take over handling of routing /admin/* routes to the correct LeftAndMain panel. 2012-05-19 14:37:32 +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
9052cdc1da ENHANCEMENT Making "Users", "Groups" and "Roles" tabs in SecurityAdmin bookmarkable.
ENHANCEMENT Fixed SecurityAdmin->Breadcrumbs() to include link to individual tab, and disable backlink (signed off by Paul)
2012-05-08 11:25:47 +02:00
Ingo Schommer
f2d2f5bb0e MINOR Changed CMS section name from "Users" back to its 2.4 label, "Security". Mainly to avoid breadcrumb weirdnesses when having a "Users/Users/My User" path. Signed off by Paul. 2012-05-08 11:25:47 +02: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
Sean Harvey
151abde17d Merge pull request #388 from chillu/trac/7170-i18n-sprintf-injections
#7170 i18n sprintf injections
2012-05-02 16:18:30 -07:00
Ingo Schommer
c7323545b6 BUGFIX Return consistent data from ModelAdmin->getManagedModels(), fixing custom 'title' settings in $managed_models (fixes #7243) 2012-05-02 22:11:26 +02:00
Ingo Schommer
dc659543a1 MINOR Correct breadcrumbs in ModelAdmin when managing multiple models (#7240) 2012-05-02 18:13:34 +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