Module: Vulgata::Controller
- Extended by:
- ActiveSupport::Concern
- Included in:
- ApplicationController
- Defined in:
- app/controllers/concerns/vulgata/controller.rb
Instance Method Summary collapse
- #authorize_admin ⇒ Object
- #authorize_admin_or_proofreader ⇒ Object
- #authorize_admin_proofreader_or_assigned_translator(translation_state) ⇒ Object
- #authorize_all_role_holders ⇒ Object
- #layout_by_role ⇒ Object
- #root_redirect ⇒ Object
- #set_tranlsation_classes_if_admin ⇒ Object
- #set_tranlsation_count_if_translator ⇒ Object
- #set_vulgata_user ⇒ Object
- #translation_queue_sort ⇒ Object
Instance Method Details
#authorize_admin ⇒ Object
41 42 43 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 41 def redirect_to root_path unless vulgata_current_user.vulgata_admin? end |
#authorize_admin_or_proofreader ⇒ Object
45 46 47 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 45 def redirect_to root_path unless (vulgata_current_user.vulgata_admin? || vulgata_current_user.vulgata_proofreader?) end |
#authorize_admin_proofreader_or_assigned_translator(translation_state) ⇒ Object
53 54 55 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 53 def translation_state redirect_to root_path unless (vulgata_current_user.vulgata_admin? || vulgata_current_user.vulgata_proofreader? || translation_state.user == vulgata_current_user) end |
#authorize_all_role_holders ⇒ Object
49 50 51 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 49 def redirect_to root_path unless (vulgata_current_user.vulgata_admin? || vulgata_current_user.vulgata_proofreader? || vulgata_current_user.vulgata_translator?) end |
#layout_by_role ⇒ Object
24 25 26 27 28 29 30 31 32 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 24 def layout_by_role if vulgata_current_user.vulgata_admin? 'vulgata/admin' elsif vulgata_current_user.vulgata_proofreader? 'vulgata/proofreader' else 'vulgata/application' end end |
#root_redirect ⇒ Object
34 35 36 37 38 39 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 34 def root_redirect redirect_path = main_app.root_path redirect_path = vulgata_user_path(user_id: @vulgata_user.id, user_type: @vulgata_user.class.name) if vulgata_current_user.vulgata_translator? || vulgata_current_user.vulgata_proofreader? redirect_path = admin_dashboard_path if vulgata_current_user.vulgata_admin? redirect_to redirect_path end |
#set_tranlsation_classes_if_admin ⇒ Object
16 17 18 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 16 def set_tranlsation_classes_if_admin @classes_translating = Vulgata::Helpers.classes_translating if vulgata_current_user.vulgata_admin? end |
#set_tranlsation_count_if_translator ⇒ Object
20 21 22 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 20 def set_tranlsation_count_if_translator @translated_this_week = Vulgata::TranslationState.where(user: @vulgata_user, status: Vulgata::TranslationState.statuses[:done]).where('updated_at >= ?', 1.week.ago.midnight).count if vulgata_current_user.vulgata_translator? end |
#set_vulgata_user ⇒ Object
11 12 13 14 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 11 def set_vulgata_user redirect_to not_logged_in_path if vulgata_current_user.blank? @vulgata_user = vulgata_current_user end |
#translation_queue_sort ⇒ Object
57 58 59 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 57 def translation_queue_sort 'priority DESC, created_at DESC' end |