diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 7d26b2eca..fe9318006 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -31,27 +31,25 @@ class CoursesController < ApplicationController def join if User.current.logged? - cs = CoursesService.new - user = User.current - join = cs.join_course params,user - @state = join[:state] - course = join[:course] + if params[:role] == 10 + cs = CoursesService.new + @user = User.current + join = cs.join_course params,user + @state = join[:state] + @course = join[:course] + else + @course = Course.find_by_id params[:object_id] + CourseMessage.create(:user_id => @course.tea_id, :course_id => @course.id, :viewed => false,:content=> params[:role],:course_message_id=>User.current.id,:course_message_type=>'JoinCourseRequest') + @state = 6 + end else @state = 5 #未登录 end - # if @state == 1 || @state == 3 - # respond_to course_path(course.id) - # else - respond_to do |format| - format.js { render :partial => 'set_join', :locals => {:user => user, :course => course, :object_id => params[:object_id]} } - end - #end - - rescue Exception => e - @state = 4 #已经加入了课程 + @object_id = params[:object_id] respond_to do |format| - format.js { render :partial => 'set_join', :locals => {:user => User.current, :course => nil, :object_id => nil} } + format.js #{ render :partial => 'set_join', :locals => {:user => @user, :course => @course, :object_id => params[:object_id]} } end + end def unjoin diff --git a/app/models/course_message.rb b/app/models/course_message.rb index 65e91141c..11b0165c5 100644 --- a/app/models/course_message.rb +++ b/app/models/course_message.rb @@ -18,8 +18,10 @@ class CourseMessage < ActiveRecord::Base after_create :add_user_message def add_user_message - if MessageAll.where("message_type = '#{self.class.to_s}' and message_id = '#{self.id}'").first.nil? - self.message_alls << MessageAll.new(:user_id => self.user_id) - end + #unless self.course_message_type == 'JoinCourseRequest' + if MessageAll.where("message_type = '#{self.class.to_s}' and message_id = '#{self.id}'").first.nil? + self.message_alls << MessageAll.new(:user_id => self.user_id) + end + #end end end diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index c2944fed5..4639f1c2b 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -299,6 +299,7 @@ class CoursesService #@state == 3 您已经加入了课程 #@state == 4 您加入的课程不存在 #@state == 5 您还未登录 + #@state == 6 申请成功,请等待审核完毕 #@state 其他 未知错误,请稍后再试 def join_course params,current_user course = Course.find_by_id params[:object_id] diff --git a/app/views/courses/_join_private_course.html.erb b/app/views/courses/_join_private_course.html.erb index 01e04dcfd..4122a7105 100644 --- a/app/views/courses/_join_private_course.html.erb +++ b/app/views/courses/_join_private_course.html.erb @@ -71,12 +71,12 @@ 密 码: -