Commit 0712e78597e5954ea61def4c0a6836a3d5b5d275

Authored by Dmitriy Zaporozhets
1 parent ca4e2ad1

Snippet restyle

app/models/snippet.rb
... ... @@ -28,6 +28,7 @@ class Snippet < ActiveRecord::Base
28 28  
29 29 scope :fresh, order("created_at DESC")
30 30 scope :non_expired, where(["expires_at IS NULL OR expires_at > ?", Time.current])
  31 + scope :expired, where(["expires_at IS NOT NULL AND expires_at < ?", Time.current])
31 32  
32 33 def self.content_types
33 34 [
... ...
app/views/snippets/_form.html.haml
1   -%div
2   - .ui-box.width-100p
3   - %h3
4   - = @snippet.new_record? ? "New snippet" : "Edit snippet ##{@snippet.id}"
5   - = form_for [@project, @snippet] do |f|
6   - .data.no-padding
7   - %table.no-borders
8   - -if @snippet.errors.any?
9   - %tr
10   - %td Errors
11   - %td
12   - #error_explanation
13   - - @snippet.errors.full_messages.each do |msg|
14   - %span= msg
15   - %br
  1 += form_for [@project, @snippet] do |f|
  2 + %div
  3 + %span.entity-info
  4 + - if @snippet.new_record?
  5 + = link_to project_snippets_path(@project) do
  6 + .entity-button
  7 + Back
  8 + %i
  9 + - else
  10 + = link_to project_snippet_path(@project, @snippet) do
  11 + .entity-button
  12 + Back
  13 + %i
  14 + %h2= @snippet.new_record? ? "New Snippet" : "Edit Snippet ##{@snippet.id}"
16 15  
17   - %tr
18   - %td= f.label :title
19   - %td= f.text_field :title, :placeholder => "Example Snippet"
20   - %tr
21   - %td= f.label :file_name
22   - %td= f.text_field :file_name, :placeholder => "example.rb"
23   - %tr
24   - %td= f.label "Lifetime"
25   - %td= f.select :expires_at, lifetime_select_options
26   - %tr
27   - %td{:colspan => 2}
28   - = f.label :content, "Code"
  16 + %hr
  17 + %table.no-borders
  18 + -if @snippet.errors.any?
  19 + %tr
  20 + %td{:colspan => 2}
  21 + #error_explanation
  22 + - @snippet.errors.full_messages.each do |msg|
  23 + %span= msg
29 24 %br
30   - %br
31   - = f.text_area :content
32 25  
33   - .buttons
34   - = f.submit 'Save', :class => "grey-button"
35   - - if can?(current_user, :admin_snippet, @project) || @snippet.author == current_user
36   - .right= link_to 'Destroy', [@project, @snippet], :confirm => 'Are you sure?', :method => :delete, :class => "grey-button delete-snippet negative", :id => "destroy_snippet_#{@snippet.id}"
  26 + %tr
  27 + %td= f.label :title
  28 + %td= f.text_field :title, :placeholder => "Example Snippet"
  29 + %tr
  30 + %td= f.label :file_name
  31 + %td= f.text_field :file_name, :placeholder => "example.rb"
  32 + %tr
  33 + %td= f.label "Lifetime"
  34 + %td= f.select :expires_at, lifetime_select_options, {}, :style => "width:200px;"
  35 + %tr
  36 + %td{:colspan => 2}
  37 + = f.label :content, "Code"
  38 + %br
  39 + %br
  40 + = f.text_area :content
  41 +
  42 + .merge-tabs
  43 + = f.submit 'Save', :class => "grey-button"
  44 + - unless @snippet.new_record?
  45 + .right= link_to 'Destroy', [@project, @snippet], :confirm => 'Are you sure?', :method => :delete, :class => "red-button delete-snippet", :id => "destroy_snippet_#{@snippet.id}"
  46 +
  47 +
  48 +
  49 +:javascript
  50 + $(function(){
  51 + $('select#snippet_expires_at').chosen();
  52 + });
  53 +
... ...
app/views/snippets/_snippet.html.haml
1   -- unless snippet.expired?
2   - %tr{ :id => dom_id(snippet), :class => "snippet", :url => project_snippet_path(@project, snippet) }
3   - %td
4   - = image_tag gravatar_icon(snippet.author.email), :class => "left", :width => 40, :style => "padding:0 5px;"
5   - %span
6   - %strong= html_escape snippet.title
7   - %br
8   - %br
9   - %div.author
10   - %strong= truncate snippet.author.name, :lenght => 20
11   - %cite.cgray
12   - = time_ago_in_words(snippet.updated_at)
13   - ago
14   - .right.action-links
15   - - if can?(current_user, :admin_snippet, @project) || snippet.author == current_user
16   - = link_to 'Edit', edit_project_snippet_path(@project, snippet), :class => "cgray"
17   - - if can?(current_user, :admin_snippet, @project) || snippet.author == current_user
18   - = link_to 'Destroy', [@project, snippet], :confirm => 'Are you sure?', :method => :delete, :remote => true, :class => "cred delete-snippet negative", :id => "destroy_snippet_#{snippet.id}"
  1 +%a.update-item{:href => project_snippet_path(snippet.project, snippet)}
  2 + = image_tag gravatar_icon(snippet.author_email), :class => "left", :width => 40
  3 + %span.update-title
  4 + = truncate(snippet.title, :length => 60)
  5 + %span.update-author
  6 + %strong= snippet.author_name
  7 + authored
  8 + = time_ago_in_words(snippet.created_at)
  9 + ago
  10 + .right
  11 + %span.tag.commit= snippet.file_name
  12 +
... ...
app/views/snippets/index.html.haml
... ... @@ -4,9 +4,7 @@
4 4 - if can? current_user, :write_snippet, @project
5 5 .right= link_to 'New Snippet', new_project_snippet_path(@project), :class => "grey-button append-bottom-10"
6 6  
7   -%table#snippets-table
8   - = render @snippets.fresh
9   -
10   -:javascript
11   - $('.delete-snippet').live('ajax:success', function() {
12   - $(this).closest('tr').fadeOut(); });
  7 +- unless @snippets.fresh.empty?
  8 + %div{ :class => "update-data ui-box ui-box-small ui-box-big" }
  9 + .data
  10 + = render @snippets.fresh
... ...