diff --git a/app/views/snippets/_form.html.haml b/app/views/snippets/_form.html.haml index 05502503bee..e5c63afe980 100644 --- a/app/views/snippets/_form.html.haml +++ b/app/views/snippets/_form.html.haml @@ -15,9 +15,6 @@ .clearfix = f.label "Private?" .input= f.check_box :private, {class: ''} - .clearfix - = f.label "Lifetime" - .input= f.select :expires_at, lifetime_select_options, {}, {class: 'chosen span2'} .clearfix .file-editor = f.label :file_name, "File" @@ -30,7 +27,11 @@ = f.hidden_field :content, class: 'snippet-file-content' .form-actions - = f.submit 'Save', class: "btn-save btn" + - if @snippet.new_record? + = f.submit 'Create snippet', class: "btn-create btn" + - else + = f.submit 'Save', class: "btn-save btn" + = link_to "Cancel", snippets_path(@project), class: " btn" - unless @snippet.new_record? .pull-right= link_to 'Destroy', snippet_path(@snippet), confirm: 'Removed snippet cannot be restored! Are you sure?', method: :delete, class: "btn pull-right danger delete-snippet", id: "destroy_snippet_#{@snippet.id}" diff --git a/app/views/snippets/_snippet.html.haml b/app/views/snippets/_snippet.html.haml index a013cdfe16a..c96b6f83f0b 100644 --- a/app/views/snippets/_snippet.html.haml +++ b/app/views/snippets/_snippet.html.haml @@ -1,13 +1,12 @@ %li - .snippet-title - - if snippet.private? - = private_icon - - else - = public_icon + %h4.snippet-title = link_to reliable_snippet_path(snippet) do - %h5.inline - = truncate(snippet.title, length: 60) - %span.cgray + = truncate(snippet.title, length: 60) + - if snippet.private? + %span.label.label-success + %i.icon-lock + private + %span.cgray.monospace.tiny.pull-right = snippet.file_name %small.pull-right.cgray @@ -15,16 +14,11 @@ = link_to snippet.project.name_with_namespace, project_path(snippet.project) %span \| - Expires: - - if snippet.expires_at - = snippet.expires_at.to_date.to_s(:short) - - else - Never - .snippet-info.prepend-left-20 + .snippet-info = "##{snippet.id}" - %span.light + %span by = image_tag gravatar_icon(snippet.author_email), class: "avatar avatar-inline s16", alt: '' = snippet.author_name - + %span.light #{time_ago_in_words(snippet.created_at)} ago diff --git a/app/views/snippets/_snippets.html.haml b/app/views/snippets/_snippets.html.haml index 636bf37f6d9..05365dd8b88 100644 --- a/app/views/snippets/_snippets.html.haml +++ b/app/views/snippets/_snippets.html.haml @@ -4,4 +4,4 @@ %li %h3.nothing_here_message Nothing here. -= paginate @snippets += paginate @snippets, theme: 'gitlab' diff --git a/app/views/snippets/show.html.haml b/app/views/snippets/show.html.haml index b112511a880..811e429d22a 100644 --- a/app/views/snippets/show.html.haml +++ b/app/views/snippets/show.html.haml @@ -1,15 +1,30 @@ %h3.page-title - - if @snippet.private? - %i{:class => "icon-lock cgreen has_bottom_tooltip", "data-original-title" => "Private snippet"} - - else - %i{:class => "icon-globe cblue has_bottom_tooltip", "data-original-title" => "Public snippet"} - = @snippet.title - %small.pull-right + - if @snippet.private? + %span.label.label-success + %i.icon-lock + private + + .pull-right + = link_to new_snippet_path, class: "btn btn-small add_new grouped btn-primary", title: "New Snippet" do + Add new snippet + + +.append-bottom-20 + .pull-right = "##{@snippet.id}" %span.light by = image_tag gravatar_icon(@snippet.author_email), class: "avatar avatar-inline s16" = @snippet.author_name + + .back-link + - if @snippet.author == current_user + = link_to user_snippets_path(current_user) do + ← my snippets + - else + = link_to snippets_path do + ← discover snippets + %div= render 'blob' diff --git a/db/fixtures/development/12_snippets.rb b/db/fixtures/development/12_snippets.rb new file mode 100644 index 00000000000..78f24446a88 --- /dev/null +++ b/db/fixtures/development/12_snippets.rb @@ -0,0 +1,24 @@ +ActiveRecord::Base.observers.disable :all + +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`, + ] + + (1..50).each do |i| + user = User.all.sample + + PersonalSnippet.seed(:id, [{ + id: i, + author_id: user.id, + title: Faker::Lorem.sentence(6), + file_name: Faker::Internet.domain_word + '.sh', + private: [true, false].sample, + content: contents.sample, + }]) + print('.') + end +end + diff --git a/features/steps/snippets/snippets.rb b/features/steps/snippets/snippets.rb index d21ce9334e7..bbdf5b97c84 100644 --- a/features/steps/snippets/snippets.rb +++ b/features/steps/snippets/snippets.rb @@ -24,12 +24,11 @@ class SnippetsFeature < Spinach::FeatureSteps And 'I submit new snippet "Personal snippet three"' do fill_in "personal_snippet_title", :with => "Personal snippet three" - select "forever", :from => "personal_snippet_expires_at" fill_in "personal_snippet_file_name", :with => "my_snippet.rb" within('.file-editor') do find(:xpath, "//input[@id='personal_snippet_content']").set 'Content of snippet three' end - click_button "Save" + click_button "Create snippet" end Then 'I should see snippet "Personal snippet three"' do