diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index 711ff46e2..88c07a227 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -36,12 +36,41 @@ class ShixunsController < ApplicationController end def propaedeutics - @shixun = Shixun.find_by_identifier(params[:id]) respond_to do |format| format.html end end + def collaborators + @collaborators = @shixun.collaborators + end + + # 已存在的成员不添加 + def add_collaborators + if !params[:search].nil? + # members = searchTeacherAndAssistant @course + member_ids = "(" + @shixun.shixun_members.map(&:user_id).join(',') + ")" + condition = "%#{params[:search].strip}%".gsub(" ","") + @users = User.where("id not in #{member_ids} and status = 1 and LOWER(concat(lastname, firstname)) LIKE '#{condition}'").includes(:user_extensions) + end + respond_to do |format| + format.js + end + end + + def shixun_members_added + unless params[:membership][:user_ids].blank? + memberships = params[:membership][:user_ids] + memberships.each do |member| + ShixunMember.create(:user_id => member, :shixun_id => @shixun.id, :role => 2) + end + @collaborators = @shixun.collaborators + end + respond_to do |format| + format.js + end + end + def search # 确定 sort 1升序 2 降序 if params[:time_reorder] diff --git a/app/models/shixun.rb b/app/models/shixun.rb index 988bdd557..2a2cc1b3f 100644 --- a/app/models/shixun.rb +++ b/app/models/shixun.rb @@ -18,4 +18,8 @@ class Shixun < ActiveRecord::Base rescue ActiveRecord::RecordNotFound render_404 end + + def collaborators + self.shixun_members.select{|member| member.role == 2} unless self.shixun_members.blank? + end end diff --git a/app/models/user.rb b/app/models/user.rb index a3fdc06b2..472622d31 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1,3 +1,4 @@ +# encoding: utf-8 # Redmine - project management software # Copyright (C) 2006-2013 Jean-Philippe Lang # @@ -538,6 +539,18 @@ class User < Principal self.read_attribute(:identity_url) end + # 判断用户的身份 + def identity + ue = self.user_extensions + unless ue.blank? + if ue.technical_title.blank? + ue.identity == 0 ? "老师" : (ue.identity == 1 ? "学生" : "专业人士") + else + result = ue.technical_title + end + end + end + VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z]+)*\.[a-z]+\z/i VALID_PHONE_REGEX = /^1\d{10}$/ # VALID_EMAIL_REGEX = /^[0-9a-zA-Z_-]+@[0-9a-zA-Z_-]+(\.[0-9a-zA-Z_-]+)+$/ diff --git a/app/views/layouts/base_shixun.html.erb b/app/views/layouts/base_shixun.html.erb index a5cebb58e..f115e69f3 100644 --- a/app/views/layouts/base_shixun.html.erb +++ b/app/views/layouts/base_shixun.html.erb @@ -39,6 +39,7 @@ <% end %>