35 lines
1.4 KiB
Ruby
35 lines
1.4 KiB
Ruby
#coding=utf-8
|
|
class AppliedProject < ActiveRecord::Base
|
|
attr_accessible :project_id, :user_id, :role
|
|
|
|
belongs_to :user
|
|
belongs_to :project
|
|
has_many :applied_messages, :class_name => 'AppliedMessage', :as => :applied, :dependent => :destroy
|
|
|
|
after_create :send_appliled_message
|
|
|
|
# 仅仅给项目管理人员发送消息
|
|
def send_appliled_message
|
|
self.project.managers.each do |member|
|
|
self.applied_messages << AppliedMessage.new(:user_id => member.user_id, :status => true, :viewed => false, :applied_user_id => self.user_id, :role => self.role, :project_id => self.project_id)
|
|
|
|
#----------------微信通知----------------------
|
|
count = ShieldWechatMessage.where("container_type='User' and container_id=#{member.user_id} and shield_type='Project' and shield_id=#{self.project_id}").count
|
|
if count == 0
|
|
ws = WechatService.new
|
|
ws.project_review_notice member.user_id, "review_project_member", self.project_id, "项目成员审批通知。", self.project.name, self.user.show_name, format_time(Time.now),"点击查看申请详情。",self.user.id
|
|
end
|
|
#--------------------------------------------
|
|
end
|
|
# end
|
|
end
|
|
|
|
#删除用户申请
|
|
def self.deleteappiled(userid, projectid)
|
|
@applieds = AppliedProject.where("user_id = ? and project_id = ?", userid, projectid)
|
|
@applieds.each do |applied|
|
|
applied.destroy
|
|
end
|
|
end
|
|
end
|