From 6c184b9248255d0d1ab8a7543f656fb27bf9554e Mon Sep 17 00:00:00 2001 From: cxt Date: Wed, 4 May 2016 16:17:37 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=98=E5=BA=93=E7=9A=84=E5=88=86=E4=BA=AB?= =?UTF-8?q?=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 15 ++++++++++- app/views/users/_apply_for_homework.html.erb | 16 +++++++++++ app/views/users/_apply_homework.html.erb | 27 +++++++++++++++++++ app/views/users/_homework_repository.html.erb | 4 +-- app/views/users/_send_notice.html.erb | 18 +++++++++++++ app/views/users/_user_message_course.html.erb | 3 ++- app/views/users/apply_for_homework.js.erb | 16 ++++++----- app/views/users/apply_homework.js.erb | 10 +++++++ app/views/users/choose_user_course.js.erb | 13 ++++----- config/routes.rb | 1 + public/stylesheets/new_user.css | 1 + 11 files changed, 108 insertions(+), 16 deletions(-) create mode 100644 app/views/users/_apply_for_homework.html.erb create mode 100644 app/views/users/_apply_homework.html.erb create mode 100644 app/views/users/_send_notice.html.erb create mode 100644 app/views/users/apply_homework.js.erb diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 2f1076971..a56b75ac8 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -396,6 +396,19 @@ class UsersController < ApplicationController end # end + #引用作业请求弹框 + def apply_homework + if User.current.logged? + @homework = HomeworkCommon.find params[:homework_id] + @state = 2 + else + @state = 1 + end + respond_to do |format| + format.js + end + end + #申请引用非公开作业 def apply_for_homework if User.current.logged? @@ -405,7 +418,7 @@ class UsersController < ApplicationController if ah.empty? ApplyHomework.create(:user_id => params[:id].to_i, :homework_common_id => params[:homework_id].to_i, :status => 1) Mailer.run.apply_for_homework_request(homework, User.current) - CourseMessage.create(:user_id => homework.user_id, :course_id => homework.course.id, :viewed => false,:course_message_id=>params[:homework_id].to_i,:course_message_type=>'HomeworkCommon',:status=>5,:apply_user_id=>params[:id].to_i) + CourseMessage.create(:user_id => homework.user_id, :course_id => homework.course.id, :viewed => false,:course_message_id=>params[:homework_id].to_i,:course_message_type=>'HomeworkCommon',:status=>5,:apply_user_id=>params[:id].to_i,:content=>params[:content]) @state = 2 @ah = ApplyHomework.where("user_id = ? and homework_common_id = ?", params[:id].to_i, params[:homework_id].to_i).first @homework = homework diff --git a/app/views/users/_apply_for_homework.html.erb b/app/views/users/_apply_for_homework.html.erb new file mode 100644 index 000000000..250cc5810 --- /dev/null +++ b/app/views/users/_apply_for_homework.html.erb @@ -0,0 +1,16 @@ +
+
+

+ <% if state == 2 %> + 请求已发送至<%=homework.user.show_name %>老师,希望他同意与你分享:) + <% elsif state == 3 %> + 您已发送过分享请求,请勿重复发送。 + <% end %> +

+ +
+
\ No newline at end of file diff --git a/app/views/users/_apply_homework.html.erb b/app/views/users/_apply_homework.html.erb new file mode 100644 index 000000000..9f909b7a4 --- /dev/null +++ b/app/views/users/_apply_homework.html.erb @@ -0,0 +1,27 @@ +
+
+

请求分享

+

+ 请求说明(可选): + +

+ +
+
+ \ No newline at end of file diff --git a/app/views/users/_homework_repository.html.erb b/app/views/users/_homework_repository.html.erb index 93ee59138..738de678c 100644 --- a/app/views/users/_homework_repository.html.erb +++ b/app/views/users/_homework_repository.html.erb @@ -8,7 +8,7 @@ function (data) { } ); - } + };
@@ -41,7 +41,7 @@
  • <% ah = ApplyHomework.where("user_id = ? and homework_common_id = ?", User.current.id, homework.id).first %> <% if ah.nil? %> - <%= link_to("请求分享", apply_for_homework_user_path(User.current.id,:homework_id => homework.id), :class => 'green_btn_share c_white', :remote => true) %> + <%= link_to("请求分享", apply_homework_user_path(User.current.id,:homework_id => homework.id), :class => 'green_btn_share c_white', :remote => true) %> <% elsif ah.status == 1 %> 待审核 <% elsif ah.status == 2 %> diff --git a/app/views/users/_send_notice.html.erb b/app/views/users/_send_notice.html.erb new file mode 100644 index 000000000..aede2a33b --- /dev/null +++ b/app/views/users/_send_notice.html.erb @@ -0,0 +1,18 @@ +
    +
    +

    + <% if status == 1 %> + 您的分享请求暂未通过审核,暂时不可发送至课程。 + <% elsif status == 2 %> + 您选中的作业目前为私有作业,请点击“请求分享”按钮向题目的作者发送分享请求吧!祝您成功:) + <% elsif status == 3 %> + 您的分享请求已被老师拒绝,不可发送至课程。 + <% end %> +

    + +
    +
    \ No newline at end of file diff --git a/app/views/users/_user_message_course.html.erb b/app/views/users/_user_message_course.html.erb index c0d7020b7..f3942d95e 100644 --- a/app/views/users/_user_message_course.html.erb +++ b/app/views/users/_user_message_course.html.erb @@ -237,7 +237,8 @@ ">您有了新的引用作业申请:
  • - <%=User.find(ma.apply_user_id).show_name+"申请引用作业\""+"#{HomeworkCommon.find(ma.course_message_id).name}"+"\"" %> + <% content = ma.content.nil? ? '' : ':'+ ma.content.to_s %> + <%=User.find(ma.apply_user_id).show_name+"申请引用作业\""+"#{HomeworkCommon.find(ma.course_message_id).name}"+"\"#{content}" %> diff --git a/app/views/users/apply_for_homework.js.erb b/app/views/users/apply_for_homework.js.erb index 69ad56cf3..ad3c6ed76 100644 --- a/app/views/users/apply_for_homework.js.erb +++ b/app/views/users/apply_for_homework.js.erb @@ -1,8 +1,12 @@ <% if @state == 1 %> -alert("您还未登录"); -<% elsif @state == 2 %> -alert("申请成功,请等待审核"); -$("#homework_apply_status_<%=@homework.id %>").html("待审核"); -<% elsif @state == 3 %> -alert("您已经发送过申请了,请耐心等待"); + hideModal(); + alert("您还未登录"); +<% elsif @state == 2 || @state == 3 %> + $("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/apply_for_homework', :locals => {:homework => @homework, :state => @state}) %>'); + showModal('ajax-modal', '500px'); + $('#ajax-modal').siblings().remove(); + $('#ajax-modal').before("" + + ""); + $('#ajax-modal').parent().css("top","30%").css("left","30%").css("position","fixed").css("border","3px solid #269ac9"); + $("#homework_apply_status_<%=@homework.id %>").html("待审核"); <% end %> \ No newline at end of file diff --git a/app/views/users/apply_homework.js.erb b/app/views/users/apply_homework.js.erb new file mode 100644 index 000000000..9e9da1c7e --- /dev/null +++ b/app/views/users/apply_homework.js.erb @@ -0,0 +1,10 @@ +<% if @state == 1 %> + alert("您还未登录"); +<% elsif @state == 2 %> + $("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/apply_homework', :locals => {:homework => @homework}) %>'); + showModal('ajax-modal', '500px'); + $('#ajax-modal').siblings().remove(); + $('#ajax-modal').before("" + + ""); + $('#ajax-modal').parent().css("top","30%").css("left","30%").css("position","fixed").css("border","3px solid #269ac9"); +<% end %> \ No newline at end of file diff --git a/app/views/users/choose_user_course.js.erb b/app/views/users/choose_user_course.js.erb index 51af05782..15926af5c 100644 --- a/app/views/users/choose_user_course.js.erb +++ b/app/views/users/choose_user_course.js.erb @@ -1,9 +1,10 @@ -<% if @status == 1 %> - alert("您的申请尚未通过审核,暂时不可发送至课程"); -<% elsif @status == 2 %> - alert("该作业是私有的,请先提交申请并通过审核后再发送"); -<% elsif @status == 3 %> - alert("您的申请已被拒绝,不可发送至课程"); +<% if @status == 1 || @status == 2 || @status == 3 %> + $("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/send_notice', :locals => {:status => @status}) %>'); + showModal('ajax-modal', '500px'); + $('#ajax-modal').siblings().remove(); + $('#ajax-modal').before("" + + ""); + $('#ajax-modal').parent().css("top","30%").css("left","30%").css("position","fixed").css("border","3px solid #269ac9"); <% else %> <% if params[:is_observe].nil? %> $("#ajax-modal").html('<%= escape_javascript( render :partial => 'users/send_homework_to_course', :locals => {:courses => @course, :user => @user, :send_id => @send_id}) %>'); diff --git a/config/routes.rb b/config/routes.rb index edfc5b1cc..0e67a806e 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -515,6 +515,7 @@ RedmineApp::Application.routes.draw do match 'user_feedback4show', :to => 'users#user_feedback4show', :via => :get match 'user_visitorlist', :to => 'users#user_visitorlist', :via => :get match 'apply_for_homework', :to => 'users#apply_for_homework', :via => :get + match 'apply_homework', :to => 'users#apply_homework', :via => :get match 'user_homeworks', :to => 'users#user_homeworks', :via => :get match 'student_homeworks', :to => 'users#student_homeworks', :via => :get get 'user_import_homeworks' diff --git a/public/stylesheets/new_user.css b/public/stylesheets/new_user.css index 4ec17159a..c452d014f 100644 --- a/public/stylesheets/new_user.css +++ b/public/stylesheets/new_user.css @@ -1492,4 +1492,5 @@ a.st_down{ display: block; width:8px; float:left; height:13px; background:url(.. a.st_img { display:block;width:32px; height:32px; border:1px solid #CCC; padding:1px;} .green_btn_share{ background:#28be6c; padding:2px 5px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;} +.apply_content{ border:1px solid #ddd;line-height: 16px; height:80px;width:420px; background:#fff; margin-left:5px; padding:5px; margin-bottom:10px;}