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
40 41 42 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 40 def redirect_to root_path unless vulgata_current_user.vulgata_admin? end |
#authorize_admin_or_proofreader ⇒ Object
44 45 46 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 44 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
52 53 54 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 52 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
48 49 50 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 48 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
23 24 25 26 27 28 29 30 31 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 23 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
33 34 35 36 37 38 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 33 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
15 16 17 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 15 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
19 20 21 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 19 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 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 11 def set_vulgata_user @vulgata_user = vulgata_current_user end |
#translation_queue_sort ⇒ Object
56 57 58 |
# File 'app/controllers/concerns/vulgata/controller.rb', line 56 def translation_queue_sort 'priority DESC, created_at DESC' end |