资源引用消息通知

This commit is contained in:
huang 2016-05-19 11:32:58 +08:00
parent f3f75a57bd
commit 99cbf0b54e
9 changed files with 57 additions and 24 deletions

View File

@ -315,20 +315,18 @@ class UsersController < ApplicationController
# status # status
def deal_with_apply_resource def deal_with_apply_resource
@msg = CourseMessage.find(params[:msg_id]) @msg = CourseMessage.find(params[:msg_id])
ah = ApplyHomework.where("user_id = ? and homework_common_id = ?",@msg.apply_user_id, @msg.course_message_id) ar = ApplyResource.where("id = ?", @msg.course_message_id).first
case params[:agree] unless ar.nil?
when 'Y' case params[:agree]
unless ah.empty? when 'Y'
ah.first.update_column('status', 2) ar.update_column('status', 2)
CourseMessage.create(:user_id => @msg.apply_user_id, :course_id => @msg.course_id, :viewed => false,:content=> @msg.content,:course_message_id=>@msg.course_message_id,:content=>@msg.content,:course_message_type=>'HomeworkCommon',:status=>6,:apply_result=>1) @msg.update_attributes(:apply_result => 1, :viewed => 1)
@msg.update_attributes(:apply_result=>1,:viewed=>1) ar.course_messages << CourseMessage.new(:user_id => ar.user_id, :course_id => -1, :viewed => false, :apply_result => 2, :status => 1)
end when 'N'
when 'N' ar.update_column('status', 3)
unless ah.empty? @msg.update_attributes(:apply_result => 2, :viewed => 1)
ah.first.update_column('status', 3) ar.course_messages << CourseMessage.new(:user_id => ar.user_id, :course_id => -1, :viewed => false, :apply_result => 3, :status => 1)
CourseMessage.create(:user_id => @msg.apply_user_id, :course_id => @msg.course_id, :viewed => false,:content=> @msg.content,:course_message_id=>@msg.course_message_id,:content=>@msg.content,:course_message_type=>'HomeworkCommon',:status=>6,:apply_result=>2) end
@msg.update_attributes(:apply_result=>2,:viewed=>1)
end
end end
respond_to do |format| respond_to do |format|
format.js format.js

View File

@ -7,9 +7,13 @@ class ApplyResource < ActiveRecord::Base
after_create :act_as_apply_resource_message after_create :act_as_apply_resource_message
def act_as_apply_resource_message def act_as_apply_resource_message
self.course_messages << CourseMessage.new(:user_id => self.apply_user_id, :course_id => self.container_id, :viewed => false, :status => 5) self.course_messages << CourseMessage.new(:user_id => self.apply_user_id, :course_id => -1, :viewed => false, :status => 0, )
# REDO:发送邮件 # REDO:发送邮件
# Mailer.run.apply_for_resource_request(self.container_id, User.current) # Mailer.run.apply_for_resource_request(self.container_id, User.current)
end end
def find_attachment attachment_id
Attachment.find(attachment_id)
end
end end

View File

@ -1,5 +1,7 @@
class CourseMessage < ActiveRecord::Base class CourseMessage < ActiveRecord::Base
# status说明 status在课程不同的类型区分不同的功能 status = 9 作品的提交记录 # status说明 status在课程不同的类型区分不同的功能 status = 9 作品的提交记录
# ApplyResource status:
# 0: 发送申请 1回复允许申请 2拒绝申请消息
# HomeworkCommonstatus # HomeworkCommonstatus
# nil发布了作业 1作业截止时间到了提醒2:开启匿评; 3关闭匿评 4匿评开始失败 5申请引用作业, 6:申请结果 # nil发布了作业 1作业截止时间到了提醒2:开启匿评; 3关闭匿评 4匿评开始失败 5申请引用作业, 6:申请结果
# apply_user_id: 申请者的用户id # apply_user_id: 申请者的用户id

View File

@ -9,16 +9,16 @@
</li> </li>
<li class="<%=(ma.apply_result == 0 || ma.apply_result.nil?) ? 'homepageHomeworkContent2' : 'homepageHomeworkContent' %> fl"> <li class="<%=(ma.apply_result == 0 || ma.apply_result.nil?) ? 'homepageHomeworkContent2' : 'homepageHomeworkContent' %> fl">
<% content = ma.course_message.content.nil? ? '' : ''+ ma.course_message.content.to_s %> <% content = ma.course_message.content.nil? ? '' : ''+ ma.course_message.content.to_s %>
<a title="<%= ma.course_message.user.show_name + "申请引用资源\""+"#{ma.course_message.attachment.try(:name)}"+"\"#{content}" %>" class = "<%= ma.viewed == 0 ? "newsBlack" : "newsGrey "%>"> <a title="<%= ma.course_message.user.show_name + "申请引用资源\""+"#{ma.course_message.user.try(:name)}"+"\"#{content}" %>" class = "<%= ma.viewed == 0 ? "newsBlack" : "newsGrey "%>">
<%= ma.course_message.user.show_name + "申请引用资源\""+"#{ma.course_message.attachment.try(:name)}"+"\"#{content}" %> <%= ma.course_message.user.show_name + "申请引用资源\""+"#{ma.course_message.user.try(:name)}"+"\"#{content}" %>
</a> </a>
</li> </li>
<li class="<%=(ma.apply_result == 0 || ma.apply_result.nil?) ? 'homepageHomeworkContentWarn2' : 'homepageHomeworkContentWarn' %> fl"> <li class="<%=(ma.apply_result == 0 || ma.apply_result.nil?) ? 'homepageHomeworkContentWarn2' : 'homepageHomeworkContentWarn' %> fl">
<span id="deal_info_<%=ma.id%>"> <span id="deal_info_<%= ma.id %>">
<% if ma.apply_result == 0 || ma.apply_result.nil?%> <% if ma.apply_result == 0 || ma.apply_result.nil? %>
<%= link_to '同意', dealwith_apply_homework_user_path(User.current,:agree => 'Y', :msg_id => ma.id), :remote => 'true' %> | <%= link_to '同意', deal_with_apply_resource_user_path(User.current, :agree => 'Y', :msg_id => ma.id, :apply_user_id => ma.course_message.apply_user_id), :remote => 'true' %> |
<%= link_to '拒绝', dealwith_apply_homework_user_path(User.current, :agree => 'N', :msg_id => ma.id), :remote => 'true' %> <%= link_to '拒绝', deal_with_apply_resource_user_path(User.current, :agree => 'N', :msg_id => ma.id, :apply_user_id => ma.course_message.apply_user_id), :remote => 'true' %>
<% elsif ma.apply_result == 1 %> <% elsif ma.apply_result == 1 %>
您已经同意了该申请 您已经同意了该申请
<% elsif ma.apply_result == 2 %> <% elsif ma.apply_result == 2 %>

View File

@ -0,0 +1,21 @@
<ul class="homepageNewsList fl">
<li class="homepageNewsPortrait fl">
<% owner = User.find(ma.course_message.apply_user_id) %>
<div class="navHomepageLogo fl">
<%= link_to image_tag(url_to_avatar(owner), :width => "30", :height => "30", class: "mt3"), user_path(owner) %>
</div>
</li>
<li class="homepageNewsPubType fl">
<%= link_to owner.show_name, user_path(owner), :class => "newsBlue homepageNewsPublisher" %>
<span class="<%= ma.viewed == 0 ? "homepageNewsTypeNotRead fl":"homepageNewsType fl" %>"><%= ma.apply_result == 1 ? '同意' : '拒绝'%>引用资源:</span>
</li>
<li class="homepageNewsContent fl"><a href="javascript:void(0);" class="newsGrey">
<% link_str = ma.apply_result == 1 ?
'您申请引用资源"'+ ma.course_message.find_attachment(ma.course_message.apply_user_id).try(:filename) + '"的申请已通过'
:
'您申请引用资源"'+ ma.course_message.find_attachment(ma.course_message.apply_user_id).try(:filename) + '"的申请被婉拒' %>
<%= link_to link_str, user_resource_user_path(User.current, :type => 2), :title => link_str,:class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey "}" %>
</a>
</li>
<li class="homepageNewsTime fl"><%= time_tag(ma.created_at).html_safe %> </li>
</ul>

View File

@ -235,11 +235,17 @@
</ul> </ul>
<% end %> <% end %>
<!--资源申请--> <!--资源申请-->
<% if ma.course_message_type == "ApplyResource" %> <% if ma.course_message_type == "ApplyResource" && ma.status == 0 %>
<ul class="homepageNewsList fl" id="course_message_homework_<%=ma.id %>"> <ul class="homepageNewsList fl" id="apply_resource_message_<%=ma.id %>">
<%= render :partial => 'apply_resource_course_message', :locals => {:ma => ma} %> <%= render :partial => 'apply_resource_course_message', :locals => {:ma => ma} %>
</ul> </ul>
<% end %> <% end %>
<!--资源申请回复-->
<% if ma.course_message_type == "ApplyResource" && ma.status == 1 %>
<ul class="homepageNewsList fl" id="apply_resource_message_<%=ma.id %>">
<%= render :partial => 'apply_resource_course_message_reply', :locals => {:ma => ma} %>
</ul>
<% end %>
<% if ma.course_message_type == "HomeworkCommon" && ma.status == 6 %> <% if ma.course_message_type == "HomeworkCommon" && ma.status == 6 %>
<ul class="homepageNewsList fl"> <ul class="homepageNewsList fl">
<li class="homepageNewsPortrait fl"><a href="javascript:void(0);"><div class="navHomepageLogo fl"><%= image_tag(url_to_avatar(User.find(ma.apply_user_id)), width: "30px", height: "30px", class: "mt3") %></div></a></li> <li class="homepageNewsPortrait fl"><a href="javascript:void(0);"><div class="navHomepageLogo fl"><%= image_tag(url_to_avatar(User.find(ma.apply_user_id)), width: "30px", height: "30px", class: "mt3") %></div></a></li>

View File

@ -0,0 +1 @@
$("#apply_resource_message_<%= @msg.id %>").html('<%= escape_javascript(render :partial => 'users/apply_resource_course_message', :locals => {:ma => @msg}) %>');

View File

@ -56,7 +56,7 @@
<a href="<%= user_resource_user_path(@user, :type => '1', :status => 6) %>" class="resource-tab" id="my_resource_list" data-remote="true">我的资源</a> <a href="<%= user_resource_user_path(@user, :type => '1', :status => 6) %>" class="resource-tab" id="my_resource_list" data-remote="true">我的资源</a>
</li> </li>
<li class="fl resource-switch"> <li class="fl resource-switch">
<a href="<%= user_resource_user_path(@user, :type => '1', :status => 6) %>" class="resource-tab" id="private_resource_list" data-remote="true">私有资源</a> <a href="<%= user_resource_user_path(@user, :type => '2', :status => 6) %>" class="resource-tab" id="private_resource_list" data-remote="true">私有资源</a>
</li> </li>
<li class="fl w680 border-bottom h34">&nbsp;</li> <li class="fl w680 border-bottom h34">&nbsp;</li>
<li class="fr resource-banner-li border-bottom h34"> <li class="fr resource-banner-li border-bottom h34">

View File

@ -623,6 +623,7 @@ RedmineApp::Application.routes.draw do
post 'import_resources_to_homework' post 'import_resources_to_homework'
get 'dealwith_apply_request' get 'dealwith_apply_request'
get 'dealwith_apply_homework' get 'dealwith_apply_homework'
get 'deal_with_apply_resource'
get 'store_selected_resource' get 'store_selected_resource'
get 'user_organizations' get 'user_organizations'
get 'search_user_orgs' get 'search_user_orgs'