Module: Vulgata::Controller

Extended by:
ActiveSupport::Concern
Included in:
ApplicationController
Defined in:
app/controllers/concerns/vulgata/controller.rb

Instance Method Summary collapse

Instance Method Details

#authorize_adminObject



41
42
43
# File 'app/controllers/concerns/vulgata/controller.rb', line 41

def authorize_admin
  redirect_to root_path unless vulgata_current_user.vulgata_admin?
end

#authorize_admin_or_proofreaderObject



45
46
47
# File 'app/controllers/concerns/vulgata/controller.rb', line 45

def authorize_admin_or_proofreader
  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 authorize_admin_proofreader_or_assigned_translator 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_holdersObject



49
50
51
# File 'app/controllers/concerns/vulgata/controller.rb', line 49

def authorize_all_role_holders
  redirect_to root_path unless (vulgata_current_user.vulgata_admin? || vulgata_current_user.vulgata_proofreader? || vulgata_current_user.vulgata_translator?)
end

#layout_by_roleObject



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_redirectObject



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_adminObject



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_translatorObject



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_userObject



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_sortObject



57
58
59
# File 'app/controllers/concerns/vulgata/controller.rb', line 57

def translation_queue_sort
  'priority DESC, created_at DESC'
end