sofa_gallery 0.0.0 → 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. data/Gemfile +4 -2
  2. data/Gemfile.lock +67 -61
  3. data/VERSION +1 -1
  4. data/app/assets/images/sofa_gallery/prettyPhoto/dark_rounded/btnNext.png +0 -0
  5. data/app/assets/images/sofa_gallery/prettyPhoto/dark_rounded/btnPrevious.png +0 -0
  6. data/app/assets/images/sofa_gallery/prettyPhoto/dark_rounded/contentPattern.png +0 -0
  7. data/app/assets/images/sofa_gallery/prettyPhoto/dark_rounded/default_thumbnail.gif +0 -0
  8. data/app/assets/images/sofa_gallery/prettyPhoto/dark_rounded/loader.gif +0 -0
  9. data/app/assets/images/sofa_gallery/prettyPhoto/dark_rounded/sprite.png +0 -0
  10. data/app/assets/images/sofa_gallery/prettyPhoto/dark_square/btnNext.png +0 -0
  11. data/app/assets/images/sofa_gallery/prettyPhoto/dark_square/btnPrevious.png +0 -0
  12. data/app/assets/images/sofa_gallery/prettyPhoto/dark_square/contentPattern.png +0 -0
  13. data/app/assets/images/sofa_gallery/prettyPhoto/dark_square/default_thumbnail.gif +0 -0
  14. data/app/assets/images/sofa_gallery/prettyPhoto/dark_square/loader.gif +0 -0
  15. data/app/assets/images/sofa_gallery/prettyPhoto/dark_square/sprite.png +0 -0
  16. data/app/assets/images/sofa_gallery/prettyPhoto/default/default_thumb.png +0 -0
  17. data/app/assets/images/sofa_gallery/prettyPhoto/default/loader.gif +0 -0
  18. data/app/assets/images/sofa_gallery/prettyPhoto/default/sprite.png +0 -0
  19. data/app/assets/images/sofa_gallery/prettyPhoto/default/sprite_next.png +0 -0
  20. data/app/assets/images/sofa_gallery/prettyPhoto/default/sprite_prev.png +0 -0
  21. data/app/assets/images/sofa_gallery/prettyPhoto/default/sprite_x.png +0 -0
  22. data/app/assets/images/sofa_gallery/prettyPhoto/default/sprite_y.png +0 -0
  23. data/app/assets/images/sofa_gallery/prettyPhoto/facebook/btnNext.png +0 -0
  24. data/app/assets/images/sofa_gallery/prettyPhoto/facebook/btnPrevious.png +0 -0
  25. data/app/assets/images/sofa_gallery/prettyPhoto/facebook/contentPatternBottom.png +0 -0
  26. data/app/assets/images/sofa_gallery/prettyPhoto/facebook/contentPatternLeft.png +0 -0
  27. data/app/assets/images/sofa_gallery/prettyPhoto/facebook/contentPatternRight.png +0 -0
  28. data/app/assets/images/sofa_gallery/prettyPhoto/facebook/contentPatternTop.png +0 -0
  29. data/app/assets/images/sofa_gallery/prettyPhoto/facebook/default_thumbnail.gif +0 -0
  30. data/app/assets/images/sofa_gallery/prettyPhoto/facebook/loader.gif +0 -0
  31. data/app/assets/images/sofa_gallery/prettyPhoto/facebook/sprite.png +0 -0
  32. data/app/assets/images/sofa_gallery/prettyPhoto/light_rounded/btnNext.png +0 -0
  33. data/app/assets/images/sofa_gallery/prettyPhoto/light_rounded/btnPrevious.png +0 -0
  34. data/app/assets/images/sofa_gallery/prettyPhoto/light_rounded/default_thumbnail.gif +0 -0
  35. data/app/assets/images/sofa_gallery/prettyPhoto/light_rounded/loader.gif +0 -0
  36. data/app/assets/images/sofa_gallery/prettyPhoto/light_rounded/sprite.png +0 -0
  37. data/app/assets/images/sofa_gallery/prettyPhoto/light_square/btnNext.png +0 -0
  38. data/app/assets/images/sofa_gallery/prettyPhoto/light_square/btnPrevious.png +0 -0
  39. data/app/assets/images/sofa_gallery/prettyPhoto/light_square/default_thumbnail.gif +0 -0
  40. data/app/assets/images/sofa_gallery/prettyPhoto/light_square/loader.gif +0 -0
  41. data/app/assets/images/sofa_gallery/prettyPhoto/light_square/sprite.png +0 -0
  42. data/app/assets/javascripts/sofa_gallery/admin.js +72 -0
  43. data/app/assets/javascripts/sofa_gallery/carousel.js +44 -0
  44. data/app/assets/javascripts/sofa_gallery/thumbnails.js +85 -0
  45. data/app/assets/stylesheets/sofa_gallery/admin.css +13 -0
  46. data/app/assets/stylesheets/sofa_gallery/application.css +0 -1
  47. data/app/assets/stylesheets/sofa_gallery/carousel.css +186 -0
  48. data/app/assets/stylesheets/sofa_gallery/tango/credits.txt +1 -0
  49. data/app/assets/stylesheets/sofa_gallery/tango/next-horizontal.png +0 -0
  50. data/app/assets/stylesheets/sofa_gallery/tango/next-vertical.png +0 -0
  51. data/app/assets/stylesheets/sofa_gallery/tango/prev-horizontal.png +0 -0
  52. data/app/assets/stylesheets/sofa_gallery/tango/prev-vertical.png +0 -0
  53. data/app/assets/stylesheets/sofa_gallery/thumbnails.css.scss +182 -0
  54. data/app/controllers/application_controller.rb +1 -0
  55. data/app/controllers/sofa_gallery/admin/base_controller.rb +3 -0
  56. data/app/controllers/{gallery_admin → sofa_gallery/admin}/galleries_controller.rb +4 -4
  57. data/app/controllers/{gallery_admin → sofa_gallery/admin}/photos_controller.rb +6 -6
  58. data/app/controllers/sofa_gallery/galleries_controller.rb +9 -0
  59. data/app/helpers/sofa_gallery_helper.rb +11 -1
  60. data/app/models/{sofa → sofa_gallery}/gallery.rb +2 -2
  61. data/app/models/{sofa → sofa_gallery}/photo.rb +18 -9
  62. data/app/views/layouts/gallery_admin/application.html.erb +2 -2
  63. data/app/views/sofa_gallery/_carousel.html.erb +17 -0
  64. data/app/views/sofa_gallery/_thumbnails.html.erb +19 -0
  65. data/app/views/sofa_gallery/admin/_html_head.html.erb +1 -0
  66. data/app/views/sofa_gallery/admin/_navigation.html.erb +5 -0
  67. data/app/views/sofa_gallery/admin/galleries/_form.html.erb +17 -0
  68. data/app/views/sofa_gallery/admin/galleries/edit.html.erb +5 -0
  69. data/app/views/sofa_gallery/admin/galleries/index.html.erb +48 -0
  70. data/app/views/sofa_gallery/admin/galleries/new.html.erb +5 -0
  71. data/app/views/sofa_gallery/admin/photos/_form.html.erb +16 -0
  72. data/app/views/sofa_gallery/admin/photos/crop.html.erb +64 -0
  73. data/app/views/sofa_gallery/admin/photos/edit.html.erb +5 -0
  74. data/app/views/{gallery_admin → sofa_gallery/admin}/photos/index.html.erb +4 -4
  75. data/app/views/sofa_gallery/admin/photos/new.html.erb +5 -0
  76. data/app/views/sofa_gallery/galleries/show.html.erb +1 -0
  77. data/config/routes.rb +12 -7
  78. data/db/migrate/01_create_sofa_gallery.rb +15 -12
  79. data/lib/paperclip_processors/cropper.rb +16 -3
  80. data/lib/sofa_gallery/configuration.rb +4 -4
  81. data/lib/sofa_gallery/engine.rb +2 -1
  82. data/sofa_gallery.gemspec +89 -30
  83. data/test/fixtures/files/default2.jpg +0 -0
  84. data/test/fixtures/{sofa → sofa_gallery}/galleries.yml +4 -2
  85. data/test/fixtures/{sofa → sofa_gallery}/photos.yml +0 -0
  86. data/test/functional/admin/galleries_controller_test.rb +87 -0
  87. data/test/functional/admin/photos_controller_test.rb +177 -0
  88. data/test/functional/galleries_controller_test.rb +8 -78
  89. data/test/test_helper.rb +4 -1
  90. data/test/unit/configuration_test.rb +1 -1
  91. data/test/unit/gallery_test.rb +6 -6
  92. data/test/unit/photo_test.rb +5 -5
  93. metadata +150 -79
  94. data/app/assets/javascripts/sofa_gallery/jquery.js +0 -18
  95. data/app/assets/javascripts/sofa_gallery/jquery_ui.js +0 -248
  96. data/app/assets/javascripts/sofa_gallery/rails.js +0 -315
  97. data/app/controllers/gallery_admin/base_controller.rb +0 -3
  98. data/app/views/gallery_admin/_navigation.html.erb +0 -1
  99. data/app/views/gallery_admin/galleries/_form.html.erb +0 -11
  100. data/app/views/gallery_admin/galleries/edit.html.erb +0 -5
  101. data/app/views/gallery_admin/galleries/index.html.erb +0 -28
  102. data/app/views/gallery_admin/galleries/new.html.erb +0 -5
  103. data/app/views/gallery_admin/photos/_form.html.erb +0 -13
  104. data/app/views/gallery_admin/photos/crop.html.erb +0 -32
  105. data/app/views/gallery_admin/photos/edit.html.erb +0 -5
  106. data/app/views/gallery_admin/photos/new.html.erb +0 -5
  107. data/test/functional/photos_controller_test.rb +0 -123
@@ -0,0 +1,5 @@
1
+ <h1>Editing <%= @gallery.title %></h1>
2
+
3
+ <%= sofa_gallery_form_for @gallery, :as => :gallery, :url => { :action => :update } do |form|%>
4
+ <%= render :partial => form %>
5
+ <% end %>
@@ -0,0 +1,48 @@
1
+ <%= link_to 'Add new gallery', new_sofa_gallery_admin_gallery_path, :class => 'big button' %>
2
+
3
+ <h1>Galleries</h1>
4
+
5
+ <table class='formatted'>
6
+ <tr>
7
+ <th>
8
+ Name
9
+ </th>
10
+ <th>
11
+ Preview
12
+ </th>
13
+ <th>
14
+ URL
15
+ </th>
16
+ <th>
17
+ Embed Code
18
+ </th>
19
+ <th>
20
+ Actions
21
+ </th>
22
+ </tr>
23
+ <% @galleries.each do |gallery| %>
24
+ <tr>
25
+ <td>
26
+ <div class='title'>
27
+ <%= link_to gallery.title, sofa_gallery_admin_gallery_photos_path(gallery) %>
28
+ </div>
29
+ </td>
30
+ <td class='main'>
31
+ <% gallery.photos.limit(4).each do |photo| %>
32
+ <%= image_tag(photo.image.url(:admin_thumb)) %>
33
+ <% end %>
34
+ </td>
35
+ <td>
36
+ <%= link_to sofa_gallery_gallery_path(gallery), sofa_gallery_gallery_path(gallery), :target => '_blank' %>
37
+ </td>
38
+ <td>
39
+ {{ cms:helper:render_gallery:<%= gallery.slug %> }}
40
+ </td>
41
+ <td class='action_links'>
42
+ <%= link_to 'Show Photos', sofa_gallery_admin_gallery_photos_path(gallery) %>
43
+ <%= link_to 'Edit', edit_sofa_gallery_admin_gallery_path(gallery) %>
44
+ <%= link_to 'Delete', sofa_gallery_admin_gallery_path(gallery), :method => :delete, :confirm => 'Are you sure?' %>
45
+ </td>
46
+ </tr>
47
+ <% end %>
48
+ </table>
@@ -0,0 +1,5 @@
1
+ <h1>New Gallery</h1>
2
+
3
+ <%= sofa_gallery_form_for @gallery, :as => :gallery, :url => { :action => :create } do |form| %>
4
+ <%= render :partial => form %>
5
+ <% end %>
@@ -0,0 +1,16 @@
1
+ <%= form.text_field :title, :id => (@photo.new_record?? 'slugify' : nil) %>
2
+ <%= form.text_field :slug, :id => 'slug' %>
3
+ <% if @photo.image? %>
4
+ <%= form.simple_field 'Current Image' do %>
5
+ <%= image_tag(@photo.image.url(:thumb)) %>
6
+ <br/>
7
+ <%= link_to 'Crop Image', crop_sofa_gallery_admin_gallery_photo_path(@gallery, @photo) %>
8
+ <% end %>
9
+ <% end %>
10
+ <%= form.file_field :image %>
11
+ <%= form.text_area :description %>
12
+ <%= form.simple_field nil, nil, :class => 'submit_element' do %>
13
+ <%= link_to "Cancel", sofa_gallery_admin_gallery_photos_path(@photo.gallery), :id => 'cancel_btn' %>
14
+ <span>or</span>
15
+ <%= form.submit "Save", :disable_builder => true%>
16
+ <% end %>
@@ -0,0 +1,64 @@
1
+ <% content_for :head do %>
2
+ <%= stylesheet_link_tag 'sofa_gallery/jquery.jcrop.css' %>
3
+ <%= javascript_include_tag 'sofa_gallery/jquery.jcrop.js' %>
4
+ <script type="text/javascript" charset="utf-8">
5
+ $(function(){
6
+ $('#crop_full').Jcrop({
7
+ onChange: update_full_crop,
8
+ onSelect: update_full_crop,
9
+ aspectRatio: <%= @photo.gallery.force_ratio_full?? (@photo.gallery.full_width.to_f / @photo.gallery.full_height) : 'null' %>
10
+ });
11
+
12
+ $('#crop_thumb').Jcrop({
13
+ onChange: update_thumb_crop,
14
+ onSelect: update_thumb_crop,
15
+ aspectRatio: <%= @photo.gallery.force_ratio_thumb?? (@photo.gallery.thumb_width.to_f / @photo.gallery.thumb_height) : 'null' %>
16
+ });
17
+ });
18
+
19
+
20
+ function update_full_crop(coords) {
21
+ var ratio = <%= @photo.image_geometry(:original).width %> / <%= @photo.image_geometry(:admin_full).width %>;
22
+ $('#full_crop_x').val(coords.x * ratio);
23
+ $('#full_crop_y').val(coords.y * ratio);
24
+ $('#full_crop_w').val(coords.w * ratio);
25
+ $('#full_crop_h').val(coords.h * ratio);
26
+ }
27
+
28
+ function update_thumb_crop(coords) {
29
+ var ratio = <%= @photo.image_geometry(:original).width %> / <%= @photo.image_geometry(:admin_full).width %>;
30
+ $('#thumb_crop_x').val(coords.x * ratio);
31
+ $('#thumb_crop_y').val(coords.y * ratio);
32
+ $('#thumb_crop_w').val(coords.w * ratio);
33
+ $('#thumb_crop_h').val(coords.h * ratio);
34
+ }
35
+ </script>
36
+ <% end %>
37
+
38
+ <h1> Crop Photo </h1>
39
+
40
+ <%= sofa_gallery_form_for @photo, :as => :photo, :url => { :action => :update } do |form| %>
41
+
42
+ <% if @photo.gallery.force_ratio_full? %>
43
+ <%= form.simple_field 'Full Size' do %>
44
+ <%= image_tag @photo.image.url(:admin_full), :id => 'crop_full' %>
45
+ <% end %>
46
+ <% end %>
47
+ <br />
48
+ <% if @photo.gallery.force_ratio_thumb? %>
49
+ <%= form.simple_field 'Thumbnail' do %>
50
+ <%= image_tag @photo.image.url(:admin_full), :id => 'crop_thumb' %>
51
+ <% end %>
52
+ <% end %>
53
+
54
+
55
+ <% [:full_crop_x, :full_crop_y, :full_crop_w, :full_crop_h].each do |attr| %>
56
+ <%= form.hidden_field attr, :id => attr %>
57
+ <% end %>
58
+
59
+ <% [:thumb_crop_x, :thumb_crop_y, :thumb_crop_w, :thumb_crop_h].each do |attr| %>
60
+ <%= form.hidden_field attr, :id => attr %>
61
+ <% end %>
62
+
63
+ <%= form.submit 'Crop' %>
64
+ <% end %>
@@ -0,0 +1,5 @@
1
+ <h1>Editing Photo</h1>
2
+
3
+ <%= sofa_gallery_form_for @photo, :url => { :action => :update }, :html => { :multipart => true } do |form| %>
4
+ <%= render :partial => form %>
5
+ <% end %>
@@ -1,4 +1,4 @@
1
- <%= link_to 'Add new photo', new_gallery_admin_gallery_photo_path, :class => 'big button' %>
1
+ <%= link_to 'Add new photo', new_sofa_gallery_admin_gallery_photo_path(@gallery), :class => 'big button' %>
2
2
 
3
3
  <h1>Photos in <%=@gallery.title%></h1>
4
4
 
@@ -14,9 +14,9 @@
14
14
  <div class='sublabel'><%= photo.slug %></div>
15
15
  </td>
16
16
  <td class='action_links'>
17
- <%= link_to 'Crop', crop_gallery_admin_gallery_photo_path(@gallery, photo) %>
18
- <%= link_to 'Edit', edit_gallery_admin_gallery_photo_path(@gallery, photo) %>
19
- <%= link_to 'Delete', gallery_admin_gallery_photo_path(@gallery, photo), :method => :delete, :confirm => 'Are you sure?' %>
17
+ <%= link_to 'Crop', crop_sofa_gallery_admin_gallery_photo_path(@gallery, photo) %>
18
+ <%= link_to 'Edit', edit_sofa_gallery_admin_gallery_photo_path(@gallery, photo) %>
19
+ <%= link_to 'Delete', sofa_gallery_admin_gallery_photo_path(@gallery, photo), :method => :delete, :confirm => 'Are you sure?' %>
20
20
  </td>
21
21
  </tr>
22
22
  <% end %>
@@ -0,0 +1,5 @@
1
+ <h1>New Photo</h1>
2
+
3
+ <%= sofa_gallery_form_for @photo, :as => :photo, :url => {:action => :create}, :html => {:multipart => true} do |form|%>
4
+ <%= render :partial => form %>
5
+ <% end -%>
@@ -0,0 +1 @@
1
+ <%= render :partial => 'sofa_gallery/thumbnails' %>
data/config/routes.rb CHANGED
@@ -1,12 +1,17 @@
1
1
  Rails.application.routes.draw do
2
2
 
3
- namespace :gallery_admin, :path => SofaGallery.config.admin_route_prefix do
4
- resources :galleries do
5
- resources :photos do
6
- put :reorder, :on => :collection
7
- get :crop, :on => :member
3
+ namespace :sofa_gallery, :path => '' do
4
+
5
+ resources :galleries, :only => :show
6
+
7
+ namespace :admin, :path => SofaGallery.config.admin_route_prefix do
8
+ resources :galleries do
9
+ resources :photos do
10
+ put :reorder, :on => :collection
11
+ get :crop, :on => :member
12
+ end
8
13
  end
9
- end
10
- end unless SofaGallery.config.admin_route_prefix.blank?
14
+ end unless SofaGallery.config.admin_route_prefix.blank?
15
+ end
11
16
 
12
17
  end
@@ -1,19 +1,22 @@
1
1
  class CreateSofaGallery < ActiveRecord::Migration
2
2
  def self.up
3
- create_table :sofa_galleries do |t|
3
+ create_table :sofa_gallery_galleries do |t|
4
4
  t.string :title
5
5
  t.string :slug
6
6
  t.text :description
7
- t.integer :full_width, :null => false, :default => 600
8
- t.integer :full_height, :null => false, :default => 450
9
- t.integer :thumb_width, :null => false, :default => 200
10
- t.integer :thumb_height, :null => false, :default => 150
11
- t.boolean :force_ratio, :null => false, :default => true
7
+ t.integer :gallery_width, :null => false, :default => 640
8
+ t.integer :full_width, :null => false, :default => 600
9
+ t.integer :full_width, :null => false, :default => 600
10
+ t.integer :full_height, :null => false, :default => 450
11
+ t.boolean :force_ratio_full, :null => false, :default => false
12
+ t.integer :thumb_width, :null => false, :default => 150
13
+ t.integer :thumb_height, :null => false, :default => 150
14
+ t.boolean :force_ratio_thumb, :null => false, :default => true
12
15
  t.timestamps
13
16
  end
14
- add_index :sofa_galleries, :slug
17
+ add_index :sofa_gallery_galleries, :slug
15
18
 
16
- create_table :sofa_photos do |t|
19
+ create_table :sofa_gallery_photos do |t|
17
20
  t.integer :gallery_id
18
21
  t.string :title
19
22
  t.string :slug
@@ -24,12 +27,12 @@ class CreateSofaGallery < ActiveRecord::Migration
24
27
  t.integer :position, :null => false, :default => 0
25
28
  t.timestamps
26
29
  end
27
- add_index :sofa_photos, [ :gallery_id, :position ]
28
- add_index :sofa_photos, :slug
30
+ add_index :sofa_gallery_photos, [ :gallery_id, :position ]
31
+ add_index :sofa_gallery_photos, :slug
29
32
  end
30
33
 
31
34
  def self.down
32
- drop_table :sofa_photos
33
- drop_table :sofa_galleries
35
+ drop_table :sofa_gallery_photos
36
+ drop_table :sofa_gallery_galleries
34
37
  end
35
38
  end
@@ -1,4 +1,5 @@
1
1
  module Paperclip
2
+
2
3
  class Cropper < Thumbnail
3
4
  def transformation_command
4
5
  if crop_command
@@ -7,12 +8,24 @@ module Paperclip
7
8
  super
8
9
  end
9
10
  end
10
-
11
+ end
12
+
13
+ class ThumbCropper < Cropper
14
+ def crop_command
15
+ target = @attachment.instance
16
+ if target.cropping_thumb?
17
+ ["-crop", "#{target.thumb_crop_w}x#{target.thumb_crop_h}+#{target.thumb_crop_x}+#{target.thumb_crop_y}"]
18
+ end
19
+ end
20
+ end
21
+
22
+ class FullCropper < Cropper
11
23
  def crop_command
12
24
  target = @attachment.instance
13
- if target.cropping?
14
- ["-crop", "#{target.crop_w}x#{target.crop_h}+#{target.crop_x}+#{target.crop_y}"]
25
+ if target.cropping_full?
26
+ ["-crop", "#{target.full_crop_w}x#{target.full_crop_h}+#{target.full_crop_x}+#{target.full_crop_y}"]
15
27
  end
16
28
  end
17
29
  end
30
+
18
31
  end
@@ -16,10 +16,10 @@ module SofaGallery
16
16
 
17
17
  # Configuration defaults
18
18
  def initialize
19
- @upload_photo_options = { }
20
- @admin_route_prefix = 'admin'
21
- @admin_controller = 'ApplicationController'
22
- @form_builder = 'SofaGallery::FormBuilder'
19
+ @upload_options = { }
20
+ @admin_route_prefix = 'admin'
21
+ @admin_controller = 'ApplicationController'
22
+ @form_builder = 'SofaGallery::FormBuilder'
23
23
  end
24
24
 
25
25
  end
@@ -14,7 +14,8 @@ module CmsGallery
14
14
  conf.form_builder = 'ComfortableMexicanSofa::FormBuilder'
15
15
  end
16
16
  # applying nav elements
17
- ComfortableMexicanSofa::ViewHooks.add(:navigation, '/gallery_admin/navigation')
17
+ ComfortableMexicanSofa::ViewHooks.add(:navigation, '/sofa_gallery/admin/navigation')
18
+ ComfortableMexicanSofa::ViewHooks.add(:html_head, '/sofa_gallery/admin/html_head')
18
19
  end
19
20
  end
20
21
  end
data/sofa_gallery.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{sofa_gallery}
8
- s.version = "0.0.0"
8
+ s.version = "0.0.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Oleg Khabarov", "Stephen McLeod", "The Working Group Inc."]
12
- s.date = %q{2011-06-16}
12
+ s.date = %q{2011-09-20}
13
13
  s.description = %q{}
14
14
  s.email = %q{stephen@theworkinggroup.ca}
15
15
  s.extra_rdoc_files = [
@@ -25,32 +25,83 @@ Gem::Specification.new do |s|
25
25
  "Rakefile",
26
26
  "VERSION",
27
27
  "app/assets/images/sofa_gallery/jcrop.gif",
28
+ "app/assets/images/sofa_gallery/prettyPhoto/dark_rounded/btnNext.png",
29
+ "app/assets/images/sofa_gallery/prettyPhoto/dark_rounded/btnPrevious.png",
30
+ "app/assets/images/sofa_gallery/prettyPhoto/dark_rounded/contentPattern.png",
31
+ "app/assets/images/sofa_gallery/prettyPhoto/dark_rounded/default_thumbnail.gif",
32
+ "app/assets/images/sofa_gallery/prettyPhoto/dark_rounded/loader.gif",
33
+ "app/assets/images/sofa_gallery/prettyPhoto/dark_rounded/sprite.png",
34
+ "app/assets/images/sofa_gallery/prettyPhoto/dark_square/btnNext.png",
35
+ "app/assets/images/sofa_gallery/prettyPhoto/dark_square/btnPrevious.png",
36
+ "app/assets/images/sofa_gallery/prettyPhoto/dark_square/contentPattern.png",
37
+ "app/assets/images/sofa_gallery/prettyPhoto/dark_square/default_thumbnail.gif",
38
+ "app/assets/images/sofa_gallery/prettyPhoto/dark_square/loader.gif",
39
+ "app/assets/images/sofa_gallery/prettyPhoto/dark_square/sprite.png",
40
+ "app/assets/images/sofa_gallery/prettyPhoto/default/default_thumb.png",
41
+ "app/assets/images/sofa_gallery/prettyPhoto/default/loader.gif",
42
+ "app/assets/images/sofa_gallery/prettyPhoto/default/sprite.png",
43
+ "app/assets/images/sofa_gallery/prettyPhoto/default/sprite_next.png",
44
+ "app/assets/images/sofa_gallery/prettyPhoto/default/sprite_prev.png",
45
+ "app/assets/images/sofa_gallery/prettyPhoto/default/sprite_x.png",
46
+ "app/assets/images/sofa_gallery/prettyPhoto/default/sprite_y.png",
47
+ "app/assets/images/sofa_gallery/prettyPhoto/facebook/btnNext.png",
48
+ "app/assets/images/sofa_gallery/prettyPhoto/facebook/btnPrevious.png",
49
+ "app/assets/images/sofa_gallery/prettyPhoto/facebook/contentPatternBottom.png",
50
+ "app/assets/images/sofa_gallery/prettyPhoto/facebook/contentPatternLeft.png",
51
+ "app/assets/images/sofa_gallery/prettyPhoto/facebook/contentPatternRight.png",
52
+ "app/assets/images/sofa_gallery/prettyPhoto/facebook/contentPatternTop.png",
53
+ "app/assets/images/sofa_gallery/prettyPhoto/facebook/default_thumbnail.gif",
54
+ "app/assets/images/sofa_gallery/prettyPhoto/facebook/loader.gif",
55
+ "app/assets/images/sofa_gallery/prettyPhoto/facebook/sprite.png",
56
+ "app/assets/images/sofa_gallery/prettyPhoto/light_rounded/btnNext.png",
57
+ "app/assets/images/sofa_gallery/prettyPhoto/light_rounded/btnPrevious.png",
58
+ "app/assets/images/sofa_gallery/prettyPhoto/light_rounded/default_thumbnail.gif",
59
+ "app/assets/images/sofa_gallery/prettyPhoto/light_rounded/loader.gif",
60
+ "app/assets/images/sofa_gallery/prettyPhoto/light_rounded/sprite.png",
61
+ "app/assets/images/sofa_gallery/prettyPhoto/light_square/btnNext.png",
62
+ "app/assets/images/sofa_gallery/prettyPhoto/light_square/btnPrevious.png",
63
+ "app/assets/images/sofa_gallery/prettyPhoto/light_square/default_thumbnail.gif",
64
+ "app/assets/images/sofa_gallery/prettyPhoto/light_square/loader.gif",
65
+ "app/assets/images/sofa_gallery/prettyPhoto/light_square/sprite.png",
66
+ "app/assets/javascripts/sofa_gallery/admin.js",
28
67
  "app/assets/javascripts/sofa_gallery/application.js",
68
+ "app/assets/javascripts/sofa_gallery/carousel.js",
29
69
  "app/assets/javascripts/sofa_gallery/jquery.jcrop.js",
30
- "app/assets/javascripts/sofa_gallery/jquery.js",
31
- "app/assets/javascripts/sofa_gallery/jquery_ui.js",
32
- "app/assets/javascripts/sofa_gallery/rails.js",
70
+ "app/assets/javascripts/sofa_gallery/thumbnails.js",
71
+ "app/assets/stylesheets/sofa_gallery/admin.css",
33
72
  "app/assets/stylesheets/sofa_gallery/application.css",
73
+ "app/assets/stylesheets/sofa_gallery/carousel.css",
34
74
  "app/assets/stylesheets/sofa_gallery/jquery.jcrop.css",
35
75
  "app/assets/stylesheets/sofa_gallery/reset.css",
76
+ "app/assets/stylesheets/sofa_gallery/tango/credits.txt",
77
+ "app/assets/stylesheets/sofa_gallery/tango/next-horizontal.png",
78
+ "app/assets/stylesheets/sofa_gallery/tango/next-vertical.png",
79
+ "app/assets/stylesheets/sofa_gallery/tango/prev-horizontal.png",
80
+ "app/assets/stylesheets/sofa_gallery/tango/prev-vertical.png",
81
+ "app/assets/stylesheets/sofa_gallery/thumbnails.css.scss",
36
82
  "app/controllers/application_controller.rb",
37
- "app/controllers/gallery_admin/base_controller.rb",
38
- "app/controllers/gallery_admin/galleries_controller.rb",
39
- "app/controllers/gallery_admin/photos_controller.rb",
83
+ "app/controllers/sofa_gallery/admin/base_controller.rb",
84
+ "app/controllers/sofa_gallery/admin/galleries_controller.rb",
85
+ "app/controllers/sofa_gallery/admin/photos_controller.rb",
86
+ "app/controllers/sofa_gallery/galleries_controller.rb",
40
87
  "app/helpers/sofa_gallery_helper.rb",
41
- "app/models/sofa/gallery.rb",
42
- "app/models/sofa/photo.rb",
43
- "app/views/gallery_admin/_navigation.html.erb",
44
- "app/views/gallery_admin/galleries/_form.html.erb",
45
- "app/views/gallery_admin/galleries/edit.html.erb",
46
- "app/views/gallery_admin/galleries/index.html.erb",
47
- "app/views/gallery_admin/galleries/new.html.erb",
48
- "app/views/gallery_admin/photos/_form.html.erb",
49
- "app/views/gallery_admin/photos/crop.html.erb",
50
- "app/views/gallery_admin/photos/edit.html.erb",
51
- "app/views/gallery_admin/photos/index.html.erb",
52
- "app/views/gallery_admin/photos/new.html.erb",
88
+ "app/models/sofa_gallery/gallery.rb",
89
+ "app/models/sofa_gallery/photo.rb",
53
90
  "app/views/layouts/gallery_admin/application.html.erb",
91
+ "app/views/sofa_gallery/_carousel.html.erb",
92
+ "app/views/sofa_gallery/_thumbnails.html.erb",
93
+ "app/views/sofa_gallery/admin/_html_head.html.erb",
94
+ "app/views/sofa_gallery/admin/_navigation.html.erb",
95
+ "app/views/sofa_gallery/admin/galleries/_form.html.erb",
96
+ "app/views/sofa_gallery/admin/galleries/edit.html.erb",
97
+ "app/views/sofa_gallery/admin/galleries/index.html.erb",
98
+ "app/views/sofa_gallery/admin/galleries/new.html.erb",
99
+ "app/views/sofa_gallery/admin/photos/_form.html.erb",
100
+ "app/views/sofa_gallery/admin/photos/crop.html.erb",
101
+ "app/views/sofa_gallery/admin/photos/edit.html.erb",
102
+ "app/views/sofa_gallery/admin/photos/index.html.erb",
103
+ "app/views/sofa_gallery/admin/photos/new.html.erb",
104
+ "app/views/sofa_gallery/galleries/show.html.erb",
54
105
  "config.ru",
55
106
  "config/application.rb",
56
107
  "config/boot.rb",
@@ -74,10 +125,12 @@ Gem::Specification.new do |s|
74
125
  "sofa_gallery.gemspec",
75
126
  "test/fixtures/files/default.jpg",
76
127
  "test/fixtures/files/default.txt",
77
- "test/fixtures/sofa/galleries.yml",
78
- "test/fixtures/sofa/photos.yml",
128
+ "test/fixtures/files/default2.jpg",
129
+ "test/fixtures/sofa_gallery/galleries.yml",
130
+ "test/fixtures/sofa_gallery/photos.yml",
131
+ "test/functional/admin/galleries_controller_test.rb",
132
+ "test/functional/admin/photos_controller_test.rb",
79
133
  "test/functional/galleries_controller_test.rb",
80
- "test/functional/photos_controller_test.rb",
81
134
  "test/test_helper.rb",
82
135
  "test/unit/configuration_test.rb",
83
136
  "test/unit/gallery_test.rb",
@@ -86,26 +139,32 @@ Gem::Specification.new do |s|
86
139
  s.homepage = %q{http://github.com/twg/sofa-gallery}
87
140
  s.licenses = ["MIT"]
88
141
  s.require_paths = ["lib"]
89
- s.rubygems_version = %q{1.7.2}
142
+ s.rubygems_version = %q{1.6.2}
90
143
  s.summary = %q{SofaGallery is an image gallery engine for Rails 3.1 apps (and ComfortableMexicanSofa)}
91
144
 
92
145
  if s.respond_to? :specification_version then
93
146
  s.specification_version = 3
94
147
 
95
148
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
96
- s.add_runtime_dependency(%q<rails>, [">= 3.1.0.rc4"])
97
- s.add_runtime_dependency(%q<paperclip>, [">= 0"])
149
+ s.add_runtime_dependency(%q<rails>, [">= 3.1.0"])
150
+ s.add_runtime_dependency(%q<paperclip>, [">= 2.3.14"])
151
+ s.add_runtime_dependency(%q<jquery-rails>, ["= 1.0.14"])
152
+ s.add_runtime_dependency(%q<sass-rails>, [">= 0"])
98
153
  s.add_development_dependency(%q<sqlite3>, [">= 0"])
99
154
  s.add_development_dependency(%q<jeweler>, [">= 0"])
100
155
  else
101
- s.add_dependency(%q<rails>, [">= 3.1.0.rc4"])
102
- s.add_dependency(%q<paperclip>, [">= 0"])
156
+ s.add_dependency(%q<rails>, [">= 3.1.0"])
157
+ s.add_dependency(%q<paperclip>, [">= 2.3.14"])
158
+ s.add_dependency(%q<jquery-rails>, ["= 1.0.14"])
159
+ s.add_dependency(%q<sass-rails>, [">= 0"])
103
160
  s.add_dependency(%q<sqlite3>, [">= 0"])
104
161
  s.add_dependency(%q<jeweler>, [">= 0"])
105
162
  end
106
163
  else
107
- s.add_dependency(%q<rails>, [">= 3.1.0.rc4"])
108
- s.add_dependency(%q<paperclip>, [">= 0"])
164
+ s.add_dependency(%q<rails>, [">= 3.1.0"])
165
+ s.add_dependency(%q<paperclip>, [">= 2.3.14"])
166
+ s.add_dependency(%q<jquery-rails>, ["= 1.0.14"])
167
+ s.add_dependency(%q<sass-rails>, [">= 0"])
109
168
  s.add_dependency(%q<sqlite3>, [">= 0"])
110
169
  s.add_dependency(%q<jeweler>, [">= 0"])
111
170
  end
Binary file
@@ -2,9 +2,11 @@ default:
2
2
  title: Default Gallery
3
3
  slug: default-gallery
4
4
  description: Gallery Description
5
+ gallery_width: 640
5
6
  full_width: 800
6
7
  full_height: 600
7
- thumb_width: 200
8
+ force_ratio_full: false
9
+ thumb_width: 150
8
10
  thumb_height: 150
9
- force_ratio: true
11
+ force_ratio_thumb: true
10
12
 
File without changes
@@ -0,0 +1,87 @@
1
+ require File.expand_path('../../test_helper', File.dirname(__FILE__))
2
+
3
+ class SofaGallery::Admin::GalleriesControllerTest < ActionController::TestCase
4
+
5
+ def test_get_index
6
+ get :index
7
+ assert_response :success
8
+ assert_template 'index'
9
+ end
10
+
11
+ def test_get_new
12
+ get :new
13
+ assert_response :success
14
+ assert_template 'new'
15
+ assert assigns(:gallery)
16
+ assert_select "form[action='/admin/galleries']"
17
+ end
18
+
19
+ def test_creation
20
+ assert_difference 'SofaGallery::Gallery.count', 1 do
21
+ post :create, :gallery => {
22
+ :title => 'Test Gallery',
23
+ :slug => 'test-gallery',
24
+ :description => 'Test Description'
25
+ }
26
+ end
27
+ assert_equal 'Gallery created', flash[:notice]
28
+ assert_redirected_to :action => :index
29
+ end
30
+
31
+ def test_creation_failure
32
+ assert_no_difference 'SofaGallery::Gallery.count' do
33
+ post :create, :gallery => { }
34
+ end
35
+ assert_response :success
36
+ assert_template 'new'
37
+ assert_equal 'Failed to create Gallery', flash[:error]
38
+ end
39
+
40
+ def test_get_edit
41
+ gallery = sofa_gallery_galleries(:default)
42
+ get :edit, :id => gallery
43
+ assert_response :success
44
+ assert_template 'edit'
45
+ assert assigns(:gallery)
46
+ assert_select "form[action='/admin/galleries/#{gallery.id}']"
47
+ end
48
+
49
+ def test_get_edit_failure
50
+ get :edit, :id => 'invalid'
51
+ assert_response :redirect
52
+ assert_redirected_to :action => :index
53
+ assert_equal 'Gallery not found', flash[:error]
54
+ end
55
+
56
+ def test_update
57
+ gallery = sofa_gallery_galleries(:default)
58
+ put :update, :id => gallery, :gallery => {
59
+ :title => 'New Title'
60
+ }
61
+ gallery.reload
62
+ assert_equal 'New Title', gallery.title
63
+ assert_equal 'Gallery updated', flash[:notice]
64
+ assert_redirected_to :action => :index
65
+ end
66
+
67
+ def test_update_failure
68
+ gallery = sofa_gallery_galleries(:default)
69
+ put :update, :id => gallery, :gallery => {
70
+ :title => ''
71
+ }
72
+ assert_response :success
73
+ assert_template 'edit'
74
+ assert_equal 'Failed to update Gallery', flash[:error]
75
+ gallery.reload
76
+ assert_not_equal '', gallery.title
77
+ end
78
+
79
+ def test_destroy
80
+ assert_difference 'SofaGallery::Gallery.count', -1 do
81
+ delete :destroy, :id => sofa_gallery_galleries(:default)
82
+ end
83
+ assert_equal 'Gallery deleted', flash[:notice]
84
+ assert_redirected_to :action => :index
85
+ end
86
+
87
+ end