educode_sales 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/educode_sales/follow_ups_controller.rb +8 -8
  3. data/app/controllers/educode_sales/operation_plans_controller.rb +7 -7
  4. data/app/controllers/educode_sales/plans_controller.rb +8 -8
  5. data/app/controllers/educode_sales/sale_reports_controller.rb +3 -3
  6. data/app/controllers/educode_sales/sessions_controller.rb +1 -1
  7. data/app/controllers/educode_sales/teacher_follows_controller.rb +140 -0
  8. data/app/controllers/educode_sales/teachers_controller.rb +95 -5
  9. data/app/models/ability.rb +0 -4
  10. data/app/models/educode_sales/activity.rb +2 -1
  11. data/app/models/educode_sales/business.rb +0 -1
  12. data/app/models/educode_sales/course_subject.rb +1 -1
  13. data/app/models/educode_sales/staff.rb +3 -3
  14. data/app/models/educode_sales/teacher.rb +20 -1
  15. data/app/views/educode_sales/activities/edit.html.erb +4 -4
  16. data/app/views/educode_sales/activities/index.html.erb +6 -0
  17. data/app/views/educode_sales/activities/index.json.jbuilder +1 -1
  18. data/app/views/educode_sales/activities/new.html.erb +4 -3
  19. data/app/views/educode_sales/businesses/edit_plan.html.erb +3 -2
  20. data/app/views/educode_sales/businesses/index.json.jbuilder +1 -1
  21. data/app/views/educode_sales/businesses/new.html.erb +1 -1
  22. data/app/views/educode_sales/businesses/show_follow_record.html.erb +1 -1
  23. data/app/views/educode_sales/home/search_users.json.jbuilder +1 -1
  24. data/app/views/educode_sales/operation_plans/_monthPlan.html.erb +17 -8
  25. data/app/views/educode_sales/operation_plans/_monthly.html.erb +13 -5
  26. data/app/views/educode_sales/operation_plans/_weekPlan.html.erb +30 -21
  27. data/app/views/educode_sales/operation_plans/_weekly.html.erb +12 -4
  28. data/app/views/educode_sales/operation_plans/edit_month.html.erb +8 -1
  29. data/app/views/educode_sales/operation_plans/edit_monthly.html.erb +1 -1
  30. data/app/views/educode_sales/operation_plans/edit_week.html.erb +12 -3
  31. data/app/views/educode_sales/operation_plans/edit_weekly.html.erb +1 -1
  32. data/app/views/educode_sales/operation_plans/index.json.jbuilder +2 -2
  33. data/app/views/educode_sales/operation_plans/my_month.json.jbuilder +1 -1
  34. data/app/views/educode_sales/operation_plans/my_week.json.jbuilder +2 -2
  35. data/app/views/educode_sales/operation_plans/new_month.html.erb +7 -1
  36. data/app/views/educode_sales/operation_plans/new_monthly.html.erb +1 -1
  37. data/app/views/educode_sales/operation_plans/new_week.html.erb +8 -2
  38. data/app/views/educode_sales/operation_reports/audit.html.erb +9 -9
  39. data/app/views/educode_sales/operation_reports/edit.html.erb +14 -17
  40. data/app/views/educode_sales/operation_reports/plans.json.jbuilder +1 -1
  41. data/app/views/educode_sales/plans/edit_week.html.erb +8 -2
  42. data/app/views/educode_sales/plans/index.json.jbuilder +1 -1
  43. data/app/views/educode_sales/plans/my_week.json.jbuilder +1 -1
  44. data/app/views/educode_sales/plans/new_month.html.erb +7 -3
  45. data/app/views/educode_sales/plans/new_week.html.erb +8 -2
  46. data/app/views/educode_sales/sales/index.html.erb +2 -1
  47. data/app/views/educode_sales/sales/operations.html.erb +5 -2
  48. data/app/views/educode_sales/sessions/login.html.erb +1 -1
  49. data/app/views/educode_sales/staffs/edit.html.erb +1 -2
  50. data/app/views/educode_sales/staffs/index.html.erb +4 -4
  51. data/app/views/educode_sales/staffs/new.html.erb +1 -1
  52. data/app/views/educode_sales/teachers/add_courses.html.erb +100 -19
  53. data/app/views/educode_sales/teachers/course_subject.json.jbuilder +10 -0
  54. data/app/views/educode_sales/teachers/edit.html.erb +54 -18
  55. data/app/views/educode_sales/teachers/edit_follow_record.html.erb +49 -30
  56. data/app/views/educode_sales/teachers/index.html.erb +15 -4
  57. data/app/views/educode_sales/teachers/index.json.jbuilder +1 -0
  58. data/app/views/educode_sales/teachers/new.html.erb +8 -6
  59. data/app/views/educode_sales/teachers/new_follow_record.html.erb +52 -29
  60. data/app/views/educode_sales/teachers/show_follow.html.erb +150 -170
  61. data/app/views/educode_sales/teachers/show_follow.json.jbuilder +20 -0
  62. data/app/views/educode_sales/teachers/show_follow_record.html.erb +11 -42
  63. data/app/views/educode_sales/teachers/unfinish_plans.json.jbuilder +14 -0
  64. data/config/routes.rb +10 -0
  65. data/db/migrate/20210915061738_add_students_count_teacher_follow_ups.rb +9 -0
  66. data/lib/educode_sales/version.rb +1 -1
  67. metadata +6 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 90a0d369409f2ebe29b56d92f7a254eb2704751c
4
- data.tar.gz: 0ce02076698626fbc2065281c9643069a6454a71
3
+ metadata.gz: 6baded80505507fdcdbd19b692cb8aea834ed542
4
+ data.tar.gz: e1c6c03ff6afc8f1d9b311b2ac1a443a74937694
5
5
  SHA512:
6
- metadata.gz: 3825dfa734ae7cc135b650630e8a6e018a1e0d7fff9678b18df835922eff20cc04d24550b45eeab273baa03a9401285198cd82afe311c2be8347e90863b83af3
7
- data.tar.gz: '029f778234ed11d66f786259ffe72a6861ddbf0c10e984d9db30c67fc160435532fe055d6947df9c9c04e4dba749caabc79ceb478b6e0eeb97efde1321c4f28d'
6
+ metadata.gz: 2f29bf7099856cbbd37f27b0b35f0181b74e16b9ac0b8570a66f5f99cdbc2addd71936a608dc449d6a3dc393aa76a90fa0128f4c80813b19d339fc97233e8978
7
+ data.tar.gz: 9f56ff2aa864e839270995775e73fb43a5353bfdfeaa8a0ad2db0af9210dc1f1e80e1fd6f4ce76b19a8ca0e3b10adc7850d3d61ed9455fc50a9c303a7c097ed2
@@ -17,7 +17,7 @@ module EducodeSales
17
17
  end
18
18
 
19
19
  def destroy
20
- follow_up = @current_admin.follow_ups.find(params[:id])
20
+ follow_up = FollowUp.find(params[:id])
21
21
  if follow_up.destroy
22
22
  render_success
23
23
  else
@@ -26,7 +26,7 @@ module EducodeSales
26
26
  end
27
27
 
28
28
  def update
29
- follow_up = @current_admin.follow_ups.find(params[:id])
29
+ follow_up = FollowUp.find(params[:id])
30
30
  follow_up.assign_attributes(follow_up_params)
31
31
  follow_up.profit_amount = follow_up.actual_amount * (100-follow_up.divide_rate.to_i) * 0.01 if follow_up.actual_amount
32
32
  if follow_up.save
@@ -37,7 +37,7 @@ module EducodeSales
37
37
  end
38
38
 
39
39
  def teachers
40
- follow_up = @current_admin.follow_ups.find_by(id: params[:id])
40
+ follow_up = FollowUp.find_by(id: params[:id])
41
41
  if follow_up.present?
42
42
  @teachers = follow_up.key_person.includes(:teacher).page(params[:page]).per(params[:per_page])
43
43
  else
@@ -46,12 +46,12 @@ module EducodeSales
46
46
  end
47
47
 
48
48
  def money_plans
49
- follow_up = @current_admin.follow_ups.find_by(id: params[:id])
49
+ follow_up = FollowUp.find_by(id: params[:id])
50
50
  @money_plans = follow_up.money_plans.page(params[:page]).per(params[:per_page])
51
51
  end
52
52
 
53
53
  def add_money
54
- follow_up = @current_admin.follow_ups.find(params[:id])
54
+ follow_up = FollowUp.find(params[:id])
55
55
  money_plan = follow_up.money_plans.build(date_at: params[:date_at], amount: params[:amount], clazz: params[:clazz])
56
56
  money_plan.staff = @current_admin
57
57
  if money_plan.save
@@ -62,7 +62,7 @@ module EducodeSales
62
62
  end
63
63
 
64
64
  def update_money
65
- follow_up = @current_admin.follow_ups.find_by(id: params[:id])
65
+ follow_up = FollowUp.find_by(id: params[:id])
66
66
  money_plan = follow_up.money_plans.find(params[:plan_id])
67
67
  if money_plan.update(date_at: params[:date_at], amount: params[:amount], clazz: params[:clazz])
68
68
  render_success
@@ -72,7 +72,7 @@ module EducodeSales
72
72
  end
73
73
 
74
74
  def delete_money
75
- follow_up = @current_admin.follow_ups.find_by(id: params[:id])
75
+ follow_up = FollowUp.find_by(id: params[:id])
76
76
  money_plan = follow_up.money_plans.find(params[:plan_id])
77
77
  if money_plan.destroy
78
78
  render_success
@@ -82,7 +82,7 @@ module EducodeSales
82
82
  end
83
83
 
84
84
  def add_keys
85
- follow_up = @current_admin.follow_ups.find(params[:id])
85
+ follow_up = FollowUp.find(params[:id])
86
86
  if params[:name].blank?
87
87
  return render_failure '请从平台里选择教师'
88
88
  end
@@ -66,7 +66,7 @@ module EducodeSales
66
66
 
67
67
 
68
68
  def create
69
- plan = @current_admin.operation_plans.build(plan_params)
69
+ plan = OperationPlan.build(plan_params)
70
70
  plan.month = params["month"] + "-1"
71
71
  plan.teacher_id = @current_admin.teachers.find(params[:teacher_id]).id
72
72
  if plan.save
@@ -118,7 +118,7 @@ module EducodeSales
118
118
  def edit_week
119
119
  @teacher = Teacher.find_by(id: params[:teacher_id])
120
120
  @teachers = @current_admin.teachers.pluck(:name, :id)
121
- @sale_plan = @current_admin.operation_plans.find(params[:id])
121
+ @sale_plan = OperationPlan.find(params[:id])
122
122
  if @sale_plan.weekly.present?
123
123
  week = Time.now.strftime('%W').to_i
124
124
  if week > 3
@@ -135,7 +135,7 @@ module EducodeSales
135
135
  @months << @sale_plan.month.strftime("%Y-%m")
136
136
  @months = @months.uniq.sort
137
137
  @finish_rates = []
138
- 10.times { |d| @finish_rates << ["#{d * 10}%", d * 10] }
138
+ 11.times { |d| @finish_rates << ["#{d * 10}%", d * 10] }
139
139
  render layout: false
140
140
  end
141
141
 
@@ -146,12 +146,12 @@ module EducodeSales
146
146
  def edit_month
147
147
  @teacher = Teacher.find_by(id: params[:teacher_id])
148
148
  @teachers = @current_admin.teachers.pluck(:name, :id)
149
- @sale_plan = @current_admin.operation_plans.find(params[:id])
149
+ @sale_plan = OperationPlan.find(params[:id])
150
150
  @months = [Time.now.strftime("%Y-%m"), Time.now.months_ago(1).strftime("%Y-%m")]
151
151
  @months << @sale_plan.month.strftime("%Y-%m")
152
152
  @months = @months.uniq.sort
153
153
  @finish_rates = []
154
- 10.times { |d| @finish_rates << ["#{d * 10}%", d * 10] }
154
+ 11.times { |d| @finish_rates << ["#{d * 10}%", d * 10] }
155
155
  render layout: false
156
156
  end
157
157
 
@@ -180,7 +180,7 @@ module EducodeSales
180
180
  end
181
181
 
182
182
  def update
183
- operation_plan = @current_admin.operation_plans.find(params[:id])
183
+ operation_plan = OperationPlan.find(params[:id])
184
184
  params["month"] = params["month"] + "-1"
185
185
  if operation_plan.update(params.permit(:month, :weekly, :content, :finish_rate, :teacher_id))
186
186
  render_success
@@ -190,7 +190,7 @@ module EducodeSales
190
190
  end
191
191
 
192
192
  def destroy
193
- operation_plan = @current_admin.operation_plans.find(params[:id])
193
+ operation_plan = OperationPlan.find(params[:id])
194
194
  operation_plan.destroy
195
195
  render_success
196
196
  end
@@ -84,7 +84,7 @@ module EducodeSales
84
84
 
85
85
  def new_weekly
86
86
  sale_plans = SalePlan.where(month: Time.now.strftime("%Y-%m") + "-01 00:00:00", weekly: Time.now.strftime('%W').to_i, staff_id: @current_admin.id)
87
- @rate = sale_plans ? (sale_plans.sum("finish_rate") / sale_plans.size) : 0
87
+ @rate = sale_plans.present? ? (sale_plans.sum("finish_rate") / sale_plans.size) : 0
88
88
  @departments_count = sale_plans.joins(:business).count("distinct(department_id)")
89
89
  @total_amount = sale_plans.joins(business: :last_follow_up).sum("total_amount")
90
90
  render layout: false
@@ -98,7 +98,7 @@ module EducodeSales
98
98
 
99
99
  def new_monthly
100
100
  sale_plans = SalePlan.where(month: Time.now.strftime("%Y-%m") + "-01 00:00:00", staff_id: @current_admin.id, weekly: nil)
101
- @rate = sale_plans ? (sale_plans.sum("finish_rate") / sale_plans.size) : 0
101
+ @rate = sale_plans.present? ? (sale_plans.sum("finish_rate") / sale_plans.size) : 0
102
102
  @departments_count = sale_plans.joins(:business).count("distinct(department_id)")
103
103
  @total_amount = sale_plans.joins(business: :last_follow_up).sum("total_amount")
104
104
  render layout: false
@@ -124,7 +124,7 @@ module EducodeSales
124
124
 
125
125
  def edit_week
126
126
  @businesses = @current_admin.businesses.pluck(:name, :id)
127
- @sale_plan = @current_admin.sale_plans.find(params[:id])
127
+ @sale_plan = SalePlan.find(params[:id])
128
128
  if @sale_plan.weekly.present?
129
129
  week = Time.now.strftime('%W').to_i
130
130
  if week > 3
@@ -141,12 +141,12 @@ module EducodeSales
141
141
  @months << @sale_plan.month.strftime("%Y-%m")
142
142
  @months = @months.uniq.sort
143
143
  @finish_rates = []
144
- 10.times { |d| @finish_rates << ["#{d * 10}%", d * 10] }
144
+ 11.times { |d| @finish_rates << ["#{d * 10}%", d * 10] }
145
145
  render layout: false
146
146
  end
147
147
 
148
148
  def update
149
- sale_plan = @current_admin.sale_plans.find(params[:id])
149
+ sale_plan = SalePlan.find(params[:id])
150
150
  params["month"] = params["month"] + "-1"
151
151
  if sale_plan.update(plan_params)
152
152
  render_success
@@ -156,7 +156,7 @@ module EducodeSales
156
156
  end
157
157
 
158
158
  def destroy
159
- sale_plan = @current_admin.sale_plans.find(params[:id])
159
+ sale_plan = SalePlan.find(params[:id])
160
160
  if sale_plan.destroy
161
161
  render_success
162
162
  else
@@ -170,9 +170,9 @@ module EducodeSales
170
170
 
171
171
  def edit_month
172
172
  @businesses = @current_admin.businesses.pluck(:name, :id)
173
- @sale_plan = @current_admin.sale_plans.find(params[:id])
173
+ @sale_plan = SalePlan.find(params[:id])
174
174
  @finish_rates = []
175
- 10.times { |d| @finish_rates << ["#{d*10}%", d * 10]}
175
+ 11.times { |d| @finish_rates << ["#{d*10}%", d * 10]}
176
176
  render layout: false
177
177
  end
178
178
 
@@ -27,7 +27,7 @@ module EducodeSales
27
27
  end
28
28
 
29
29
  def destroy
30
- sale_report = @current_admin.sale_reports.find(params[:id])
30
+ sale_report = SaleReport.find(params[:id])
31
31
  if sale_report.destroy
32
32
  render_success
33
33
  else
@@ -82,12 +82,12 @@ module EducodeSales
82
82
 
83
83
 
84
84
  def edit
85
- @sale_report = @current_admin.sale_reports.find(params[:id])
85
+ @sale_report = SaleReport.find(params[:id])
86
86
  render layout: false
87
87
  end
88
88
 
89
89
  def update
90
- sale_report = @current_admin.sale_reports.find(params[:id])
90
+ sale_report = SaleReport.find(params[:id])
91
91
  sale_report.content = params[:content]
92
92
  if sale_report.save
93
93
  render_success
@@ -9,7 +9,7 @@ module EducodeSales
9
9
  end
10
10
 
11
11
  def create
12
- user = User.find_by(login: params[:account])
12
+ user = User.where("login = :acount OR mail = :acount OR phone = :acount", acount: params[:account]).first
13
13
  if user&.admin
14
14
  check_pwd(user)
15
15
  elsif user
@@ -2,5 +2,145 @@ require_dependency "educode_sales/application_controller"
2
2
 
3
3
  module EducodeSales
4
4
  class TeacherFollowsController < ApplicationController
5
+ def create
6
+ load_teacher
7
+ follow_up = @teacher.teacher_follows.build(follow_up_params)
8
+ follow_up.staff = @current_admin
9
+ if @teacher.user_id.present?
10
+ course_ids = CourseMember.where(user_id: @teacher.user_id).where.not(role: 4).pluck(:course_id)
11
+ follow_up.course_shixuns_count = CourseMember.joins(course: :practice_homework_shixuns).where(course_id: course_ids).pluck(:shixun_id).uniq.count
12
+ follow_up.shixuns_count = ShixunMember.where(user_id: @teacher.user_id, role: 1).count
13
+ follow_up.students_count = CourseMember.where(course_id: course_ids, role: 4).count
14
+ follow_up.evaluates_count = CourseMember.joins(course: :practice_homework_shixuns).where(course_id: course_ids).count
15
+ follow_up.courses_count = course_ids.size
16
+ end
17
+ if follow_up.save
18
+ render_success
19
+ else
20
+ render_failure follow_up
21
+ end
22
+ end
23
+
24
+ def destroy
25
+ follow_up = @current_admin.teacher_follows.find(params[:id])
26
+ if follow_up.destroy
27
+ render_success
28
+ else
29
+ render_failure follow_up
30
+ end
31
+ end
32
+
33
+ def update
34
+ follow_up = @current_admin.teacher_follows.find(params[:id])
35
+ follow_up.assign_attributes(follow_up_params)
36
+ # follow_up.profit_amount = follow_up.actual_amount * (100-follow_up.divide_rate.to_i) * 0.01 if follow_up.actual_amount
37
+ if follow_up.save
38
+ render_success
39
+ else
40
+ render_failure follow_up
41
+ end
42
+ end
43
+ #
44
+ # def teachers
45
+ # follow_up = @current_admin.follow_ups.find_by(id: params[:id])
46
+ # if follow_up.present?
47
+ # @teachers = follow_up.key_person.includes(:teacher).page(params[:page]).per(params[:per_page])
48
+ # else
49
+ # @teachers = FollowUp.none
50
+ # end
51
+ # end
52
+ #
53
+ # def money_plans
54
+ # follow_up = @current_admin.follow_ups.find_by(id: params[:id])
55
+ # @money_plans = follow_up.money_plans.page(params[:page]).per(params[:per_page])
56
+ # end
57
+ #
58
+ # def add_money
59
+ # follow_up = @current_admin.follow_ups.find(params[:id])
60
+ # money_plan = follow_up.money_plans.build(date_at: params[:date_at], amount: params[:amount], clazz: params[:clazz])
61
+ # money_plan.staff = @current_admin
62
+ # if money_plan.save
63
+ # render_success
64
+ # else
65
+ # render_failure money_plan
66
+ # end
67
+ # end
68
+ #
69
+ # def update_money
70
+ # follow_up = @current_admin.follow_ups.find_by(id: params[:id])
71
+ # money_plan = follow_up.money_plans.find(params[:plan_id])
72
+ # if money_plan.update(date_at: params[:date_at], amount: params[:amount], clazz: params[:clazz])
73
+ # render_success
74
+ # else
75
+ # render_failure money_plan
76
+ # end
77
+ # end
78
+ #
79
+ # def delete_money
80
+ # follow_up = @current_admin.follow_ups.find_by(id: params[:id])
81
+ # money_plan = follow_up.money_plans.find(params[:plan_id])
82
+ # if money_plan.destroy
83
+ # render_success
84
+ # else
85
+ # render_failure money_plan
86
+ # end
87
+ # end
88
+ #
89
+ # def add_keys
90
+ # follow_up = @current_admin.follow_ups.find(params[:id])
91
+ # if params[:name].blank?
92
+ # return render_failure '请从平台里选择教师'
93
+ # end
94
+ #
95
+ # names = params[:name].split("-")
96
+ # if names[0] == 't'
97
+ # # 从教师列表里选择的用户
98
+ # teacher = Teacher.find(names[1])
99
+ # key_peprson = KeyPerson.new(teacher_params)
100
+ # key_peprson.teacher = teacher
101
+ # else
102
+ # # 从头歌平台选择的用户
103
+ # user = User.find(names[1])
104
+ # teacher = Teacher.new(staff: @current_admin,
105
+ # professional_title: params[:professional_title],
106
+ # job: params[:job],
107
+ # user_id: user.id,
108
+ # is_key: true,
109
+ # department_id: user.department_id,
110
+ # name: user.real_name
111
+ # )
112
+ # teacher.save
113
+ # key_peprson = KeyPerson.new(teacher_params)
114
+ # key_peprson.teacher = teacher
115
+ # end
116
+ #
117
+ # follow_up.key_person << key_peprson
118
+ # if follow_up.save!
119
+ # render_success
120
+ # else
121
+ # render_failure follow_up
122
+ # end
123
+ # rescue ActiveRecord::RecordInvalid => e
124
+ # if e.message.include?("Teacher已经被使用") || e.message.include?('Key person是无效的')
125
+ # render_failure '该老师已在关键人列表中'
126
+ # else
127
+ # render_failure e.message
128
+ # end
129
+ # end
130
+
131
+ private
132
+
133
+ def load_teacher
134
+ @teacher = Teacher.find(params[:teacher_id])
135
+ end
136
+ #
137
+ def follow_up_params
138
+ params.permit(:attitude_id, :follow_id, :course_plan_id, :course_build_id, :description)
139
+ end
140
+ #
141
+ # def teacher_params
142
+ # params.permit(:professional_title, :job, :attitude_id, :sex, :birth_date, :remark)
143
+ # end
144
+
5
145
  end
6
146
  end
@@ -79,6 +79,8 @@ module EducodeSales
79
79
  end
80
80
  end
81
81
 
82
+
83
+
82
84
  def new
83
85
  render layout: false
84
86
  end
@@ -97,9 +99,10 @@ module EducodeSales
97
99
 
98
100
  if params[:activity_id].present? && params[:user_id].present?
99
101
  # 把老师添加到活动列表,提取判断下老师列表是否存在
100
- teacher = Teacher.find_by(user_id: params[:user_id])
101
- if teacher
102
- teacher.activity_teachers.build(activity_id: params[:activity_id])
102
+ find_teacher = Teacher.find_by(user_id: params[:user_id])
103
+ if find_teacher
104
+ find_teacher.activity_teachers.build(activity_id: params[:activity_id])
105
+ teacher = find_teacher
103
106
  end
104
107
  end
105
108
 
@@ -110,6 +113,22 @@ module EducodeSales
110
113
  end
111
114
  end
112
115
 
116
+ def update
117
+ department = Department.find(params[:department_id])
118
+ teacher = Teacher.find(params[:id])
119
+ teacher.department_id = department.id
120
+ teacher.assign_attributes(teacher_params)
121
+ if params[:user_id].present?
122
+ user = User.find(params[:user_id])
123
+ teacher.user_id = user.id
124
+ end
125
+ if teacher.save
126
+ render_success
127
+ else
128
+ render_failure teacher
129
+ end
130
+ end
131
+
113
132
  def destroy
114
133
  teacher = Teacher.find(params[:id])
115
134
  teacher.destroy
@@ -118,25 +137,78 @@ module EducodeSales
118
137
 
119
138
  def edit
120
139
  @teacher = Teacher.find(params[:id])
121
- gon.department = { value: @teacher.department_id, name: "#{@teacher.department.school.name}-#{@teacher.department.name}" }
140
+ gon.department = { value: @teacher.department_id, name: "#{@teacher.department&.school&.name}-#{@teacher.department&.name}" }
122
141
  gon.value = @teacher.department_id
123
142
  render layout: false
124
143
  end
125
144
 
145
+ def unfinish_plans
146
+ load_teacher
147
+ @plans = @teacher.operation_plans.where.not(finish_rate: 100).page(params[:page]).per(params[:per_page])
148
+ end
149
+
150
+ def course_subject
151
+ load_teacher
152
+ @courses = @teacher.course_subjects.all
153
+ end
154
+
126
155
  def search_new
127
156
  render layout: false
128
157
  end
129
158
 
130
159
  def add_courses
160
+ load_teacher
131
161
  render layout: false
132
162
  end
133
163
 
164
+
165
+ def create_course
166
+ load_teacher
167
+ course_subject = @teacher.course_subjects.build(name: params[:name], role_name: params[:role_name],)
168
+ # course_subject = CourseSubject.new(teacher_id: params[:teacher_id], name: params[:name], role_name: params[:role_name],)
169
+ if course_subject.save
170
+ render_success
171
+ else
172
+ render_failure course_subject
173
+ end
174
+ end
175
+
176
+ def update_course
177
+ course_subject = CourseSubject.find(params[:id])
178
+ if course_subject.update(name: params[:name], role_name: params[:role_name])
179
+ render_success
180
+ else
181
+ render_failure course_subject
182
+ end
183
+ end
184
+
185
+ def delete_course
186
+ course_subject = CourseSubject.find(params[:id])
187
+ course_subject.destroy
188
+ render_success
189
+ end
190
+
191
+
134
192
  def add_event
135
193
  render layout: false
136
194
  end
137
195
 
138
196
  def show_follow
139
- render layout: false
197
+ @teacher = Teacher.find(params[:id])
198
+ respond_to do |format|
199
+ format.html do
200
+ render layout: false
201
+ end
202
+ format.json do
203
+ @follow_ups = @teacher.teacher_follows
204
+ if params[:field]
205
+ @follow_ups = @follow_ups.order("#{params[:field]} #{params[:order]}")
206
+ else
207
+ @follow_ups = @follow_ups.order("created_at desc")
208
+ end
209
+ @follow_ups = @follow_ups.page(params[:page]).per(params[:per_page])
210
+ end
211
+ end
140
212
  end
141
213
 
142
214
  def show_class
@@ -144,14 +216,28 @@ module EducodeSales
144
216
  end
145
217
 
146
218
  def new_follow_record
219
+ @teacher = Teacher.find(params[:id])
147
220
  render layout: false
148
221
  end
149
222
 
223
+ # def create_follow_record
224
+ #
225
+ # end
226
+ #
227
+ # def update_follow_record
228
+ #
229
+ # end
230
+ # def delete_follow_record
231
+ #
232
+ # end
233
+
150
234
  def show_follow_record
235
+ @follow_up = TeacherFollow.find(params[:id])
151
236
  render layout: false
152
237
  end
153
238
 
154
239
  def edit_follow_record
240
+ @follow_up = TeacherFollow.find(params[:id])
155
241
  render layout: false
156
242
  end
157
243
 
@@ -175,5 +261,9 @@ module EducodeSales
175
261
  params.permit(:name, :professional_title, :job, :source_id)
176
262
  end
177
263
 
264
+ def load_teacher
265
+ @teacher = Teacher.find(params[:id])
266
+ end
267
+
178
268
  end
179
269
  end