summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-06-14 10:30:53 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-06-14 10:30:53 +0000
commit68e4df7065ebb805d8215b8c28f0eaf510dec17f (patch)
treef939516361fac0f031540b4eb3d99849bd48d9cc
parent054d68a3e9092f21d407dc39b784dece8c935bfe (diff)
parent9be5425a887d96aaf603dd537d36f410eb663e4f (diff)
downloadgitlab-ce-68e4df7065ebb805d8215b8c28f0eaf510dec17f.tar.gz
Merge branch 'ui-ux-improvements' into 'master'
UI/UX improvements
-rw-r--r--app/assets/stylesheets/generic/files.scss2
-rw-r--r--app/assets/stylesheets/sections/snippets.scss3
-rw-r--r--app/assets/stylesheets/sections/tree.scss9
-rw-r--r--app/models/ability.rb6
-rw-r--r--app/views/projects/blob/_actions.html.haml6
-rw-r--r--app/views/projects/snippets/_blob.html.haml10
-rw-r--r--app/views/projects/snippets/edit.html.haml5
-rw-r--r--app/views/projects/snippets/new.html.haml5
-rw-r--r--app/views/projects/snippets/show.html.haml34
-rw-r--r--app/views/shared/snippets/_blob.html.haml (renamed from app/views/snippets/_blob_content.html.haml)0
-rw-r--r--app/views/shared/snippets/_form.html.haml (renamed from app/views/projects/snippets/_form.html.haml)33
-rw-r--r--app/views/snippets/_blob.html.haml11
-rw-r--r--app/views/snippets/_form.html.haml58
-rw-r--r--app/views/snippets/edit.html.haml5
-rw-r--r--app/views/snippets/new.html.haml5
-rw-r--r--app/views/snippets/show.html.haml18
-rw-r--r--db/fixtures/development/12_snippets.rb6
-rw-r--r--features/project/snippets.feature1
-rw-r--r--features/snippets/snippets.feature1
-rw-r--r--features/steps/project/snippets.rb2
-rw-r--r--features/steps/snippets/snippets.rb2
21 files changed, 101 insertions, 121 deletions
diff --git a/app/assets/stylesheets/generic/files.scss b/app/assets/stylesheets/generic/files.scss
index 5aeccfe1d14..1412277ffb6 100644
--- a/app/assets/stylesheets/generic/files.scss
+++ b/app/assets/stylesheets/generic/files.scss
@@ -20,7 +20,7 @@
.options {
float: right;
- margin-top: -5px;
+ margin-top: -3px;
}
.left-options {
diff --git a/app/assets/stylesheets/sections/snippets.scss b/app/assets/stylesheets/sections/snippets.scss
index 84404b6ee36..d79591d9915 100644
--- a/app/assets/stylesheets/sections/snippets.scss
+++ b/app/assets/stylesheets/sections/snippets.scss
@@ -3,3 +3,6 @@
padding-top: 0;
}
+.snippet-form-holder .file-holder .file-title {
+ padding: 2px;
+}
diff --git a/app/assets/stylesheets/sections/tree.scss b/app/assets/stylesheets/sections/tree.scss
index d0e03d5b662..18a5f6204fe 100644
--- a/app/assets/stylesheets/sections/tree.scss
+++ b/app/assets/stylesheets/sections/tree.scss
@@ -117,15 +117,6 @@
}
}
-.tree-btn-group {
- top: 2px;
-
- .btn {
- margin-right: 0px;
- padding: 2px 10px;
- }
-}
-
.tree-download-holder .btn {
padding: 4px 12px;
}
diff --git a/app/models/ability.rb b/app/models/ability.rb
index c60aa2d622e..234578b5e18 100644
--- a/app/models/ability.rb
+++ b/app/models/ability.rb
@@ -236,7 +236,11 @@ class Ability
:"modify_#{name}",
]
else
- subject.respond_to?(:project) ? project_abilities(user, subject.project) : []
+ if subject.respond_to?(:project)
+ project_abilities(user, subject.project)
+ else
+ []
+ end
end
end
end
diff --git a/app/views/projects/blob/_actions.html.haml b/app/views/projects/blob/_actions.html.haml
index 2f82bfe52f3..cabef3c19fe 100644
--- a/app/views/projects/blob/_actions.html.haml
+++ b/app/views/projects/blob/_actions.html.haml
@@ -14,6 +14,6 @@
= link_to "blame", project_blame_path(@project, @id), class: "btn btn-small" unless @blob.empty?
= link_to "history", project_commits_path(@project, @id), class: "btn btn-small"
- - if allowed_tree_edit?
- = link_to '#modal-remove-blob', class: "remove-blob btn btn-small btn-remove", "data-toggle" => "modal" do
- remove
+- if allowed_tree_edit?
+ = link_to '#modal-remove-blob', class: "remove-blob btn btn-small btn-remove", "data-toggle" => "modal" do
+ remove
diff --git a/app/views/projects/snippets/_blob.html.haml b/app/views/projects/snippets/_blob.html.haml
deleted file mode 100644
index af326a1a99a..00000000000
--- a/app/views/projects/snippets/_blob.html.haml
+++ /dev/null
@@ -1,10 +0,0 @@
-.file-holder
- .file-title
- %i.icon-file
- %strong= @snippet.file_name
- %span.options
- .btn-group.tree-btn-group.pull-right
- - if can?(current_user, :admin_project_snippet, @project) || @snippet.author == current_user
- = link_to "Edit", edit_project_snippet_path(@project, @snippet), class: "btn btn-tiny", title: 'Edit Snippet'
- = link_to "Raw", raw_project_snippet_path(@project, @snippet), class: "btn btn-tiny", target: "_blank"
- = render 'snippets/blob_content'
diff --git a/app/views/projects/snippets/edit.html.haml b/app/views/projects/snippets/edit.html.haml
index e28b7d4937e..f6a5bf9e4ff 100644
--- a/app/views/projects/snippets/edit.html.haml
+++ b/app/views/projects/snippets/edit.html.haml
@@ -1 +1,4 @@
-= render "projects/snippets/form", url: project_snippet_path(@project, @snippet)
+%h3.page-title
+ Edit snippet
+%hr
+= render "shared/snippets/form", url: project_snippet_path(@project, @snippet)
diff --git a/app/views/projects/snippets/new.html.haml b/app/views/projects/snippets/new.html.haml
index 460af34f676..10f684b6316 100644
--- a/app/views/projects/snippets/new.html.haml
+++ b/app/views/projects/snippets/new.html.haml
@@ -1 +1,4 @@
-= render "projects/snippets/form", url: project_snippets_path(@project, @snippet)
+%h3.page-title
+ New snippet
+%hr
+= render "shared/snippets/form", url: project_snippets_path(@project, @snippet)
diff --git a/app/views/projects/snippets/show.html.haml b/app/views/projects/snippets/show.html.haml
index ac32f4866b6..e4fdbd868c3 100644
--- a/app/views/projects/snippets/show.html.haml
+++ b/app/views/projects/snippets/show.html.haml
@@ -1,11 +1,37 @@
%h3.page-title
= @snippet.title
- %small.pull-right
+ .pull-right
+ = link_to new_project_snippet_path(@project), class: "btn btn-new", title: "New Snippet" do
+ Add new snippet
+
+%hr
+
+.append-bottom-20
+ .pull-right
= "##{@snippet.id}"
%span.light
by
- = image_tag avatar_icon(@snippet.author_email), class: "avatar avatar-inline s16"
- = @snippet.author_name
-%div= render 'projects/snippets/blob'
+ = link_to user_path(@snippet.author) do
+ = image_tag avatar_icon(@snippet.author_email), class: "avatar avatar-inline s16"
+ = @snippet.author_name
+
+ .back-link
+ = link_to project_snippets_path(@project) do
+ &larr; project snippets
+
+.file-holder
+ .file-title
+ %i.icon-file
+ %span.file_name
+ = @snippet.file_name
+ .options
+ .btn-group
+ - if can?(current_user, :modify_project_snippet, @snippet)
+ = link_to "edit", edit_project_snippet_path(@project, @snippet), class: "btn btn-small", title: 'Edit Snippet'
+ = link_to "raw", raw_project_snippet_path(@project, @snippet), class: "btn btn-small", target: "_blank"
+ - if can?(current_user, :admin_project_snippet, @snippet)
+ = link_to "remove", project_snippet_path(@project, @snippet), method: :delete, data: { confirm: "Are you sure?" }, class: "btn btn-small btn-remove", title: 'Delete Snippet'
+ = render 'shared/snippets/blob'
+
%div#notes= render "projects/notes/notes_with_form"
diff --git a/app/views/snippets/_blob_content.html.haml b/app/views/shared/snippets/_blob.html.haml
index 8cec6168ab8..8cec6168ab8 100644
--- a/app/views/snippets/_blob_content.html.haml
+++ b/app/views/shared/snippets/_blob.html.haml
diff --git a/app/views/projects/snippets/_form.html.haml b/app/views/shared/snippets/_form.html.haml
index 866346990d3..49ea8460e7d 100644
--- a/app/views/projects/snippets/_form.html.haml
+++ b/app/views/shared/snippets/_form.html.haml
@@ -1,9 +1,6 @@
-%h3.page-title
- = @snippet.new_record? ? "New Snippet" : "Edit Snippet ##{@snippet.id}"
-%hr
.snippet-form-holder
- = form_for [@project, @snippet], as: :project_snippet, url: url, html: {class: "form-horizontal snippet-form"} do |f|
- -if @snippet.errors.any?
+ = form_for @snippet, url: url, html: { class: "form-horizontal snippet-form" } do |f|
+ - if @snippet.errors.any?
.alert.alert-danger
%ul
- @snippet.errors.full_messages.each do |msg|
@@ -12,6 +9,23 @@
.form-group
= f.label :title, class: 'control-label'
.col-sm-10= f.text_field :title, placeholder: "Example Snippet", class: 'form-control', required: true
+
+ - unless @snippet.respond_to?(:project)
+ .form-group
+ = f.label "Access", class: 'control-label'
+ .col-sm-10
+ = f.label :private_true, class: 'radio-label' do
+ = f.radio_button :private, true
+ %span
+ %strong Private
+ (only you can see this snippet)
+ %br
+ = f.label :private_false, class: 'radio-label' do
+ = f.radio_button :private, false
+ %span
+ %strong Public
+ (GitLab users can see this snippet)
+
.form-group
.file-editor
= f.label :file_name, "File", class: 'control-label'
@@ -29,14 +43,13 @@
- else
= f.submit 'Save', class: "btn-save btn"
- - unless @snippet.new_record?
- .pull-right.prepend-left-20
- = link_to 'Remove snippet', project_snippet_path(@project, @snippet), data: { confirm: 'Are you sure?' }, method: :delete, class: "btn pull-right btn-remove delete-snippet prepend-left-10", id: "destroy_snippet_#{@snippet.id}"
- = link_to "Cancel", project_snippets_path(@project), class: "btn btn-cancel"
+ - if @snippet.respond_to?(:project)
+ = link_to "Cancel", project_snippets_path(@project), class: "btn btn-cancel"
+ - else
+ = link_to "Cancel", snippets_path(@project), class: "btn btn-cancel"
:javascript
var editor = ace.edit("editor");
$(".snippet-form-holder form").submit(function(){
$(".snippet-file-content").val(editor.getValue());
});
-
diff --git a/app/views/snippets/_blob.html.haml b/app/views/snippets/_blob.html.haml
deleted file mode 100644
index 15867f071ef..00000000000
--- a/app/views/snippets/_blob.html.haml
+++ /dev/null
@@ -1,11 +0,0 @@
-.file-holder
- .file-title
- %i.icon-file
- %strong= @snippet.file_name
- %span.options
- .btn-group.tree-btn-group.pull-right
- - if @snippet.author == current_user
- = link_to "Edit", edit_snippet_path(@snippet), class: "btn btn-tiny", title: 'Edit Snippet'
- = link_to "Delete", snippet_path(@snippet), method: :delete, data: { confirm: "Are you sure?" }, class: "btn btn-tiny", title: 'Delete Snippet'
- = link_to "Raw", raw_snippet_path(@snippet), class: "btn btn-tiny", target: "_blank"
- = render 'snippets/blob_content'
diff --git a/app/views/snippets/_form.html.haml b/app/views/snippets/_form.html.haml
deleted file mode 100644
index d466dc1af14..00000000000
--- a/app/views/snippets/_form.html.haml
+++ /dev/null
@@ -1,58 +0,0 @@
-%h3.page-title
- = @snippet.new_record? ? "New Snippet" : "Edit Snippet ##{@snippet.id}"
-%hr
-.snippet-form-holder
- = form_for @snippet, as: :personal_snippet, url: url, html: { class: "form-horizontal snippet-form" } do |f|
- -if @snippet.errors.any?
- .alert.alert-danger
- %ul
- - @snippet.errors.full_messages.each do |msg|
- %li= msg
-
- .form-group
- = f.label :title, class: 'control-label'
- .col-sm-10= f.text_field :title, placeholder: "Example Snippet", class: 'form-control', required: true
- .form-group
- = f.label "Access", class: 'control-label'
- .col-sm-10
- = f.label :private_true, class: 'radio-label' do
- = f.radio_button :private, true
- %span
- %strong Private
- (only you can see this snippet)
- %br
- = f.label :private_false, class: 'radio-label' do
- = f.radio_button :private, false
- %span
- %strong Public
- (GitLab users can see this snippet)
-
- .form-group
- .file-editor
- = f.label :file_name, "File", class: 'control-label'
- .col-sm-10
- .file-holder.snippet
- .file-title
- = f.text_field :file_name, placeholder: "example.rb", class: 'form-control snippet-file-name', required: true
- .file-content.code
- %pre#editor= @snippet.content
- = f.hidden_field :content, class: 'snippet-file-content'
-
- .form-actions
- - if @snippet.new_record?
- = f.submit 'Create snippet', class: "btn-create btn"
- - else
- = f.submit 'Save', class: "btn-save btn"
-
- - unless @snippet.new_record?
- .pull-right.prepend-left-20
- = link_to 'Remove', snippet_path(@snippet), data: { confirm: 'Removed snippet cannot be restored! Are you sure?'}, method: :delete, class: "btn btn-remove delete-snippet", id: "destroy_snippet_#{@snippet.id}"
- = link_to "Cancel", snippets_path(@project), class: "btn btn-cancel"
-
-
-:javascript
- var editor = ace.edit("editor");
- $(".snippet-form-holder form").submit(function(){
- $(".snippet-file-content").val(editor.getValue());
- });
-
diff --git a/app/views/snippets/edit.html.haml b/app/views/snippets/edit.html.haml
index 1b88a85faf1..7042d07d5e8 100644
--- a/app/views/snippets/edit.html.haml
+++ b/app/views/snippets/edit.html.haml
@@ -1 +1,4 @@
-= render "snippets/form", url: snippet_path(@snippet)
+%h3.page-title
+ Edit snippet
+%hr
+= render "shared/snippets/form", url: snippet_path(@snippet)
diff --git a/app/views/snippets/new.html.haml b/app/views/snippets/new.html.haml
index 90e0a1f79da..694d7058317 100644
--- a/app/views/snippets/new.html.haml
+++ b/app/views/snippets/new.html.haml
@@ -1 +1,4 @@
-= render "snippets/form", url: snippets_path(@snippet)
+%h3.page-title
+ New snippet
+%hr
+= render "shared/snippets/form", url: snippets_path(@snippet)
diff --git a/app/views/snippets/show.html.haml b/app/views/snippets/show.html.haml
index a680e5eb5b7..1d2e3d5ae4a 100644
--- a/app/views/snippets/show.html.haml
+++ b/app/views/snippets/show.html.haml
@@ -7,9 +7,9 @@
private
.pull-right
- = link_to new_snippet_path, class: "btn btn-new btn-small", title: "New Snippet" do
+ = link_to new_snippet_path, class: "btn btn-new", title: "New Snippet" do
Add new snippet
-
+%hr
.append-bottom-20
.pull-right
@@ -28,4 +28,16 @@
= link_to snippets_path do
&larr; discover snippets
-%div= render 'blob'
+.file-holder
+ .file-title
+ %i.icon-file
+ %span.file_name
+ = @snippet.file_name
+ .options
+ .btn-group
+ - if can?(current_user, :modify_personal_snippet, @snippet)
+ = link_to "edit", edit_snippet_path(@snippet), class: "btn btn-small", title: 'Edit Snippet'
+ = link_to "raw", raw_snippet_path(@snippet), class: "btn btn-small", target: "_blank"
+ - if can?(current_user, :admin_personal_snippet, @snippet)
+ = link_to "remove", snippet_path(@snippet), method: :delete, data: { confirm: "Are you sure?" }, class: "btn btn-small btn-remove", title: 'Delete Snippet'
+ = render 'shared/snippets/blob'
diff --git a/db/fixtures/development/12_snippets.rb b/db/fixtures/development/12_snippets.rb
index dced2706264..ff91e8430a4 100644
--- a/db/fixtures/development/12_snippets.rb
+++ b/db/fixtures/development/12_snippets.rb
@@ -1,8 +1,8 @@
Gitlab::Seeder.quiet do
contents = [
- `curl https://gist.github.com/randx/4275756/raw/da2f262920c96d1a970d48bf2e99147954b1f4bd/glus1204.sh`,
- `curl https://gist.github.com/randx/3754594/raw/11026a295e6ef3a151c635707a3e1e8e15fc4725/gitlab_setup.sh `,
- `curl https://gist.github.com/randx/3065552/raw/29fbd09f4605a5ea22a5a9095e35fd1938dea4d6/gistfile1.sh`,
+ `curl https://gist.githubusercontent.com/randx/4275756/raw/da2f262920c96d1a970d48bf2e99147954b1f4bd/glus1204.sh`,
+ `curl https://gist.githubusercontent.com/randx/3754594/raw/11026a295e6ef3a151c635707a3e1e8e15fc4725/gitlab_setup.sh`,
+ `curl https://gist.githubusercontent.com/randx/3065552/raw/29fbd09f4605a5ea22a5a9095e35fd1938dea4d6/gistfile1.sh`,
]
(1..50).each do |i|
diff --git a/features/project/snippets.feature b/features/project/snippets.feature
index dfaa02663a0..77e42a1a38b 100644
--- a/features/project/snippets.feature
+++ b/features/project/snippets.feature
@@ -30,6 +30,5 @@ Feature: Project Snippets
Scenario: I destroy "Snippet one"
Given I visit snippet page "Snippet one"
- And I click link "Edit"
And I click link "Remove Snippet"
Then I should not see "Snippet one" in snippets
diff --git a/features/snippets/snippets.feature b/features/snippets/snippets.feature
index 3ee8720ddd5..38216dd5b7b 100644
--- a/features/snippets/snippets.feature
+++ b/features/snippets/snippets.feature
@@ -24,6 +24,5 @@ Feature: Snippets Feature
Scenario: I destroy "Personal snippet one"
Given I visit snippet page "Personal snippet one"
- And I click link "Edit"
And I click link "Destroy"
Then I should not see "Personal snippet one" in snippets
diff --git a/features/steps/project/snippets.rb b/features/steps/project/snippets.rb
index c3a76bea269..feae535fbea 100644
--- a/features/steps/project/snippets.rb
+++ b/features/steps/project/snippets.rb
@@ -48,7 +48,7 @@ class ProjectSnippets < Spinach::FeatureSteps
end
And 'I click link "Remove Snippet"' do
- click_link "Remove snippet"
+ click_link "remove"
end
And 'I submit new snippet "Snippet three"' do
diff --git a/features/steps/snippets/snippets.rb b/features/steps/snippets/snippets.rb
index fed54659ebc..040b5390a5a 100644
--- a/features/steps/snippets/snippets.rb
+++ b/features/steps/snippets/snippets.rb
@@ -19,7 +19,7 @@ class SnippetsFeature < Spinach::FeatureSteps
end
And 'I click link "Destroy"' do
- click_link "Remove"
+ click_link "remove"
end
And 'I submit new snippet "Personal snippet three"' do