remove project edit from admin area. Redesigned project page in admin area

This commit is contained in:
Dmitriy Zaporozhets 2013-03-25 11:07:11 +02:00
parent e292d7c17b
commit d0df8a6ff8
4 changed files with 81 additions and 155 deletions

View file

@ -19,34 +19,6 @@ class Admin::ProjectsController < Admin::ApplicationController
@users = @users.all @users = @users.all
end end
def edit
end
def team_update
@project.team.add_users_ids(params[:user_ids], params[:project_access])
redirect_to [:admin, @project], notice: 'Project was successfully updated.'
end
def update
project.creator = current_user unless project.creator
status = ::Projects::UpdateContext.new(project, current_user, params).execute(:admin)
if status
redirect_to [:admin, @project], notice: 'Project was successfully updated.'
else
render action: "edit"
end
end
def destroy
@project.team.truncate
@project.destroy
redirect_to admin_projects_path, notice: 'Project was successfully deleted.'
end
protected protected
def project def project

View file

@ -52,8 +52,8 @@
%i.icon-lock.cgreen %i.icon-lock.cgreen
= link_to project.name_with_namespace, [:admin, project] = link_to project.name_with_namespace, [:admin, project]
.pull-right .pull-right
= link_to 'Edit', edit_admin_project_path(project), id: "edit_#{dom_id(project)}", class: "btn btn-small" = link_to 'Edit', edit_project_path(project), id: "edit_#{dom_id(project)}", class: "btn btn-small"
= link_to 'Destroy', [:admin, project], confirm: "REMOVE #{project.name}? Are you sure?", method: :delete, class: "btn btn-small btn-remove" = link_to 'Destroy', [project], confirm: "REMOVE #{project.name}? Are you sure?", method: :delete, class: "btn btn-small btn-remove"
- if @projects.blank? - if @projects.blank?
%p.nothing_here_message 0 projects matches %p.nothing_here_message 0 projects matches
- else - else

View file

@ -1,129 +1,87 @@
%h3.page_title %h3.page_title
Project: #{@project.name_with_namespace} Project: #{@project.name_with_namespace}
= link_to edit_admin_project_path(@project), class: "btn pull-right" do = link_to edit_project_path(@project), class: "btn pull-right" do
%i.icon-edit %i.icon-edit
Edit Edit
%hr
.row
.span6
.ui-box
%h5.title
Project info:
%ul.well-list
%li
%span.light Name:
%strong= @project.name
%li
%span.light Namespace:
%strong
- if @project.namespace
= link_to @project.namespace.human_name, [:admin, @project.group || @project.owner]
- else
Global
%li
%span.light Owned by:
%strong
- if @project.owner
= link_to @project.owner_name, admin_user_path(@project.owner)
- else
(deleted)
%li
%span.light Created by:
%strong
= @project.creator.try(:name) || '(deleted)'
%br %li
%table.zebra-striped %span.light Created at:
%thead %strong
%tr = @project.created_at.stamp("March 1, 1999")
%th Project
%th
%tr
%td
%b
Name:
%td
= @project.name
%tr
%td
%b
Namespace:
%td
- if @project.namespace
= @project.namespace.human_name
- else
Global
%tr
%td
%b
Owned by:
%td
- if @project.owner
= link_to @project.owner_name, admin_user_path(@project.owner)
- else
(deleted)
%tr
%td
%b
Created by:
%td
= @project.creator.try(:name) || '(deleted)'
%tr
%td
%b
Created at:
%td
= @project.created_at.stamp("March 1, 1999")
%tr
%td
%b
Smart HTTP:
%td
= link_to @project.http_url_to_repo
%tr
%td
%b
SSH:
%td
= link_to @project.ssh_url_to_repo
- if @project.public
%tr.bgred
%td
%b
Public Read-Only Code access:
%td
= check_box_tag 'public', nil, @project.public
- if @repository %li
%table.zebra-striped %span.light http:
%thead %strong
%tr = link_to @project.http_url_to_repo
%th Repository %li
%th %span.light ssh:
%tr %strong
%td = link_to @project.ssh_url_to_repo
%b %li
FS Path: %span.light fs:
%td %strong
%code= @repository.path_to_repo = @repository.path_to_repo
%tr
%td
%b
Last commit at:
%td
= last_commit(@project)
%br %li
%h5 %span.light last commit:
Team %strong
%small - if @repository
(#{@project.users.count}) = last_commit(@project)
%br - else
%table.zebra-striped.team_members never
%thead
%tr
%th Name
%th Project Access
%th Repository Access
%th
- @project.users.each do |tm| %li
%tr %span.light access:
%td %strong
= link_to tm.name, admin_user_path(tm) - if @project.public
%td= @project.project_access_human(tm) %span.cblue
%td= link_to 'Edit Access', edit_admin_project_member_path(@project, tm), class: "btn btn-small" %i.icon-share
%td= link_to 'Remove from team', admin_project_member_path(@project, tm), confirm: 'Are you sure?', method: :delete, class: "btn btn-remove small" Public
- else
%br %span.cgreen
%h5 Add new team member %i.icon-lock
%br Private
= form_tag team_update_admin_project_path(@project), class: "bulk_import", method: :put do .span6
%table.zebra-striped .ui-box
%thead %h5.title
%tr Team
%th Users %small
%th Project Access: (#{@project.users.count})
= link_to project_team_index_path(@project), class: "btn btn-tiny" do
%tr %i.icon-edit
%td= select_tag :user_ids, options_from_collection_for_select(@users , :id, :name), multiple: true, data: {placeholder: 'Select users'}, class: 'chosen span5' Edit Team
%td= select_tag :project_access, options_for_select(Project.access_options), {class: "project-access-select chosen span3"} %ul.well-list
- @project.users.each do |tm|
%tr %li
%td= submit_tag 'Add', class: "btn btn-primary" %strong
%td = link_to tm.name, admin_user_path(tm)
Read more about project permissions %span.pull-right.light= @project.project_access_human(tm)
%strong= link_to "here", help_permissions_path, class: "vlink"

View file

@ -85,11 +85,7 @@ Gitlab::Application.routes.draw do
resource :logs, only: [:show] resource :logs, only: [:show]
resource :resque, controller: 'resque', only: [:show] resource :resque, controller: 'resque', only: [:show]
resources :projects, constraints: { id: /[a-zA-Z.\/0-9_\-]+/ }, except: [:new, :create] do resources :projects, constraints: { id: /[a-zA-Z.\/0-9_\-]+/ }, only: [:index, :show] do
member do
get :team
put :team_update
end
scope module: :projects, constraints: { id: /[a-zA-Z.\/0-9_\-]+/ } do scope module: :projects, constraints: { id: /[a-zA-Z.\/0-9_\-]+/ } do
resources :members, only: [:edit, :update, :destroy] resources :members, only: [:edit, :update, :destroy]
end end