educode_sales 0.1.1 → 0.1.5
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.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/educode_sales/app.css +2 -1
- data/app/controllers/educode_sales/activities_controller.rb +1 -1
- data/app/controllers/educode_sales/businesses_controller.rb +14 -9
- data/app/controllers/educode_sales/commons_controller.rb +1 -1
- data/app/controllers/educode_sales/follow_ups_controller.rb +14 -10
- data/app/controllers/educode_sales/operation_plans_controller.rb +14 -14
- data/app/controllers/educode_sales/operation_reports_controller.rb +2 -2
- data/app/controllers/educode_sales/places_controller.rb +3 -5
- data/app/controllers/educode_sales/plans_controller.rb +13 -13
- data/app/controllers/educode_sales/roles_controller.rb +12 -1
- data/app/controllers/educode_sales/sale_reports_controller.rb +5 -5
- data/app/controllers/educode_sales/sales_controller.rb +2 -2
- data/app/controllers/educode_sales/sessions_controller.rb +2 -1
- data/app/controllers/educode_sales/staffs_controller.rb +3 -3
- data/app/controllers/educode_sales/teacher_follows_controller.rb +140 -0
- data/app/controllers/educode_sales/teachers_controller.rb +98 -8
- data/app/models/ability.rb +0 -4
- data/app/models/educode_sales/activity.rb +2 -1
- data/app/models/educode_sales/business.rb +0 -1
- data/app/models/educode_sales/course_subject.rb +1 -1
- data/app/models/educode_sales/money_plan.rb +3 -3
- data/app/models/educode_sales/operation_plan.rb +2 -0
- data/app/models/educode_sales/place.rb +1 -0
- data/app/models/educode_sales/sale_plan.rb +2 -0
- data/app/models/educode_sales/staff.rb +3 -3
- data/app/models/educode_sales/teacher.rb +20 -1
- data/app/views/educode_sales/activities/edit.html.erb +4 -4
- data/app/views/educode_sales/activities/index.html.erb +6 -0
- data/app/views/educode_sales/activities/index.json.jbuilder +2 -2
- data/app/views/educode_sales/activities/new.html.erb +4 -3
- data/app/views/educode_sales/businesses/edit_follow_record.html.erb +2 -2
- data/app/views/educode_sales/businesses/edit_plan.html.erb +12 -7
- data/app/views/educode_sales/businesses/index.html.erb +1 -1
- data/app/views/educode_sales/businesses/index.json.jbuilder +2 -1
- data/app/views/educode_sales/businesses/new.html.erb +1 -1
- data/app/views/educode_sales/businesses/show_follow.json.jbuilder +1 -1
- data/app/views/educode_sales/businesses/show_follow_record.html.erb +1 -1
- data/app/views/educode_sales/businesses/unfinish_plans.json.jbuilder +1 -1
- data/app/views/educode_sales/commons/index.json.jbuilder +1 -1
- data/app/views/educode_sales/follow_ups/money_plans.json.jbuilder +1 -1
- data/app/views/educode_sales/follow_ups/teachers.json.jbuilder +1 -1
- data/app/views/educode_sales/home/search_users.json.jbuilder +1 -1
- data/app/views/educode_sales/operation_plans/_monthPlan.html.erb +22 -12
- data/app/views/educode_sales/operation_plans/_monthly.html.erb +17 -9
- data/app/views/educode_sales/operation_plans/_weekPlan.html.erb +39 -25
- data/app/views/educode_sales/operation_plans/_weekly.html.erb +16 -9
- data/app/views/educode_sales/operation_plans/edit_month.html.erb +11 -2
- data/app/views/educode_sales/operation_plans/edit_monthly.html.erb +1 -1
- data/app/views/educode_sales/operation_plans/edit_week.html.erb +12 -3
- data/app/views/educode_sales/operation_plans/edit_weekly.html.erb +1 -1
- data/app/views/educode_sales/operation_plans/index.html.erb +35 -5
- data/app/views/educode_sales/operation_plans/index.json.jbuilder +3 -3
- data/app/views/educode_sales/operation_plans/my_month.json.jbuilder +3 -3
- data/app/views/educode_sales/operation_plans/my_week.json.jbuilder +3 -3
- data/app/views/educode_sales/operation_plans/new_month.html.erb +10 -2
- data/app/views/educode_sales/operation_plans/new_monthly.html.erb +137 -31
- data/app/views/educode_sales/operation_plans/new_week.html.erb +11 -4
- data/app/views/educode_sales/operation_plans/new_weekly.html.erb +173 -81
- data/app/views/educode_sales/operation_reports/audit.html.erb +9 -9
- data/app/views/educode_sales/operation_reports/edit.html.erb +14 -17
- data/app/views/educode_sales/operation_reports/index.json.jbuilder +2 -1
- data/app/views/educode_sales/operation_reports/plans.json.jbuilder +2 -2
- data/app/views/educode_sales/places/index.json.jbuilder +2 -2
- data/app/views/educode_sales/plans/_monthPlan.html.erb +1 -1
- data/app/views/educode_sales/plans/_monthly.html.erb +2 -2
- data/app/views/educode_sales/plans/_weekPlan.html.erb +7 -2
- data/app/views/educode_sales/plans/_weekly.html.erb +2 -2
- data/app/views/educode_sales/plans/edit_week.html.erb +8 -2
- data/app/views/educode_sales/plans/index.json.jbuilder +2 -2
- data/app/views/educode_sales/plans/my_month.json.jbuilder +2 -2
- data/app/views/educode_sales/plans/my_week.json.jbuilder +2 -2
- data/app/views/educode_sales/plans/new_month.html.erb +7 -3
- data/app/views/educode_sales/plans/new_monthly.html.erb +1 -1
- data/app/views/educode_sales/plans/new_week.html.erb +8 -2
- data/app/views/educode_sales/plans/new_weekly.html.erb +1 -1
- data/app/views/educode_sales/roles/index.html.erb +33 -2
- data/app/views/educode_sales/roles/index.json.jbuilder +1 -1
- data/app/views/educode_sales/sale_reports/index.json.jbuilder +2 -2
- data/app/views/educode_sales/sale_reports/plans.json.jbuilder +1 -1
- data/app/views/educode_sales/sales/index.html.erb +2 -1
- data/app/views/educode_sales/sales/index.json.jbuilder +1 -1
- data/app/views/educode_sales/sales/operations.html.erb +5 -2
- data/app/views/educode_sales/sales/operations.json.jbuilder +1 -1
- data/app/views/educode_sales/sessions/login.html.erb +1 -1
- data/app/views/educode_sales/staffs/edit.html.erb +2 -3
- data/app/views/educode_sales/staffs/follow_up_departments.json.jbuilder +1 -1
- data/app/views/educode_sales/staffs/index.html.erb +4 -4
- data/app/views/educode_sales/staffs/index.json.jbuilder +1 -1
- data/app/views/educode_sales/staffs/new.html.erb +1 -1
- data/app/views/educode_sales/teachers/add_courses.html.erb +100 -19
- data/app/views/educode_sales/teachers/course_subject.json.jbuilder +10 -0
- data/app/views/educode_sales/teachers/edit.html.erb +54 -18
- data/app/views/educode_sales/teachers/edit_follow_record.html.erb +49 -30
- data/app/views/educode_sales/teachers/index.html.erb +17 -6
- data/app/views/educode_sales/teachers/index.json.jbuilder +2 -0
- data/app/views/educode_sales/teachers/new.html.erb +8 -6
- data/app/views/educode_sales/teachers/new_follow_record.html.erb +54 -29
- data/app/views/educode_sales/teachers/show_follow.html.erb +150 -170
- data/app/views/educode_sales/teachers/show_follow.json.jbuilder +20 -0
- data/app/views/educode_sales/teachers/show_follow_record.html.erb +11 -42
- data/app/views/educode_sales/teachers/unfinish_plans.json.jbuilder +14 -0
- data/config/routes.rb +11 -0
- data/db/migrate/20210915061738_add_students_count_teacher_follow_ups.rb +9 -0
- data/lib/educode_sales/version.rb +1 -1
- metadata +6 -2
@@ -27,7 +27,7 @@ module EducodeSales
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def destroy
|
30
|
-
sale_report =
|
30
|
+
sale_report = SaleReport.find(params[:id])
|
31
31
|
if sale_report.destroy
|
32
32
|
render_success
|
33
33
|
else
|
@@ -75,19 +75,19 @@ module EducodeSales
|
|
75
75
|
else
|
76
76
|
@sale_reports = @sale_reports.order("updated_at desc")
|
77
77
|
end
|
78
|
-
@sale_reports = @sale_reports.page(params[:page]).per(params[:
|
78
|
+
@sale_reports = @sale_reports.page(params[:page]).per(params[:limit])
|
79
79
|
end
|
80
80
|
end
|
81
81
|
end
|
82
82
|
|
83
83
|
|
84
84
|
def edit
|
85
|
-
@sale_report =
|
85
|
+
@sale_report = SaleReport.find(params[:id])
|
86
86
|
render layout: false
|
87
87
|
end
|
88
88
|
|
89
89
|
def update
|
90
|
-
sale_report =
|
90
|
+
sale_report = SaleReport.find(params[:id])
|
91
91
|
sale_report.content = params[:content]
|
92
92
|
if sale_report.save
|
93
93
|
render_success
|
@@ -123,7 +123,7 @@ module EducodeSales
|
|
123
123
|
|
124
124
|
def plans
|
125
125
|
sale_report = SaleReport.find(params[:id])
|
126
|
-
@sale_plans = SalePlan.where(staff_id: sale_report.staff_id, month: sale_report.month, weekly: sale_report.weekly).order("updated_at desc").page(params[:page]).per(params[:
|
126
|
+
@sale_plans = SalePlan.where(staff_id: sale_report.staff_id, month: sale_report.month, weekly: sale_report.weekly).order("updated_at desc").page(params[:page]).per(params[:limit])
|
127
127
|
end
|
128
128
|
|
129
129
|
private
|
@@ -16,7 +16,7 @@ module EducodeSales
|
|
16
16
|
@b_clazz = Common.find_by(clazz: 'business_type', name: 'B类')
|
17
17
|
@step_ids = Common.where(name: %w(已中标 已签单 已验收 回款中 服务中 已结束), clazz: 'business_step').pluck(:id)
|
18
18
|
|
19
|
-
@staffs = Staff.where(job_type: common.id).page(params[:page]).per(params[:
|
19
|
+
@staffs = Staff.where(job_type: common.id).page(params[:page]).per(params[:limit])
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
@@ -44,7 +44,7 @@ module EducodeSales
|
|
44
44
|
end
|
45
45
|
format.json do
|
46
46
|
common_id = Common.where(clazz: 'staff_type', name: ['销售', '运营']).pluck(:id)
|
47
|
-
@staffs = Staff.where(job_type: common_id).page(params[:page]).per(params[:
|
47
|
+
@staffs = Staff.where(job_type: common_id).page(params[:page]).per(params[:limit])
|
48
48
|
end
|
49
49
|
end
|
50
50
|
end
|
@@ -9,12 +9,13 @@ module EducodeSales
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def create
|
12
|
-
user = User.
|
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
|
16
16
|
staff = Staff.find_by(user_id: user.id)
|
17
17
|
if staff
|
18
|
+
return render_failure('该账号已禁止使用') if staff.expired_at < Time.now
|
18
19
|
check_pwd(user, staff)
|
19
20
|
else
|
20
21
|
render_failure('账号不存在')
|
@@ -8,7 +8,7 @@ module EducodeSales
|
|
8
8
|
format.html do
|
9
9
|
end
|
10
10
|
format.json do
|
11
|
-
@staffs = Staff.where(is_admin: false).page(params[:page]).per(params[:
|
11
|
+
@staffs = Staff.where(is_admin: false).page(params[:page]).per(params[:limit])
|
12
12
|
end
|
13
13
|
end
|
14
14
|
end
|
@@ -67,13 +67,13 @@ module EducodeSales
|
|
67
67
|
|
68
68
|
def follow_up_schools
|
69
69
|
staff = Staff.find(params[:id])
|
70
|
-
@schools = EducodeSales::Business.joins(:last_follow_up, :department).where("educode_sales_follow_ups.staff_id = #{staff.id}").group("school_id").select("school_id, max(educode_sales_follow_ups.updated_at) AS updated_at").page(params[:page]).per(params[:
|
70
|
+
@schools = EducodeSales::Business.joins(:last_follow_up, :department).where("educode_sales_follow_ups.staff_id = #{staff.id}").group("school_id").select("school_id, max(educode_sales_follow_ups.updated_at) AS updated_at").page(params[:page]).per(params[:limit])
|
71
71
|
@count = EducodeSales::Business.joins(:last_follow_up, :department).where("educode_sales_follow_ups.staff_id = #{staff.id}").group("school_id").count
|
72
72
|
end
|
73
73
|
|
74
74
|
def follow_up_departments
|
75
75
|
staff = Staff.find(params[:id])
|
76
|
-
@schools = EducodeSales::Business.joins(:last_follow_up, [department: :school]).where("educode_sales_follow_ups.staff_id = #{staff.id}").select("departments.name, schools.name AS school, educode_sales_follow_ups.updated_at").page(params[:page]).per(params[:
|
76
|
+
@schools = EducodeSales::Business.joins(:last_follow_up, [department: :school]).where("educode_sales_follow_ups.staff_id = #{staff.id}").select("departments.name, schools.name AS school, educode_sales_follow_ups.updated_at").page(params[:page]).per(params[:limit])
|
77
77
|
end
|
78
78
|
|
79
79
|
|
@@ -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[:limit])
|
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[:limit])
|
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
|
@@ -73,12 +73,14 @@ module EducodeSales
|
|
73
73
|
@teachers = @teachers.where("created_at > ? AND created_at < ?", date[0], date[1])
|
74
74
|
end
|
75
75
|
|
76
|
-
@teachers = @teachers.page(params[:page]).per(params[:
|
76
|
+
@teachers = @teachers.order("created_at desc").page(params[:page]).per(params[:limit])
|
77
77
|
|
78
78
|
end
|
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
|
-
|
101
|
-
if
|
102
|
-
|
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
|
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[:limit])
|
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
|
-
|
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[:limit])
|
210
|
+
end
|
211
|
+
end
|
140
212
|
end
|
141
213
|
|
142
214
|
def show_class
|
@@ -144,21 +216,35 @@ 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
|
|
158
244
|
def course_list
|
159
245
|
user = User.find_by(id: params[:user_id])
|
160
246
|
if user
|
161
|
-
@courses = Course.joins(:course_members).where(course_members: {user_id: user.id}).page(params[:page]).per(params[:
|
247
|
+
@courses = Course.joins(:course_members).where(course_members: {user_id: user.id}).page(params[:page]).per(params[:limit])
|
162
248
|
else
|
163
249
|
@courses = Course.none
|
164
250
|
end
|
@@ -167,7 +253,7 @@ module EducodeSales
|
|
167
253
|
|
168
254
|
def activities
|
169
255
|
teacher = Teacher.find(params[:id])
|
170
|
-
@activities = teacher.activities.page(params[:page]).per(params[:
|
256
|
+
@activities = teacher.activities.page(params[:page]).per(params[:limit])
|
171
257
|
end
|
172
258
|
|
173
259
|
private
|
@@ -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
|
data/app/models/ability.rb
CHANGED
@@ -6,14 +6,10 @@
|
|
6
6
|
#
|
7
7
|
# user ||= User.new # guest user (not logged in)
|
8
8
|
alias_action :index, :trends, :show, :to => :read
|
9
|
-
p "----------"
|
10
|
-
p staff.is_admin
|
11
9
|
if staff.is_admin
|
12
10
|
can :manage, :all
|
13
11
|
else
|
14
12
|
staff.role.permissions.each do |ps|
|
15
|
-
p ps.action
|
16
|
-
p "EducodeSales::#{ps.subject}".constantize
|
17
13
|
can ps.action.to_sym, "EducodeSales::#{ps.subject}".constantize
|
18
14
|
# level = @current_admin.role.role_areas.find_by(clazz: 'name')&.level
|
19
15
|
# if level == '自己'
|