fullstack-cms 0.3.8 → 0.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/app/controllers/admin/photos_controller.rb +9 -0
- data/app/models/photo.rb +18 -1
- data/app/views/admin/photos/_photo.html.erb +2 -1
- data/app/views/admin/photos/rotate.js.coffee +2 -0
- data/config/routes.rb +1 -0
- data/fullstack-cms.gemspec +5 -2
- data/lib/fullstack/cms.rb +2 -0
- data/lib/fullstack/paperclip/auto_orient.rb +16 -0
- data/lib/fullstack/paperclip/rotator.rb +14 -0
- metadata +6 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.9
|
@@ -29,6 +29,15 @@ class Admin::PhotosController < Admin::BaseController
|
|
29
29
|
def edit
|
30
30
|
end
|
31
31
|
|
32
|
+
def rotate
|
33
|
+
@photo ||= Photo.find(params[:id])
|
34
|
+
rotation = params[:deg].to_f
|
35
|
+
rotation ||= 90
|
36
|
+
@photo.rotate!(rotation)
|
37
|
+
# flash[:notice] = "The image has been rotated"
|
38
|
+
end
|
39
|
+
|
40
|
+
|
32
41
|
def update
|
33
42
|
@photo.attributes = params[:photo]
|
34
43
|
@photo.save
|
data/app/models/photo.rb
CHANGED
@@ -5,7 +5,7 @@ class Photo < ActiveRecord::Base
|
|
5
5
|
validates_attachment :image, :presence => true,
|
6
6
|
:size => { :in => 0..2.megabytes }
|
7
7
|
|
8
|
-
has_attached :image
|
8
|
+
has_attached :image, :processors => [:auto_orient, :rotator]
|
9
9
|
|
10
10
|
acts_as_taggable
|
11
11
|
|
@@ -24,5 +24,22 @@ class Photo < ActiveRecord::Base
|
|
24
24
|
def to_label
|
25
25
|
image_file_name
|
26
26
|
end
|
27
|
+
|
28
|
+
# ============
|
29
|
+
# = Rotation =
|
30
|
+
# ============
|
31
|
+
|
32
|
+
attr_accessor :rotation_degrees, :rotate
|
33
|
+
|
34
|
+
def rotate!(degrees = 90)
|
35
|
+
self.rotation_degrees ||= degrees
|
36
|
+
self.rotate = true
|
37
|
+
self.image.reprocess!
|
38
|
+
self.save
|
39
|
+
end
|
40
|
+
|
41
|
+
def rotating?
|
42
|
+
!self.rotation_degrees.nil? and self.rotate
|
43
|
+
end
|
27
44
|
|
28
45
|
end
|
@@ -1,7 +1,8 @@
|
|
1
|
-
<li class="span2" data-id="<%= photo.id %>">
|
1
|
+
<li class="span2" data-id="<%= photo.id %>" data-photo-id='<%= photo.id %>'>
|
2
2
|
<div class="thumbnail">
|
3
3
|
<%= image_tag photo.url(:thumb), :style => "height: 141px" %>
|
4
4
|
<div class="thumbnail-toolbar">
|
5
|
+
<%= btn '<i class="icon-repeat"></i>'.html_safe, rotate_admin_photo_path(photo, :deg => 90), :remote => true, :method => :post %>
|
5
6
|
<%= btn '<i class="icon-zoom-in"></i>'.html_safe, photo.url, :rel => "facebox", :'data-tip' => t('fullstack.admin.preview', :default => "Preview") %>
|
6
7
|
|
7
8
|
<%= btn '<i class="icon-edit"></i>'.html_safe, edit_admin_photo_path(photo), :'data-target' => '#edit-photo-modal', :'data-toggle' => 'modal', :"data-tip" => t('fullstack.admin.edit', :default => "Edit") %>
|
data/config/routes.rb
CHANGED
data/fullstack-cms.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "fullstack-cms"
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.9"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["mcasimir"]
|
12
|
-
s.date = "2012-11-
|
12
|
+
s.date = "2012-11-22"
|
13
13
|
s.description = "CMS system built on fullstack"
|
14
14
|
s.email = "maurizio.cas@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -68,6 +68,7 @@ Gem::Specification.new do |s|
|
|
68
68
|
"app/views/admin/photos/create.js.coffee",
|
69
69
|
"app/views/admin/photos/destroy.js.coffee",
|
70
70
|
"app/views/admin/photos/edit.html.erb",
|
71
|
+
"app/views/admin/photos/rotate.js.coffee",
|
71
72
|
"app/views/admin/photos/search.js.coffee",
|
72
73
|
"app/views/admin/photos/update.js.coffee",
|
73
74
|
"app/views/admin/settings/_collection.html.erb",
|
@@ -83,6 +84,8 @@ Gem::Specification.new do |s|
|
|
83
84
|
"lib/fullstack/cms.rb",
|
84
85
|
"lib/fullstack/cms/configuration.rb",
|
85
86
|
"lib/fullstack/cms/engine.rb",
|
87
|
+
"lib/fullstack/paperclip/auto_orient.rb",
|
88
|
+
"lib/fullstack/paperclip/rotator.rb",
|
86
89
|
"lib/generators/fullstack/cms/install_generator.rb",
|
87
90
|
"lib/generators/fullstack/cms/locale_generator.rb",
|
88
91
|
"lib/generators/fullstack/cms/templates/rails/app/assets/javascripts/site/lib/jquery.fitvids.js",
|
data/lib/fullstack/cms.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
module Paperclip
|
2
|
+
class AutoOrient < Paperclip::Processor
|
3
|
+
def initialize(file, options = {}, *args)
|
4
|
+
@file = file
|
5
|
+
end
|
6
|
+
|
7
|
+
def make( *args )
|
8
|
+
dst = Tempfile.new([@basename, @format].compact.join("."))
|
9
|
+
dst.binmode
|
10
|
+
|
11
|
+
Paperclip.run('convert',"#{File.expand_path(@file.path)} -auto-orient #{File.expand_path(dst.path)}")
|
12
|
+
|
13
|
+
return dst
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Paperclip
|
2
|
+
class Rotator < Thumbnail
|
3
|
+
|
4
|
+
def transformation_command
|
5
|
+
rotate = @attachment.instance.rotating? ? @attachment.instance.rotation_degrees : false
|
6
|
+
if rotate
|
7
|
+
super << "-rotate #{rotate}"
|
8
|
+
else
|
9
|
+
super
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fullstack-cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-11-
|
12
|
+
date: 2012-11-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fullstack-admin
|
@@ -230,6 +230,7 @@ files:
|
|
230
230
|
- app/views/admin/photos/create.js.coffee
|
231
231
|
- app/views/admin/photos/destroy.js.coffee
|
232
232
|
- app/views/admin/photos/edit.html.erb
|
233
|
+
- app/views/admin/photos/rotate.js.coffee
|
233
234
|
- app/views/admin/photos/search.js.coffee
|
234
235
|
- app/views/admin/photos/update.js.coffee
|
235
236
|
- app/views/admin/settings/_collection.html.erb
|
@@ -245,6 +246,8 @@ files:
|
|
245
246
|
- lib/fullstack/cms.rb
|
246
247
|
- lib/fullstack/cms/configuration.rb
|
247
248
|
- lib/fullstack/cms/engine.rb
|
249
|
+
- lib/fullstack/paperclip/auto_orient.rb
|
250
|
+
- lib/fullstack/paperclip/rotator.rb
|
248
251
|
- lib/generators/fullstack/cms/install_generator.rb
|
249
252
|
- lib/generators/fullstack/cms/locale_generator.rb
|
250
253
|
- lib/generators/fullstack/cms/templates/rails/app/assets/javascripts/site/lib/jquery.fitvids.js
|
@@ -313,7 +316,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
313
316
|
version: '0'
|
314
317
|
segments:
|
315
318
|
- 0
|
316
|
-
hash:
|
319
|
+
hash: 1349456030531159545
|
317
320
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
318
321
|
none: false
|
319
322
|
requirements:
|