微信项目加入审核修改
This commit is contained in:
parent
65719add19
commit
6ee6cdf28f
|
@ -4,7 +4,7 @@ module Mobile
|
||||||
expose :name
|
expose :name
|
||||||
expose :id
|
expose :id
|
||||||
expose :user_id
|
expose :user_id
|
||||||
# expose :invite_code
|
expose :invite_code
|
||||||
# expose :qrcode
|
# expose :qrcode
|
||||||
expose :can_setting, if: lambda { |instance, options| options[:user] } do |instance, options|
|
expose :can_setting, if: lambda { |instance, options| options[:user] } do |instance, options|
|
||||||
current_user = options[:user]
|
current_user = options[:user]
|
||||||
|
|
|
@ -13,7 +13,7 @@ class ProjectsService
|
||||||
#显示项目
|
#显示项目
|
||||||
def show_project(params,current_user)
|
def show_project(params,current_user)
|
||||||
project = Project.find(params[:id])
|
project = Project.find(params[:id])
|
||||||
# project.generate_invite_code
|
project.generate_invite_code
|
||||||
# project.generate_qrcode
|
# project.generate_qrcode
|
||||||
|
|
||||||
project
|
project
|
||||||
|
@ -226,21 +226,61 @@ class ProjectsService
|
||||||
message = ""
|
message = ""
|
||||||
|
|
||||||
project = Project.find(params[:project_id])
|
project = Project.find(params[:project_id])
|
||||||
|
user = User.find(params[:user_id])
|
||||||
if project
|
if project
|
||||||
messages = AppliedProject.where("project_id = ? and user_id=?",project.id,params[:user_id]).first
|
applied_messages = AppliedMessage.where(:user_id => current_user.id, :project_id => project.id, :status => 1, :applied_user_id=>user.id,:applied_type => "AppliedProject")
|
||||||
if messages
|
apply_message = applied_messages.first
|
||||||
apply_user = User.find(params[:user_id])
|
if apply_message
|
||||||
|
if user.member_of?(project)
|
||||||
|
message = "已经是该项目的成员了"
|
||||||
|
applied_messages.update_all(:status=>7)
|
||||||
|
else
|
||||||
|
applied_project = apply_message.applied
|
||||||
|
ap_role = applied_project.try(:role)
|
||||||
|
if ap_role
|
||||||
|
rolename = ap_role == 3 ? :"管理人员" : "开发人员"
|
||||||
|
if params[:type] == 0
|
||||||
|
#同意
|
||||||
|
members = []
|
||||||
|
user_grades = []
|
||||||
|
project_info = []
|
||||||
|
members << Member.new(:role_ids => ["#{ap_role}"], :user_id => user.id)
|
||||||
|
user_grades << UserGrade.new(:user_id => user.id, :project_id => project.id)
|
||||||
|
role = Role.find(ap_role)
|
||||||
|
project_info << ProjectInfo.new(:project_id => project.id, :user_id => user.id) if role.allowed_to?(:is_manager)
|
||||||
|
project.members << members
|
||||||
|
project.project_infos << project_info
|
||||||
|
project.user_grades << user_grades unless user_grades.first.user_id.nil?
|
||||||
|
|
||||||
#
|
# 添加成功后所有管理员收到的消息状态都要更新
|
||||||
|
applied_messages.update_all(:status => 7, :viewed => true)
|
||||||
|
# 添加成功后,申请人收到消息
|
||||||
|
AppliedMessage.create(:user_id => user.id, :applied_type => "AppliedProject", :applied_id => applied_project.id ,
|
||||||
|
:status => 6, :viewed => false, :applied_user_id => current_user.id, :role => applied_project.role, :project_id => applied_project.project_id)
|
||||||
|
|
||||||
|
message = "您已同意"+rolename+user.show_name+",加入项目"
|
||||||
|
|
||||||
status = 0
|
else
|
||||||
else
|
#拒绝
|
||||||
message = "该申请不存在或已被处理"
|
AppliedMessage.create(:user_id => user.id, :applied_type => "AppliedProject", :applied_id => applied_project.id ,:status => 4,
|
||||||
end
|
:viewed => false, :applied_user_id => current_user.id, :role => applied_project.role, :project_id => applied_project.project_id)
|
||||||
|
|
||||||
|
applied_messages.update_all(:status => 5, :viewed => true)
|
||||||
|
applied_project.delete
|
||||||
|
|
||||||
|
message = "您已拒绝"+rolename+user.show_name+",加入项目"
|
||||||
|
end
|
||||||
|
|
||||||
|
status = 0
|
||||||
|
else
|
||||||
|
message = "该申请不存在或已被处理"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
message = "该申请不存在或已被处理"
|
||||||
|
end
|
||||||
else
|
else
|
||||||
message = "该班级不存在或已被删除"
|
message = "该项目不存在或已被删除"
|
||||||
end
|
end
|
||||||
|
|
||||||
{:status => status,:message => message}
|
{:status => status,:message => message}
|
||||||
|
|
|
@ -142,7 +142,7 @@ class WechatService
|
||||||
def three_keys_template(openid, template_id, type, id, first, key1, key2, key3, remark="",uid)
|
def three_keys_template(openid, template_id, type, id, first, key1, key2, key3, remark="",uid)
|
||||||
tmpurl = "#{Setting.protocol}://#{Setting.host_name}/wechat/user_activities#/#{type}/#{id}"
|
tmpurl = "#{Setting.protocol}://#{Setting.host_name}/wechat/user_activities#/#{type}/#{id}"
|
||||||
if uid && uid != 0
|
if uid && uid != 0
|
||||||
tmpurl = tmpurl + "&user_id="+uid
|
tmpurl = tmpurl + "&user_id="+uid.to_s
|
||||||
end
|
end
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
|
@ -179,7 +179,7 @@ class WechatService
|
||||||
def four_keys_template(openid, template_id, type, id, first, key1, key2, key3, key4, remark="",uid)
|
def four_keys_template(openid, template_id, type, id, first, key1, key2, key3, key4, remark="",uid)
|
||||||
tmpurl = "#{Setting.protocol}://#{Setting.host_name}/wechat/user_activities#/#{type}/#{id}"
|
tmpurl = "#{Setting.protocol}://#{Setting.host_name}/wechat/user_activities#/#{type}/#{id}"
|
||||||
if uid && uid != 0
|
if uid && uid != 0
|
||||||
tmpurl = tmpurl + "&user_id="+uid
|
tmpurl = tmpurl + "&user_id="+uid.to_s
|
||||||
end
|
end
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
|
|
|
@ -25,16 +25,18 @@
|
||||||
|
|
||||||
//参考文档
|
//参考文档
|
||||||
//https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN
|
//https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN
|
||||||
wx.config({
|
<% unless @sign_params.nil? %>
|
||||||
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
|
wx.config({
|
||||||
appId: '<%= @appid %>', // 必填,公众号的唯一标识
|
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
|
||||||
timestamp: <%= @sign_params[:timestamp] %>, // 必填,生成签名的时间戳
|
appId: '<%= @appid %>', // 必填,公众号的唯一标识
|
||||||
nonceStr: '<%= @sign_params[:noncestr] %>', // 必填,生成签名的随机串
|
timestamp: <%= @sign_params[:timestamp] %>, // 必填,生成签名的时间戳
|
||||||
signature: '<%= @sign_params[:signature] %>',// 必填,签名,见附录1
|
nonceStr: '<%= @sign_params[:noncestr] %>', // 必填,生成签名的随机串
|
||||||
jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone',
|
signature: '<%= @sign_params[:signature] %>',// 必填,签名,见附录1
|
||||||
'hideOptionMenu','showOptionMenu','showMenuItems', 'hideMenuItems',
|
jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone',
|
||||||
'hideAllNonBaseMenuItem','showAllNonBaseMenuItem','closeWindow', 'scanQRCode'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
|
'hideOptionMenu','showOptionMenu','showMenuItems', 'hideMenuItems',
|
||||||
});
|
'hideAllNonBaseMenuItem','showAllNonBaseMenuItem','closeWindow', 'scanQRCode'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
|
||||||
|
});
|
||||||
|
<% end %>
|
||||||
|
|
||||||
wx.ready(function(){
|
wx.ready(function(){
|
||||||
console.log("wx ready");
|
console.log("wx ready");
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
|
|
||||||
<div ng-show ="course.is_creator" class="class-member-row f13 c-grey3" ng-repeat="reviewer in reviewers|filter:searchText">
|
<div ng-show ="course.is_creator" class="class-member-row f13 c-grey3" ng-repeat="reviewer in reviewers|filter:searchText">
|
||||||
<img ng-src="/images/wechat/{{reviewer.gender==0 ? 'male' : 'female'}}.jpg" width="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{reviewer.name}}</span><img ng-src="/images/wechat/{{reviewer.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
<img ng-src="/images/wechat/{{reviewer.gender==0 ? 'male' : 'female'}}.jpg" width="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{reviewer.name}}</span><img ng-src="/images/wechat/{{reviewer.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||||
<span ng-click="review(reviewer)" class = "fr mr25 mt5">待审批</span>
|
<span ng-click="review(reviewer)" class = "fr mr10 mt5 c-red">待审批 ▶</span>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -116,7 +116,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div ng-show="project.can_setting" class="class-member-row f13 c-grey3" ng-repeat="user in review_master_members|filter:searchText">
|
<div ng-show="project.can_setting" class="class-member-row f13 c-grey3" ng-repeat="user in review_master_members|filter:searchText">
|
||||||
<img ng-src="/images/wechat/{{user.gender==0 ? 'male' : 'female'}}.jpg" width="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{user.real_name == "" ? user.name : user.real_name }}</span><span class="fr mr10 c-grey2"></span><img ng-src="/images/wechat/{{user.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
<img ng-src="/images/wechat/{{user.gender==0 ? 'male' : 'female'}}.jpg" width="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{user.real_name == "" ? user.name : user.real_name }}</span><span class="fr mr10 c-grey2"></span><img ng-src="/images/wechat/{{user.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||||
<span ng-click="review(user)" class = "fr mr25 mt5">待审批</span>
|
<span ng-click="review(user)" class = "fr mr10 mt5 c-red">待审批 ▶</span>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -128,7 +128,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div ng-show="project.can_setting" class="class-member-row f13 c-grey3" ng-repeat="user in review_develop_members|filter:searchText">
|
<div ng-show="project.can_setting" class="class-member-row f13 c-grey3" ng-repeat="user in review_develop_members|filter:searchText">
|
||||||
<img ng-src="/images/wechat/{{user.gender==0 ? 'male' : 'female'}}.jpg" width="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{user.real_name == "" ? user.name : user.real_name}}</span><img ng-src="/images/wechat/{{user.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
<img ng-src="/images/wechat/{{user.gender==0 ? 'male' : 'female'}}.jpg" width="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{user.real_name == "" ? user.name : user.real_name}}</span><img ng-src="/images/wechat/{{user.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||||
<span ng-click="review(user)" class = "fr mr25 mt5">待审批</span>
|
<span ng-click="review(user)" class = "fr mr10 mt5 c-red">待审批 ▶</span>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="member-banner f13 mt10 c-grey3">报告人员({{project_report_members.length}})</div>
|
<div class="member-banner f13 mt10 c-grey3">报告人员({{project_report_members.length}})</div>
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
<div class="course-list-row f13 c-grey3 mt30"><span class="fl ml15 c-grey3">项目邀请码</span><input class="new-class-input ml25" ng-model="syllabus.title" required placeholder="请输入6位邀请码" /></div>
|
<div class="course-list-row f13 c-grey3 mt30"><span class="fl ml15 c-grey3">项目邀请码</span><input class="new-class-input ml25" ng-model="syllabus.title" required placeholder="请输入6位邀请码" /></div>
|
||||||
<div class="course-list-row f13 c-grey3 mt10"><span class="fl ml10">角色</span></div>
|
<div class="course-list-row f13 c-grey3 mt10"><span class="fl ml10">角色</span></div>
|
||||||
<ul class="class-list f13 c-grey3">
|
<ul class="class-list f13 c-grey3">
|
||||||
<li><span class="fl ml10 class-list-name hidden">管理人员</span><span ng-class="['login-box', 'fr', 'mr10', 'mt12',{'bg-grey':current_review_member.roles_id == 4,'checked': current_edit_member.roles_id == 3}]"></span></li>
|
<li><span class="fl ml10 class-list-name hidden">管理人员</span><span ng-class="['login-box', 'fr', 'mr10', 'mt12','img-circle',{'bg-grey':current_review_member.roles_id == 4,'checked': current_edit_member.roles_id == 3}]"></span></li>
|
||||||
<li><span class="fl ml10 class-list-name hidden">开发人员</span><span ng-class="['login-box', 'fr', 'mr10', 'mt12',{'bg-grey':current_review_member.roles_id == 3,'checked': current_edit_member.roles_id == 4}]"></span></li>
|
<li><span class="fl ml10 class-list-name hidden">开发人员</span><span ng-class="['login-box', 'fr', 'mr10', 'mt12','img-circle',{'bg-grey':current_review_member.roles_id == 3,'checked': current_edit_member.roles_id == 4}]"></span></li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="bottom-tab-wrap mt10">
|
<div class="bottom-tab-wrap mt10">
|
||||||
<a href="javascript:void(0);" ng-click="deal(1)" class="weixin-tab c-grey border-top">拒绝</a>
|
<a href="javascript:void(0);" ng-click="deal(1)" class="weixin-tab c-grey border-top">拒绝</a>
|
||||||
|
|
Loading…
Reference in New Issue