Class: Vulgata::TeamController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- Vulgata::TeamController
- Defined in:
- app/controllers/vulgata/team_controller.rb
Instance Method Summary collapse
Methods inherited from ApplicationController
#suggest_translation, #vulgata_current_user, #vulgata_users
Methods included from ControllerConfigurable
#suggest_translation, #vulgata_current_user, #vulgata_users
Methods included from Controller
#authorize_admin, #authorize_admin_or_proofreader, #authorize_admin_proofreader_or_assigned_translator, #authorize_all_role_holders, #layout_by_role, #root_redirect, #set_tranlsation_classes_if_admin, #set_tranlsation_count_if_translator, #set_vulgata_user, #translation_queue_sort
Instance Method Details
#index ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'app/controllers/vulgata/team_controller.rb', line 8 def index @users = vulgata_users.page(params[:page]).per(20) @from_date = params["from_date"].present? ? params["from_date"].to_datetime.beginning_of_day : DateTime.current.beginning_of_month @to_date = params["to_date"].present? ? params["to_date"].to_datetime.end_of_day : DateTime.current.end_of_day ldvpu = Vulgata::TranslationStateVersion.where(status: Vulgata::TranslationState.statuses[:done]) ldvpu = ldvpu.where("created_at >= ? AND created_at <= ?", @from_date, @to_date) ldvpu = ldvpu.group(:user_id, :vulgata_translation_state_id) ldvpu = ldvpu.select("MAX(id) AS id") @last_done_versions_per_user_and_t9n_state_sql = ldvpu.to_sql set_translated_items_per_user set_translated_words_per_user end |
#show ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'app/controllers/vulgata/team_controller.rb', line 24 def show @user = params[:user_type].constantize.find(params[:user_id]) @total_translated = Vulgata::TranslationStateVersion.where(status: Vulgata::TranslationState.statuses[:done]) @total_translated = @total_translated.where(user: @user) @total_translated = @total_translated.group(:vulgata_translation_state_id) @total_translated = @total_translated.select(:vulgata_translation_state_id) @total_translated = @total_translated.length || 0 @translated_this_week = translated_in_time_period(DateTime.current.beginning_of_week) @translated_this_month = translated_in_time_period(DateTime.current.beginning_of_month) @translated_last_month = translated_in_time_period((DateTime.current - 1.month).beginning_of_month, DateTime.current.beginning_of_month) set_total_rejections @user set_overall_approval_rate versions_involving_user = Vulgata::TranslationStateVersion.where(user_id: params[:user_id]) versions_involving_user = versions_involving_user.where.not(status: [Vulgata::TranslationState.statuses[:source], Vulgata::TranslationState.statuses[:pending], Vulgata::TranslationState.statuses[:in_progress]]) versions_involving_user = versions_involving_user.select(:vulgata_translation_state_id) @translation_states = Vulgata::TranslationState.where(id: versions_involving_user).order(updated_at: :desc).page(params[:page]).per(10) locales = Vulgata::UserLocale.where(user: @user) || [] @user_locales = locales.map(&:locale) @user_role = @user.vulgata_role end |
#update ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'app/controllers/vulgata/team_controller.rb', line 50 def update user = params[:user_type].constantize.find(params[:user_id]) locales = params[:locales] || [] transaction = ActiveRecord::Base.transaction do user.vulgata_locales = locales params[:role] == "none" ? user.vulgata_role = nil : user.vulgata_role = params[:role] user.save end respond_to do |format| if transaction format.html { redirect_to vulgata_user_path(user: user), notice: 'Successfully updated locales.' } else format.html { redirect_to vulgata_user_path(user: user), notice: 'Error updating locales' } end end end |