实训制作功能

dev_tpm_ui
daiao 5 years ago
parent 7742f99aeb
commit 5df061f9e1

@ -61,7 +61,7 @@ class Admins::UsersController < Admins::BaseController
private
def update_params
params.require(:user).permit(%i[lastname nickname gender identity technical_title student_id
params.require(:user).permit(%i[lastname nickname gender identity technical_title student_id is_shixun_marker
mail phone location location_city school_id department_id admin business is_test
password professional_certification authentication])
end

@ -44,6 +44,12 @@ class ApplicationController < ActionController::Base
EduSetting.get(name)
end
def shixun_marker
unless current_user.is_shixun_marker?
tip_exception(403, "..")
end
end
# 实训的访问权限
def shixun_access_allowed
if !current_user.shixun_permission(@shixun)

@ -1,4 +1,6 @@
class DepartmentsController < ApplicationController
skip_before_action :check_sign
def for_option
render_ok(departments: current_school.departments.without_deleted.select(:id, :name).as_json)
end

@ -1,4 +1,5 @@
class SchoolsController < ApplicationController
skip_before_action :check_sign
def school_list
schools = School.all

@ -24,6 +24,7 @@ class ShixunsController < ApplicationController
before_action :portion_allowed, only: [:copy]
before_action :special_allowed, only: [:send_to_course, :search_user_courses]
before_action :shixun_marker, only: [:new, :create]
## 获取课程列表
def index
@ -1151,4 +1152,5 @@ private
end
md5.hexdigest
end
end

@ -7,6 +7,8 @@ class SubjectsController < ApplicationController
:search_members, :add_subject_members, :statistics, :shixun_report, :school_report,
:up_member_position, :down_member_position, :update_team_title]
before_action :require_admin, only: [:copy_subject]
before_action :shixun_marker, only: [:new, :create]
include ApplicationHelper
include SubjectsHelper

@ -10,7 +10,7 @@ class Admins::IdentityAuths::AgreeApplyService < ApplicationService
ActiveRecord::Base.transaction do
apply.update!(status: 1)
user.update!(authentication: true)
user.update!(is_shixun_marker: true) if user.is_teacher?
RewardGradeService.call(user, container_id: user.id, container_type: 'Authentication', score: 500)
deal_tiding!

@ -25,6 +25,7 @@ class Admins::UpdateUserService < ApplicationService
ActiveRecord::Base.transaction do
user.save!
user.user_extension.save!
user.update!(is_shixun_marker: true) if user.is_certification_teacher
update_gitlab_password if params[:password].present?
end
@ -36,7 +37,7 @@ class Admins::UpdateUserService < ApplicationService
def user_attributes
params.slice(*%i[lastname nickname mail phone admin business is_test
professional_certification authentication])
professional_certification authentication is_shixun_marker])
end
def user_extension_attributes

@ -120,6 +120,7 @@
<div class="d-flex">
<%= f.input :professional_certification, as: :boolean, label: '职业认证', checked_value: 1, unchecked_value: 0 %>
<%= f.input :authentication, as: :boolean, label: '实名认证', wrapper_html: { class: 'ml-3' }, checked_value: 1, unchecked_value: 0 %>
<%= f.input :is_shixun_marker, as: :boolean, label: '实训制作', wrapper_html: { class: 'ml-3' }, checked_value: 1, unchecked_value: 0 %>
</div>
</div>

@ -14,6 +14,7 @@ json.email @user.mail
json.profile_completed @user.profile_completed?
json.professional_certification @user.professional_certification
json.main_site current_laboratory.main_site?
json.is_shixun_marker current_user.is_shixun_marker? || current_user.admin_or_business?
if @course
json.course_identity @course_identity
json.course_name @course.name

@ -0,0 +1,9 @@
class AddIsShixunMarkerForUsers < ActiveRecord::Migration[5.2]
def change
add_column :users, :is_shixun_marker, :boolean, :default => false
User.joins(:user_extension)
.where(users: {professional_certification: 1}, user_extensions: {identity: 0})
.update_all(is_shixun_marker: 1)
end
end
Loading…
Cancel
Save