修改邮件发送界面
This commit is contained in:
parent
b3cbfd39ca
commit
ce792f6ce8
|
@ -339,11 +339,8 @@ class ProjectsController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
# 邀请Trustie注册用户
|
# 邀请Trustie注册用户
|
||||||
def invite_members_had_loged
|
def invite_members
|
||||||
@member ||= @project.members.new
|
@member ||= @project.members.new
|
||||||
respond_to do |format|
|
|
||||||
format.js
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit
|
def edit
|
||||||
|
|
|
@ -31,7 +31,7 @@ module WatchersHelper
|
||||||
|
|
||||||
watched = objects.any? {|object| object.watched_by?(user)}
|
watched = objects.any? {|object| object.watched_by?(user)}
|
||||||
@watch_flag = (objects.first.instance_of?(User) or objects.first.instance_of?(Project) or objects.first.instance_of?(Contest) or (objects.first.instance_of?(Bid)))
|
@watch_flag = (objects.first.instance_of?(User) or objects.first.instance_of?(Project) or objects.first.instance_of?(Contest) or (objects.first.instance_of?(Bid)))
|
||||||
css = @watch_flag ? ([watcher_css(objects), watched ? 'icon ' : 'icon '].join(' ') << options[0].to_s) :
|
css = @watch_flag ? ([watcher_css(objects), watched ? 'icon ' : 'icon '].join(' ') << options[0].to_s) :
|
||||||
([watcher_css(objects), watched ? 'icon icon-fav ' : 'icon icon-fav-off '].join(' ') << options[0].to_s)
|
([watcher_css(objects), watched ? 'icon icon-fav ' : 'icon icon-fav-off '].join(' ') << options[0].to_s)
|
||||||
|
|
||||||
text = @watch_flag ?
|
text = @watch_flag ?
|
||||||
|
@ -283,6 +283,6 @@ module WatchersHelper
|
||||||
|
|
||||||
def exit_project_link(project)
|
def exit_project_link(project)
|
||||||
link_to(l(:label_exit_project),exit_cur_project_path(project.id),
|
link_to(l(:label_exit_project),exit_cur_project_path(project.id),
|
||||||
:remote => true, :confirm => l(:lable_sure_exit_project), :style => "color: #fff; display:block; padding: 0px 5px;margin-right:10px;height:20px;text-aligh:center;" )
|
:remote => true, :confirm => l(:lable_sure_exit_project), :style => "color: #fff; display:block; padding: 0px 5px;margin-right:10px;height:22px;background:none repeat scroll 0% 0% #64BDD9;TES" )
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -129,8 +129,8 @@
|
||||||
<div class="subNavBox">
|
<div class="subNavBox">
|
||||||
<div class="subNav currentDd currentDt subNav_jiantou">邀请</div>
|
<div class="subNav currentDd currentDt subNav_jiantou">邀请</div>
|
||||||
<ul class="navContent " style="display:block; padding-left: 0px; margin-top:0px;">
|
<ul class="navContent " style="display:block; padding-left: 0px; margin-top:0px;">
|
||||||
<li><a href="#">发送邮件邀请新用户</a></li>
|
<li><%= link_to "发送邮件邀请新用户" %></li>
|
||||||
<li><a href="#">邀请Trustie注册用户</a></li>
|
<li><%= link_to "邀请Trustie注册用户", :controller=>"projects", :action=>"invite_members", :id => @project %></li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="subNav">
|
<div class="subNav">
|
||||||
<%= link_to "动态", {:controller => 'projects', :action => 'show', :id => @project.id}, :style => "color:#3CA5C6" %>
|
<%= link_to "动态", {:controller => 'projects', :action => 'show', :id => @project.id}, :style => "color:#3CA5C6" %>
|
||||||
|
|
|
@ -0,0 +1,67 @@
|
||||||
|
<div class="project_r_h">
|
||||||
|
<h2 class="project_h2">邀请加入</h2>
|
||||||
|
</div>
|
||||||
|
<%= error_messages_for 'member' %>
|
||||||
|
<%
|
||||||
|
roles = Role.givable.all
|
||||||
|
if @project.project_type == Project::ProjectType_course
|
||||||
|
roles = roles[3..5]
|
||||||
|
else
|
||||||
|
roles = roles[0..2]
|
||||||
|
end
|
||||||
|
members = @project.member_principals.includes(:roles, :principal).all.sort
|
||||||
|
%>
|
||||||
|
|
||||||
|
<div style="margin-left: 30px" >
|
||||||
|
<div class="floatbox" style="margin:100px;">
|
||||||
|
<div ><a href="#" class="box_close"></a></div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="box_main">
|
||||||
|
<h3 class="box_h3">邀请Trustie注册用户</h3>
|
||||||
|
<% if roles.any? %>
|
||||||
|
<%= form_for(@member, {:as => :membership, :url => project_memberships_path(@project), :remote => true, :method => :post}) do |f| %>
|
||||||
|
|
||||||
|
<div class="invi_search">
|
||||||
|
<%= label_tag "principal_search", l(:label_principal_search) %>
|
||||||
|
<%= text_field_tag 'principal_search', nil %>
|
||||||
|
<%= javascript_tag "observeSearchfield('principal_search', null, '#{ escape_javascript autocomplete_project_memberships_path(@project, :format => 'js') }')" %>
|
||||||
|
|
||||||
|
<div id="principals_for_new_member">
|
||||||
|
<%= render_principals_for_new_members(@project) %>
|
||||||
|
</div>
|
||||||
|
<p style="padding-top: 5px">
|
||||||
|
<%= l(:label_role_plural) %>:
|
||||||
|
<% roles.each do |role| %>
|
||||||
|
<label>
|
||||||
|
<%= check_box_tag 'membership[role_ids][]', role.id %>
|
||||||
|
<%= h role %>
|
||||||
|
</label>
|
||||||
|
<% end %>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<%= submit_tag l(:button_add), :id => 'member-add-submit', :style => 'display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;' %>
|
||||||
|
</p>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function () {
|
||||||
|
var collection=$("#principals_for_new_member").children("#principals").children("label");
|
||||||
|
collection.css("text-overflow","ellipsis");
|
||||||
|
collection.css("white-space","nowrap");
|
||||||
|
collection.css("width","200px");
|
||||||
|
collection.css("overflow","hidden");
|
||||||
|
for(i=0;i<collection.length;i++){ //增加悬浮显示
|
||||||
|
var label=collection[i];
|
||||||
|
var text=$(label).text();
|
||||||
|
$(label).attr("title",text);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
|
@ -368,6 +368,7 @@ RedmineApp::Application.routes.draw do
|
||||||
|
|
||||||
get 'feedback', :action => 'feedback', :as => 'project_feedback'
|
get 'feedback', :action => 'feedback', :as => 'project_feedback'
|
||||||
get 'watcherlist', :action=> 'watcherlist'
|
get 'watcherlist', :action=> 'watcherlist'
|
||||||
|
get 'invite_members', :action=> 'invite_members'
|
||||||
match 'user_watcherlist', :to => 'projects#watcherlist', :via => :get, :as => "watcherlist" #add by huang
|
match 'user_watcherlist', :to => 'projects#watcherlist', :via => :get, :as => "watcherlist" #add by huang
|
||||||
get 'homework', :action => 'homework', :as => 'homework'
|
get 'homework', :action => 'homework', :as => 'homework'
|
||||||
get 'new_homework', :action => 'new_homework', :as => 'new_homework'
|
get 'new_homework', :action => 'new_homework', :as => 'new_homework'
|
||||||
|
|
|
@ -102,7 +102,7 @@ a:hover.more{ color:#64bdd9;}
|
||||||
.btn_free{ background:#ff5722; display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;}
|
.btn_free{ background:#ff5722; display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;}
|
||||||
.btn_free:hover{ background:#d63502;}
|
.btn_free:hover{ background:#d63502;}
|
||||||
/*成员邀请*/
|
/*成员邀请*/
|
||||||
.invi_search{ width:230px; margin:0 auto;}
|
.invi_search{ width:295px; margin:0 auto;}
|
||||||
.invi_search_input{ border:1px solid #15bccf; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}
|
.invi_search_input{ border:1px solid #15bccf; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}
|
||||||
.invi_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;}
|
.invi_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;}
|
||||||
.invi_search_btn:hover{ background:#0da1b2; border:1px solid #0da1b2;}
|
.invi_search_btn:hover{ background:#0da1b2; border:1px solid #0da1b2;}
|
||||||
|
|
Loading…
Reference in New Issue