From 25739351559aeb212c5fc8aa1da1936c7dc60582 Mon Sep 17 00:00:00 2001 From: Sam <sam.saffron@gmail.com> Date: Wed, 17 Jul 2013 15:10:49 +1000 Subject: [PATCH] improve security UI --- .../controllers/edit_category_controller.js | 4 ++++ .../templates/modal/edit_category.js.handlebars | 14 ++++++++++---- app/assets/stylesheets/application/modal.css.scss | 11 ++++++----- config/locales/client.en.yml | 12 +++++------- 4 files changed, 25 insertions(+), 16 deletions(-) diff --git a/app/assets/javascripts/discourse/controllers/edit_category_controller.js b/app/assets/javascripts/discourse/controllers/edit_category_controller.js index 4c5d7080e..e19cb9757 100644 --- a/app/assets/javascripts/discourse/controllers/edit_category_controller.js +++ b/app/assets/javascripts/discourse/controllers/edit_category_controller.js @@ -105,6 +105,10 @@ Discourse.EditCategoryController = Discourse.ObjectController.extend(Discourse.M return false; }, + editPermissions: function(){ + this.set('editingPermissions', true); + }, + addPermission: function(group, permission_id){ this.get('model').addPermission({group_name: group + "", permission: Discourse.PermissionType.create({id: permission_id})}); }, diff --git a/app/assets/javascripts/discourse/templates/modal/edit_category.js.handlebars b/app/assets/javascripts/discourse/templates/modal/edit_category.js.handlebars index b9b5e9720..900cb157a 100644 --- a/app/assets/javascripts/discourse/templates/modal/edit_category.js.handlebars +++ b/app/assets/javascripts/discourse/templates/modal/edit_category.js.handlebars @@ -66,13 +66,19 @@ <span class="name"><span class="badge-group">{{group_name}}</span></span> {{{i18n "category.can"}}} <span class="permission">{{permission.description}}</span> - <a {{action removePermission this}}><i class="icon icon-remove-sign"></i></a> + {{#if controller.editingPermissions}} + <a {{action removePermission this}}><i class="icon icon-remove-sign"></i></a> + {{/if}} </li> {{/each}} </ul> - {{view Ember.Select contentBinding="availableGroups" valueBinding="selectedGroup"}} - {{view Ember.Select class="permission-selector" optionValuePath="content.id" optionLabelPath="content.description" contentBinding="availablePermissions" valueBinding="selectedPermission"}} - <button {{action addPermission selectedGroup selectedPermission}} class="btn btn-small">{{i18n category.add_group}}</button> + {{#if controller.editingPermissions}} + {{view Ember.Select contentBinding="availableGroups" valueBinding="selectedGroup"}} + {{view Ember.Select class="permission-selector" optionValuePath="content.id" optionLabelPath="content.description" contentBinding="availablePermissions" valueBinding="selectedPermission"}} + <button {{action addPermission selectedGroup selectedPermission}} class="btn btn-small">{{i18n category.add_permission}}</button> + {{else}} + <button {{action editPermissions}} class="btn btn-small">{{i18n category.edit_permissions}}</button> + {{/if}} </section> </div> <div {{bindAttr class=":modal-tab :options-tab settingsSelected::invisible"}}> diff --git a/app/assets/stylesheets/application/modal.css.scss b/app/assets/stylesheets/application/modal.css.scss index df574efb6..92e059b6f 100644 --- a/app/assets/stylesheets/application/modal.css.scss +++ b/app/assets/stylesheets/application/modal.css.scss @@ -263,16 +263,17 @@ } } -.permission-selector{ - width: 300px; -} .permission-list{ list-style:none; - margin: 0 0 15px; + margin: 0 0 30px; padding: 0; .name { + margin-right: 20px; display: inline-block; - min-width: 80px; + min-width: 100px; + } + .permission { + margin-left: 20px; } .icon-remove-sign { margin-left: 5px; diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index 1d5a9735f..e83302dc6 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -905,12 +905,10 @@ en: change_in_category_topic: "Edit Description" hotness: "Hotness" already_used: 'This color has been used by another category' - is_secure: "Secure category?" - add_group: "Add Group" security: "Security" - allowed_groups: "Allowed Groups:" auto_close_label: "Auto-close topics after:" - + edit_permissions: "Edit Permissions" + add_permission: "Add Permission" flagging: title: 'Why are you flagging this post?' @@ -999,9 +997,9 @@ en: browser_update: 'Unfortunately, <a href="http://www.discourse.org/faq/#browser">your browser is too old to work on this Discourse forum</a>. Please <a href="http://browsehappy.com">upgrade your browser</a>.' permission_types: - full: "CREATE / REPLY / SEE" - create_post: "REPLY / SEE" - readonly: "SEE" + full: "Create / Reply / See" + create_post: "Reply / See" + readonly: "See" # This section is exported to the javascript for i18n in the admin section admin_js: