ecm_pictures2 2.1.4 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/ecm/pictures/galleries_controller.rb +13 -0
  3. data/app/controllers/ecm/pictures/pictures_controller.rb +2 -2
  4. data/app/helpers/ecm/pictures_helper.rb +3 -3
  5. data/app/models/ecm/pictures/attached_picture.rb +2 -7
  6. data/app/models/ecm/pictures/gallery.rb +63 -0
  7. data/app/models/ecm/pictures/picture.rb +3 -12
  8. data/app/views/ecm/pictures/galleries/_gallery.html.erb +17 -0
  9. data/app/views/ecm/pictures/galleries/_gallery_for_index.html.erb +19 -0
  10. data/app/views/ecm/pictures/{picture_galleries → galleries}/index.html.erb +5 -5
  11. data/app/views/ecm/pictures/galleries/show.html.erb +10 -0
  12. data/app/views/ecm/pictures/pictures/show.html.erb +1 -1
  13. data/config/locales/ecm.pictures.de.yml +1 -1
  14. data/config/locales/ecm.pictures.en.yml +1 -1
  15. data/config/locales/{ecm.pictures.picture_gallery.de.yml → ecm.pictures.gallery.de.yml} +3 -3
  16. data/config/locales/{ecm.pictures.picture_gallery.en.yml → ecm.pictures.gallery.en.yml} +3 -3
  17. data/config/locales/ecm.pictures.picture.de.yml +1 -1
  18. data/config/locales/ecm.pictures.picture.en.yml +1 -1
  19. data/db/migrate/20160626141629_rename_ecm_pictures_picture_galleries_to_ecm_pictures_galleries.rb +5 -0
  20. data/db/migrate/20160626143414_rename_ecm_pictures_pictures_picture_gallery_id_to_gallery_id.rb +5 -0
  21. data/lib/ecm/pictures/configuration.rb +1 -1
  22. data/lib/ecm/pictures/engine.rb +0 -5
  23. data/lib/ecm/pictures/routing.rb +4 -4
  24. data/lib/ecm/pictures/version.rb +1 -1
  25. data/lib/ecm_pictures2.rb +4 -2
  26. data/lib/generators/ecm/pictures/install/install_generator.rb +1 -1
  27. data/lib/generators/ecm/pictures/install/templates/initializer.rb +3 -3
  28. data/spec/factories/ecm/pictures/galleries.rb +12 -0
  29. metadata +13 -16
  30. data/app/admin/ecm_pictures_attached_pictures.rb +0 -13
  31. data/app/admin/ecm_pictures_picture_galleries.rb +0 -110
  32. data/app/admin/ecm_pictures_pictures.rb +0 -97
  33. data/app/controllers/ecm/pictures/picture_galleries_controller.rb +0 -11
  34. data/app/models/ecm/pictures/picture_gallery.rb +0 -67
  35. data/app/views/ecm/pictures/picture_galleries/_picture_gallery.html.erb +0 -17
  36. data/app/views/ecm/pictures/picture_galleries/_picture_gallery_for_index.html.erb +0 -19
  37. data/app/views/ecm/pictures/picture_galleries/show.html.erb +0 -10
  38. data/lib/ecm/pictures/active_admin/pictureable_helper.rb +0 -56
  39. data/lib/generators/ecm/pictures/locales/locales_generator.rb +0 -25
  40. data/spec/factories/ecm/pictures/picture_galleries.rb +0 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e80430e123b26bdf4baa6e8c5bbf2634fde0eeac
4
- data.tar.gz: 123a3e13c56cded1591fad0d4ed743bcdc9574a3
3
+ metadata.gz: a6faa3c66c58148faeb8544a0493f52b051316cd
4
+ data.tar.gz: 6de55d5a9f51260afd98c1f3ca28639d11a44bcc
5
5
  SHA512:
6
- metadata.gz: 597d26f961840da32288d8e5194674ec608dbf5363fd1864d35832e033ea13faa4c8151aa48448d01e7c47a31d8736bb63c2223f2160ceaceb75c2b5d2b2efae
7
- data.tar.gz: c363a66aa568b4a752bce8a9a028444d52a635486484372da6f4ed760e14cfa8f16607d76186702c39c37abfbd70397efb21763d139e357a4ce164f45751de76
6
+ metadata.gz: 3152f8db2a49f71344e136b34578841d39510be81085b5ecacb631777f88135bd133bbfffe78747322bbecea39728c8ae39635ee4080a539365bbebf6777a902
7
+ data.tar.gz: b188cf433da3d05b2235f1bacdfe4d824f5273404affd9d3c669f372d7ca971912a4ca20f6de04a4dcf4c83136d0d5a812bb0104506a4dd4bf785567067d4ca0
@@ -0,0 +1,13 @@
1
+ module Ecm
2
+ module Pictures
3
+ class GalleriesController < Ecm::Pictures::Configuration.base_controller.constantize
4
+ def index
5
+ @galleries = Gallery.all
6
+ end
7
+
8
+ def show
9
+ @gallery = Gallery.find(params[:id])
10
+ end
11
+ end
12
+ end
13
+ end
@@ -1,11 +1,11 @@
1
1
  module Ecm::Pictures
2
2
  class PicturesController < Ecm::Pictures::Configuration.base_controller.constantize
3
3
  def index
4
- @pictures = Ecm::Pictures::Picture.all
4
+ @pictures = Picture.all
5
5
  end
6
6
 
7
7
  def show
8
- @picture = Ecm::Pictures::Picture.find(params[:id])
8
+ @picture = Picture.find(params[:id])
9
9
  end
10
10
  end
11
11
  end
@@ -10,7 +10,7 @@ module Ecm::PicturesHelper
10
10
  def render_picture_gallery(name, options = {})
11
11
  options = { preview_style: :thumb }.merge(options)
12
12
 
13
- gallery = Ecm::Pictures::PictureGallery.where(name: name.to_s).first
13
+ gallery = Ecm::Pictures::Gallery.where(name: name.to_s).first
14
14
  gallery_identifier = begin
15
15
  gallery.to_param
16
16
  rescue
@@ -18,8 +18,8 @@ module Ecm::PicturesHelper
18
18
  end
19
19
 
20
20
  if gallery.nil?
21
- content_tag(:div, class: 'warning missing picture-gallery') do
22
- content_tag(:p, I18n.t('ecm.pictures.picture_gallery.warnings.missing', name: name.to_s))
21
+ content_tag(:div, class: 'warning missing gallery') do
22
+ content_tag(:p, I18n.t('ecm.pictures.gallery.warnings.missing', name: name.to_s))
23
23
  end
24
24
  else
25
25
  render gallery
@@ -1,15 +1,10 @@
1
1
  module Ecm::Pictures
2
2
  class AttachedPicture < ActiveRecord::Base
3
- self.table_name = 'ecm_pictures_attached_pictures'
4
-
5
3
  # associations
6
4
  belongs_to :picture, foreign_key: 'ecm_pictures_picture_id'
7
5
  belongs_to :pictureable, polymorphic: true
8
6
 
9
- # attributes
10
- attr_accessible :ecm_pictures_picture_id if respond_to?(:attr_accessible)
11
-
12
7
  # validations
13
8
  validates :picture, :pictureable, presence: true
14
- end # class AttachedPicture < ActiveRecord::Base
15
- end # module Ecm::Pictures
9
+ end
10
+ end
@@ -0,0 +1,63 @@
1
+ module Ecm
2
+ module Pictures
3
+ class Gallery < ActiveRecord::Base
4
+ # associations
5
+ has_many :pictures, -> { order :position },
6
+ dependent: :destroy
7
+
8
+ # attributes
9
+ accepts_nested_attributes_for :pictures, allow_destroy: true
10
+
11
+ # acts as list
12
+ acts_as_list
13
+ default_scope { order(:position) }
14
+
15
+ # acts as markup
16
+ acts_as_markup language: :variable, columns: [:description]
17
+
18
+ # callbacks
19
+ after_initialize :set_defaults
20
+
21
+ # friendly id
22
+ extend FriendlyId
23
+ friendly_id :name, use: [:slugged, :finders]
24
+
25
+ # tagging
26
+ acts_as_taggable if respond_to?(:acts_as_taggable)
27
+
28
+ # validations
29
+ validates :markup_language, presence: true,
30
+ inclusion: Ecm::Pictures::Configuration.markup_languages
31
+ validates :name, presence: true,
32
+ uniqueness: true
33
+
34
+ def display_code_for_erb
35
+ "<%= render_picture_gallery '#{name}' %>"
36
+ end
37
+
38
+ def picture_images=(picture_images)
39
+ picture_images.each do |image|
40
+ next if image.respond_to?(:empty?) && image.empty?
41
+ pictures.build(image: image)
42
+ end
43
+ end
44
+
45
+ def to_s
46
+ name
47
+ end
48
+
49
+ def human
50
+ name
51
+ end
52
+
53
+ private
54
+
55
+ def set_defaults
56
+ if self.new_record?
57
+ self.link_images = true if link_images.nil?
58
+ self.markup_language ||= Ecm::Pictures::Configuration.default_markup_language
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -1,19 +1,10 @@
1
1
  class Ecm::Pictures::Picture < ActiveRecord::Base
2
- self.table_name = 'ecm_pictures_pictures'
3
-
4
2
  # associations
5
- belongs_to :picture_gallery, counter_cache: true
3
+ belongs_to :gallery, counter_cache: true
6
4
  has_many :attached_pictures, foreign_key: 'ecm_pictures_picture_id'
7
- # attributes
8
- attr_accessible :description,
9
- :image,
10
- :markup_language,
11
- :name,
12
- :picture_gallery_id,
13
- :position if respond_to?(:attr_accessible)
14
5
 
15
6
  # acts as list
16
- acts_as_list scope: :picture_gallery
7
+ acts_as_list scope: :gallery
17
8
 
18
9
  # acts as markup
19
10
  acts_as_markup language: :variable, columns: [:description, :description]
@@ -23,7 +14,7 @@ class Ecm::Pictures::Picture < ActiveRecord::Base
23
14
  before_validation :set_name_from_image_file_name, if: proc { |p| (p.name.nil? || p.name.empty?) }
24
15
 
25
16
  # default scope
26
- default_scope { order(:picture_gallery_id, :position) }
17
+ default_scope { order(:gallery_id, :position) }
27
18
  # friendly id
28
19
  extend FriendlyId
29
20
  friendly_id :name, use: [:slugged, :finders]
@@ -0,0 +1,17 @@
1
+ <%= Ecm::Pictures::Configuration.prevent_textile_rendering_in_html ? '<notextile>'.html_safe : '' %>
2
+ <div class="gallery-description">
3
+ <%= mu gallery, :description %>
4
+ </div>
5
+
6
+ <% if gallery.respond_to?(:tag_list) %>
7
+ <div class="tags bottom-margin-1">
8
+ <% gallery.tag_list.each do |tag| %>
9
+ <span class="label label-default"><%= tag %></span>
10
+ <% end %>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div class="gallery-pictures row" data-target="#modal-gallery" data-toggle="modal-gallery">
15
+ <%= render gallery.pictures %>
16
+ </div>
17
+ <%= Ecm::Pictures::Configuration.prevent_textile_rendering_in_html ? '</notextile>'.html_safe : '' %>
@@ -0,0 +1,19 @@
1
+ <div class="col-sm-6 col-md-3">
2
+ <div class="thumbnail">
3
+ <% if gallery.pictures.first.respond_to?(:image) %>
4
+ <%= image_tag gallery.pictures.first.image.url(:default_thumb) %>
5
+ <% end %>
6
+ <div class="caption">
7
+ <h4><%= gallery.name %></h4>
8
+ <% if gallery.respond_to?(:tag_list) %>
9
+ <div class="tags bottom-margin-1">
10
+ <% gallery.tag_list.each do |tag| %>
11
+ <span class="label label-default"><%= tag %></span>
12
+ <% end %>
13
+ </div>
14
+ <% end %>
15
+ <div class="truncate lines-3 bottom-margin-1"><%= mu(gallery, :description) %></div>
16
+ <p><%= link_to t('ecm.pictures.actions.view'), gallery, :class => 'btn btn-primary', :role => 'button' %></p>
17
+ </div>
18
+ </div>
19
+ </div>
@@ -1,14 +1,14 @@
1
- <h1><%= Ecm::Pictures::PictureGallery.model_name.human(:count => :other) %></h1>
1
+ <h1><%= Ecm::Pictures::Gallery.model_name.human(:count => :other) %></h1>
2
2
 
3
- <% case Ecm::Pictures::Configuration.render_picture_gallery_index_as %>
3
+ <% case Ecm::Pictures::Configuration.render_gallery_index_as %>
4
4
  <% when :thumbnail %>
5
5
  <div class="row">
6
- <% @picture_galleries.each do |pg| %>
7
- <%= render :partial => 'ecm/pictures/picture_galleries/picture_gallery_for_index', :locals => { :picture_gallery => pg } %>
6
+ <% @galleries.each do |g| %>
7
+ <%= render :partial => 'ecm/pictures/galleries/gallery_for_index', :locals => { :gallery => g } %>
8
8
  <% end %>
9
9
  </div>
10
10
  <% when :media_object %>
11
- <%= render_collection(@picture_galleries, Ecm::Pictures::PictureGallery, as: :bootstrap_media_object) do |list| %>
11
+ <%= render_collection(@galleries, Ecm::Pictures::Gallery, as: :bootstrap_media_object) do |list| %>
12
12
  <h4><%= list.resource.name %>
13
13
  <% if list.resource.respond_to?(:tag_list) %>
14
14
  <span class="tags">
@@ -0,0 +1,10 @@
1
+ <h1><%= @gallery.to_s %></h1>
2
+
3
+ <%= render @gallery %>
4
+
5
+ <div class="page-actions well">
6
+ <div class="btn-group" role="group">
7
+ <%= link_to Ecm::Pictures::Gallery.model_name.human(:count => :other), ecm_pictures_galleries_path, :class => 'btn btn-primary' %>
8
+ <%= link_to t('ecm.pictures.views.actions.back'), :back, class: 'btn btn-default' %>
9
+ </div>
10
+ </div>
@@ -6,7 +6,7 @@
6
6
 
7
7
  <div class="page-actions well">
8
8
  <div class="btn-group" role="group">
9
- <%= link_to(@picture.picture_gallery, @picture.picture_gallery, :class => 'btn btn-primary') if @picture.picture_gallery.present? %>
9
+ <%= link_to(@picture.gallery, @picture.gallery, :class => 'btn btn-primary') if @picture.gallery.present? %>
10
10
  <%= link_to t('ecm.pictures.views.actions.back'), :back, class: 'btn btn-default' %>
11
11
  </div>
12
12
  </div>
@@ -11,7 +11,7 @@ de:
11
11
  picture:
12
12
  warnings:
13
13
  missing: "Das Bild %{name} wurde nicht gefunden."
14
- picture_gallery:
14
+ gallery:
15
15
  warnings:
16
16
  missing: "Die Galerie %{name} wurde nicht gefunden."
17
17
  views:
@@ -10,7 +10,7 @@ en:
10
10
  picture:
11
11
  warnings:
12
12
  missing_gallery: "Could not find picture %{name}"
13
- picture_gallery:
13
+ gallery:
14
14
  warnings:
15
15
  missing_gallery: "Could not find picture gallery %{name}"
16
16
  views:
@@ -1,11 +1,11 @@
1
1
  de:
2
2
  activerecord:
3
3
  models:
4
- ecm/pictures/picture_gallery:
4
+ ecm/pictures/gallery:
5
5
  one: Bildgalerie
6
6
  other: Bildgalerien
7
7
  attributes:
8
- ecm/pictures/picture_gallery:
8
+ ecm/pictures/gallery:
9
9
  created_at: Erstellt am
10
10
  description: Beschreibung
11
11
  display_code_for_erb: Anzeigecode (erb)
@@ -17,5 +17,5 @@ de:
17
17
  position: Position
18
18
  updated_at: Aktualisiert am
19
19
  routes:
20
- ecm_pictures_picture_galleries: bildgalerien
20
+ ecm_pictures_galleries: bildgalerien
21
21
 
@@ -1,11 +1,11 @@
1
1
  en:
2
2
  activerecord:
3
3
  models:
4
- ecm/pictures/picture_gallery:
4
+ ecm/pictures/gallery:
5
5
  one: picture gallery
6
6
  other: picture galleries
7
7
  attributes:
8
- ecm/pictures/picture_gallery:
8
+ ecm/pictures/gallery:
9
9
  created_at: created at
10
10
  description: description
11
11
  display_code_for_erb: display code (erb)
@@ -17,5 +17,5 @@ en:
17
17
  position: position
18
18
  updated_at: updated at
19
19
  routes:
20
- ecm_pictures_picture_galleries: picture-galleries
20
+ ecm_pictures_galleries: picture-galleries
21
21
 
@@ -18,7 +18,7 @@ de:
18
18
  image_fingerprint: Fingerabdruck
19
19
  markup_language: Markup Sprache
20
20
  name: Name
21
- picture_gallery: Galerie
21
+ gallery: Galerie
22
22
  position: Position
23
23
  preview_picture: Vorschau
24
24
  thumbnail: Vorschau
@@ -17,7 +17,7 @@ en:
17
17
  image_fingerprint: image fingerprint
18
18
  markup_language: markup language
19
19
  name: name
20
- picture_gallery: picture gallery
20
+ gallery: picture gallery
21
21
  position: position
22
22
  preview_picture: preview
23
23
  thumbnail: thumbnail
@@ -0,0 +1,5 @@
1
+ class RenameEcmPicturesPictureGalleriesToEcmPicturesGalleries < ActiveRecord::Migration
2
+ def change
3
+ rename_table :ecm_pictures_picture_galleries, :ecm_pictures_galleries
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class RenameEcmPicturesPicturesPictureGalleryIdToGalleryId < ActiveRecord::Migration
2
+ def change
3
+ rename_column :ecm_pictures_pictures, :picture_gallery_id, :gallery_id
4
+ end
5
+ end
@@ -29,7 +29,7 @@ module Ecm
29
29
  true
30
30
  end
31
31
 
32
- mattr_accessor :render_picture_gallery_index_as do
32
+ mattr_accessor :render_gallery_index_as do
33
33
  :thumbnail
34
34
  end
35
35
  end
@@ -1,11 +1,6 @@
1
1
  module Ecm
2
2
  module Pictures
3
3
  class Engine < Rails::Engine
4
- initializer :ecm_pictures_engine do
5
- ::ActiveAdmin.setup do |config|
6
- config.load_paths << File.join(root, 'app', 'admin')
7
- end
8
- end if Gem::Specification.find_all_by_name('activeadmin').any?
9
4
  end
10
5
  end
11
6
  end
@@ -4,16 +4,16 @@ module Ecm
4
4
  # Creates the routes for pictures and galleries. You can pass options to
5
5
  # specify the actions for both pictures and/or galleries.
6
6
  #
7
- # Ecm::Pictures::Routing.routes(self, { :picture_gallery_actions => [ :show ]})
7
+ # Ecm::Pictures::Routing.routes(self, { :gallery_actions => [ :show ]})
8
8
  #
9
- # This will only create the show action for picture galleries, but omit the index action.
9
+ # This will only create the show action for galleries, but omit the index action.
10
10
  def self.routes(router, options = {})
11
11
  options.reverse_merge!(
12
- picture_gallery_actions: [:index, :show],
12
+ gallery_actions: [:index, :show],
13
13
  picture_actions: [:index, :show]
14
14
  )
15
15
 
16
- router.resources :ecm_pictures_picture_galleries, only: options[:picture_gallery_actions], controller: 'ecm/pictures/picture_galleries'
16
+ router.resources :ecm_pictures_galleries, only: options[:gallery_actions], controller: 'ecm/pictures/galleries'
17
17
  router.resources :ecm_pictures_pictures, only: options[:picture_actions], controller: 'ecm/pictures/pictures'
18
18
  end
19
19
  end
@@ -1,5 +1,5 @@
1
1
  module Ecm
2
2
  module Pictures
3
- VERSION = '2.1.4'
3
+ VERSION = '3.0.0'
4
4
  end
5
5
  end
data/lib/ecm_pictures2.rb CHANGED
@@ -2,16 +2,18 @@ require 'acts_as_list'
2
2
  require 'acts_as_markup'
3
3
  require 'friendly_id'
4
4
  require 'paperclip'
5
- require 'active_admin-acts_as_list' if Gem::Specification.find_all_by_name('activeadmin').any?
6
5
 
7
6
  require 'ecm/pictures/engine'
8
7
  require 'ecm/pictures/configuration'
9
8
  require 'ecm/pictures/routing'
10
9
  require 'ecm/pictures/version'
11
- require 'ecm/pictures/active_admin/pictureable_helper' if Gem::Specification.find_all_by_name('activeadmin').any?
12
10
 
13
11
  module Ecm
14
12
  module Pictures
15
13
  extend Configuration
14
+
15
+ def self.table_name_prefix
16
+ 'ecm_pictures_'
17
+ end
16
18
  end
17
19
  end
@@ -2,7 +2,7 @@ module Ecm
2
2
  module Pictures
3
3
  module Generators
4
4
  class InstallGenerator < Rails::Generators::Base
5
- desc 'Generates the intializer'
5
+ desc 'Generates the initializer'
6
6
 
7
7
  source_root File.expand_path('../templates', __FILE__)
8
8
 
@@ -38,10 +38,10 @@ Ecm::Pictures.configure do |config|
38
38
  #
39
39
  config.prevent_textile_rendering_in_html = true
40
40
 
41
- # Render picture galleries in the index view as :thumbnail
41
+ # Render galleries in the index view as :thumbnail
42
42
  # or :media_object.
43
43
  #
44
- # Default: config.render_picture_gallery_index_as = :media_object
44
+ # Default: config.render_gallery_index_as = :media_object
45
45
  #
46
- config.render_picture_gallery_index_as = :media_object
46
+ config.render_gallery_index_as = :media_object
47
47
  end
@@ -0,0 +1,12 @@
1
+ FactoryGirl.define do
2
+ factory :ecm_pictures_gallery, class: Ecm::Pictures::Gallery do
3
+ sequence(:name) { |n| "Gallery ##{n}" }
4
+
5
+ trait :with_pictures do |gallery|
6
+ 3.times do
7
+ gallery.after(:create) { |g| FactoryGirl.create(:ecm_pictures_picture, gallery: g) }
8
+ end
9
+ gallery.pictures_count 3
10
+ end
11
+ end
12
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecm_pictures2
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.4
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roberto Vasquez Angel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-02 00:00:00.000000000 Z
11
+ date: 2016-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -384,20 +384,17 @@ files:
384
384
  - MIT-LICENSE
385
385
  - README.rdoc
386
386
  - Rakefile
387
- - app/admin/ecm_pictures_attached_pictures.rb
388
- - app/admin/ecm_pictures_picture_galleries.rb
389
- - app/admin/ecm_pictures_pictures.rb
390
- - app/controllers/ecm/pictures/picture_galleries_controller.rb
387
+ - app/controllers/ecm/pictures/galleries_controller.rb
391
388
  - app/controllers/ecm/pictures/pictures_controller.rb
392
389
  - app/helpers/ecm/pictures_helper.rb
393
390
  - app/helpers/markup_helper.rb
394
391
  - app/models/ecm/pictures/attached_picture.rb
392
+ - app/models/ecm/pictures/gallery.rb
395
393
  - app/models/ecm/pictures/picture.rb
396
- - app/models/ecm/pictures/picture_gallery.rb
397
- - app/views/ecm/pictures/picture_galleries/_picture_gallery.html.erb
398
- - app/views/ecm/pictures/picture_galleries/_picture_gallery_for_index.html.erb
399
- - app/views/ecm/pictures/picture_galleries/index.html.erb
400
- - app/views/ecm/pictures/picture_galleries/show.html.erb
394
+ - app/views/ecm/pictures/galleries/_gallery.html.erb
395
+ - app/views/ecm/pictures/galleries/_gallery_for_index.html.erb
396
+ - app/views/ecm/pictures/galleries/index.html.erb
397
+ - app/views/ecm/pictures/galleries/show.html.erb
401
398
  - app/views/ecm/pictures/pictures/_picture.html.erb
402
399
  - app/views/ecm/pictures/pictures/_picture_for_gallery.html.erb
403
400
  - app/views/ecm/pictures/pictures/index.html.erb
@@ -406,14 +403,15 @@ files:
406
403
  - config/locales/ecm.pictures.attached_picture.en.yml
407
404
  - config/locales/ecm.pictures.de.yml
408
405
  - config/locales/ecm.pictures.en.yml
406
+ - config/locales/ecm.pictures.gallery.de.yml
407
+ - config/locales/ecm.pictures.gallery.en.yml
409
408
  - config/locales/ecm.pictures.picture.de.yml
410
409
  - config/locales/ecm.pictures.picture.en.yml
411
- - config/locales/ecm.pictures.picture_gallery.de.yml
412
- - config/locales/ecm.pictures.picture_gallery.en.yml
413
410
  - db/migrate/001_create_ecm_pictures_picture_galleries.rb
414
411
  - db/migrate/002_create_ecm_pictures_pictures.rb
415
412
  - db/migrate/003_create_ecm_pictures_attached_pictures.rb
416
- - lib/ecm/pictures/active_admin/pictureable_helper.rb
413
+ - db/migrate/20160626141629_rename_ecm_pictures_picture_galleries_to_ecm_pictures_galleries.rb
414
+ - db/migrate/20160626143414_rename_ecm_pictures_pictures_picture_gallery_id_to_gallery_id.rb
417
415
  - lib/ecm/pictures/configuration.rb
418
416
  - lib/ecm/pictures/engine.rb
419
417
  - lib/ecm/pictures/routing.rb
@@ -422,10 +420,9 @@ files:
422
420
  - lib/generators/ecm/pictures/install/install_generator.rb
423
421
  - lib/generators/ecm/pictures/install/templates/initializer.rb
424
422
  - lib/generators/ecm/pictures/install/templates/routes.source
425
- - lib/generators/ecm/pictures/locales/locales_generator.rb
426
423
  - lib/tasks/ecm_pictures_tasks.rake
427
424
  - spec/factories/ecm/pictures/attached_pictures.rb
428
- - spec/factories/ecm/pictures/picture_galleries.rb
425
+ - spec/factories/ecm/pictures/galleries.rb
429
426
  - spec/factories/ecm/pictures/pictures.rb
430
427
  - spec/factories/post.rb
431
428
  - spec/files/ecm/pictures/picture/image.jpg
@@ -1,13 +0,0 @@
1
- ActiveAdmin.register Ecm::Pictures::AttachedPicture do
2
- menu false
3
-
4
- actions :destroy
5
-
6
- controller do
7
- def destroy
8
- destroy! do |format|
9
- format.html { redirect_to :back }
10
- end
11
- end
12
- end
13
- end if Gem::Specification.find_all_by_name('activeadmin').any?
@@ -1,110 +0,0 @@
1
- include ActiveAdmin::ActsAsList::Helper if Gem::Specification.find_all_by_name('activeadmin').any?
2
-
3
- ActiveAdmin.register Ecm::Pictures::PictureGallery do
4
- menu parent: I18n.t('ecm.pictures.active_admin.menu')
5
-
6
- permit_params :description,
7
- :link_images,
8
- :markup_language,
9
- :name,
10
- :pictures_attributes,
11
- :position,
12
- pictures_attributes: [
13
- :description,
14
- :_destroy,
15
- :id,
16
- :image,
17
- :markup_language,
18
- :name,
19
- :picture_gallery_id,
20
- :position
21
- ]
22
-
23
- config.sort_order = 'position'
24
- sortable_member_actions
25
-
26
- form html: { enctype: 'multipart/form-data' } do |f|
27
- f.inputs do
28
- f.input :name
29
- f.input :description
30
- f.input :link_images
31
- end
32
-
33
- f.inputs do
34
- f.input :markup_language, as: :select, collection: Ecm::Pictures::Configuration.markup_languages
35
- end
36
-
37
- f.inputs do
38
- f.has_many :pictures do |p|
39
- p.input :name
40
- if p.object.persisted?
41
- p.input :_destroy, as: :boolean, label: I18n.t('active_admin.delete')
42
- end
43
- p.input :image, as: :file, hint: p.template.image_tag(p.object.image.url(:default_thumb))
44
- p.input :description
45
-
46
- p.inputs do
47
- p.input :markup_language, as: :select, collection: Ecm::Pictures::Configuration.markup_languages
48
- end
49
- end
50
- end
51
-
52
- f.actions
53
- end
54
-
55
- index do
56
- sortable_columns
57
- column :name
58
- column :pictures_count
59
- column :link_images do |picture_gallery|
60
- I18n.t(picture_gallery.link_images)
61
- end
62
- column :created_at
63
- column :updated_at
64
- actions
65
- end
66
-
67
- show do
68
- panel Ecm::Pictures::PictureGallery.human_attribute_name(:description) do
69
- div do
70
- mu ecm_pictures_picture_gallery, :description
71
- end
72
- end
73
-
74
- panel Ecm::Pictures::PictureGallery.human_attribute_name(:display_code) do
75
- div do
76
- ecm_pictures_picture_gallery.display_code
77
- end
78
- end
79
-
80
- panel Ecm::Pictures::PictureGallery.human_attribute_name(:pictures) do
81
- table_for ecm_pictures_picture_gallery.pictures, i18n: Ecm::Pictures::Picture do
82
- sortable_columns
83
- column :thumbnail do |picture|
84
- link_to(image_tag(picture.image.url(:default_thumb)), [:admin, picture])
85
- end # column
86
- column :name
87
- column :image_file_size, sortable: :image_file_size do |picture|
88
- number_to_human_size(picture.image_file_size)
89
- end # column
90
- column :created_at
91
- column do |picture|
92
- link_to(I18n.t('active_admin.view'), [:admin, picture], class: 'member_link view_link') +
93
- link_to(I18n.t('active_admin.edit'), [:edit, :admin, picture], class: 'member_link edit_link')
94
- end # column
95
- end # table_for
96
- end # panel
97
- end # show
98
-
99
- sidebar Ecm::Pictures::PictureGallery.human_attribute_name(:details), only: :show do
100
- attributes_table_for ecm_pictures_picture_gallery do
101
- row :name
102
- row :pictures_count
103
- row :link_images do |picture_gallery|
104
- I18n.t(picture_gallery.link_images)
105
- end
106
- row :created_at
107
- row :updated_at
108
- end
109
- end # sidebar
110
- end if Gem::Specification.find_all_by_name('activeadmin').any?
@@ -1,97 +0,0 @@
1
- include ActiveAdmin::ActsAsList::Helper if Gem::Specification.find_all_by_name('activeadmin').any?
2
-
3
- ActiveAdmin.register Ecm::Pictures::Picture do
4
- menu parent: I18n.t('ecm.pictures.active_admin.menu')
5
-
6
- permit_params :description,
7
- :image,
8
- :markup_language,
9
- :name,
10
- :picture_gallery_id,
11
- :position
12
-
13
- # active_admin-acts_as_list
14
- config.sort_order = 'picture_gallery_id, position'
15
- sortable_member_actions
16
-
17
- # controller do
18
- # def destroy
19
- # destroy! do |format|
20
- # format.html { redirect_to :back }
21
- # end
22
- # end
23
- # end
24
-
25
- form html: { enctype: 'multipart/form-data' } do |f|
26
- f.inputs do
27
- f.input :picture_gallery
28
- f.input :name
29
- f.input :image, as: :file, hint: f.template.image_tag(f.object.image.url(:thumb))
30
- f.input :description
31
- end
32
-
33
- f.inputs do
34
- f.input :markup_language, as: :select, collection: Ecm::Pictures::Configuration.markup_languages
35
- end
36
-
37
- f.actions
38
- end
39
-
40
- index do
41
- selectable_column
42
- column :thumbnail do |picture|
43
- link_to(image_tag(picture.image.url(:default_thumb)), admin_ecm_pictures_picture_path(picture))
44
- end
45
- column :picture_gallery
46
- column :name
47
- column :image_file_size, sortable: :image_file_size do |picture|
48
- number_to_human_size(picture.image_file_size)
49
- end
50
- column :created_at
51
- actions
52
- end
53
-
54
- show do
55
- panel Ecm::Pictures::Picture.human_attribute_name(:image) do
56
- div { image_tag ecm_pictures_picture.image.url }
57
- end
58
-
59
- panel Ecm::Pictures::Picture.human_attribute_name(:description) do
60
- div do
61
- mu ecm_pictures_picture, :description
62
- end
63
- end
64
-
65
- panel Ecm::Pictures::Picture.human_attribute_name(:display_code) do
66
- div do
67
- ecm_pictures_picture.display_code(:textile)
68
- end
69
- end
70
-
71
- ecm_pictures_picture.attached_pictures.all.group_by(&:pictureable_type).each do |type, attached_pictures|
72
- panel type.constantize.model_name.human do
73
- table_for attached_pictures.map(&:pictureable) do
74
- column :to_s
75
- column do |obj|
76
- link_to(I18n.t('active_admin.view'), [:admin, obj], class: 'member_link view_link') +
77
- link_to(I18n.t('active_admin.edit'), [:edit, :admin, obj], class: 'member_link edit_link')
78
- end # column
79
- end # table_for
80
- end # panel
81
- end # each
82
- end # show
83
-
84
- sidebar Ecm::Pictures::Picture.human_attribute_name(:details), only: :show do
85
- attributes_table_for ecm_pictures_picture do
86
- row :picture_gallery
87
- row :name
88
- row :image_file_name
89
- row :image_file_size do |picture|
90
- number_to_human_size(picture.image_file_size)
91
- end
92
- row :image_fingerprint
93
- row :created_at
94
- row :updated_at
95
- end
96
- end # sidebar
97
- end if Gem::Specification.find_all_by_name('activeadmin').any?
@@ -1,11 +0,0 @@
1
- module Ecm::Pictures
2
- class Ecm::Pictures::PictureGalleriesController < Ecm::Pictures::Configuration.base_controller.constantize
3
- def index
4
- @picture_galleries = Ecm::Pictures::PictureGallery.all
5
- end
6
-
7
- def show
8
- @picture_gallery = Ecm::Pictures::PictureGallery.find(params[:id])
9
- end
10
- end
11
- end
@@ -1,67 +0,0 @@
1
- class Ecm::Pictures::PictureGallery < ActiveRecord::Base
2
- self.table_name = 'ecm_pictures_picture_galleries'
3
-
4
- # associations
5
- has_many :pictures,
6
- dependent: :destroy # ,
7
- # :order => 'position'
8
-
9
- # attributes
10
- attr_accessible :description,
11
- :link_images,
12
- :markup_language,
13
- :name,
14
- :pictures_attributes,
15
- :position if respond_to?(:attr_accessible)
16
- accepts_nested_attributes_for :pictures, allow_destroy: true
17
-
18
- # acts as list
19
- acts_as_list
20
- default_scope { order(:position) }
21
-
22
- # acts as markup
23
- acts_as_markup language: :variable, columns: [:description]
24
-
25
- # callbacks
26
- after_initialize :set_defaults
27
-
28
- # friendly id
29
- extend FriendlyId
30
- friendly_id :name, use: [:slugged, :finders]
31
-
32
- # tagging
33
- acts_as_taggable if respond_to?(:acts_as_taggable)
34
-
35
- # validations
36
- validates :markup_language, presence: true,
37
- inclusion: Ecm::Pictures::Configuration.markup_languages
38
- validates :name, presence: true,
39
- uniqueness: true
40
-
41
- def display_code_for_erb
42
- "<%= render_picture_gallery '#{name}' %>"
43
- end
44
-
45
- def picture_images=(picture_images)
46
- picture_images.each do |image|
47
- pictures.build(image: image)
48
- end
49
- end
50
-
51
- def to_s
52
- name
53
- end
54
-
55
- def human
56
- name
57
- end
58
-
59
- private
60
-
61
- def set_defaults
62
- if self.new_record?
63
- self.link_images = true if link_images.nil?
64
- self.markup_language ||= Ecm::Pictures::Configuration.default_markup_language
65
- end
66
- end
67
- end
@@ -1,17 +0,0 @@
1
- <%= Ecm::Pictures::Configuration.prevent_textile_rendering_in_html ? '<notextile>'.html_safe : '' %>
2
- <div class="picture-gallery-description">
3
- <%= mu picture_gallery, :description %>
4
- </div>
5
-
6
- <% if picture_gallery.respond_to?(:tag_list) %>
7
- <div class="tags bottom-margin-1">
8
- <% picture_gallery.tag_list.each do |tag| %>
9
- <span class="label label-default"><%= tag %></span>
10
- <% end %>
11
- </div>
12
- <% end %>
13
-
14
- <div class="picture-gallery-pictures row" data-target="#modal-gallery" data-toggle="modal-gallery">
15
- <%= render picture_gallery.pictures %>
16
- </div>
17
- <%= Ecm::Pictures::Configuration.prevent_textile_rendering_in_html ? '</notextile>'.html_safe : '' %>
@@ -1,19 +0,0 @@
1
- <div class="col-sm-6 col-md-3">
2
- <div class="thumbnail">
3
- <% if picture_gallery.pictures.first.respond_to?(:image) %>
4
- <%= image_tag picture_gallery.pictures.first.image.url(:default_thumb) %>
5
- <% end %>
6
- <div class="caption">
7
- <h4><%= picture_gallery.name %></h4>
8
- <% if picture_gallery.respond_to?(:tag_list) %>
9
- <div class="tags bottom-margin-1">
10
- <% picture_gallery.tag_list.each do |tag| %>
11
- <span class="label label-default"><%= tag %></span>
12
- <% end %>
13
- </div>
14
- <% end %>
15
- <div class="truncate lines-3 bottom-margin-1"><%= mu(picture_gallery, :description) %></div>
16
- <p><%= link_to t('ecm.pictures.actions.view'), picture_gallery, :class => 'btn btn-primary', :role => 'button' %></p>
17
- </div>
18
- </div>
19
- </div>
@@ -1,10 +0,0 @@
1
- <h1><%= @picture_gallery.to_s %></h1>
2
-
3
- <%= render @picture_gallery %>
4
-
5
- <div class="page-actions well">
6
- <div class="btn-group" role="group">
7
- <%= link_to Ecm::Pictures::PictureGallery.model_name.human(:count => :other), ecm_pictures_picture_galleries_path, :class => 'btn btn-primary' %>
8
- <%= link_to t('ecm.pictures.views.actions.back'), :back, class: 'btn btn-default' %>
9
- </div>
10
- </div>
@@ -1,56 +0,0 @@
1
- if Gem::Specification.find_all_by_name('activeadmin').any?
2
- require 'active_admin'
3
-
4
- module Ecm::Pictures
5
- module ActiveAdmin
6
- module PictureableHelper
7
- def form_inputs_for_pictureable(f)
8
- f.inputs do
9
- f.has_many :pictures do |p|
10
- p.input :name
11
- p.input :image, as: :file, hint: p.template.image_tag(p.object.image.url(:default_thumb))
12
- p.input :description
13
- p.input :markup_language, as: :select, collection: Ecm::Pictures::Configuration.markup_languages
14
- end
15
- end
16
-
17
- f.inputs do
18
- f.has_many :attached_pictures do |p|
19
- p.input :picture, as: :select,
20
- collection: Ecm::Pictures::Picture.all.collect do |picture|
21
- [picture, picture.id, { style: "background-image: url('#{picture.image.url(:medium_thumb)}'); width: #{Ecm::Pictures::Configuration.paperclip_options[:styles][:medium_thumb].split('x').first}px; height: #{Ecm::Pictures::Configuration.paperclip_options[:styles][:medium_thumb].split('x').last}px; background-repeat: no-repeat; background-position: center;" }]
22
- end
23
- end
24
- end
25
- end
26
-
27
- def panel_for_pictureable
28
- panel Ecm::Pictures::PictureGallery.human_attribute_name(:pictures) do
29
- table_for resource.pictures, i18n: Ecm::Pictures::Picture do
30
- sortable_columns
31
- column :thumbnail do |picture|
32
- link_to(image_tag(picture.image.url(:default_thumb)), [:admin, picture])
33
- end # column
34
- column :name
35
- column :image_file_size, sortable: :image_file_size do |picture|
36
- number_to_human_size(picture.image_file_size)
37
- end # column
38
- column :created_at
39
- column do |picture|
40
- link_to(I18n.t('active_admin.view'), [:admin, picture], class: 'member_link view_link') +
41
- link_to(I18n.t('active_admin.edit'), [:edit, :admin, picture], class: 'member_link edit_link') +
42
- link_to(I18n.t('active_admin.delete'), [:admin, picture], class: 'member_link delete_link', method: :delete) +
43
- link_to(I18n.t('active_admin.delete_link'), [:admin, picture.attached_pictures.where(pictureable_type: resource.class, pictureable_id: resource).first], class: 'member_link delete_link', method: :delete)
44
- end
45
- end
46
- end
47
- end
48
- end
49
- end
50
- end
51
-
52
- ::ActiveAdmin::ResourceDSL.send :include, Ecm::Pictures::ActiveAdmin::PictureableHelper
53
- ::ActiveAdmin::Views::Pages::Show.send :include, Ecm::Pictures::ActiveAdmin::PictureableHelper
54
- ::ActiveAdmin::Views::Pages::Form.send :include, Ecm::Pictures::ActiveAdmin::PictureableHelper
55
- ::ActiveAdmin::Views::ActiveAdminForm.send :include, Ecm::Pictures::ActiveAdmin::PictureableHelper
56
- end
@@ -1,25 +0,0 @@
1
- module Ecm
2
- module Pictures
3
- module Generators
4
- class LocalesGenerator < Rails::Generators::Base
5
- desc 'Copies the locale files to your application'
6
-
7
- source_root File.expand_path('../../../../../../config/locales', __FILE__)
8
-
9
- def generate_locales
10
- copy_file 'ecm.pictures.en.yml', 'config/locales/ecm.pictures.en.yml'
11
- copy_file 'ecm.pictures.de.yml', 'config/locales/ecm.pictures.de.yml'
12
-
13
- copy_file 'ecm.pictures.attached_picture.en.yml', 'config/locales/ecm.pictures.attached_picture.en.yml'
14
- copy_file 'ecm.pictures.attached_picture.de.yml', 'config/locales/ecm.pictures.attached_picture.de.yml'
15
-
16
- copy_file 'ecm.pictures.picture.en.yml', 'config/locales/ecm.pictures.picture.en.yml'
17
- copy_file 'ecm.pictures.picture.de.yml', 'config/locales/ecm.pictures.picture.de.yml'
18
-
19
- copy_file 'ecm.pictures.picture_gallery.en.yml', 'config/locales/ecm.pictures.picture_gallery.en.yml'
20
- copy_file 'ecm.pictures.picture_gallery.de.yml', 'config/locales/ecm.pictures.picture_gallery.de.yml'
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,12 +0,0 @@
1
- FactoryGirl.define do
2
- factory :ecm_pictures_picture_gallery, class: Ecm::Pictures::PictureGallery do
3
- sequence(:name) { |n| "Picture gallery ##{n}" }
4
-
5
- factory :ecm_pictures_picture_gallery_with_pictures do |picture_gallery|
6
- 3.times do
7
- picture_gallery.after(:create) { |pg| FactoryGirl.create(:ecm_pictures_picture, picture_gallery: pg) }
8
- end
9
- picture_gallery.pictures_count 3
10
- end
11
- end
12
- end