Remove some bugs. Add warnings for renaming group. Add ability to cahnge group owner.
This commit is contained in:
parent
7f6bbf06f8
commit
ba74fa1413
11 changed files with 101 additions and 51 deletions
|
@ -100,17 +100,3 @@ input[type='search'].search-text-input {
|
|||
}
|
||||
|
||||
fieldset legend { font-size: 17px; }
|
||||
|
||||
ul.nav.nav-projects-tabs {
|
||||
@extend .nav-tabs;
|
||||
|
||||
padding-left: 8px;
|
||||
|
||||
li {
|
||||
a {
|
||||
padding: 4px 20px;
|
||||
margin-top: 2px;
|
||||
border-color: #DDD;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
}
|
||||
|
||||
.side {
|
||||
@extend .span4;
|
||||
@extend .right;
|
||||
|
||||
.groups_box,
|
||||
|
@ -117,3 +116,25 @@
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
ul.nav.nav-projects-tabs {
|
||||
@extend .nav-tabs;
|
||||
|
||||
padding-left: 8px;
|
||||
|
||||
li {
|
||||
a {
|
||||
padding: 4px 20px;
|
||||
margin-top: 2px;
|
||||
border-color: #DDD;
|
||||
background-color: #EEE;
|
||||
text-shadow: 0 1px 1px white;
|
||||
color: #555;
|
||||
}
|
||||
&.active {
|
||||
a {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@ class Admin::GroupsController < AdminController
|
|||
@projects = Project.scoped
|
||||
@projects = @projects.not_in_group(@group) if @group.projects.present?
|
||||
@projects = @projects.all
|
||||
@projects.reject!(&:empty_repo?)
|
||||
end
|
||||
|
||||
def new
|
||||
|
|
|
@ -4,6 +4,7 @@ class Admin::ProjectsController < AdminController
|
|||
def index
|
||||
@projects = Project.scoped
|
||||
@projects = @projects.where(namespace_id: params[:namespace_id]) if params[:namespace_id].present?
|
||||
@projects = @projects.where(namespace_id: nil) if params[:namespace_id] == Namespace.global_id
|
||||
@projects = @projects.search(params[:name]) if params[:name].present?
|
||||
@projects = @projects.includes(:namespace).order("namespaces.path, projects.name ASC").page(params[:page]).per(20)
|
||||
end
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
= form_for [:admin, @group] do |f|
|
||||
- if @group.errors.any?
|
||||
.alert-message.block-message.error
|
||||
%span= @group.errors.full_messages.first
|
||||
.clearfix.group_name_holder
|
||||
= f.label :name do
|
||||
Group name is
|
||||
.input
|
||||
= f.text_field :name, placeholder: "Example Group", class: "xxlarge"
|
||||
|
||||
.form-actions
|
||||
= f.submit 'Save group', class: "btn save-btn"
|
|
@ -1,3 +1,19 @@
|
|||
%h3.page_title Edit Group
|
||||
%br
|
||||
= render 'form'
|
||||
%h3.page_title Rename Group
|
||||
%hr
|
||||
.alert
|
||||
Renaming group can have unintended side effects.
|
||||
%br
|
||||
Renaming group will rename directory for all related projects
|
||||
= form_for [:admin, @group] do |f|
|
||||
- if @group.errors.any?
|
||||
.alert-message.block-message.error
|
||||
%span= @group.errors.full_messages.first
|
||||
.clearfix.group_name_holder
|
||||
= f.label :name do
|
||||
Group name is
|
||||
.input
|
||||
= f.text_field :name, placeholder: "Example Group", class: "xxlarge"
|
||||
|
||||
.form-actions
|
||||
= f.submit 'Rename group', class: "btn save-btn"
|
||||
= link_to 'Cancel', admin_groups_path, class: "btn cancel-btn"
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
%th Name
|
||||
%th Path
|
||||
%th Projects
|
||||
%th Edit
|
||||
%th.cred Danger Zone!
|
||||
|
||||
- @groups.each do |group|
|
||||
|
@ -23,6 +22,7 @@
|
|||
%td= link_to group.name, [:admin, group]
|
||||
%td= group.path
|
||||
%td= group.projects.count
|
||||
%td= link_to 'Edit', edit_admin_group_path(group), id: "edit_#{dom_id(group)}", class: "btn small"
|
||||
%td.bgred= link_to 'Destroy', [:admin, group], confirm: "REMOVE #{group.name}? Are you sure?", method: :delete, class: "btn small danger"
|
||||
%td.bgred
|
||||
= link_to 'Rename', edit_admin_group_path(group), id: "edit_#{dom_id(group)}", class: "btn small"
|
||||
= link_to 'Destroy', [:admin, group], confirm: "REMOVE #{group.name}? Are you sure?", method: :delete, class: "btn small danger"
|
||||
= paginate @groups, theme: "admin"
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
%h3.page_title
|
||||
Group: #{@group.name}
|
||||
= link_to edit_admin_group_path(@group), class: "btn right" do
|
||||
%i.icon-edit
|
||||
Edit
|
||||
|
||||
%br
|
||||
%table.zebra-striped
|
||||
|
@ -16,6 +13,10 @@
|
|||
Name:
|
||||
%td
|
||||
= @group.name
|
||||
|
||||
= link_to edit_admin_group_path(@group), class: "btn btn-small right" do
|
||||
%i.icon-edit
|
||||
Rename
|
||||
%tr
|
||||
%td
|
||||
%b
|
||||
|
@ -28,24 +29,43 @@
|
|||
Owner:
|
||||
%td
|
||||
= @group.owner_name
|
||||
.ui-box
|
||||
%h5
|
||||
Projects
|
||||
%small
|
||||
(#{@group.projects.count})
|
||||
%ul.unstyled
|
||||
.right
|
||||
= link_to "#", class: "btn btn-small change-owner-link" do
|
||||
%i.icon-edit
|
||||
Change owner
|
||||
.change-owner-holder.hide
|
||||
= form_for [:admin, @group] do |f|
|
||||
= f.select :owner_id, User.all.map { |user| [user.name, user.id] }, {}, {class: 'chosen'}
|
||||
= f.submit 'Save', class: "btn btn-small save-btn"
|
||||
= link_to "Cancel", "#", class: "btn btn-small change-owner-cancel-link"
|
||||
|
||||
%fieldset
|
||||
%legend Projects (#{@group.projects.count})
|
||||
%table
|
||||
%thead
|
||||
%tr
|
||||
%th Project name
|
||||
%th Path
|
||||
%th Users
|
||||
%th.cred Danger Zone!
|
||||
- @group.projects.each do |project|
|
||||
%li.wll
|
||||
%strong
|
||||
= link_to project.name, [:admin, project]
|
||||
.right
|
||||
= link_to 'Remove from group', remove_project_admin_group_path(@group, project_id: project.id), confirm: 'Are you sure?', method: :delete, class: "btn danger small"
|
||||
.clearfix
|
||||
%tr
|
||||
%td
|
||||
= link_to project.name_with_namespace, [:admin, project]
|
||||
%td
|
||||
%span.monospace= project.path_with_namespace + ".git"
|
||||
%td= project.users.count
|
||||
%td.bgred
|
||||
= link_to 'Transfer project to global namespace', remove_project_admin_group_path(@group, project_id: project.id), confirm: 'Remove project from group and move to global namespace. Are you sure?', method: :delete, class: "btn danger small"
|
||||
|
||||
|
||||
= form_tag project_update_admin_group_path(@group), class: "bulk_import", method: :put do
|
||||
%fieldset
|
||||
%legend Move projects to group
|
||||
.alert
|
||||
You can move only projects with existing repos
|
||||
%br
|
||||
Group projects will be moved in group directory and will not be accessible by old path
|
||||
.clearfix
|
||||
= label_tag :project_ids do
|
||||
Projects
|
||||
|
@ -53,3 +73,17 @@
|
|||
= select_tag :project_ids, options_from_collection_for_select(@projects , :id, :name_with_namespace), multiple: true, data: {placeholder: 'Select projects'}, class: 'chosen span5'
|
||||
.form-actions
|
||||
= submit_tag 'Add', class: "btn primary"
|
||||
|
||||
:javascript
|
||||
$(function(){
|
||||
var modal = $('.change-owner-holder');
|
||||
$('.change-owner-link').bind("click", function(){
|
||||
$(this).hide();
|
||||
modal.show();
|
||||
});
|
||||
$('.change-owner-cancel-link').bind("click", function(){
|
||||
modal.hide();
|
||||
$('.change-owner-link').show();
|
||||
})
|
||||
})
|
||||
|
||||
|
|
|
@ -22,7 +22,10 @@
|
|||
- unless project.new_record?
|
||||
.clearfix
|
||||
= f.label :namespace_id
|
||||
.input= f.select :namespace_id, namespaces_options(@project.namespace_id), {}, {class: 'chosen'}
|
||||
.input
|
||||
= f.select :namespace_id, namespaces_options(@project.namespace_id), {}, {class: 'chosen'}
|
||||
|
||||
%span.cred Be careful. Changing project namespace can have unintended side effects
|
||||
|
||||
- if project.repo_exists?
|
||||
.clearfix
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
.projects
|
||||
.activities.span8
|
||||
= render 'activities'
|
||||
.side
|
||||
.side.span4
|
||||
= render 'sidebar'
|
||||
|
||||
- else
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
- else
|
||||
%p.nothing_here_message Projects activity will be displayed here
|
||||
.loading.hide
|
||||
.side
|
||||
.side.span4
|
||||
= render "projects", projects: @projects
|
||||
%div
|
||||
%span.rss-icon
|
||||
|
|
Loading…
Reference in a new issue