From a817c3b81ea87127fb540d529075b349296c412f Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Tue, 20 Oct 2015 17:27:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=BA=AB=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/courses_controller.rb | 30 +++++++++---------- app/models/course_message.rb | 8 +++-- app/services/courses_service.rb | 1 + .../courses/_join_private_course.html.erb | 10 +++---- app/views/courses/_set_join.js.erb | 4 ++- app/views/courses/join.js.erb | 26 ++++++++++++++++ 6 files changed, 54 insertions(+), 25 deletions(-) create mode 100644 app/views/courses/join.js.erb 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 @@ 密 码: -