add Member frontend page selection options and fix backend role filter page

This commit is contained in:
Spen authored and saurabhbhatia committed 2013-11-15 17:08:45 +08:00
1 parent c291f15e23
commit 20e2f07b26
20 files changed
+228 -107

No files matched your search

@@ -27,22 +27,27 @@ class Panel::Member::FrontEnd::MemberListsController < OrbitWidgetController
@member_role = Role.where(:_id => @role_id)
@member_subroles = SubRole.where(:role_id => @role_id, :disabled => false)
@member_list_categorys = RoleCategory.can_display.any_in(:_id => params[:tag_id]).asc("key")
@member_list_categorys = RoleCategory.where(:role_id => @role_id,disable: false).asc("key")
@member_status = RoleStatus.can_display.any_in(:_id => params[:category_id]).asc("key")
if !params[:category_id].blank?
@member_status = RoleStatus.can_display.any_in(:_id => params[:category_id]).asc("key")
@mlcs = @member_list_categorys.map{|category| category.id.to_s }
@mcs = params[:mcid].blank? ? @mlcs.first : params[:mcid]
if !@member_list_categorys.blank? or !@member_status.blank?
if !@mcs.blank? and @mlcs.include?(@mcs)
@member_lists = User.where(:role_ids => @role_id,:role_category_ids => @mcs).asc(:position)
else
@member_lists = User.where(:role_ids => @role_id).asc(:position)
end
else
@member_status = RoleStatus.can_display.where(:role_id => @role_id).asc("key")
# @member_lists = User.where(:role_ids => @role_id)
@member_lists = ''
end
if !params[:mcid].blank?
@member_lists = User.where(:role_ids => @role_id, :role_category_ids => params[:mcid])
else
@member_lists = User.where(:role_ids => @role_id)
end
end
def show
@@ -1,5 +1,9 @@
<% # encoding: utf-8 %>
<% if !@member_lists.blank? %>
<% @job_title_field = @member_lists.get_member_list_attribute_field("teacher","job_title") %>
<section>
<div class="side"></div>
@@ -8,7 +12,7 @@
<% if !@member_list_categorys.blank? %>
<ul class="o-members-nav">
<% @member_list_categorys.each do |mc| %>
<li class="<%= (params[:mcid] == mc.id.to_s) ? 'active' : '' %>"><a href="?&mcid=<%= mc.id %>"><%= mc.title %></a></li>
<li class="<%= (params[:mcid] == mc.id.to_s or @mcs.to_s == mc.id.to_s) ? 'active' : '' %>"><a href="?&mcid=<%= mc.id %>"><%= mc.title %></a></li>
<% end %>
</ul>
<% end %>
@@ -17,6 +21,8 @@
<div class="o-members">
<%# @member_lists = @member_lists.where(:role_category_ids => @mcs) if !@mcs.blank? and @mlcs.include?(@mcs) %>
<% @member_status.each do |ms| %>
<% if @member_lists.where(:role_status_ids=>ms.id).count > 0 %>
@@ -30,11 +36,11 @@
<div class="o-members-pic"><%= show_avatar(member) %></div>
<ul class="o-members-info">
<li><b class="o-members-label"><%= t("users.name")%></b><%= link_to member.name, panel_member_front_end_member_list_path(member.id), {:class => "o-members-link"} %></li>
<% @job_title = show_attribute_value(@member_lists.get_member_list_attribute_value(member.id,"teacher","job_title").get_value_by_locale(I18n.locale))
<% @job_title = @member_lists.get_member_list_attribute_value(member.id,@job_title_field.id).get_value_by_locale(I18n.locale)
if @job_title != 'NoData' and !@job_title.blank?
%>
<li><b class="o-members-label">
<%= @member_lists.get_member_list_attribute_field_name("teacher","job_title") %></b>
<%= @job_title_field.title %></b>
<%= @job_title %>
</li>
<% end %>
@@ -55,12 +61,10 @@
<% elsif @item.frontend_style == 'Two' or @item.frontend_style.blank? %>
<section>
<div class="side"></div>
<div class="main">
<div class="o-members view-columns">
<%# @member_lists = @member_lists.where(:role_category_ids => @mcs) if !@mcs.blank? %>
<% @member_status.each do |ms| %>
<% if @member_lists.where(:role_status_ids=>ms.id).count > 0 %>
@@ -74,10 +78,10 @@
<div class="o-members-pic"><%= show_avatar(member) %></div>
<ul class="o-members-info">
<li><b class="o-members-label"><%= t("users.name")%></b><%= link_to member.name, panel_member_front_end_member_list_path(member.id), {:class => "o-members-link"} %></li>
<% @job_title = show_attribute_value(@member_lists.get_member_list_attribute_value(member.id,"teacher","job_title").get_value_by_locale(I18n.locale))
<% @job_title = @member_lists.get_member_list_attribute_value(member.id,@job_title_field.id).get_value_by_locale(I18n.locale)
if @job_title != 'NoData' and !@job_title.blank?
%>
<li><b class="o-members-label"><%= @member_lists.get_member_list_attribute_field_name("teacher","job_title") %></b><%= @job_title %></li>
<li><b class="o-members-label"><%= @job_title_field.title %></b><%= @job_title %></li>
<% end %>
<li><b class="o-members-label"><%= t("users.email")%></b> <%= member.email %></li>
<li><b class="o-members-label"><%= t("users.office_tel")%></b><%= member.office_tel %></li>
@@ -98,5 +102,6 @@
</div>
</section>
<% end %>
<%#= stylesheet_link_tag "member/members" %>
<%= stylesheet_link_tag "member/members" %>
@@ -36,7 +36,7 @@
<% end -%>
<% end -%>
<%= render :partial=> "show_roles",:collection=>@member.roles.asc(:created_at) %>
<%= render :partial=> "show_roles",:collection=>@member.roles.where(:disabled=>false).asc(:created_at) %>
</tbody>
</table>
@@ -8,6 +8,36 @@
.o-members-category:first-child {
margin-top: 0;
}
.o-members-nav {
margin: 0 0 10px;
padding: 0;
list-style: none;
}
.o-members-nav:after {
content: "";
clear: both;
display: block;
height: 0;
visibility: hidden;
}
.o-members-nav li {
float: left;
}
.o-members-nav li + li {
margin-left: 8px;
}
.o-members-nav li a {
display: inline-block;
line-height: 23px;
padding: 5px 8px;
height: 23px;
background-color: #ccc;
border-radius: 3px;
}
.o-members-nav li.active a {
color: #FFF;
background-color: #0088CE;
}
.o-members-list {
list-style: none;
margin: 0;
@@ -107,4 +137,4 @@
font-size: 16px;
margin: 0;
line-height: 40px;
}
}
@@ -27,17 +27,25 @@ class Panel::MemberStaff::FrontEnd::MemberStaffListsController < OrbitWidgetCont
@member_role = Role.where(:_id => @role_id)
@member_subroles = SubRole.where(:role_id => @role_id, :disabled => false)
@member_list_categorys = RoleCategory.can_display.any_in(:_id => params[:tag_id]).asc("key")
if !params[:category_id].blank?
@member_status = RoleStatus.can_display.any_in(:_id => params[:category_id]).asc("key")
@member_status = RoleStatus.can_display.any_in(:_id => params[:category_id]).asc("key")
@member_lists = User.where(:role_ids => @role_id)
@mlcs = @member_list_categorys.map{|category| category.id.to_s }
@mcs = params[:mcid].blank? ? @mlcs.first : params[:mcid]
if !@member_list_categorys.blank? or !@member_status.blank?
if !@mcs.blank? and @mlcs.include?(@mcs)
@member_lists = User.where(:role_ids => @role_id,:role_category_ids => @mcs).asc(:position)
else
@member_lists = User.where(:role_ids => @role_id).asc(:position)
end
else
@member_status = RoleStatus.can_display.where(:role_id => @role_id).asc("key")
@member_lists = User.where(:role_ids => @role_id)
# @member_lists = User.where(:role_ids => @role_id)
@member_lists = ''
end
end
@@ -1,29 +1,61 @@
<% # encoding: utf-8 %>
<% if !@member_lists.blank? %>
<% @job_title_field = @member_lists.get_member_list_attribute_field("staff","job_title") %>
<% @job_business_field = @member_lists.get_member_list_attribute_field("staff","business") %>
<% if @item.frontend_style == 'Single' %>
<% if @item.frontend_style == 'Single' or @item.frontend_style == 'Two' %>
<section>
<div class="side"></div>
<div class="main">
<% if !@member_list_categorys.blank? %>
<ul class="o-members-nav">
<% @member_list_categorys.each do |mc| %>
<li class="<%= (params[:mcid] == mc.id.to_s or @mcs.to_s == mc.id.to_s) ? 'active' : '' %>"><a href="?&mcid=<%= mc.id %>"><%= mc.title %></a></li>
<% end %>
</ul>
<% end %>
<% if @item.frontend_style == 'Single' %>
<div class="o-members">
<% @member_status.each do |ms| %>
<% if @member_lists.where(:role_status_ids=>ms.id).count > 0 %>
<h3 class="o-members-category h3"><%= ms.title %></h3>
<ul class="o-members-list">
<% @member_lists.get_role_member_data_by_sort(ms.id).each do |member| %>
<% @member_lists.where(:role_status_ids=>ms.id).each do |member| %>
<li class="odd">
<div class="o-members-pic"><%= show_avatar(member) %></div>
<ul class="o-members-info">
<li><b class="o-members-label"><%= @member_lists.get_member_list_attribute_field_name("staff","job_title") %></b><%= show_attribute_value(@member_lists.get_member_list_attribute_value(member.id,"staff","job_title").get_value_by_locale(I18n.locale)) %></li>
<% @job_title = @member_lists.get_member_list_attribute_value(member.id,@job_title_field.id).get_value_by_locale(I18n.locale)
if @job_title != 'NoData' and !@job_title.blank?
%>
<li><b class="o-members-label">
<%= @job_title_field.title %></b>
<%= @job_title %>
</li>
<% end %>
<li><b class="o-members-label"><%= t("users.name")%></b><%= link_to member.name, panel_member_front_end_member_list_path(member.id), {:class => "o-members-link"} %></li>
<li><b class="o-members-label"><%= t("users.office_tel")%></b><%= member.office_tel %></li>
<li><b class="o-members-label"><%= t("users.email")%></b><%= member.email %></li>
<li><b class="o-members-label"><%= @member_lists.get_member_list_attribute_field_name("staff","business") %></b><%= nl2br(@member_lists.get_member_list_attribute_value(member.id,"staff","business").get_value_by_locale(I18n.locale)) %></li>
<li><b class="o-members-label"><%= @member_lists.get_member_list_attribute_field_name("staff","agent") %></b><%= @member_lists.get_member_list_attribute_value(member.id,"staff","agent").get_value_by_locale(I18n.locale) %></li>
<% @job_business = @member_lists.get_member_list_attribute_value(member.id,@job_business_field.id).get_value_by_locale(I18n.locale)
if @job_business != 'NoData' and !@job_business.blank?
%>
<li><b class="o-members-label">
<%= @job_business_field.title %></b>
<%= @job_business %>
</li>
<% end %>
</ul>
</li>
@@ -33,34 +65,47 @@
<% end %>
<% end %>
</div>
</div>
</section>
<% elsif @item.frontend_style == 'Two' %>
<% elsif @item.frontend_style == 'Two' %>
<section>
<div class="side"></div>
<div class="main">
<div class="o-members view-columns">
<% @member_status.each do |ms| %>
<% if @member_lists.where(:role_status_ids=>ms.id).count > 0 %>
<h3 class="o-members-category h3"><%= ms.title %></h3>
<ul class="o-members-list">
<% @member_lists.get_role_member_data_by_sort(ms.id).each_with_index do |member, i| %>
<% @member_lists.where(:role_status_ids=>ms.id).each_with_index do |member, i| %>
<li <%= ( (i + 1) % 2 != 0 ) ? "class=odd" : '' %>>
<div class="o-members-pic"><%= show_avatar(member) %></div>
<ul class="o-members-info">
<li><b class="o-members-label"><%= @member_lists.get_member_list_attribute_field_name("staff","job_title") %></b><%= show_attribute_value(@member_lists.get_member_list_attribute_value(member.id,"staff","job_title").get_value_by_locale(I18n.locale)) %></li>
<% @job_title = @member_lists.get_member_list_attribute_value(member.id,@job_title_field.id).get_value_by_locale(I18n.locale)
if @job_title != 'NoData' and !@job_title.blank?
%>
<li><b class="o-members-label">
<%= @job_title_field.title %></b>
<%= @job_title %>
</li>
<% end %>
<li><b class="o-members-label"><%= t("users.name")%></b><%= link_to member.name, panel_member_front_end_member_list_path(member.id), {:class => "o-members-link"} %></li>
<li><b class="o-members-label"><%= t("users.office_tel")%></b><%= member.office_tel %></li>
<li><b class="o-members-label"><%= t("users.email")%></b><%= member.email %></li>
<li><b class="o-members-label"><%= @member_lists.get_member_list_attribute_field_name("staff","business") %></b><%= nl2br(@member_lists.get_member_list_attribute_value(member.id,"staff","business").get_value_by_locale(I18n.locale)) %></li>
<li><b class="o-members-label"><%= @member_lists.get_member_list_attribute_field_name("staff","agent") %></b><%= @member_lists.get_member_list_attribute_value(member.id,"staff","agent").get_value_by_locale(I18n.locale) %></li>
<% @job_business = @member_lists.get_member_list_attribute_value(member.id,@job_business_field.id).get_value_by_locale(I18n.locale)
if @job_business != 'NoData' and !@job_business.blank?
%>
<li><b class="o-members-label">
<%= @job_business_field.title %></b>
<%= @job_business %>
</li>
<% end %>
</ul>
</li>
@@ -70,47 +115,64 @@
<% end %>
<% end %>
</div>
<% end %>
</div>
</section>
<% elsif @item.frontend_style == 'List' %>
<% if !@member_list_categorys.blank? %>
<ul class="o-members-nav">
<% @member_list_categorys.each do |mc| %>
<li class="<%= (params[:mcid] == mc.id.to_s or @mcs.to_s == mc.id.to_s) ? 'active' : '' %>"><a href="?&mcid=<%= mc.id %>"><%= mc.title %></a></li>
<% end %>
</ul>
<% end %>
<div class="o-members view-ntu-lists">
<% @member_status.each do |ms| %>
<% if @member_lists.where(:role_status_ids=>ms.id).count > 0 %>
<h3 class="o-members-category h3"><%= ms.title %></h3>
<table>
<thead>
<tr>
<td><span class="job_title"><%= @member_lists.get_member_list_attribute_field_name("staff","job_title") %></span></td>
<td><span class="job_title"><%= @job_title_field.title %></span></td>
<td><span class="name"><%= t("users.name")%></span></td>
<td><span class="tel"><%= t("users.office_tel")%></span></td>
<td><span class="business"><%= @member_lists.get_member_list_attribute_field_name("staff","business") %></span></td>
<td><span class="agent"><%= @member_lists.get_member_list_attribute_field_name("staff","agent") %></span></td>
<td><span class="business"><%= @job_business_field.title %></span></td>
</tr>
</thead>
<% @member_lists.get_role_member_data_by_sort(ms.id).each_with_index do |member, i| %>
<% @member_lists.where(:role_status_ids=>ms.id).each_with_index do |member, i| %>
<tr>
<td>
<span class="job_title">
<%= show_attribute_value(@member_lists.get_member_list_attribute_value(member.id,"staff","job_title").get_value_by_locale(I18n.locale)) rescue '' %>
<% @job_title = @member_lists.get_member_list_attribute_value(member.id,@job_title_field.id).get_value_by_locale(I18n.locale)
if @job_title != 'NoData' and !@job_title.blank?
%>
<%= @job_title %>
<% end %>
</span>
</td>
<td><span class="name"><%= link_to member.name, "mailto:#{member.email}" %></span></td>
<td><span class="tel"><%= member.office_tel %></span></td>
<td>
<span class="business">
<%= nl2br(@member_lists.get_member_list_attribute_value(member.id,"staff","business").get_value_by_locale(I18n.locale)) rescue '' %>
</span>
</td>
<td>
<span class="agent">
<%= @member_lists.get_member_list_attribute_value(member.id,"staff","agent").get_value_by_locale(I18n.locale) rescue '' %>
<% @job_business = @member_lists.get_member_list_attribute_value(member.id,@job_business_field.id).get_value_by_locale(I18n.locale)
if @job_business != 'NoData' and !@job_business.blank?
%>
<%= @job_business %>
<% end %>
</span>
</td>
</tr>
@@ -121,9 +183,12 @@
<% end %>
<% end %>
</div>
<% end %>
<% end %>
<%= stylesheet_link_tag "member_staff/members" %>
<%= stylesheet_link_tag "member_staff/members" %>