Commit ec56ebb4 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge branch 'improve/project_share_ui' of /home/git/repositories/gitlab/gitlab-ee

parents 58dfbb89 d65617aa
...@@ -2,35 +2,36 @@ ...@@ -2,35 +2,36 @@
%p.light %p.light
Project can be stored in one group at once. However you can share project with other groups here. Project can be stored in one group at once. However you can share project with other groups here.
%hr %hr
.row - if @group_links.present?
.span5.enabled-groups .enabled-groups.append-bottom-20
%h4 %h4
Already shared with: Already shared with
%ul.bordered-list %ul.bordered-list
- @group_links.each do |group_link| - @group_links.each do |group_link|
- group = group_link.group - group = group_link.group
%li %li
%h4 %h4
.pull-left
= link_to project_group_link_path(@project, group_link), method: :delete, class: 'btn btn-small append-right-10' do
%i.icon-remove
= link_to group do = link_to group do
%i.icon-folder-open %i.icon-folder-open
= group.name = group.name
%small.light up to #{group_link.human_access} %small.light up to #{group_link.human_access}
.pull-right
= link_to project_group_link_path(@project, group_link), method: :delete, class: 'btn btn-small append-right-10' do
%i.icon-remove
disable sharing
.span5.available-groups - if @available_groups.present?
.available-groups
%h4 %h4
Can be shared with: Can be shared with
%ul.bordered-list %div
- @available_groups.each do |group| = form_tag project_group_links_path(@project), method: :post do
%li .control-group
.pull-right = label_tag :group_id, 'Group'
= form_tag project_group_links_path(@project), method: :post do .controls= select_tag :group_id, options_from_collection_for_select(@available_groups, :id, :name), class: 'chosen'
= select_tag :group_access, options_for_select(ProjectGroupLink.access_options, ProjectGroupLink.default_access), class: "span2" .control-group
= hidden_field_tag :group_id, group.id = label_tag :group_access, 'Max access level'
= submit_tag "Share", class: "btn btn-small" .controls= select_tag :group_access, options_for_select(ProjectGroupLink.access_options, ProjectGroupLink.default_access), class: "span2"
%h4 .form-actions
%i.icon-folder-close = submit_tag "Share", class: "btn btn-create"
= group.name
Feature: Project Group Links
Background:
Given I sign in as a user
And I own project "Shop"
And project "Shop" is shared with group "Ops"
And project "Shop" is not shared with group "Market"
And I visit project group links page
Scenario: I should see list of groups
Then I should see project already shared with group "Ops"
Then I should see project is not shared with group "Market"
Scenario: I share project with group
When I select group "Market" for share
Then I should see project is shared with group "Market"
class Spinach::Features::ProjectGroupLinks < Spinach::FeatureSteps
include SharedAuthentication
include SharedProject
include SharedPaths
step 'I should see project already shared with group "Ops"' do
within '.enabled-groups' do
page.should have_content "Ops"
end
end
step 'I should see project is not shared with group "Market"' do
within '.enabled-groups' do
page.should_not have_content "Market"
end
end
step 'I select group "Market" for share' do
select "Master", from: 'group_access'
select "Market", from: 'group_id'
click_button "Share"
end
step 'I should see project is shared with group "Market"' do
within '.enabled-groups' do
page.should have_content "Market"
end
end
step 'project "Shop" is shared with group "Ops"' do
group = create(:group, name: 'Ops')
share_link = project.project_group_links.new(group_access: Gitlab::Access::MASTER)
share_link.group_id = group.id
share_link.save!
end
step 'project "Shop" is not shared with group "Market"' do
create(:group, name: 'Market')
end
step 'I visit project group links page' do
visit project_group_links_path(project)
end
def project
@project ||= Project.find_by_name "Shop"
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment