From 01a7250ba502c63681bf0060b2cbf1b2a28afac6 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 18 Feb 2013 14:35:38 +0200 Subject: [PATCH] Add user to team he creates --- app/controllers/teams_controller.rb | 5 +++-- app/models/ability.rb | 2 +- app/views/teams/members/_show.html.haml | 7 ++++--- app/views/teams/new.html.haml | 14 ++++++++++++++ 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/app/controllers/teams_controller.rb b/app/controllers/teams_controller.rb index ef66b77e232..4861892d36e 100644 --- a/app/controllers/teams_controller.rb +++ b/app/controllers/teams_controller.rb @@ -9,13 +9,11 @@ class TeamsController < ApplicationController layout 'user_team', except: [:new, :create] def show - user_team projects @events = Event.in_projects(user_team.project_ids).limit(20).offset(params[:offset] || 0) end def edit - user_team end def update @@ -41,6 +39,9 @@ class TeamsController < ApplicationController @team.path = @team.name.dup.parameterize if @team.name if @team.save + # Add current user as Master to the team + @team.add_members([current_user.id], UsersProject::MASTER, true) + redirect_to team_path(@team) else render action: :new diff --git a/app/models/ability.rb b/app/models/ability.rb index 6d087a959a9..6fda2e52c7c 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -123,7 +123,7 @@ class Ability def user_team_abilities user, team rules = [] - # Only group owner and administrators can manage group + # Only group owner and administrators can manage team if team.owner == user || team.admin?(user) || user.admin? rules << [ :manage_user_team ] end diff --git a/app/views/teams/members/_show.html.haml b/app/views/teams/members/_show.html.haml index 6cddb8e4826..4a0287dee48 100644 --- a/app/views/teams/members/_show.html.haml +++ b/app/views/teams/members/_show.html.haml @@ -17,13 +17,14 @@ = f.select :permission, options_for_select(UsersProject.access_roles, @team.default_projects_access(user)), {}, class: "medium project-access-select span2" .left.span2 %span - = check_box_tag :group_admin, true, @team.admin?(user) - Admin access + - if @team.admin?(user) + %i.icon-check + Admin access .pull-right - if current_user == user %span.btn.disabled This is you! - if @team.owner == user - %span.btn.disabled.btn-success Owner + %span.btn.disabled Owner - elsif user.blocked %span.btn.disabled.blocked Blocked - elsif allow_admin diff --git a/app/views/teams/new.html.haml b/app/views/teams/new.html.haml index 38f61c11c0c..7089f791558 100644 --- a/app/views/teams/new.html.haml +++ b/app/views/teams/new.html.haml @@ -17,3 +17,17 @@ %li All created teams are public (users can view who enter into team and which project are assigned for this team) %li People within a team see only projects they have access to %li You will be able to assign existing projects for team + %hr + + - if current_user.can_create_group? + .clearfix + .input.light + Need a group for several dependent projects? + = link_to new_group_path, class: "btn btn-tiny" do + Create a group + - if current_user.can_create_project? + .clearfix + .input.light + Want to create a project? + = link_to new_project_path, class: "btn btn-tiny" do + Create a project