Remove team_member show page -> use user_path instead

5-0-stable
Dmitriy Zaporozhets 2013-03-13 19:16:36 +02:00
parent 366bc32013
commit fa9a8c3847
13 changed files with 34 additions and 178 deletions

View File

@ -11,11 +11,6 @@ class TeamMembersController < ProjectResourceController
@assigned_teams = @project.user_team_project_relationships
end
def show
@user_project_relation = project.users_projects.find_by_user_id(member)
@events = member.recent_events.in_projects(project).limit(7)
end
def new
@user_project_relation = project.users_projects.new
end

View File

@ -81,12 +81,13 @@ class CommitDecorator < ApplicationDecorator
else
source_name
end
team_member = @project.try(:team_member_by_name_or_email, source_name, source_email)
if team_member.nil?
h.mail_to source_email, text.html_safe, class: "commit-#{options[:source]}-link"
user = User.where('name like ? or email like ?', source_name, source_email).first
if user.nil?
h.mail_to(source_email, text.html_safe, class: "commit-#{options[:source]}-link")
else
h.link_to text, h.project_team_member_path(@project, team_member), class: "commit-#{options[:source]}-link"
h.link_to(text.html_safe, h.user_path(user), class: "commit-#{options[:source]}-link")
end
end
end

View File

@ -32,17 +32,7 @@ module ProjectsHelper
author_html = author_html.html_safe
tm = project.team_member_by_id(author)
if tm
link_to author_html, project_team_member_path(project, tm.user_username), class: "author_link"
else
author_html
end.html_safe
end
def tm_path team_member
project_team_member_path(@project, team_member)
link_to(author_html, user_path(author), class: "author_link").html_safe
end
def project_title project

View File

@ -87,7 +87,7 @@
%h6 Participants:
%div
- @users.each do |user|
= link_to tm_path(user.tm_of(@project)), class: 'float-link' do
= link_to user, class: 'float-link' do
= user.avatar_image
= user.name

View File

@ -3,12 +3,11 @@
%li{id: dom_id(user), class: "team_member_row user_#{user.id}"}
.row
.span4
= link_to project_team_member_path(@project, user), title: user.name, class: "dark" do
= image_tag gravatar_icon(user.email, 40), class: "avatar s32"
= link_to project_team_member_path(@project, user), title: user.name, class: "dark" do
= link_to user, title: user.name, class: "dark" do
= image_tag gravatar_icon(user.email, 32), class: "avatar s32"
%strong= truncate(user.name, lenght: 40)
%br
%small.cgray= user.email
%small.cgray= user.username
.span4.pull-right
- if allow_admin
@ -23,6 +22,6 @@
- elsif user.blocked?
%span.label Blocked
- elsif allow_admin
= link_to project_team_member_path(@project, user), confirm: remove_from_project_team_message(@project, user), method: :delete, class: "btn-tiny btn btn-remove" do
= link_to project_team_member_path(@project, user), confirm: remove_from_project_team_message(@project, user), method: :delete, class: "btn-tiny btn btn-remove", title: 'Remove user from team' do
%i.icon-minus.icon-white

View File

@ -1,59 +0,0 @@
- allow_admin = can? current_user, :admin_project, @project
.team_member_show
- if can? current_user, :admin_project, @project
= link_to 'Remove from team', project_team_member_path(@project, @member), confirm: 'Are you sure?', method: :delete, class: "btn btn-remove pull-right"
.profile_avatar_holder
= image_tag gravatar_icon(@member.email, 60), class: "borders"
%h3.page_title
= @member.name
%small (@#{@member.username})
%hr
.back_link
%br
= link_to project_team_index_path(@project), class: "" do
&larr; To team list
%br
.row
.span6
%table.lite
%tr
%td Email
%td= mail_to @member.email
%tr
%td Skype
%td= @member.skype
- unless @member.linkedin.blank?
%tr
%td LinkedIn
%td= @member.linkedin
- unless @member.twitter.blank?
%tr
%td Twitter
%td= @member.twitter
- unless @member.bio.blank?
%tr
%td Bio
%td= @member.bio
.span6
%table.lite
%tr
%td Member since
%td= @user_project_relation.created_at.stamp("Aug 21, 2011")
%tr
%td
Project Access:
%small (#{link_to "read more", help_permissions_path, class: "vlink"})
%td
= form_for(@user_project_relation, as: :team_member, url: project_team_member_path(@project, @member)) do |f|
= f.select :project_access, options_for_select(Project.access_options, @user_project_relation.project_access), {}, class: "project-access-select", disabled: !allow_admin
%hr
= render @events
:javascript
$(function(){
$('.repo-access-select, .project-access-select').live("change", function() {
$(this.form).submit();
});
})

View File

@ -8,7 +8,7 @@
= link_to user_path(user.username), title: user.name, class: "dark" do
%strong= truncate(user.name, lenght: 40)
%br
%small.cgray= user.email
%small.cgray= user.username
.span4
- if allow_admin

View File

@ -15,7 +15,7 @@
%tr.member
%td
= member.name
%small= "(#{member.email})"
%small= "(#{member.username})"
%td= @team.human_default_projects_access(member)
%td= @team.admin?(member) ? "Admin" : "Member"
%td

View File

@ -1,60 +0,0 @@
- allow_admin = can? current_user, :admin_project, @project
- user = @team_member.user
.team_member_show
- if can? current_user, :admin_project, @project
= link_to 'Remove from team', project_team_member_path(project_id: @project, id: @team_member.id), confirm: 'Are you sure?', method: :delete, class: "pull-right btn btn-remove"
.profile_avatar_holder
= image_tag gravatar_icon(user.email, 60), class: "borders"
%h3.page_title
= user.name
%small (@#{user.username})
%hr
.back_link
%br
= link_to project_team_index_path(@project), class: "" do
&larr; To team list
%br
.row
.span6
%table.lite
%tr
%td Email
%td= mail_to user.email
%tr
%td Skype
%td= user.skype
- unless user.linkedin.blank?
%tr
%td LinkedIn
%td= user.linkedin
- unless user.twitter.blank?
%tr
%td Twitter
%td= user.twitter
- unless user.bio.blank?
%tr
%td Bio
%td= user.bio
.span6
%table.lite
%tr
%td Member since
%td= @team_member.created_at.stamp("Aug 21, 2011")
%tr
%td
Project Access:
%small (#{link_to "read more", help_permissions_path, class: "vlink"})
%td
= form_for(@team_member, as: :team_member, url: project_team_member_path(@project, @team_member)) do |f|
= f.select :project_access, options_for_select(Project.access_options, @team_member.project_access), {}, class: "project-access-select", disabled: !allow_admin
%hr
= render @events
:javascript
$(function(){
$('.repo-access-select, .project-access-select').live("change", function() {
$(this.form).submit();
});
})

View File

@ -3,21 +3,21 @@
Profile
%ul.well-list
%li
%strong Email
%span.pull-right= mail_to user.email
%span.light Member since
%strong= user.created_at.stamp("Aug 21, 2011")
- unless user.skype.blank?
%li
%strong Skype
%span.pull-right= user.skype
%span.light Skype:
%strong= user.skype
- unless user.linkedin.blank?
%li
%strong LinkedIn
%span.pull-right= user.linkedin
%span.light LinkedIn:
%strong= user.linkedin
- unless user.twitter.blank?
%li
%strong Twitter
%span.pull-right= user.twitter
%span.light Twitter:
%strong= user.twitter
- unless user.bio.blank?
%li
%strong Bio
%span.pull-right= user.bio
%span.light Bio:
%span= user.bio

View File

@ -9,7 +9,7 @@
%i.icon-edit
Edit Profile
%br
%small @#{@user.username}
%small #{@user.username}
%br
%small member since #{@user.created_at.stamp("Nov 12, 2031")}
.clearfix

View File

@ -23,13 +23,8 @@ Feature: Project Team management
Then I visit project "Shop" team page
And I should see "Sam" in team list as "Reporter"
Scenario: View team member profile
Given I click link "Sam"
Then I should see "Sam" team profile
Scenario: Cancel team member
Given I click link "Sam"
And I click link "Remove from team"
Given I click cancel link for "Sam"
Then I visit project "Shop" team page
And I should not see "Sam" in team list

View File

@ -5,13 +5,13 @@ class ProjectTeamManagement < Spinach::FeatureSteps
Then 'I should be able to see myself in team' do
page.should have_content(@user.name)
page.should have_content(@user.email)
page.should have_content(@user.username)
end
And 'I should see "Sam" in team list' do
user = User.find_by_name("Sam")
page.should have_content(user.name)
page.should have_content(user.email)
page.should have_content(user.username)
end
Given 'I click link "New Team Member"' do
@ -52,17 +52,6 @@ class ProjectTeamManagement < Spinach::FeatureSteps
role_id.should == UsersProject.access_roles["Reporter"].to_s
end
Given 'I click link "Sam"' do
first(:link, "Sam").click
end
Then 'I should see "Sam" team profile' do
user = User.find_by_name("Sam")
page.should have_content(user.name)
page.should have_content(user.email)
page.should have_content("To team list")
end
And 'I click link "Remove from team"' do
click_link "Remove from team"
end
@ -70,7 +59,7 @@ class ProjectTeamManagement < Spinach::FeatureSteps
And 'I should not see "Sam" in team list' do
user = User.find_by_name("Sam")
page.should_not have_content(user.name)
page.should_not have_content(user.email)
page.should_not have_content(user.username)
end
And 'gitlab user "Mike"' do
@ -106,4 +95,10 @@ class ProjectTeamManagement < Spinach::FeatureSteps
select 'Website', from: 'source_project_id'
click_button 'Import'
end
step 'I click cancel link for "Sam"' do
within "#user_#{User.find_by_name('Sam').id}" do
click_link('Remove user from team')
end
end
end