OSDN Git Service

Migrate global project taks. Removed more teams related functionality
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Wed, 19 Jun 2013 16:48:48 +0000 (19:48 +0300)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Wed, 19 Jun 2013 16:48:48 +0000 (19:48 +0300)
12 files changed:
app/controllers/application_controller.rb
app/helpers/admin/teams/members_helper.rb [deleted file]
app/helpers/admin/teams/projects_helper.rb [deleted file]
app/helpers/namespaces_helper.rb
app/models/concerns/issuable.rb
app/models/project.rb
app/views/dashboard/_teams.html.haml [deleted file]
app/views/layouts/nav/_team.html.haml [deleted file]
app/views/team_members/_assigned_team.html.haml [deleted file]
app/views/team_members/_assigned_teams.html.haml [deleted file]
app/views/team_members/index.html.haml
lib/tasks/migrate/migrate_global_projects.rake

index fda05fe..e84220c 100644 (file)
@@ -95,14 +95,6 @@ class ApplicationController < ActionController::Base
     return access_denied! unless can?(current_user, :create_team, nil)
   end
 
-  def authorize_manage_user_team!
-    return access_denied! unless user_team.present? && can?(current_user, :manage_user_team, user_team)
-  end
-
-  def authorize_admin_user_team!
-    return access_denied! unless user_team.present? && can?(current_user, :admin_user_team, user_team)
-  end
-
   def access_denied!
     render "errors/access_denied", layout: "errors", status: 404
   end
diff --git a/app/helpers/admin/teams/members_helper.rb b/app/helpers/admin/teams/members_helper.rb
deleted file mode 100644 (file)
index 58b9f18..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-module Admin::Teams::MembersHelper
-  def member_since(team, member)
-    team.user_team_user_relationships.find_by_user_id(member).created_at
-  end
-end
diff --git a/app/helpers/admin/teams/projects_helper.rb b/app/helpers/admin/teams/projects_helper.rb
deleted file mode 100644 (file)
index b97cc40..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-module Admin::Teams::ProjectsHelper
-  def assigned_since(team, project)
-    team.user_team_project_relationships.find_by_project_id(project).created_at
-  end
-end
index a6fcf8d..dc88e17 100644 (file)
@@ -7,7 +7,6 @@ module NamespacesHelper
     users_opts = [ "Users", users.sort_by(&:human_name).map {|u| [u.human_name, u.id]} ]
 
     options = []
-    options << global_opts if current_user.admin
     options << group_opts
     options << users_opts
 
index 11e3d8e..cb238c1 100644 (file)
@@ -21,7 +21,6 @@ module Issuable
     scope :opened, -> { with_state(:opened) }
     scope :closed, -> { with_state(:closed) }
     scope :of_group, ->(group) { where(project_id: group.project_ids) }
-    scope :of_user_team, ->(team) { where(project_id: team.project_ids, assignee_id: team.member_ids) }
     scope :assigned_to, ->(u) { where(assignee_id: u.id)}
     scope :recent, -> { order("created_at DESC") }
     scope :assigned, -> { where("assignee_id IS NOT NULL") }
index ff61eca..5045cb2 100644 (file)
@@ -61,12 +61,6 @@ class Project < ActiveRecord::Base
   has_many :snippets,           dependent: :destroy, class_name: "ProjectSnippet"
   has_many :hooks,              dependent: :destroy, class_name: "ProjectHook"
   has_many :protected_branches, dependent: :destroy
-  has_many :user_team_project_relationships, dependent: :destroy
-
-  has_many :users,          through: :users_projects
-  has_many :user_teams,     through: :user_team_project_relationships
-  has_many :user_team_user_relationships, through: :user_teams
-  has_many :user_teams_members, through: :user_team_user_relationships
 
   has_many :deploy_keys_projects, dependent: :destroy
   has_many :deploy_keys, through: :deploy_keys_projects
diff --git a/app/views/dashboard/_teams.html.haml b/app/views/dashboard/_teams.html.haml
deleted file mode 100644 (file)
index 95d87f5..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-.ui-box.teams-box
-  %h5.title
-    Teams
-    %span.light
-      (#{teams.count})
-    %span.pull-right
-      = link_to new_team_path, class: "btn btn-small" do
-        %i.icon-plus
-        New Team
-  %ul.well-list
-    - teams.each do |team|
-      %li
-        = link_to team_path(id: team.path), class: dom_class(team) do
-          %strong.well-title= truncate(team.name, length: 35)
-        %span.pull-right.light
-          - if team.owner == current_user
-            %i.icon-wrench
-          - tm = current_user.user_team_user_relationships.find_by_user_team_id(team.id)
-          - if tm
-            = tm.access_human
-    - if teams.blank?
-      %li
-        %h3.nothing_here_message You have no teams yet.
diff --git a/app/views/layouts/nav/_team.html.haml b/app/views/layouts/nav/_team.html.haml
deleted file mode 100644 (file)
index 575c5b7..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-%ul
-  = nav_link(path: 'teams#show', html_options: {class: 'home'}) do
-    = link_to team_path(@team), title: "Home" do
-      %i.icon-home
-
-  = nav_link(path: 'teams#issues') do
-    = link_to issues_team_path(@team) do
-      Issues
-      %span.count= Issue.opened.of_user_team(@team).count
-
-  = nav_link(path: 'teams#merge_requests') do
-    = link_to merge_requests_team_path(@team) do
-      Merge Requests
-      %span.count= MergeRequest.opened.of_user_team(@team).count
-
-  = nav_link(controller: [:members]) do
-    = link_to team_members_path(@team), class: "team-tab tab" do
-      Members
-      %span.count= @team.members.count
-
-  - if can? current_user, :manage_user_team, @team
-    = nav_link(path: 'teams#edit') do
-      = link_to edit_team_path(@team), class: "stat-tab tab " do
-        Settings
-
diff --git a/app/views/team_members/_assigned_team.html.haml b/app/views/team_members/_assigned_team.html.haml
deleted file mode 100644 (file)
index 51a31a6..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-%li{id: dom_id(team), class: "user_team_row team_#{team.id}"}
-  .pull-right
-    - if can?(current_user, :admin_team_member, @project)
-      = link_to resign_project_team_path(@project, team), method: :delete, confirm: "Are you sure?", class: "btn btn-remove btn-tiny" do
-        %i.icon-minus.icon-white
-
-  %strong= link_to team.name, team_path(team), title: team.name, class: "dark"
-  %br
-  %small.cgray Members: #{team.members.count}
-  %small.cgray Max access: #{team_relation.human_max_access}
diff --git a/app/views/team_members/_assigned_teams.html.haml b/app/views/team_members/_assigned_teams.html.haml
deleted file mode 100644 (file)
index 91c6d8f..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-.ui-box
-  %ul.well-list
-    - assigned_teams.sort_by(&:team_name).each do |team_relation|
-      = render "team_members/assigned_team", team_relation: team_relation, team: team_relation.user_team
index 781cb36..146e5c0 100644 (file)
 
 - else
   = render "team_members/team", members: @users_projects
-
-- if @assigned_teams.present?
-  %h5
-    Assigned teams
-    (#{@project.user_teams.count})
-  %div
-    = render "team_members/assigned_teams", assigned_teams: @assigned_teams
index f2f7472..2cf9c23 100644 (file)
@@ -4,9 +4,13 @@ task migrate_global_projects: :environment do
   ask_to_continue
 
   Project.where(namespace_id: nil).find_each(batch_size: 20) do |project|
-
-    # TODO: transfer code here
-    print '.'
+    begin
+      project.transfer(project.owner.namespace)
+      print '.'
+    rescue => ex
+      puts ex.message
+      print 'F'
+    end
   end
 end