diff --git a/config.rb b/config.rb new file mode 100644 index 0000000..c06ea53 --- /dev/null +++ b/config.rb @@ -0,0 +1,25 @@ +require 'compass/import-once/activate' +# Require any additional compass plugins here. + +# Set this to the root of your project when deployed: +http_path = "/" +css_dir = "css" +sass_dir = "scss" +images_dir = "images" +javascripts_dir = "javascripts" + +# You can select your preferred output style here (can be overridden via the command line): +output_style = :nested + +# To enable relative paths to assets via compass helper functions. Uncomment: +# relative_assets = true + +# To disable debugging comments that display the original location of your selectors. Uncomment: +line_comments = false + + +# If you prefer the indented syntax, you might want to regenerate this +# project again passing --syntax sass, or you can uncomment this: +# preferred_syntax = :sass +# and then run: +# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass diff --git a/css/cms.css b/css/cms.css index 7aa1caf..a97b476 100755 --- a/css/cms.css +++ b/css/cms.css @@ -74,16 +74,18 @@ background: url("../images/information.png") no-repeat center center; width: 20px; height: 20px; - margin-left: 4px; } + margin-left: 4px; + cursor: pointer; } .middleColumn.toggle-description-correct-middle { margin-left: 0; float: left; width: 416px; } -label.right.toggle-description-correct-right { +.tab-content .field p.toggle-description-correct-right { display: inline-block; margin-left: 0; + padding-left: 0; clear: none; float: left; } @@ -93,11 +95,9 @@ label.right.toggle-description-correct-right { .custom-summary .ui-accordion-content .field { margin: 0; } - .custom-summary .ui-accordion-content, .custom-summary .ui-accordion-content .field { padding: 0; } - .custom-summary .ui-icon-triangle-1-e { background-position: -16px -128px; } @@ -116,10 +116,8 @@ label.right.toggle-description-correct-right { .blog-cms-categorisation .MergeActionReveal { margin-left: 10px; } - .blog-cms-categorisation .toolbar--content { margin-top: 0; } - .blog-cms-categorisation .MergeActionReveal:after { content: ''; background: url("../images/move-icon.png"); @@ -127,6 +125,5 @@ label.right.toggle-description-correct-right { height: 16px; width: 16px; margin-left: 4px; } - .blog-cms-categorisation button.action { margin-left: 5px; } diff --git a/js/cms.js b/js/cms.js index 926c78b..d73f70c 100644 --- a/js/cms.js +++ b/js/cms.js @@ -38,19 +38,18 @@ * Toggle next description when button is clicked. */ var shown = false; + var $helpInfo = $this.closest('.field').find('.form-text'); $this.on('click', function () { - $this.parent().next('.description')[shown ? 'hide' : 'show'](); - + $helpInfo[shown ? 'hide' : 'show'](); $this.toggleClass('toggle-description-shown'); - shown = !shown; }); /** * Hide next description by default. */ - $this.parent().next('.description').hide(); + $helpInfo.hide(); /** * Add classes to correct inherited layout issues in a small context. diff --git a/scss/cms.scss b/scss/cms.scss index c2a813e..3b2ee79 100755 --- a/scss/cms.scss +++ b/scss/cms.scss @@ -128,6 +128,7 @@ width: 20px; height: 20px; margin-left: 4px; + cursor:pointer; } .middleColumn.toggle-description-correct-middle { @@ -136,9 +137,10 @@ width: 416px; } -label.right.toggle-description-correct-right { +.tab-content .field p.toggle-description-correct-right { display: inline-block; margin-left: 0; + padding-left: 0; clear: none; float: left; } diff --git a/src/Model/Blog.php b/src/Model/Blog.php index ac6db91..565ce41 100644 --- a/src/Model/Blog.php +++ b/src/Model/Blog.php @@ -3,26 +3,18 @@ namespace SilverStripe\Blog\Model; use Page; -use PageController; use SilverStripe\Blog\Admin\GridFieldCategorisationConfig; use SilverStripe\Blog\Forms\GridField\GridFieldConfig_BlogPost; -use SilverStripe\Blog\Model\BlogCategory; -use SilverStripe\Blog\Model\BlogFilter; -use SilverStripe\Blog\Model\BlogPost; -use SilverStripe\Blog\Model\BlogTag; use SilverStripe\CMS\Controllers\RootURLController; use SilverStripe\Control\Controller; -use SilverStripe\Control\RSS\RSSFeed; use SilverStripe\Core\Convert; use SilverStripe\Core\Manifest\ModuleLoader; use SilverStripe\Forms\GridField\GridField; use SilverStripe\Forms\ListboxField; +use SilverStripe\Forms\LiteralField; use SilverStripe\Forms\NumericField; -use SilverStripe\ORM\ArrayList; use SilverStripe\ORM\DataObject; use SilverStripe\ORM\DB; -use SilverStripe\ORM\FieldType\DBDatetime; -use SilverStripe\ORM\PaginatedList; use SilverStripe\ORM\UnsavedRelationList; use SilverStripe\Security\Group; use SilverStripe\Security\Member; @@ -142,9 +134,7 @@ class Blog extends Page implements PermissionProvider */ public function getCMSFields() { - $module = ModuleLoader::getModule('silverstripe/blog'); - Requirements::css($module->getRelativeResourcePath('css/cms.css')); - Requirements::javascript($module->getRelativeResourcePath('js/cms.js')); + $this->addCMSRequirements(); $this->beforeUpdateCMSFields(function ($fields) { if (!$this->canEdit()) { @@ -194,6 +184,15 @@ class Blog extends Page implements PermissionProvider return parent::getCMSFields(); } + /** + * Adds CMS related css and js overrides + */ + protected function addCMSRequirements() + { + $module = ModuleLoader::getModule('silverstripe/blog'); + Requirements::css($module->getRelativeResourcePath('css/cms.css')); + Requirements::javascript($module->getRelativeResourcePath('js/cms.js')); + } /** * {@inheritdoc} */ @@ -347,6 +346,7 @@ class Blog extends Page implements PermissionProvider */ public function getSettingsFields() { + $this->addCMSRequirements(); $fields = parent::getSettingsFields(); $fields->addFieldToTab( @@ -355,37 +355,43 @@ class Blog extends Page implements PermissionProvider ); $members = $this->getCandidateUsers()->map()->toArray(); + $toggleButton = LiteralField::create('ToggleButton', ''); $editorField = ListboxField::create('Editors', 'Editors', $members) - // ->setMultiple(true) - ->setRightTitle('help') - ->setDescription(' - An editor has control over specific Blogs, and all posts included within it. Short of being able to assign other editors to a blog, they are able to handle most changes to their assigned blog.
-
- Editors have these permissions:
-
- Update or publish any BlogPost in their Blog
- Update or publish their Blog
- Assign/unassign writers to their Blog
- Assign/unassign contributors to their Blog
- Assign/unassign any member as an author of a particular BlogPost - '); - + ->setRightTitle($toggleButton) + ->setDescription( + _t( + __CLASS__ . '.UsersEditorsFieldDescription', + 'An editor has control over specific Blogs, and all posts included within it. + Short of being able to assign other editors to a blog, they are able to handle most changes to + their assigned blog.

+ Editors have these permissions:
+
+ Update or publish any BlogPost in their Blog
+ Update or publish their Blog
+ Assign/unassign writers to their Blog
+ Assign/unassign contributors to their Blog
+ Assign/unassign any member as an author of a particular BlogPost' + ) + ); if (!$this->canEditEditors()) { $editorField = $editorField->performDisabledTransformation(); } - $writerField = ListboxField::create('Writers', 'Writers', $members) - // ->setMultiple(true) - ->setRightTitle('help') - ->setDescription(' - A writer has full control over creating, editing and publishing BlogPosts they have authored or have been assigned to. Writers are unable to edit BlogPosts to which they are not assigned.
-
- Writers have these permissions:
-
- Update or publish any BlogPost they have authored or have been assigned to
- Assign/unassign any member as an author of a particular BlogPost they have authored or have been assigned to - '); + ->setRightTitle($toggleButton) + ->setDescription( + _t( + __CLASS__ . '.UsersWritersFieldDescription', + 'A writer has full control over creating, editing and publishing BlogPosts they have authored + or have been assigned to. Writers are unable to edit BlogPosts to which they are not assigned. +

+ Writers have these permissions:
+
+ Update or publish any BlogPost they have authored or have been assigned to
+ Assign/unassign any member as an author of a particular BlogPost they have authored or have been + assigned to' + ) + ); if (!$this->canEditWriters()) { $writerField = $writerField->performDisabledTransformation(); @@ -393,14 +399,19 @@ class Blog extends Page implements PermissionProvider $contributorField = ListboxField::create('Contributors', 'Contributors', $members) // ->setMultiple(true) - ->setRightTitle('help') - ->setDescription(' - Contributors have the ability to create or edit BlogPosts, but are unable to publish without authorisation of an editor. They are also unable to assign other contributing authors to any of their BlogPosts.
-
- Contributors have these permissions:
-
- Update any BlogPost they have authored or have been assigned to - '); + ->setRightTitle($toggleButton) + ->setDescription( + _t( + __CLASS__ . '.UsersContributorsFieldDescription', + 'Contributors have the ability to create or edit BlogPosts, but are unable to publish without + authorisation of an editor. They are also unable to assign other contributing authors to any of + their BlogPosts.
+
+ Contributors have these permissions:
+
+ Update any BlogPost they have authored or have been assigned to' + ) + ); if (!$this->canEditContributors()) { $contributorField = $contributorField->performDisabledTransformation();