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 +4 -4
- data/adminpanel.gemspec +1 -1
- data/app/controllers/adminpanel/pages_controller.rb +32 -0
- data/app/controllers/concerns/adminpanel/gallery_actions.rb +0 -2
- data/app/helpers/adminpanel/adminpanel_form_builder.rb +1 -1
- data/app/helpers/adminpanel/application_helper.rb +10 -2
- data/app/helpers/adminpanel/shared_pages_helper.rb +1 -1
- data/app/models/adminpanel/page.rb +10 -0
- data/app/models/adminpanel/pagefile.rb +0 -0
- data/app/models/concerns/adminpanel/base.rb +5 -1
- data/app/views/adminpanel/pages/show.html.erb +94 -0
- data/app/views/adminpanel/templates/edit.html.erb +1 -1
- data/app/views/layouts/adminpanel/_side_menu.html.erb +25 -0
- data/config/routes.rb +6 -0
- data/lib/adminpanel/engine.rb +3 -0
- data/lib/adminpanel/version.rb +1 -1
- data/lib/generators/adminpanel/initialize/templates/adminpanel_setup.rb +6 -0
- data/lib/generators/adminpanel/initialize/templates/create_adminpanel_tables.rb +9 -0
- data/test/dummy/app/models/adminpanel/random_page.rb +53 -0
- data/test/dummy/app/models/adminpanel/random_pagefile.rb +13 -0
- data/test/dummy/app/uploader/adminpanel/random_pagefile_uploader.rb +23 -0
- data/test/dummy/config/initializers/adminpanel_setup.rb +7 -0
- data/test/dummy/db/schema.rb +5 -0
- data/test/features/pages/pages_test.rb +49 -0
- metadata +16 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c33f9d543bfc5b175732944bcd0901b1b4146839
|
4
|
+
data.tar.gz: 9211446d561d7da413da1c861b1fd84cf928f23d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 54dd5f764c3aad38c9e637de87dda3f6d9b5fe9e08d8a29570149f3b3bc6ffe514cb23742a0832aa067eeb728b11bcd4fbc5fd537c1c71dd8d6a20ba41ab4b55
|
7
|
+
data.tar.gz: e400b3a5dc0bf3cba3025ac74409f98379a8a3190ba89adc073cfa8dab6d412c1b6107c234507b4e2ca671346034d6ed9f60d61f76496c4e7080a8c92abe9a36
|
data/adminpanel.gemspec
CHANGED
@@ -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.
|
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
|
@@ -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
|
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
|
-
|
16
|
-
|
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
|
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))
|
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'
|
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>
|
@@ -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>
|
data/config/routes.rb
CHANGED
@@ -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'
|
data/lib/adminpanel/engine.rb
CHANGED
@@ -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
|
|
data/lib/adminpanel/version.rb
CHANGED
@@ -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
|
data/test/dummy/db/schema.rb
CHANGED
@@ -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.
|
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-
|
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.
|
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.
|
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
|