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 |
# 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 last_done_versions_per_user_and_t9n_state = Vulgata::TranslationStateVersion.select("MAX(id) AS id").where(status: Vulgata::TranslationState.statuses[:done]).where("created_at >= ? AND created_at <= ?", @from_date, @to_date).group(:user_id, :vulgata_translation_state_id) @last_done_versions_per_user_and_t9n_state_sql = last_done_versions_per_user_and_t9n_state.to_sql set_translated_items_per_user set_translated_words_per_user end |
#show ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'app/controllers/vulgata/team_controller.rb', line 21 def show @user = params[:user_type].constantize.find(params[:user_id]) @total_translated = Vulgata::TranslationStateVersion.select(:vulgata_translation_state_id).where(status: Vulgata::TranslationState.statuses[:done]).where(user: @user).group(:vulgata_translation_state_id).length || 0 @translated_this_week = Vulgata::TranslationStateVersion.select(:vulgata_translation_state_id).where(status: Vulgata::TranslationState.statuses[:done]).where(user: @user).where('created_at >= ?', DateTime.current.beginning_of_week).group(:vulgata_translation_state_id).length || 0 @translated_this_month = Vulgata::TranslationStateVersion.select(:vulgata_translation_state_id).where(status: Vulgata::TranslationState.statuses[:done]).where(user: @user).where('created_at >= ?', DateTime.current.beginning_of_month).group(:vulgata_translation_state_id).length || 0 @translated_last_month = Vulgata::TranslationStateVersion.select(:vulgata_translation_state_id).where(status: Vulgata::TranslationState.statuses[:done]).where(user: @user).where('created_at >= ? AND created_at < ?', (DateTime.current - 1.month).beginning_of_month, DateTime.current.beginning_of_month).group(:vulgata_translation_state_id).length || 0 set_total_rejections @user set_overall_approval_rate versions_involving_user = Vulgata::TranslationStateVersion.select(:vulgata_translation_state_id).where(user_id: params[:user_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
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'app/controllers/vulgata/team_controller.rb', line 39 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 |