From 4b2cce13d30c39f7f7b9e482f50ecf6b2ca1e8b1 Mon Sep 17 00:00:00 2001 From: Doug Martin Date: Tue, 11 Aug 2015 05:39:40 -0400 Subject: [PATCH] Add role based classes to allow show/hide elements by role [#100512234] --- app/assets/stylesheets/web/app.scss | 18 ++++++++++++++++++ app/views/layouts/application.html.haml | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/assets/stylesheets/web/app.scss b/app/assets/stylesheets/web/app.scss index 0554cc8c9d..79d7e60494 100644 --- a/app/assets/stylesheets/web/app.scss +++ b/app/assets/stylesheets/web/app.scss @@ -108,6 +108,24 @@ body { &.main-nav-hidden { background-image: image-url("styles/bg-body-no-nav.png"); } + + .hide-from-all-visitors { + display: none !important; + } + $role-list: guest member admin manager researcher author; + @each $role in $role-list { + &.#{$role}-visitor { + .show-to-#{$role}-visitor { + display: block !important; + } + .show-inline-to-#{$role}-visitor { + display: inline !important; + } + .hide-from-#{$role}-visitor { + display: none !important; + } + } + } } body#tinymce { diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 45b10e0566..a2d18ea677 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -57,7 +57,7 @@ - if USING_GOOGLE_ANALYTICS = javascript_tag google_analytics_config = javascript_tag "jQuery(function(){jQuery('input[placeholder], textarea[placeholder]').placeholder();});" - %body{:class => current_visitor.has_role?('guest') ? 'main-nav-hidden' : nil, :'ng-app' => 'cc-portal'} + %body{:class => current_visitor.role_names.map{ |role_name| "#{role_name}-visitor" }.unshift(current_visitor.has_role?('guest') ? 'main-nav-hidden' : '').join(' ').squish, :'ng-app' => 'cc-portal'} #note{:style=>"display: none;"} = content_for :lightboxes