socialforge/app/models/applied_project.rb

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