Merge branch 'master' into stable

This commit is contained in:
Dmitriy Zaporozhets 2012-10-24 12:43:00 +03:00
commit 3fa6ed8eb2
25 changed files with 177 additions and 31 deletions

View file

@ -1,3 +1,8 @@
v 3.0.2
- Fixed gitlab:app:setup
- Fixed application error on empty project in admin area
- Restyled last push widget
v 3.0.1 v 3.0.1
- Fixed git over http - Fixed git over http

View file

@ -1 +1 @@
3.0.1 3.0.2

View file

@ -24,6 +24,22 @@
} }
} }
&.btn-info {
background:#5aB9C3;
border-color: $blue_link;
color:#fff;
text-shadow: 0 1px 1px #268;
&:hover {
background:$blue_link;
color:#fff;
}
&.disabled {
color:#fff;
background:#29B;
}
}
&.success { &.success {
@extend .btn-success; @extend .btn-success;

View file

@ -5,6 +5,12 @@ table {
border:1px solid #bbb; border:1px solid #bbb;
width:100%; width:100%;
&.low {
td {
line-height:18px;
}
}
th { th {
font-weight: bold; font-weight: bold;
vertical-align: middle; vertical-align: middle;
@ -26,6 +32,8 @@ table {
td { td {
border-color:#f1f1f1; border-color:#f1f1f1;
line-height:28px;
&:first-child { &:first-child {
border-left:1px solid #bbb; border-left:1px solid #bbb;
} }

View file

@ -101,6 +101,11 @@
} }
} }
table {
td {
line-height:18px;
}
}
} }
.diff_file_content_image { .diff_file_content_image {
background:#eee; background:#eee;

View file

@ -97,14 +97,21 @@
* *
*/ */
.event_lp { .event_lp {
@extend .ui-box;
color:#777; color:#777;
margin-bottom:20px; padding:10px;
padding:8px;
@include border-radius(4px);
min-height:22px; min-height:22px;
border-left: 5px solid #5AB9C3;
margin-bottom:20px;
background:#f9f9f9;
.avatar { .avatar {
width:24px; width:24px;
} }
.btn-new-mr {
@extend .btn-info;
@extend .small;
@extend .right;
margin: -3px;
}
} }

View file

@ -48,6 +48,7 @@
padding: 2px 10px; padding: 2px 10px;
} }
td { td {
line-height:20px;
background:#fafafa; background:#fafafa;
} }
} }

View file

@ -64,7 +64,7 @@ class Admin::GroupsController < AdminController
def destroy def destroy
@group.destroy @group.destroy
redirect_to groups_url, notice: 'Group was successfully deleted.' redirect_to admin_groups_path, notice: 'Group was successfully deleted.'
end end
private private

View file

@ -137,6 +137,8 @@ module Repository
def has_commits? def has_commits?
!!commit !!commit
rescue Grit::NoSuchPathError
false
end end
def root_ref def root_ref

View file

@ -1,6 +1,10 @@
= render 'admin/shared/projects_head' = render 'admin/shared/projects_head'
%h3.page_title %h3.page_title
Groups Groups
%small
allows you to keep projects organized.
Use groups for uniting related projects.
= link_to 'New Group', new_admin_group_path, class: "btn small right" = link_to 'New Group', new_admin_group_path, class: "btn small right"
%br %br
= form_tag admin_groups_path, method: :get, class: 'form-inline' do = form_tag admin_groups_path, method: :get, class: 'form-inline' do

View file

@ -5,7 +5,7 @@
%i.icon-edit %i.icon-edit
Edit Edit
- if !@admin_project.has_post_receive_file? && @admin_project.commit - if !@admin_project.has_post_receive_file? && @admin_project.has_commits?
%br %br
.alert.alert-error .alert.alert-error
%span %span

View file

@ -1,6 +1,7 @@
- if @projects.any? - if @projects.any?
.projects .projects
.activities.span8 .activities.span8
= render "events/event_last_push", event: @last_push
= render 'shared/no_ssh' = render 'shared/no_ssh'
- if @events.any? - if @events.any?
.content_list= render @events .content_list= render @events
@ -8,7 +9,6 @@
%h4.nothing_here_message Projects activity will be displayed here %h4.nothing_here_message Projects activity will be displayed here
.loading.hide .loading.hide
.side .side
= render "events/event_last_push", event: @last_push
- if @groups.present? - if @groups.present?
= render "groups", groups: @groups = render "groups", groups: @groups
= render "projects", projects: @projects = render "projects", projects: @projects

View file

@ -1,13 +1,15 @@
- if show_last_push_widget?(event) - if show_last_push_widget?(event)
.event_lp .event_lp
%div = image_tag "event_push.png"
= image_tag gravatar_icon(event.author_email), class: "avatar" &nbsp;
%span You pushed to %span You pushed to
= event.ref_type
= link_to project_commits_path(event.project, event.ref_name) do = link_to project_commits_path(event.project, event.ref_name) do
%strong= truncate(event.ref_name, length: 28) %strong= truncate(event.ref_name, length: 28)
at at
%strong= link_to event.project.name, event.project %strong= link_to event.project.name, event.project
%span
= time_ago_in_words(event.created_at)
ago.
= link_to new_mr_path_from_push_event(event), title: "New Merge Request", class: "btn very_small" do = link_to new_mr_path_from_push_event(event), title: "New Merge Request", class: "btn btn-new-mr" do
Create Merge Request Create Merge Request

View file

@ -1,5 +1,6 @@
.projects .projects
.activities.span8 .activities.span8
= render "events/event_last_push", event: @last_push
= link_to dashboard_path, class: 'btn very_small' do = link_to dashboard_path, class: 'btn very_small' do
&larr; To dashboard &larr; To dashboard
&nbsp; &nbsp;
@ -12,7 +13,6 @@
%h4.nothing_here_message Projects activity will be displayed here %h4.nothing_here_message Projects activity will be displayed here
.loading.hide .loading.hide
.side .side
= render "events/event_last_push", event: @last_push
= render "projects", projects: @projects = render "projects", projects: @projects
%div %div
%span.rss-icon %span.rss-icon

View file

@ -1,7 +1,6 @@
%tr %tr
%td %td
= link_to key_path(key) do = link_to key_path(key) do
%p
%strong= key.title %strong= key.title
%td %td
%span.cgray %span.cgray

View file

@ -10,8 +10,7 @@
%tr %tr
%td %td
%a{href: note.attachment.url} %a{href: note.attachment.url}
= image_tag gravatar_icon(note.author_email), class: "left", width: 16 = image_tag gravatar_icon(note.author_email), class: "avatar s24"
&nbsp;
= note.attachment_identifier = note.attachment_identifier
%td %td
Added Added

View file

@ -1,5 +1,5 @@
- grouper_project_members(@project).each do |access, members| - grouper_project_members(@project).each do |access, members|
%table %table.low
%thead %thead
%tr %tr
%th.span7 %th.span7

View file

@ -11,7 +11,7 @@
# #
# It's strongly recommended to check this file into your version control system. # It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20121002151033) do ActiveRecord::Schema.define(:version => 20121009205010) do
create_table "events", :force => true do |t| create_table "events", :force => true do |t|
t.string "target_type" t.string "target_type"

View file

@ -157,6 +157,10 @@ Add your user to the `git` group:
sudo usermod -a -G git gitlab sudo usermod -a -G git gitlab
Add `git` user to `gitlab` group:
sudo usermod -a -G gitlab git
Generate key: Generate key:
sudo -H -u gitlab ssh-keygen -q -N '' -t rsa -f /home/gitlab/.ssh/id_rsa sudo -H -u gitlab ssh-keygen -q -N '' -t rsa -f /home/gitlab/.ssh/id_rsa

View file

@ -0,0 +1,10 @@
Feature: Admin Groups
Background:
Given I sign in as an admin
And I visit admin groups page
Scenario: Create a group
When I click new group link
And submit form with new group info
Then I should be redirected to group page
And I should see newly created group

View file

@ -7,3 +7,13 @@ Feature: Groups
When I visit group page When I visit group page
Then I should see projects list Then I should see projects list
And I should see projects activity feed And I should see projects activity feed
Scenario: I should see group issues list
Given project from group has issues assigned to me
When I visit group issues page
Then I should see issues from this group assigned to me
Scenario: I should see group merge requests list
Given project from group has merge requests assigned to me
When I visit group merge requests page
Then I should see merge requests from this group assigned to me

View file

@ -0,0 +1,24 @@
class AdminGroups < Spinach::FeatureSteps
include SharedAuthentication
include SharedPaths
include SharedActiveTab
When 'I click new group link' do
click_link "New Group"
end
And 'submit form with new group info' do
fill_in 'group_name', :with => 'gitlab'
fill_in 'group_code', :with => 'gitlab'
click_button "Save group"
end
Then 'I should see newly created group' do
page.should have_content "Group: gitlab"
end
Then 'I should be redirected to group page' do
current_path.should == admin_group_path(Group.last)
end
end

View file

@ -16,7 +16,7 @@ class Dashboard < Spinach::FeatureSteps
end end
Then 'I should see last push widget' do Then 'I should see last push widget' do
page.should have_content "You pushed to branch new_design" page.should have_content "You pushed to new_design"
page.should have_link "Create Merge Request" page.should have_link "Create Merge Request"
end end

View file

@ -2,10 +2,6 @@ class Groups < Spinach::FeatureSteps
include SharedAuthentication include SharedAuthentication
include SharedPaths include SharedPaths
When 'I visit group page' do
visit group_path(current_group)
end
Then 'I should see projects list' do Then 'I should see projects list' do
current_user.projects.each do |project| current_user.projects.each do |project|
page.should have_link project.name page.should have_link project.name
@ -24,9 +20,43 @@ class Groups < Spinach::FeatureSteps
page.should have_content 'closed issue' page.should have_content 'closed issue'
end end
Then 'I should see issues from this group assigned to me' do
assigned_to_me(:issues).each do |issue|
page.should have_content issue.title
end
end
Then 'I should see merge requests from this group assigned to me' do
assigned_to_me(:merge_requests).each do |issue|
page.should have_content issue.title
end
end
Given 'project from group has issues assigned to me' do
create :issue,
project: project,
assignee: current_user,
author: current_user
end
Given 'project from group has merge requests assigned to me' do
create :merge_request,
project: project,
assignee: current_user,
author: current_user
end
protected protected
def current_group def current_group
@group ||= Group.first @group ||= Group.first
end end
def project
current_group.projects.first
end
def assigned_to_me key
project.send(key).where(assignee_id: current_user.id)
end
end end

View file

@ -5,6 +5,22 @@ module SharedPaths
visit new_project_path visit new_project_path
end end
# ----------------------------------------
# Group
# ----------------------------------------
When 'I visit group page' do
visit group_path(current_group)
end
When 'I visit group issues page' do
visit issues_group_path(current_group)
end
When 'I visit group merge requests page' do
visit merge_requests_group_path(current_group)
end
# ---------------------------------------- # ----------------------------------------
# Dashboard # Dashboard
# ---------------------------------------- # ----------------------------------------
@ -85,6 +101,10 @@ module SharedPaths
visit admin_resque_path visit admin_resque_path
end end
And 'I visit admin groups page' do
visit admin_groups_path
end
# ---------------------------------------- # ----------------------------------------
# Generic Project # Generic Project
# ---------------------------------------- # ----------------------------------------