Fix bug.
This commit is contained in:
parent
23677b4798
commit
23f0cc92c2
|
@ -47,7 +47,7 @@ class Admin::RulingTimersController < OrbitMemberController
|
||||||
end
|
end
|
||||||
def timer_management
|
def timer_management
|
||||||
@timer_temps = RulingTimerTemp.all.page(params[:page]).per(15)
|
@timer_temps = RulingTimerTemp.all.page(params[:page]).per(15)
|
||||||
@active_users = @timer_temps.map{|t| t.user}
|
@active_users = @timer_temps.map{|t| t.user}.compact
|
||||||
end
|
end
|
||||||
def task_management
|
def task_management
|
||||||
@tasks = RulingTimerTask.all.desc(:created_at).page(params[:page]).per(10)
|
@tasks = RulingTimerTask.all.desc(:created_at).page(params[:page]).per(10)
|
||||||
|
|
|
@ -69,20 +69,18 @@ class RulingTimerTask
|
||||||
end
|
end
|
||||||
after_save do
|
after_save do
|
||||||
if self.ruling_timer_project_id_change && !@already_save
|
if self.ruling_timer_project_id_change && !@already_save
|
||||||
if self.ruling_timer_project_id_change[0]
|
if self.ruling_timer_project_id_was
|
||||||
old_project = RulingTimerProject.find(self.ruling_timer_project_id_change[0]) rescue nil
|
RulingTimerProject.where(:id=>self.ruling_timer_project_id_was).update_all({"$inc"=>{"task_count"=>-1}})
|
||||||
if old_project
|
old_project = RulingTimerProject.where(:id=>self.ruling_timer_project_id_was).first
|
||||||
old_project.task_count -= 1
|
old_project.all_user_ids = old_project.ruling_timer_tasks.pluck(:user_ids).uniq
|
||||||
@already_save = true
|
old_project.save
|
||||||
old_project.save(:validate=>false)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
new_project = self.ruling_timer_project
|
new_project = self.ruling_timer_project
|
||||||
new_project.task_count += 1
|
|
||||||
new_project.all_user_ids += self.get_all_user_ids
|
new_project.all_user_ids += self.get_all_user_ids
|
||||||
new_project.all_user_ids.uniq
|
new_project.all_user_ids.uniq
|
||||||
@already_save = true
|
@already_save = true
|
||||||
new_project.save(:validate=>false)
|
new_project.save(:validate=>false)
|
||||||
|
RulingTimerProject.where(:id=>self.ruling_timer_project_id).update_all({"$inc"=>{"task_count"=>1}})
|
||||||
end
|
end
|
||||||
if self.ruling_timer_section_id_change && !@already_save
|
if self.ruling_timer_section_id_change && !@already_save
|
||||||
need_create_notify = true
|
need_create_notify = true
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
<% user_ids = task.user_ids
|
<% user_ids = task.user_ids
|
||||||
user_bson_ids = user_ids.map{|id| BSON::ObjectId(id)}
|
user_bson_ids = user_ids.map{|id| BSON::ObjectId(id)}
|
||||||
%>
|
%>
|
||||||
<% users = User.find(user_ids).index_by(&:id).slice(*user_bson_ids).values %>
|
<% users = User.where(:id.in=>user_ids).index_by(&:id).slice(*user_bson_ids).values %>
|
||||||
<% users.each do |user| %>
|
<% users.each do |user| %>
|
||||||
<% sub_task = task.ruling_timer_sub_tasks.where(:user=>user).first %>
|
<% sub_task = task.ruling_timer_sub_tasks.where(:user=>user).first %>
|
||||||
<% next if sub_task.nil? %>
|
<% next if sub_task.nil? %>
|
||||||
|
|
|
@ -51,6 +51,25 @@ Rails.application.routes.draw do
|
||||||
category.title_translations = I18n.available_locales.map{|l| [l.to_s,I18n.with_locale(l){I18n.t("ruling_timer.personal_project")}]}.to_h
|
category.title_translations = I18n.available_locales.map{|l| [l.to_s,I18n.with_locale(l){I18n.t("ruling_timer.personal_project")}]}.to_h
|
||||||
category.save
|
category.save
|
||||||
end
|
end
|
||||||
|
RulingTimerTemp.all.to_a.each do |t|
|
||||||
|
if t.user.nil? # user has been removed
|
||||||
|
user_id = t.user_id.to_s
|
||||||
|
RulingTimerTask.where(:user_ids=>user_id).to_a.each do |task|
|
||||||
|
task.ruling_timer_sub_tasks.where(:user_id=>user_id).destroy
|
||||||
|
if task.owner_id.to_s == user_id
|
||||||
|
task.owner_id = nil
|
||||||
|
end
|
||||||
|
task.helper_ids.delete(user_id)
|
||||||
|
task.user_ids.delete(user_id)
|
||||||
|
task.save
|
||||||
|
end
|
||||||
|
RulingTimerProject.where(:all_user_ids=>user_id).each do |proj|
|
||||||
|
proj.all_user_ids.delete(user_id)
|
||||||
|
proj.save
|
||||||
|
end
|
||||||
|
t.destroy
|
||||||
|
end
|
||||||
|
end
|
||||||
rescue => e
|
rescue => e
|
||||||
puts e.to_s
|
puts e.to_s
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue