Commit Graph

1365 Commits

Author SHA1 Message Date
Ingo Schommer
0d993c1aac Merge pull request #2535 from Martimiz/3.1
Strip duplicate querystrings from the url before adding document.location.search
2013-10-16 12:41:52 -07:00
Loz Calver
3bbfca820b Allow non-action buttons to pass through validation (fixes #2527)
The specific example for this issue is InlineFormField - results in actionName() on non-object error. See #2527 for context.

Include parentheses for coding conventions
2013-10-16 10:39:31 +01:00
Will Rossiter
813d34b15e FIX: Use Injector API for managing Member_Validator instance.
Updates the CMS profile page and SecurityAdmin to give developers a few ways to customise the required fields.

Added extension hook updateValidator for getValidator for things like modules to inject required fields to go along with Injector for replacing the entire class for project specific use.
2013-10-16 11:29:43 +13:00
Will Rossiter
8febaeafb9 Update docblocks 2013-10-15 11:29:58 +13:00
Martimiz
364ce08f52 Strip duplicate querystrings from the url before adding document.location.search
When a querystring is passed with the url (for example Translatable locale) it is duplicated each time the content panel is reloaded, by adding document.location.search and so it should be stripped from the url first.
2013-10-14 15:33:40 +02:00
Andrew Short
024d46ceb5 Merge pull request #2525 from chillu/pulls/tree-node-parent-refresh
Load tree parent nodes if non-existant
2013-10-11 07:37:31 -07:00
Andrew Short
3f7b3fddc9 BUG: Fix tab state not being restored due to incorrect selector.
Closes #2321.
2013-10-12 01:09:58 +11:00
Ingo Schommer
6c96c490c6 Load tree parent nodes if non-existant
This edge case can occur when a large tree is cached in HTML already,
without any nodes expanded via ajax. If a new node is added with
a parent that's not existant, it was simply placed on the root node.
This is a display bug, a full CMS refresh fixes it.

Fixes a related bug where tree causes (view) duplicates,
where the same node is rendered twice. This was due to the whole
subtree being refreshed (including the new node) through jstree's
built-in "open"/"select" events, while at the same time
creating a new node through updateNodesFromServer() callbacks.

Also added a global tree loading indication to make it clear
that the tree is still processing.

See https://github.com/silverstripe/silverstripe-cms/issues/872
2013-10-11 11:51:11 +02:00
Will Rossiter
3851ef9f2c Style destructive actions destructively 2013-10-11 20:00:11 +13:00
RuthAdele
9850d2c5f2 Remove large left margin on field description within cms-content-tools 2013-10-10 12:51:28 +02:00
Will Rossiter
9bb97140ad Merge pull request #2510 from kinglozzer/cmsmenuitem-tests
Unit test coverage for CMSMenuItem
2013-10-09 23:19:14 -07:00
Andrew Short
a63b9c9d5d FIX: Fix not switching to the correct tab on validation error. 2013-10-09 23:28:09 +11:00
Andrew Short
ed9f8dcf1f BUG: Fix CMS forms with validation errors responding incorrectly.
A new form instance was being constructed for the response, which mean
that a lot of the validation information was lost. This fix means that:

* Enterered data is correctly persisted.
* A validation error notification is displayed.
2013-10-09 23:27:56 +11:00
Loz Calver
c34167b0ec Unit test coverage for CMSMenuItem 2013-10-09 10:43:53 +01:00
Ingo Schommer
93558a6d62 Globalization in TreeDropdownField JS 2013-10-08 12:12:25 +02:00
Ingo Schommer
aa6ca49651 Merge pull request #2493 from kinglozzer/2449-form-validation-exemptions
NEW: Allow setting of specific form actions that do not require validation on CMSForm
2013-10-08 01:51:11 -07:00
Ingo Schommer
795d3e4b3b Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	dev/install/install.php5
	docs/en/index.md
	tests/core/CoreTest.php
2013-10-07 16:18:20 +02:00
Ingo Schommer
0e5524af44 Merge remote-tracking branch 'origin/tmp-3.1.0' into 3.1
Conflicts:
	docs/en/changelogs/3.1.1.md
	tests/behat/features/profile.feature
2013-10-07 15:19:07 +02:00
Ingo Schommer
dc7e2df20a Corrected translation references in templates
Were using old entity naming scheme (*.ss) instead
of underscored version which doesn't create a new YML
namespace. This means all existing translations should indeed be used.
Was already fixed in master, but not in 3.1
2013-10-06 23:25:47 +02:00
Loz Calver
3172c7732e Allow setting of specific form actions that do not require validation
Move validation exemptions into CMSForm

Also fix buttonClicked() to skip CompositeField

Whitespace

Adding unit tests
2013-10-04 10:30:20 +01:00
Sean Harvey
5e5a2f8845 Merge pull request #2288 from chillu/pulls/browser-spellcheck
API Disable discontinued Google Spellcheck in TinyMCE (#2213)
2013-10-03 14:42:45 -07:00
Ingo Schommer
6ce97b959e Merge pull request #2037 from kinglozzer/feature-disable-treemultiselect-nodes
FEATURE: Disable specific tree nodes in TreeDropdownField
2013-10-02 05:09:36 -07:00
Loz Calver
6b3b61873a FEATURE: Disable specific tree nodes in TreeDropdownField
DO NOT MERGE: to be reviewed.

This feature request was born out of wanting the ability to disable (for example) a top level page from being selected, while still being able to select a child page. Using setFilterFunction() simply removes the node and its children.

Extra styling for disabled nodes

Disable ability to select a disabled node for TreeDropdownField

Disable hover CSS changes

Fixing merge conflict during rebase

Return a boolean for nodeIsDisabled()
2013-10-02 12:53:23 +01: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
Ingo Schommer
298de5a67d FIX Escape breadcrumbs in SecurityAdmin (SS-2013-007) 2013-09-30 22:53:43 +02:00
Will Rossiter
8c958cd5fb Merge pull request #2460 from ajshort/long-cms-titles
Fix the display of long CMS menu item titles.
2013-09-27 01:28:55 -07:00
Andrew Short
9e984b8c99 Add an extension hook for the batch actions form. 2013-09-27 15:46:01 +10:00
Andrew Short
cd9a4f9b3f Fix the display of long CMS menu item titles. 2013-09-26 22:24:59 +10:00
Ingo Schommer
debd81d380 Merge pull request #2453 from chillu/pulls/escape-3.1.0
Escaping 3.1
2013-09-25 16:02:45 -07:00
Ingo Schommer
78ce99be09 FIX Escape breadcrumbs in SecurityAdmin (SS-2013-007) 2013-09-24 21:41:18 +02:00
James Cocker
3e9c827603 Reverted incorrect CSS sprite location changes
Reverted the sprite location, undoing the incorrect location that was added in 3a17e168cc, probably due to a local incorrect Compass setup.
2013-09-21 14:22:46 +01:00
Ingo Schommer
1bb993b0b3 Form errors in LeftAndMain response negotiation
The session key for form errors changed from "Form_EditForm" to "CMSForm_EditForm",
causing a mismatch. See https://github.com/silverstripe/silverstripe-framework/pull/2084/files#r6338249 for discussion
2013-09-18 14:30:37 +02:00
jaedb
3a17e168cc Styling admin notice popup 2013-09-18 11:42:26 +02:00
Ingo Schommer
c2b312d76f Merge remote-tracking branch 'origin/3.1.0' into 3.1 2013-09-12 17:24:42 +02:00
Ingo Schommer
6cff9671d4 FIX Privilege escalation through Group and Member CSV upload (SS-2013-004)
See http://www.silverstripe.org/ss-2013-004-privilege-escalation-through-group-and-member-csv-upload/
2013-09-12 15:42:43 +02:00
Ingo Schommer
46556b609e FIX Privilege escalation through Group and Member CSV upload (SS-2013-004)
See http://www.silverstripe.org/ss-2013-004-privilege-escalation-through-group-and-member-csv-upload/
2013-09-12 15:42:35 +02:00
Naomi Guyer
52ef14a9ec BUG: Image resize allows skewing of image in IE (fixes CMS #791)
Including this plugin seemed like the most complete solution to this
problem, and allows it to be removed when tinymce is upgraded (assuming
they have fixed this issue). Uses a compressed version of the
advimagescale fork from sourceforge
(http://sourceforge.net/p/tinymce/plugins/186/), as it allowed for
multiple tinymce instances.
2013-09-04 15:01:46 +12:00
Ingo Schommer
20b49e215c Merge pull request #2136 from nedmas/fix-remove-export-button-padding
FIX: GridField button styling
2013-08-30 00:24:21 -07:00
Hamish Friedlander
45c1d2b0ce FIX webfonts in preview iframe breaking admin fonts
In IE8, when a page in the preview iframe uses a web font (not just
references it in CSS, but actually has glyphs present in the page),
the fonts in the containing admin interface will become corrupted
(display as all squares) until the mouse moves.

This commit uses the technique described at
http://stackoverflow.com/questions/9809351/ie8-css-font-face-fonts-only-working-for-before-content-on-over-and-sometimes#10557782
to cause the admin panel to re-calculated all it's fonts
after the preview iframe has loaded, fixing the glitch
2013-08-27 10:49:24 +12:00
Mateusz Uzdowski
137aa53156 Return jQuery deferred object from LeftAndMain's loadFragment. 2013-08-23 09:39:38 +12:00
Mateusz Uzdowski
1f8feb5efc API Provide a thin alternative to loadPanel/submitForm.
This is needed in some situations when we only want to update a
small single component, sometimes even using a different controller to
the one implied in the URL.

An example here is reloading dynamically the subsite dropdown without
reloading the entire page, updating a filter sidebar or suchlike.
2013-08-22 15:16:13 +12:00
Simon Welsh
151baeede1 Correct line length and indentation 2013-08-21 18:54:05 +12:00
Sean Harvey
abe09c79e5 Merge branch '3.1.0' into 3.1 2013-08-21 10:39:27 +12:00
Mateusz U
afd3e3f0d0 Merge pull request #2345 from hafriedlander/fix/performance
Couple of performance fixes - eliminate un-necessary redraws and preview updating
2013-08-20 14:40:22 -07:00
Hamish Friedlander
0ca4969cda FIX Dont update preview iframe if hidden
Updating the iframe src when the iframe isnt visible in IE8 causes a
view disconcerting font glitch (and it slows down navigation anyway),
so if the iframe isnt visible, delay setting the src until it is
2013-08-21 09:29:28 +12:00
Hamish Friedlander
c59305d6d4 FIX Multiple redraw calls on navigation 2013-08-21 09:29:28 +12:00
Ingo Schommer
699cbfe851 Merge branch '3.1.0' into 3.1
Conflicts:
	thirdparty/jquery-entwine/dist/jquery.concrete-dist.js
	thirdparty/jquery-entwine/spec/SpecRunner.html
	thirdparty/jquery-entwine/spec/spec.entwine.eventcapture.js
	thirdparty/jquery-entwine/spec/spec.entwine.namespaces.js
	thirdparty/jquery-entwine/src/domevents/jquery.entwine.domevents.addrem.js
	thirdparty/jquery-entwine/src/jquery.entwine.eventcapture.js
	thirdparty/jquery-entwine/src/jquery.entwine.js
	thirdparty/jquery-entwine/src/jquery.focusinout.js
2013-08-20 16:58:40 +02:00
Ingo Schommer
6627a19994 Merge branch 'context-menu' of https://github.com/adrexia/framework into adrexia-context-menu
Conflicts:
	admin/scss/_tree.scss
2013-08-20 15:04:02 +02:00
Hamish Friedlander
fda4b91d06 FIX Make sure CurrentXHR is set back to null on completion 2013-08-20 15:49:37 +12:00
Naomi Guyer
e6b06cade4 BUG: Context menu too long - CSS only (Fixes CMS #811) 2013-08-20 11:35:22 +12:00
Will Rossiter
1621d6afde Merge pull request #2316 from chillu/pulls/editor-brokenlink
Render broken link in HtmlEditorField
2013-08-17 17:01:14 -07:00
Ingo Schommer
02cc662aaf More specific entwine rule for delete alert in GridField
The rule didn't apply in Firefox because of how it handles specificity,
so made it a bit more specific (added "button" and ".action")
2013-08-16 16:06:31 +02:00
Ingo Schommer
d325551079 Merge remote-tracking branch 'origin/3.1.0' into 3.1 2013-08-16 13:36:34 +02:00
Naomi Guyer
fb67181366 BUG: Context menu too long - CSS only (Fixes CMS #811) 2013-08-16 13:34:23 +02:00
Ingo Schommer
eb17cf3eb9 Merge pull request #2275 from ARNHOE/3.1-updatefieldgroupstyle
BUG Fieldgroup styling
2013-08-15 12:14:05 -07:00
Ingo Schommer
79205f7d43 Render broken link in HtmlEditorField
Regression: 2.4 had this in the default cms/css/editor.css,
which got moved to the simple theme at some point,
where this styling was removed.
2013-08-09 11:51:18 +02: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
Ingo Schommer
c5442810cf Merge pull request #2271 from ARNHOE/3.1-twotoneborders
Updated field class to use doubleborder mixin
2013-08-03 09:49:23 -07:00
Ingo Schommer
0e7231ff60 API Disable discontinued Google Spellcheck in TinyMCE
Replaced by browser-based spellchecking if available (Chrome, Firefox),
with instructions on how to use PSpell as an alternative.
2013-08-03 16:16:45 +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
Michael Andrewartha
769b7f2af5 Fixing expanding/collapse CMS menu targeting wrong element
If a user clicks the log out button (for example) and the menu is
collapsed, the menu expands and then you have to press log out
again
2013-07-30 15:02:26 +12:00
Arno Poot
fefb7af0f5 BUG Fieldgroup styling 2013-07-28 15:52:39 +02:00
ARNHOE
e71adf6b6b Added chosen.js support to dropdown in fieldgroup 2013-07-26 20:25:27 +02:00
Arno Poot
968e99f45e Updated field class to use doubleborder mixin 2013-07-26 16:44:00 +02:00
Sam Minnée
2ca089532f Merge pull request #2219 from chillu/pulls/clickjacking
BUG Prevent clickjacking in CMS and Security controllers (fixes #2215)
2013-07-16 14:35:53 -07:00
Ingo Schommer
d4a1e6d294 BUG Prevent clickjacking in CMS and Security controllers (fixes #2215) 2013-07-14 22:44:09 +02:00
ARNHOE
2427d57fa5 Updated loop/if/with to be more consistent 2013-07-14 20:43:52 +12: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
Ingo Schommer
a9f150126c Fix CMSBatchActionHandler::$allowed_actions
Regression from earlier API change to deny actions unless specified
2013-06-28 10:07:57 +02:00
Simon Welsh
1edf45fbed Merge pull request #2130 from chillu/pulls/allowed_actions-deny
API Enforce $allowed_actions in RequestHandler->checkAccessAction()
2013-06-24 12:41:15 -07:00
Ingo Schommer
1046530ff6 "Insert Media" dialog: Prevent loading indicator in IE8+
Fixes https://github.com/silverstripe/silverstripe-cms/issues/782
2013-06-24 17:14:32 +02:00
Ingo Schommer
8c9ef8feb9 "Insert Media" dialog: Reposition separately (fixes #783)
FF21 and IE10 seem to propagate the DOM attribute changes differently
from Chrome: The dimensions can't be set in the same setOptions()
call through jQuery UI here. Fixed this by a separate setOption() call.
2013-06-24 16:13:29 +02:00
Ingo Schommer
fb784af738 API Enforce $allowed_actions in RequestHandler->checkAccessAction()
See discussion at https://groups.google.com/forum/?fromgroups#!topic/silverstripe-dev/Dodomh9QZjk

Fixes an access issue where all public methods on FormField were allowed,
and not checked for $allowed_actions. Before this patch you could e.g.
call FormField->Value() on the first field by using action_Value.

Removes the following assertion because it only worked due to RequestHandlingTest_AllowedControllerExtension
*not* having $allowed_extensions declared: "Actions on magic methods are only accessible if explicitly allowed on the controller."
2013-06-24 14:50:40 +02:00
ARNHOE
6e7cae50fd Updated helplink to 3.1 2013-06-22 18:08:25 +02:00
Tom Densham
3596892001 FIX: GridField button styling
Remove all top/bottom margins from buttons and apply to GridFieldButtonRow component. Ensure that all buttons are added to a suitable GridFieldButtonRow in ModelAdmin, SecurityAdmin and Group.
2013-06-21 14:22:00 +01:00
Damian Mooyman
f47383f52e BUG Fixed issue where file upload via the HTML Editor media dialogue would not prompt users to overwrite existing files 2013-06-20 15:21:18 +12:00
Ingo Schommer
a4189a6744 Merge pull request #2117 from ohararyan/3.1
FIX make sure select dropdowns in add page dialog aren't cut off
2013-06-19 05:30:54 -07:00
Ingo Schommer
8769da5622 CMS UI: Resize iframe alongside dialog
Fixes regression from 9f600ada2c
2013-06-19 14:28:34 +02:00
Ingo Schommer
2160fb8000 Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	admin/javascript/LeftAndMain.js
	tests/behat/features/bootstrap/SilverStripe/Framework/Test/Behaviour/CmsUiContext.php
	tests/control/ControllerTest.php
2013-06-19 14:03:43 +02:00
Sam Minnée
34287895ef Merge pull request #2099 from chillu/pulls/insert-media-tweaks
Various "Insert Media" dialog tweaks
2013-06-18 21:32:00 -07:00
Ryan O'Hara
36d9563da8 FIX make sure select dropdowns in add page dialog aren't cut off due to .parent-mode class having overflow:auto 2013-06-19 11:27:22 +12:00
Sam Minnée
8bf4d417c6 Merge pull request #2094 from chillu/pulls/dialog-sizing
Min/max constraints for CMS dialog
2013-06-18 14:56:41 -07:00
Sean Harvey
726e4c313e Merge pull request #2084 from chillu/pulls/cmsform
Handle ValidationException on CMS forms
2013-06-18 14:41:51 -07:00
Ingo Schommer
04c337dc82 Tab breadcrumbs floating (regression from #1778) 2013-06-17 01:26:04 +02:00
Ingo Schommer
939773643a Accessibility: Open main tabs by keyboard focus
Regression caused by jQuery UI 1.9 upgrae
2013-06-15 12:23:51 +02:00
Ingo Schommer
ad28a3adc2 Updated browser warning in CMS JS 2013-06-15 11:58:35 +02:00
Ingo Schommer
9e4a7c835f Accessibility: Visible focus rings 2013-06-15 11:52:02 +02:00
Ingo Schommer
5b651e4593 Only clear tab entries from window.sessionStorage 2013-06-15 11:16:11 +02:00
Ingo Schommer
be62c731f5 Compressed layout in "Insert Media" detail screen
- Same font size as other CMS UI
 - Smaller thumbnail height
 - Less label width and padding for file info
2013-06-15 10:13:45 +02:00
Ingo Schommer
6338b0b2d9 Reduced line height for form field help text 2013-06-15 10:13:45 +02:00
Ingo Schommer
4bc2f9bc0d Localization-resilient SCSS selector (fixes #1590) 2013-06-15 10:13:45 +02:00
Ingo Schommer
071f30ded7 Consistent dropdown styles between chosen.js and treedropdown
Removed trigger background. Incidentally this also makes it less
obvious that the trigger has too much padding on the right
(which I can't figure out ...)
2013-06-15 10:13:45 +02:00
Ingo Schommer
ea4f8cec07 Tighten "Insert Media" dialog layout
Reduce space usage to fit into typical dialog dimensions without scrolling
2013-06-15 10:13:44 +02:00
Ingo Schommer
1bd31c84f2 Reduced URL field width in "Insert Media" to avoid wrap
450px width are often not available to the dialog (with all margins/paddings subtracted from the window).
Ensure the URL doesn't cause an unnecessary wrap. Ideally we can size this to the dialog width
automatically of course.
2013-06-15 10:13:44 +02:00
Ingo Schommer
10a558c882 Hide "delete" button in "Insert Media" dialog 2013-06-15 10:13:44 +02:00
Ingo Schommer
3f295adbdd .field.noborder style, use it in "Insert Media" dialog 2013-06-15 10:13:43 +02:00
Will Rossiter
acf42e87c2 Merge pull request #2090 from chillu/pulls/tabs-float
Fixed Tab floating in CMS (fixes #1778)
2013-06-14 00:00:53 -07:00