OSDN Git Service

Add permission filter to teams -> members page
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Thu, 30 May 2013 07:57:50 +0000 (10:57 +0300)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Thu, 30 May 2013 07:57:50 +0000 (10:57 +0300)
app/models/user_team.rb
app/views/teams/members/_member.html.haml [moved from app/views/teams/members/_show.html.haml with 84% similarity]
app/views/teams/members/_team.html.haml
app/views/teams/members/index.html.haml

index 5de2ac6..364ea0d 100644 (file)
@@ -113,5 +113,4 @@ class UserTeam < ActiveRecord::Base
   def admin?(member)
     user_team_user_relationships.with_user(member).first.group_admin?
   end
-
 end
similarity index 84%
rename from app/views/teams/members/_show.html.haml
rename to app/views/teams/members/_member.html.haml
index dc32acb..17096d2 100644 (file)
@@ -2,7 +2,7 @@
 - allow_admin = can? current_user, :manage_user_team, @team
 %li{id: dom_id(member), class: "team_member_row user_#{user.id}"}
   .row
-    .span4
+    .span3
       = link_to user_path(user.username), title: user.name, class: "dark" do
         = image_tag gravatar_icon(user.email, 40), class: "avatar s32"
       = link_to user_path(user.username), title: user.name, class: "dark" do
         %br
         %small.cgray= user.username
 
-    .span7.pull-right
+    .span5.pull-right
       - if allow_admin
         .pull-left
           = form_for(member, as: :team_member, url: team_member_path(@team, user)) do |f|
-            = label_tag do
+            = label_tag :group_admin do
               = f.check_box :group_admin, class: 'trigger-submit'
               %span Admin access
             &nbsp;
-            = f.select :permission, options_for_select(UsersProject.access_roles, @team.default_projects_access(user)), {}, class: "medium trigger-submit"
+            = f.select :permission, options_for_select(UsersProject.access_roles, @team.default_projects_access(user)), {}, class: "span2 trigger-submit"
       .pull-right
         - if current_user == user
-          %span.btn.disabled This is you!
+          %span.label.label-success This is you!
         - if @team.owner == user
-          %span.btn.disabled Owner
+          %span.label.label-info Owner
         - elsif user.blocked?
-          %span.btn.disabled.blocked Blocked
+          %span.label.label-error Blocked
         - elsif allow_admin
           = link_to team_member_path(@team, user), confirm: remove_from_user_team_message(@team, user), method: :delete, class: "btn-tiny btn btn-remove", title: "Remove from team" do
             %i.icon-minus.icon-white
index d8afc1f..52bb597 100644 (file)
@@ -1,16 +1,10 @@
-- grouped_user_team_members(@team).each do |access, members|
+- grouped_user_team_members(team).each do |access, members|
+  - access_key = Project.access_options.key(access)
+  - next if params[:type].present? && params[:type] != access_key.tableize
   .ui-box
     %h5.title
-      = Project.access_options.key(access).pluralize
+      = access_key.pluralize
       %small= members.size
-    %ul.well-list
-      - members.sort_by(&:user_name).each do |up|
-        = render(partial: 'teams/members/show', locals: {member: up})
-
-
-:javascript
-  $(function(){
-    $('.repo-access-select, .project-access-select').live("change", function() {
-      $(this.form).submit();
-    });
-  })
+    %ul.well-list.team-members
+      - members.sort_by(&:user_name).each do |member|
+        = render 'teams/members/member', member: member
index 8743826..02700e9 100644 (file)
 %hr
 
 
-.clearfix
-%div.team-table
-  = render partial: "teams/members/team", locals: {project: @team}
+.row
+  .span3
+    %ul.nav.nav-pills.nav-stacked
+      %li{class: ("active" if !params[:type])}
+        = link_to team_members_path(@team, type: nil) do
+          All
+      %li{class: ("active" if params[:type] == 'masters')}
+        = link_to team_members_path(@team, type: 'masters') do
+          Masters
+      %li{class: ("active" if params[:type] == 'developers')}
+        = link_to team_members_path(@team, type: 'developers') do
+          Developers
+      %li{class: ("active" if params[:type] == 'reporters')}
+        = link_to team_members_path(@team, type: 'reporters') do
+          Reporters
+      %li{class: ("active" if params[:type] == 'guests')}
+        = link_to team_members_path(@team, type: 'guests') do
+          Guests
+
+  .span9
+    .clearfix
+    %div.team-table
+      = render "teams/members/team", team: @team