adminpanel 3.3.4 → 3.4.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 71fc1571c43fbe32e33c53a608731c6891753895
4
- data.tar.gz: ec17badd558f43287f3877f28cacc8731ba4cdc2
3
+ metadata.gz: c33f9d543bfc5b175732944bcd0901b1b4146839
4
+ data.tar.gz: 9211446d561d7da413da1c861b1fd84cf928f23d
5
5
  SHA512:
6
- metadata.gz: 8ff59894280623c10098eec46b9bf21108880675e2001b540ccbc0b552460fc3a2c735a04d3cbc6085f00bc015507060c960fe53ff87212f1efe107f5b89b795
7
- data.tar.gz: 21be56b1f76a1661117308d9f4d193aafb26627aedb25b3534063c43ea3bfa28804e43e1a0dec8441dccd95c195d1bacbeb369c6ebb0802f565f67f04062adc1
6
+ metadata.gz: 54dd5f764c3aad38c9e637de87dda3f6d9b5fe9e08d8a29570149f3b3bc6ffe514cb23742a0832aa067eeb728b11bcd4fbc5fd537c1c71dd8d6a20ba41ab4b55
7
+ data.tar.gz: e400b3a5dc0bf3cba3025ac74409f98379a8a3190ba89adc073cfa8dab6d412c1b6107c234507b4e2ca671346034d6ed9f60d61f76496c4e7080a8c92abe9a36
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.add_runtime_dependency 'mini_magick', '4.3.6'
28
28
  spec.add_runtime_dependency 'bcrypt', '~> 3.1', '>= 3.1.7'
29
29
  spec.add_runtime_dependency 'carrierwave', '~> 0.10', '>= 0.10.0'
30
- spec.add_runtime_dependency 'cancancan', '~> 1.13.0','>= 1.13.0'
30
+ spec.add_runtime_dependency 'cancancan', '~> 1.16.0'
31
31
  spec.add_runtime_dependency 'friendly_id', '~> 5.1.0', '>= 5.1.0'
32
32
 
33
33
  # Implemented APIs
@@ -0,0 +1,32 @@
1
+ module Adminpanel
2
+ class PagesController < Adminpanel::ApplicationController
3
+ before_action :redefine_model
4
+
5
+ def show
6
+ end
7
+
8
+ def edit
9
+ params[:skip_breadcrumb] = true
10
+ super
11
+ end
12
+
13
+ def update
14
+ if @resource_instance.update(page_params)
15
+ redirect_to page_path(@resource_instance)
16
+ else
17
+ params[:skip_breadcrumb] = true
18
+ render 'adminpanel/templates/edit'
19
+ end
20
+ end
21
+
22
+ private
23
+
24
+ def redefine_model
25
+ @model = @resource_instance.class
26
+ end
27
+
28
+ def page_params
29
+ @model.whitelisted_attributes(params)
30
+ end
31
+ end
32
+ end
@@ -13,8 +13,6 @@ module Adminpanel
13
13
  id: image.id,
14
14
  image_url: image.file_url(:thumb)
15
15
  }
16
- p 'jaja'
17
- p response
18
16
  respond_to do |f|
19
17
  f.json{ render status: :ok, json: response.to_json }
20
18
  end
@@ -308,7 +308,7 @@ module Adminpanel
308
308
  def title_layout(attribute)
309
309
  @template.content_tag :div, class: 'control-group' do
310
310
  @template.content_tag :div, class: 'controls' do
311
- @template.content_tag(:i, I18n.t('adminpanel.form.server_file', file: self.object["#{attribute}"]))
311
+ @template.content_tag(:i, I18n.t('adminpanel.form.server_file', file: self.object.send(attribute).to_s.split('/').last))
312
312
  end
313
313
  end
314
314
  end
@@ -12,14 +12,22 @@ module Adminpanel
12
12
  options[:html][:"data-parent-object-id"] = object.id
13
13
  options[:html][:"data-dropzone"] = @model.to_s.demodulize.underscore
14
14
  options[:html][:"data-dropzone-galleries"] = @model.galleries.to_json
15
- options[:html][:"data-dropzone-url"] = url_for(controller: @model.to_controller_name, action: :add_to_gallery)
16
- options[:html][:"data-dropzone-delete-url"] = url_for(controller: @model.to_controller_name, action: :remove_image)
15
+ if @resource_instance.is_a? Adminpanel::Page
16
+ options[:html][:"data-dropzone-url"] = url_for(controller: :pages, action: :add_to_gallery)
17
+ options[:html][:"data-dropzone-delete-url"] = url_for(controller: :pages, action: :remove_image)
18
+ else
19
+ options[:html][:"data-dropzone-url"] = url_for(controller: @model.to_controller_name, action: :add_to_gallery)
20
+ options[:html][:"data-dropzone-delete-url"] = url_for(controller: @model.to_controller_name, action: :remove_image)
21
+ end
17
22
  end
18
23
  if @model.has_trix_gallery?
19
24
  options[:html][:"data-trix-url"] = url_for(controller: @model.to_controller_name, action: :add_to_gallery)
20
25
  options[:html][:"data-parent-class"] ||= @model.to_s
21
26
  options[:html][:"data-params-key"] ||= @model.to_s.demodulize.underscore
22
27
  end
28
+ if @resource_instance.is_a? Adminpanel::Page
29
+ options[:url] = adminpanel.page_path(@resource_instance)
30
+ end
23
31
 
24
32
  form_for(object, *(args << options), &block)
25
33
  end
@@ -65,7 +65,7 @@ module Adminpanel
65
65
  li_tags.html_safe
66
66
  end
67
67
  when 'file_field'
68
- link_to(object[attribute], object.try(:send, "#{attribute}_url")) unless object[attribute].nil?
68
+ link_to(object.send("#{attribute}_url").split('/').last, object.try(:send, "#{attribute}_url")) if object.send("#{attribute}_url").present?
69
69
  when 'image_field'
70
70
  content_tag :ul do
71
71
  image_tag(object.send("#{attribute}_url", :thumb))
@@ -0,0 +1,10 @@
1
+ module Adminpanel
2
+ class Page < ActiveRecord::Base
3
+ include Adminpanel::Base
4
+
5
+
6
+ def self.whitelisted_attributes(params)
7
+ params.require(self.name.to_s.underscore.split('/').last).permit!
8
+ end
9
+ end
10
+ end
File without changes
@@ -95,7 +95,7 @@ module Adminpanel
95
95
  def has_trix_gallery?
96
96
  form_attributes.each do |fields|
97
97
  fields.each do |attribute, properties|
98
- if properties['type'] == 'wysiwyg_field' || properties['uploader'].present?
98
+ if properties['type'] == 'wysiwyg_field' && properties['uploader'].present?
99
99
  return true
100
100
  end
101
101
  end
@@ -212,6 +212,10 @@ module Adminpanel
212
212
  to_s.demodulize.underscore.pluralize
213
213
  end
214
214
 
215
+ def form_url
216
+ self
217
+ end
218
+
215
219
  private
216
220
 
217
221
  def exclude_route?(route)
@@ -0,0 +1,94 @@
1
+ <% provide(
2
+ :page_title,
3
+ I18n.t('action.show', resource: @resource_instance.name)
4
+ ) -%>
5
+
6
+ <div class="row-fluid">
7
+ <div class="widget span12">
8
+ <div class="widget-header">
9
+ <%= content_tag(:i, nil, class: "fa fa-#{@model.icon}") %>
10
+ <h5>
11
+ <%= @model.display_name.humanize %>
12
+ </h5>
13
+ <div class="widget-buttons">
14
+ <%= render 'adminpanel/icons/edit', resource: @resource_instance.becomes(Adminpanel::Page) %>
15
+ </div>
16
+ </div>
17
+ <div class="widget-body">
18
+ <div class="widget-tickets widget-tickets-large clearfix">
19
+ <ul>
20
+ <% @model.display_attributes('show').each do |fields| %>
21
+ <% fields.each do |attribute, properties| %>
22
+ <li class="priority-high">
23
+ <div class="span3">
24
+ <h6><%= properties['label'] %></h6>
25
+ </div>
26
+ <div class="span8">
27
+ <%= field_value(properties['type'], attribute, @resource_instance) %>
28
+ </div>
29
+ </li>
30
+ <% end %>
31
+ <% end %>
32
+ </ul>
33
+ </div>
34
+ </div>
35
+ </div>
36
+ </div>
37
+ <div class="row-fluid">
38
+ <% if @model.has_gallery? %>
39
+ <% @model.galleries.each do |gallery| %>
40
+ <% gallery_class = gallery.last.constantize %>
41
+ <% gallery_relationship = gallery.first.pluralize %>
42
+ <div class="gallery-widget widget widget-padding span6">
43
+ <div class="widget-header">
44
+ <%= content_tag(:i, nil, class: "fa fa-#{@model.icon}") %>
45
+ <h5><%= I18n.t('gallery.container') %>: <%= @model.display_name.humanize %>
46
+ <%= render 'adminpanel/icons/edit', resource: @resource_instance.becomes(Adminpanel::Page) %>
47
+ </h5>
48
+ </div>
49
+ <% if gallery_class.is_sortable? %>
50
+ <div class="widget-body widget-tasks-assigned clearfix">
51
+ <table class="table table-striped table-bordered">
52
+ <thead>
53
+ <tr>
54
+ <td class="draggable-header"></td>
55
+ <td><i class="fa fa-picture-o"></i></td>
56
+ </tr>
57
+ </thead>
58
+ <tbody id="sortable">
59
+ <% collection = @resource_instance.send(gallery_relationship).ordered %>
60
+ <% collection.each do |image| %>
61
+ <tr
62
+ data-id="<%= image.id %>"
63
+ data-url="<%= url_for [:move_to_position, image] %>"
64
+ >
65
+ <td class="draggable img"><i class="fa fa-bars fa-2x"></i></td>
66
+ <td>
67
+ <%= link_to(
68
+ image_tag(image.file_url(:thumb)),
69
+ image.file.to_s,
70
+ rel: "group",
71
+ name: gallery_class.display_name
72
+ ) %>
73
+ </td>
74
+ </tr>
75
+ <% end %>
76
+ </tbody>
77
+ </table>
78
+ </div>
79
+ <% else %>
80
+ <div class="widget-body row-fluid">
81
+ <% @resource_instance.send(gallery_relationship).each do |image| %>
82
+ <%= link_to(
83
+ image_tag( image.file_url(:thumb) ),
84
+ image.file_url.to_s,
85
+ rel: 'group',
86
+ name: @model.display_name
87
+ ) %>
88
+ <% end %>
89
+ </div>
90
+ <% end %>
91
+ </div>
92
+ <% end %>
93
+ <% end %>
94
+ </div>
@@ -8,7 +8,7 @@
8
8
  controller: params[:controller],
9
9
  action: 'index'
10
10
  }
11
- ) %>
11
+ ) unless params[:skip_breadcrumb].present? %>
12
12
 
13
13
  <div class = "row-fluid">
14
14
  <div class = "widget widget-padding span12">
@@ -25,6 +25,7 @@
25
25
  </div>
26
26
  </div>
27
27
 
28
+ <!-- Render models -->
28
29
  <% Adminpanel.displayable_resources.each do |resource| %>
29
30
  <% resource_class = symbol_class(resource) %>
30
31
  <% if resource_class.has_route?(:index) && (can?(:read, resource_class) || can?( :publish, resource_class)) %>
@@ -49,5 +50,29 @@
49
50
  </div>
50
51
  <% end %>
51
52
  <% end %>
53
+
54
+ <!-- Render pages -->
55
+ <% Adminpanel.displayable_pages.each do |page_class| %>
56
+ <div class="accordion-group" data-filter="<%= page_class.instance.name -%>">
57
+ <div class="accordion-heading">
58
+ <%= link_to(
59
+ page_path(page_class.instance),
60
+ data: {
61
+ no_transition_cache: true
62
+ },
63
+ class: "accordion-toggle accordion-navigation
64
+ #{params[:controller] == 'adminpanel/pages' && page_class.instance.id.to_s == params[:id].to_s ? 'active' : ''}
65
+ spinner-link".squish
66
+ ) do %>
67
+ <%= content_tag(
68
+ :i,
69
+ nil,
70
+ class: "fa fa-#{page_class.icon}"
71
+ ) %>
72
+ <%= page_class.instance.name %>
73
+ <% end %>
74
+ </div>
75
+ </div>
76
+ <% end %>
52
77
  </div>
53
78
  </div>
@@ -65,6 +65,12 @@ Adminpanel::Engine.routes.draw do
65
65
  end
66
66
 
67
67
  root to: "#{Adminpanel.displayable_resources.first}#index"
68
+ resources :pages, only: [:show, :edit, :update] do
69
+ collection do
70
+ post :add_to_gallery, to: "pages#add_to_gallery", as: 'add_to_gallery', path: I18n.t('routes.add_to_gallery')
71
+ delete :remove_image, to: "pages#remove_image", as: 'remove_image', path: I18n.t('routes.remove_image')
72
+ end
73
+ end
68
74
  resources :sessions, only: [:new, :create, :destroy] do
69
75
  collection do
70
76
  get 'instagram_login'
@@ -11,6 +11,7 @@ module Adminpanel
11
11
  :analytics_application_name,
12
12
  :analytics_application_version,
13
13
  :displayable_resources,
14
+ :displayable_pages,
14
15
  :fb_app_id,
15
16
  :fb_app_secret,
16
17
  :instagram_client_id,
@@ -27,6 +28,8 @@ module Adminpanel
27
28
  :users
28
29
  ]
29
30
 
31
+ self.displayable_pages = []
32
+
30
33
  self.fb_app_id = nil
31
34
  self.fb_app_secret = nil
32
35
 
@@ -1,3 +1,3 @@
1
1
  module Adminpanel
2
- VERSION = '3.3.4'
2
+ VERSION = '3.4.0'
3
3
  end
@@ -44,4 +44,10 @@ Adminpanel.setup do |config|
44
44
  #:auths,
45
45
  :sections
46
46
  ]
47
+
48
+ config.displayable_pages = [
49
+ # Adminpanel::HomePage,
50
+ # Adminpanel::AboutUsPage,
51
+ # Adminpanel::ContactPage
52
+ ]
47
53
  end
@@ -17,6 +17,7 @@ class CreateAdminpanelTables < ActiveRecord::Migration
17
17
  create_auths
18
18
  create_sections
19
19
  create_images
20
+ create_pages
20
21
  end
21
22
 
22
23
  private
@@ -73,6 +74,14 @@ class CreateAdminpanelTables < ActiveRecord::Migration
73
74
  add_index :adminpanel_auths, [:key]
74
75
  end
75
76
 
77
+ def create_pages
78
+ create_table :adminpanel_pages do |t|
79
+ t.string :name
80
+ t.string :type
81
+ t.text :fields
82
+ end
83
+ end
84
+
76
85
  def create_sections
77
86
  create_table :adminpanel_sections do |t|
78
87
  t.string :name
@@ -0,0 +1,53 @@
1
+ module Adminpanel
2
+ class RandomPage < Page
3
+ def self.instance
4
+ first || create!(name: 'Random Page', type: 'Adminpanel::RandomPage')
5
+ end
6
+
7
+ mount_images :random_pagefiles
8
+
9
+ store :fields, accessors: [
10
+ :header,
11
+ :slogan,
12
+ :body,
13
+ ]
14
+
15
+ def self.form_attributes
16
+ [
17
+ {
18
+ 'header' => {
19
+ 'type' => 'text_field',
20
+ 'label' => 'Cabecera'
21
+ }
22
+ },
23
+ {
24
+ 'slogan' => {
25
+ 'type' => 'text_field',
26
+ 'label' => 'Slogan'
27
+ }
28
+ },
29
+ {
30
+ 'body' => {
31
+ 'type' => 'wysiwyg_field',
32
+ 'label' => 'Contenido'
33
+ }
34
+ },
35
+ {
36
+ 'random_pagefiles' => {
37
+ 'type' => 'adminpanel_file_field',
38
+ 'label' => 'Galería'
39
+ }
40
+ }
41
+ ]
42
+ end
43
+
44
+ def self.display_name
45
+ 'Random Page'
46
+ end
47
+
48
+ def self.icon
49
+ 'puzzle-piece'
50
+ end
51
+
52
+ end
53
+ end
@@ -0,0 +1,13 @@
1
+ module Adminpanel
2
+ class RandomPagefile < Image
3
+ # include Adminpanel::SortableGallery
4
+
5
+ mount_uploader :file, RandomPagefileUploader
6
+
7
+ # Warning: This method prevents the file from recreating versions,
8
+ # use it at your own risk delete the original file
9
+ # def remove_original attachment
10
+ # File.delete "#{Rails.root.join('public')}#{file_url}" if file
11
+ # end
12
+ end
13
+ end
@@ -0,0 +1,23 @@
1
+ module Adminpanel
2
+ class RandomPagefileUploader < CarrierWave::Uploader::Base
3
+ include CarrierWave::MiniMagick
4
+
5
+ storage :file
6
+
7
+ def root
8
+ Rails.root.join 'public/'
9
+ end
10
+
11
+ def store_dir
12
+ "uploads/image/#{model.class.name.demodulize}/#{model.id}"
13
+ end
14
+
15
+ version :thumb do
16
+ process resize_to_fill: [120, 120]
17
+ end
18
+
19
+ def extension_white_list
20
+ %w(jpg jpeg png)
21
+ end
22
+ end
23
+ end
@@ -26,4 +26,11 @@ Adminpanel.setup do |config|
26
26
  :test_objects,
27
27
  :file_resources
28
28
  ]
29
+
30
+ config.displayable_pages = [
31
+ # Adminpanel::HomePage,
32
+ # Adminpanel::AboutUsPage,
33
+ # Adminpanel::ContactPage
34
+ Adminpanel::RandomPage
35
+ ]
29
36
  end
@@ -126,6 +126,11 @@ ActiveRecord::Schema.define do
126
126
  t.integer :test_object_id
127
127
  t.integer :category_id
128
128
  end
129
+ create_table :adminpanel_pages do |t|
130
+ t.string :name
131
+ t.string :type
132
+ t.text :fields
133
+ end
129
134
  create_table :adminpanel_file_resources do |t|
130
135
  t.string :name
131
136
  t.datetime :created_at
@@ -0,0 +1,49 @@
1
+ require 'test_helper'
2
+
3
+ class PagesTest < ViewCase
4
+
5
+ setup :sign_in
6
+
7
+ test "when root path Admipnanel.displayed_pages are in the menu" do
8
+ visit adminpanel.root_path
9
+ assert page.has_selector?('.accordion-toggle.accordion-navigation.spinner-link', text: 'Random Page')
10
+ assert page.has_link?('Random Page', href: adminpanel.page_path(Adminpanel::RandomPage.instance))
11
+ end
12
+
13
+ test "when visiting a random page it should display all its form fields" do
14
+ Adminpanel::RandomPage.instance.update(header: 'Hola', slogan: 'Saludo cordial', body: '<div>lorem</div>')
15
+ visit adminpanel.page_path(Adminpanel::RandomPage.instance)
16
+ assert page.has_content?('Cabecera')
17
+ assert page.has_content?('Hola')
18
+ assert page.has_content?('Slogan')
19
+ assert page.has_content?('Saludo cordial')
20
+ assert page.has_content?('lorem')
21
+ assert page.has_link?('', href: adminpanel.edit_page_path(Adminpanel::RandomPage.instance))
22
+ end
23
+
24
+ test "when editing a random page it should display and update form fields" do
25
+ Adminpanel::RandomPage.instance.update(header: '', slogan: '', body: '')
26
+ visit adminpanel.edit_page_path(Adminpanel::RandomPage.instance)
27
+ fill_in 'random_page_header', with: 'sum header'
28
+ fill_in 'random_page_slogan', with: 'a fine slogan'
29
+ page.execute_script(
30
+ %Q(
31
+ var editor = $('#body-trix-editor')[0].editor;
32
+ editor.insertString("a fine body");
33
+ )
34
+ ) # to fill the wysiwyg editor
35
+ click_button 'Actualizar Random Page'
36
+
37
+ assert_equal 'sum header', Adminpanel::RandomPage.instance.header
38
+ assert_equal 'a fine slogan', Adminpanel::RandomPage.instance.slogan
39
+ assert_equal '<div>a fine body</div>', Adminpanel::RandomPage.instance.body
40
+ assert 1, Adminpanel::RandomPage.count
41
+ assert_equal adminpanel.page_path(Adminpanel::RandomPage.instance), page.current_path
42
+ end
43
+
44
+ private
45
+ def sign_in
46
+ visit adminpanel.signin_path
47
+ login
48
+ end
49
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adminpanel
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.4
4
+ version: 3.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jose Ramon Camacho
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-05-04 00:00:00.000000000 Z
13
+ date: 2017-05-06 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -92,20 +92,14 @@ dependencies:
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: 1.13.0
96
- - - ">="
97
- - !ruby/object:Gem::Version
98
- version: 1.13.0
95
+ version: 1.16.0
99
96
  type: :runtime
100
97
  prerelease: false
101
98
  version_requirements: !ruby/object:Gem::Requirement
102
99
  requirements:
103
100
  - - "~>"
104
101
  - !ruby/object:Gem::Version
105
- version: 1.13.0
106
- - - ">="
107
- - !ruby/object:Gem::Version
108
- version: 1.13.0
102
+ version: 1.16.0
109
103
  - !ruby/object:Gem::Dependency
110
104
  name: friendly_id
111
105
  requirement: !ruby/object:Gem::Requirement
@@ -512,6 +506,7 @@ files:
512
506
  - app/controllers/adminpanel/analytics_controller.rb
513
507
  - app/controllers/adminpanel/application_controller.rb
514
508
  - app/controllers/adminpanel/auths_controller.rb
509
+ - app/controllers/adminpanel/pages_controller.rb
515
510
  - app/controllers/adminpanel/permissions_controller.rb
516
511
  - app/controllers/adminpanel/roles_controller.rb
517
512
  - app/controllers/adminpanel/sections_controller.rb
@@ -534,6 +529,8 @@ files:
534
529
  - app/models/adminpanel/analytic.rb
535
530
  - app/models/adminpanel/auth.rb
536
531
  - app/models/adminpanel/image.rb
532
+ - app/models/adminpanel/page.rb
533
+ - app/models/adminpanel/pagefile.rb
537
534
  - app/models/adminpanel/permission.rb
538
535
  - app/models/adminpanel/role.rb
539
536
  - app/models/adminpanel/section.rb
@@ -562,6 +559,7 @@ files:
562
559
  - app/views/adminpanel/icons/_facebook.html.erb
563
560
  - app/views/adminpanel/icons/_new.html.erb
564
561
  - app/views/adminpanel/icons/_show.html.erb
562
+ - app/views/adminpanel/pages/show.html.erb
565
563
  - app/views/adminpanel/sections/_sections_table.html.erb
566
564
  - app/views/adminpanel/sections/edit.html.erb
567
565
  - app/views/adminpanel/sections/index.html.erb
@@ -647,11 +645,14 @@ files:
647
645
  - test/dummy/app/models/adminpanel/mug.rb
648
646
  - test/dummy/app/models/adminpanel/photo.rb
649
647
  - test/dummy/app/models/adminpanel/product.rb
648
+ - test/dummy/app/models/adminpanel/random_page.rb
649
+ - test/dummy/app/models/adminpanel/random_pagefile.rb
650
650
  - test/dummy/app/models/adminpanel/salesman.rb
651
651
  - test/dummy/app/models/adminpanel/test_object.rb
652
652
  - test/dummy/app/models/adminpanel/textfile.rb
653
653
  - test/dummy/app/uploader/adminpanel/file_resourcefile_uploader.rb
654
654
  - test/dummy/app/uploader/adminpanel/photo_uploader.rb
655
+ - test/dummy/app/uploader/adminpanel/random_pagefile_uploader.rb
655
656
  - test/dummy/app/uploader/adminpanel/section_uploader.rb
656
657
  - test/dummy/app/views/layouts/application.html.erb
657
658
  - test/dummy/config.ru
@@ -688,6 +689,7 @@ files:
688
689
  - test/dummy/test/fixtures/attachments/dog-fries.png
689
690
  - test/dummy/test/fixtures/attachments/hipster.jpg
690
691
  - test/dummy/test/fixtures/attachments/thumb_hipster.jpg
692
+ - test/features/pages/pages_test.rb
691
693
  - test/features/session/login_test.rb
692
694
  - test/features/shared/concerns/friendly_test.rb
693
695
  - test/features/shared/concerns/sortable_gallery_ui_test.rb
@@ -779,11 +781,14 @@ test_files:
779
781
  - test/dummy/app/models/adminpanel/mug.rb
780
782
  - test/dummy/app/models/adminpanel/photo.rb
781
783
  - test/dummy/app/models/adminpanel/product.rb
784
+ - test/dummy/app/models/adminpanel/random_page.rb
785
+ - test/dummy/app/models/adminpanel/random_pagefile.rb
782
786
  - test/dummy/app/models/adminpanel/salesman.rb
783
787
  - test/dummy/app/models/adminpanel/test_object.rb
784
788
  - test/dummy/app/models/adminpanel/textfile.rb
785
789
  - test/dummy/app/uploader/adminpanel/file_resourcefile_uploader.rb
786
790
  - test/dummy/app/uploader/adminpanel/photo_uploader.rb
791
+ - test/dummy/app/uploader/adminpanel/random_pagefile_uploader.rb
787
792
  - test/dummy/app/uploader/adminpanel/section_uploader.rb
788
793
  - test/dummy/app/views/layouts/application.html.erb
789
794
  - test/dummy/config.ru
@@ -820,6 +825,7 @@ test_files:
820
825
  - test/dummy/test/fixtures/attachments/dog-fries.png
821
826
  - test/dummy/test/fixtures/attachments/hipster.jpg
822
827
  - test/dummy/test/fixtures/attachments/thumb_hipster.jpg
828
+ - test/features/pages/pages_test.rb
823
829
  - test/features/session/login_test.rb
824
830
  - test/features/shared/concerns/friendly_test.rb
825
831
  - test/features/shared/concerns/sortable_gallery_ui_test.rb