ckpages 0.1.1
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 +7 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +3 -0
- data/Rakefile +37 -0
- data/app/assets/javascripts/ckpages/application.coffee +9 -0
- data/app/assets/javascripts/ckpages/ckeditor_basepath.js +1 -0
- data/app/assets/javascripts/ckpages/ckeditor_init.js.erb +1 -0
- data/app/assets/javascripts/ckpages/ckeditor_replace.js.erb +16 -0
- data/app/assets/javascripts/ckpages/pages.js.coffee +39 -0
- data/app/assets/javascripts/ckpages/plugin_uploads.js.coffee +5 -0
- data/app/assets/stylesheets/ckpages/application.scss +34 -0
- data/app/controllers/ckpages/application_controller.rb +4 -0
- data/app/controllers/ckpages/ascendant404_controller.rb +13 -0
- data/app/controllers/ckpages/ascendant_controller.rb +19 -0
- data/app/controllers/ckpages/pages_controller.rb +66 -0
- data/app/controllers/ckpages/parts_controller.rb +63 -0
- data/app/controllers/ckpages/plugin_uploads_controller.rb +24 -0
- data/app/controllers/ckpages/uploads_controller.rb +41 -0
- data/app/helpers/ckpages/application_helper.rb +27 -0
- data/app/models/ckpages/page.rb +17 -0
- data/app/models/ckpages/part.rb +4 -0
- data/app/models/ckpages/upload.rb +5 -0
- data/app/uploaders/ckpages/application_uploader.rb +51 -0
- data/app/views/application/_ckpart.html.erb +1 -0
- data/app/views/ckpages/pages/_form.html.erb +35 -0
- data/app/views/ckpages/pages/edit.html.erb +5 -0
- data/app/views/ckpages/pages/index.html.erb +52 -0
- data/app/views/ckpages/pages/new.html.erb +5 -0
- data/app/views/ckpages/pages/show.html.erb +96 -0
- data/app/views/ckpages/parts/_form.html.erb +14 -0
- data/app/views/ckpages/parts/edit.html.erb +6 -0
- data/app/views/ckpages/parts/index.html.erb +44 -0
- data/app/views/ckpages/parts/new.html.erb +6 -0
- data/app/views/ckpages/parts/show.html.erb +21 -0
- data/app/views/ckpages/plugin_uploads/index.html.erb +23 -0
- data/app/views/ckpages/public/show.html.erb +19 -0
- data/app/views/ckpages/public404/show.html.erb +19 -0
- data/app/views/ckpages/uploads/index.html.erb +35 -0
- data/app/views/ckpages/uploads/show.html.erb +13 -0
- data/app/views/layouts/ckpages/application.html.erb +24 -0
- data/config/initializers/carrierwave.rb +1 -0
- data/config/initializers/simple_form.rb +166 -0
- data/config/initializers/simple_form_bootstrap.rb +136 -0
- data/config/locales/ru.yml +42 -0
- data/config/locales/simple_form.en.yml +31 -0
- data/config/routes.rb +29 -0
- data/db/migrate/20150424201308_create_ckpages_pages.rb +15 -0
- data/db/migrate/20150425115824_create_ckpages_uploads.rb +9 -0
- data/db/migrate/20150425152740_add_breadcrumb_to_ckpages_pages.rb +14 -0
- data/db/migrate/20150511111424_create_ckpages_parts.rb +10 -0
- data/db/migrate/20150819230152_add_columns_to_ckpages_uploads.rb +7 -0
- data/lib/ckpages.rb +12 -0
- data/lib/ckpages/engine.rb +8 -0
- data/lib/ckpages/version.rb +3 -0
- data/lib/tasks/ckpages_tasks.rake +4 -0
- data/lib/templates/erb/scaffold/_form.html.erb +13 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/javascripts/application.js +13 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/controllers/application_controller.rb +5 -0
- data/test/dummy/app/controllers/ckpages/public404_controller.rb +3 -0
- data/test/dummy/app/controllers/ckpages/public_controller.rb +2 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/ckpages/public/show.html.erb +1 -0
- data/test/dummy/app/views/layouts/application.html.erb +35 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/bin/setup +29 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +26 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +41 -0
- data/test/dummy/config/environments/production.rb +79 -0
- data/test/dummy/config/environments/test.rb +42 -0
- data/test/dummy/config/initializers/assets.rb +11 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/ckpages.rb +1 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/locales/ru.yml +257 -0
- data/test/dummy/config/routes.rb +3 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/db/schema.rb +61 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/assets/application-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.js +0 -0
- data/test/dummy/public/assets/application-e80e8f2318043e8af94dddc2adad5a4f09739a8ebb323b3ab31cd71d45fd9113.css +16 -0
- data/test/dummy/public/assets/bootstrap/glyphicons-halflings-regular-13634da87d9e23f8c3ed9108ce1724d183a39ad072e73e1b3d8cbf646d2d0407.eot +0 -0
- data/test/dummy/public/assets/bootstrap/glyphicons-halflings-regular-42f60659d265c1a3c30f9fa42abcbb56bd4a53af4d83d316d6dd7a36903c43e5.svg +288 -0
- data/test/dummy/public/assets/bootstrap/glyphicons-halflings-regular-a26394f7ede100ca118eff2eda08596275a9839b959c226e15439557a5a80742.woff +0 -0
- data/test/dummy/public/assets/bootstrap/glyphicons-halflings-regular-e395044093757d82afcb138957d06a1ea9361bdcf0b442d06a18a8051af57456.ttf +0 -0
- data/test/dummy/public/assets/bootstrap/glyphicons-halflings-regular-fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c.woff2 +0 -0
- data/test/dummy/public/assets/ckpages/application-7743f5f42fc250d6d26375695a35e216ffb9f55bc3b9136f2ab0397aed2e91aa.css +5659 -0
- data/test/dummy/public/assets/ckpages/application-7a1ae892892ee8f88dc20d562ed46adc99be442a63038ba9be56d42c27dea964.js +121 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/fixtures/ckpages/pages.yml +21 -0
- data/test/integration/ckpages/public_test.rb +37 -0
- data/test/models/ckpages/page_test.rb +34 -0
- data/test/models/ckpages/upload_test.rb +9 -0
- data/test/test_helper.rb +20 -0
- metadata +334 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module Ckpages
|
|
2
|
+
class Page < ActiveRecord::Base
|
|
3
|
+
before_validation :normalize
|
|
4
|
+
validates :path, uniqueness: {case_sensitive: false}
|
|
5
|
+
validates :redirect_url, format: { with: /\A\/|http:\/\/|https:\/\// }, allow_nil: true, allow_blank: true
|
|
6
|
+
|
|
7
|
+
def normalize
|
|
8
|
+
self.path = self.path.gsub(/\A\/+/, '')
|
|
9
|
+
self.path = self.path.gsub(/\/+\z/, '')
|
|
10
|
+
self.path = self.path.gsub(/\A\s+/, '')
|
|
11
|
+
self.path = self.path.gsub(/\s+\z/, '')
|
|
12
|
+
self.path = '/' + self.path
|
|
13
|
+
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module Ckpages
|
|
2
|
+
class ApplicationUploader < ::CarrierWave::Uploader::Base
|
|
3
|
+
|
|
4
|
+
# Include RMagick or MiniMagick support:
|
|
5
|
+
# include CarrierWave::RMagick
|
|
6
|
+
# include CarrierWave::MiniMagick
|
|
7
|
+
|
|
8
|
+
# Choose what kind of storage to use for this uploader:
|
|
9
|
+
storage :file
|
|
10
|
+
# storage :fog
|
|
11
|
+
|
|
12
|
+
# Override the directory where uploaded files will be stored.
|
|
13
|
+
# This is a sensible default for uploaders that are meant to be mounted:
|
|
14
|
+
def store_dir
|
|
15
|
+
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# Provide a default URL as a default if there hasn't been a file uploaded:
|
|
19
|
+
# def default_url
|
|
20
|
+
# # For Rails 3.1+ asset pipeline compatibility:
|
|
21
|
+
# # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
|
|
22
|
+
#
|
|
23
|
+
# "/images/fallback/" + [version_name, "default.png"].compact.join('_')
|
|
24
|
+
# end
|
|
25
|
+
|
|
26
|
+
# Process files as they are uploaded:
|
|
27
|
+
# process :scale => [200, 300]
|
|
28
|
+
#
|
|
29
|
+
# def scale(width, height)
|
|
30
|
+
# # do something
|
|
31
|
+
# end
|
|
32
|
+
|
|
33
|
+
# Create different versions of your uploaded files:
|
|
34
|
+
# version :thumb do
|
|
35
|
+
# process :resize_to_fit => [50, 50]
|
|
36
|
+
# end
|
|
37
|
+
|
|
38
|
+
# Add a white list of extensions which are allowed to be uploaded.
|
|
39
|
+
# For images you might use something like this:
|
|
40
|
+
# def extension_white_list
|
|
41
|
+
# %w(jpg jpeg gif png)
|
|
42
|
+
# end
|
|
43
|
+
|
|
44
|
+
# Override the filename of the uploaded files:
|
|
45
|
+
# Avoid using model.id or version_name here, see uploader/store.rb for details.
|
|
46
|
+
# def filename
|
|
47
|
+
# "something.jpg" if original_filename
|
|
48
|
+
# end
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<%== @part.text %>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<%= simple_form_for(@page) do |f| %>
|
|
2
|
+
|
|
3
|
+
<%= f.error_notification %>
|
|
4
|
+
|
|
5
|
+
<%= f.input :title, as: :string %>
|
|
6
|
+
<%= f.input :path, as: :string %>
|
|
7
|
+
<%= f.input :redirect_url, as: :string %>
|
|
8
|
+
<%= f.input :keywords, as: :string %>
|
|
9
|
+
<%= f.input :description, as: :string %>
|
|
10
|
+
<%= f.input :robots, as: :string %>
|
|
11
|
+
|
|
12
|
+
<%= f.input :title1, as: :string %>
|
|
13
|
+
<%= f.input :url1, as: :string %>
|
|
14
|
+
|
|
15
|
+
<%= f.input :title2, as: :string %>
|
|
16
|
+
<%= f.input :url2, as: :string %>
|
|
17
|
+
|
|
18
|
+
<%= f.input :title3, as: :string %>
|
|
19
|
+
<%= f.input :url3, as: :string %>
|
|
20
|
+
|
|
21
|
+
<%= f.input :title4, as: :string %>
|
|
22
|
+
<%= f.input :url4, as: :string %>
|
|
23
|
+
|
|
24
|
+
<%= f.input :title5, as: :string %>
|
|
25
|
+
<%= f.input :url5, as: :string %>
|
|
26
|
+
|
|
27
|
+
<%= f.input :content %>
|
|
28
|
+
|
|
29
|
+
<%= f.button :submit, class: 'btn btn-warning btn-lg' %>
|
|
30
|
+
<%= link_to 'Просмотр', @page.path, class: 'btn btn-primary btn-lg', data: { confirm: 'Не сохраненные данные будут утеряны. Действительно перейти?' } if @page.persisted? %>
|
|
31
|
+
<%= link_to 'Служебный просмотр', @page, class: 'btn btn-primary btn-lg', data: { confirm: 'Не сохраненные данные будут утеряны. Действительно перейти?' } if @page.persisted? %>
|
|
32
|
+
<%= link_to 'К списку страниц', pages_path, class: 'btn btn-default btn-lg', data: { confirm: 'Не сохраненные данные будут утеряны. Действительно перейти?' } %>
|
|
33
|
+
<%= link_to 'Удалить', @page, method: :delete, data: { confirm: 'Действительно хотите удалить страницу?' }, class: 'btn btn-danger btn-lg' %>
|
|
34
|
+
|
|
35
|
+
<% end %>
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<div class="page-header">
|
|
2
|
+
<h1>Список страниц</h1>
|
|
3
|
+
</div>
|
|
4
|
+
|
|
5
|
+
<div class="alert alert-info" role="alert"><%= notice %></div>
|
|
6
|
+
|
|
7
|
+
<%= paginate @pages %>
|
|
8
|
+
|
|
9
|
+
<div style="margin-top:20px"></div>
|
|
10
|
+
|
|
11
|
+
<div class="row">
|
|
12
|
+
<div class="col-md-9">
|
|
13
|
+
<% @pages.each do |page| %>
|
|
14
|
+
<div class="well">
|
|
15
|
+
<div>
|
|
16
|
+
<dl class="dl-horizontal">
|
|
17
|
+
<%= dt_dd(page, "id") %>
|
|
18
|
+
<%= dt_dd(page, "path") %>
|
|
19
|
+
<%= dt_dd(page, "title") %>
|
|
20
|
+
<%= dt_dd(page, "redirect_url") %>
|
|
21
|
+
<%= dt_dd(page, "content", lambda{|val| excerpt(val, '', radius: 100)}) %>
|
|
22
|
+
<% 1.upto(5) do |n| %>
|
|
23
|
+
<%= dt_dd(page, "title#{n}") %>
|
|
24
|
+
<%= dt_dd(page, "url#{n}") %>
|
|
25
|
+
<% end %>
|
|
26
|
+
<%= dt_dd(page, "robots") %>
|
|
27
|
+
<%= dt_dd(page, "keywords") %>
|
|
28
|
+
<%= dt_dd(page, "description") %>
|
|
29
|
+
<%= dt_dd(page, "created_at", lambda{|val| l(val)}) %>
|
|
30
|
+
<%= dt_dd(page, "updated_at", lambda{|val| l(val)}) %>
|
|
31
|
+
</dl>
|
|
32
|
+
<div class="text-center">
|
|
33
|
+
<%= link_to 'Просмотр', page.path, class: 'btn btn-primary' %>
|
|
34
|
+
<%= link_to 'Служебный просмотр', page, class: 'btn btn-primary' %>
|
|
35
|
+
<%= link_to 'Редактировать', edit_page_path(page), class: 'btn btn-primary' %>
|
|
36
|
+
<%= link_to 'Удалить', page, method: :delete, data: { confirm: 'Действительно хотите удалить страницу?' }, class: 'btn btn-danger' %>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
<% end %>
|
|
41
|
+
<%= paginate @pages %>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="col-md-3">
|
|
44
|
+
<div class="well">
|
|
45
|
+
Тут будут фильтры
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
|
|
50
|
+
<br>
|
|
51
|
+
|
|
52
|
+
<%= link_to 'Новая страница', new_page_path, class: 'btn btn-primary btn-lg' %>
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
<div class="page-header">
|
|
2
|
+
<h1>Служебный просмотр</h1>
|
|
3
|
+
</div>
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
<div class="alert alert-info" role="alert"><%= notice %></div>
|
|
7
|
+
|
|
8
|
+
<p>
|
|
9
|
+
<strong>Path:</strong>
|
|
10
|
+
<%= @page.path %>
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
<p>
|
|
14
|
+
<strong>Content:</strong>
|
|
15
|
+
<%= @page.content %>
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
<p>
|
|
19
|
+
<strong>Keywords:</strong>
|
|
20
|
+
<%= @page.keywords %>
|
|
21
|
+
</p>
|
|
22
|
+
|
|
23
|
+
<p>
|
|
24
|
+
<strong>Description:</strong>
|
|
25
|
+
<%= @page.description %>
|
|
26
|
+
</p>
|
|
27
|
+
|
|
28
|
+
<p>
|
|
29
|
+
<strong>Title:</strong>
|
|
30
|
+
<%= @page.title %>
|
|
31
|
+
</p>
|
|
32
|
+
|
|
33
|
+
<p>
|
|
34
|
+
<strong>Robots:</strong>
|
|
35
|
+
<%= @page.robots %>
|
|
36
|
+
</p>
|
|
37
|
+
|
|
38
|
+
<p>
|
|
39
|
+
<strong>Redirect url:</strong>
|
|
40
|
+
<%= @page.redirect_url %>
|
|
41
|
+
</p>
|
|
42
|
+
|
|
43
|
+
<p>
|
|
44
|
+
<strong>Title1:</strong>
|
|
45
|
+
<%= @page.title1 %>
|
|
46
|
+
</p>
|
|
47
|
+
|
|
48
|
+
<p>
|
|
49
|
+
<strong>Url1:</strong>
|
|
50
|
+
<%= @page.url1 %>
|
|
51
|
+
</p>
|
|
52
|
+
|
|
53
|
+
<p>
|
|
54
|
+
<strong>Title2:</strong>
|
|
55
|
+
<%= @page.title2 %>
|
|
56
|
+
</p>
|
|
57
|
+
|
|
58
|
+
<p>
|
|
59
|
+
<strong>Url2:</strong>
|
|
60
|
+
<%= @page.url2 %>
|
|
61
|
+
</p>
|
|
62
|
+
|
|
63
|
+
<p>
|
|
64
|
+
<strong>Title3:</strong>
|
|
65
|
+
<%= @page.title3 %>
|
|
66
|
+
</p>
|
|
67
|
+
|
|
68
|
+
<p>
|
|
69
|
+
<strong>Url3:</strong>
|
|
70
|
+
<%= @page.url3 %>
|
|
71
|
+
</p>
|
|
72
|
+
|
|
73
|
+
<p>
|
|
74
|
+
<strong>Title4:</strong>
|
|
75
|
+
<%= @page.title4 %>
|
|
76
|
+
</p>
|
|
77
|
+
|
|
78
|
+
<p>
|
|
79
|
+
<strong>Url4:</strong>
|
|
80
|
+
<%= @page.url4 %>
|
|
81
|
+
</p>
|
|
82
|
+
|
|
83
|
+
<p>
|
|
84
|
+
<strong>Title5:</strong>
|
|
85
|
+
<%= @page.title5 %>
|
|
86
|
+
</p>
|
|
87
|
+
|
|
88
|
+
<p>
|
|
89
|
+
<strong>Url5:</strong>
|
|
90
|
+
<%= @page.url5 %>
|
|
91
|
+
</p>
|
|
92
|
+
|
|
93
|
+
<%= link_to 'Просмотр', @page.path, class: 'btn btn-primary btn-lg' %>
|
|
94
|
+
<%= link_to 'Редактировать', edit_page_path(@page), class: 'btn btn-primary btn-lg' %>
|
|
95
|
+
<%= link_to 'К списку страниц', pages_path, class: 'btn btn-default btn-lg' %>
|
|
96
|
+
<%= link_to 'Удалить', @page, method: :delete, data: { confirm: 'Действительно хотите удалить страницу?' }, class: 'btn btn-danger btn-lg' %>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<%= simple_form_for(@part) do |f| %>
|
|
2
|
+
|
|
3
|
+
<%= f.error_notification %>
|
|
4
|
+
|
|
5
|
+
<%= f.input :title %>
|
|
6
|
+
<%= f.input :text, input_html: { rows: 10 } %>
|
|
7
|
+
|
|
8
|
+
<%= f.button :submit, class: 'btn btn-warning btn-lg' %>
|
|
9
|
+
<%= link_to 'Служебный просмотр', @part, class: 'btn btn-primary btn-lg', data: { confirm: 'Не сохраненные данные будут утеряны. Действительно перейти?' } if @part.persisted? %>
|
|
10
|
+
<%= link_to 'К списку страниц', parts_path, class: 'btn btn-default btn-lg', data: { confirm: 'Не сохраненные данные будут утеряны. Действительно перейти?' } %>
|
|
11
|
+
<%= link_to 'Удалить', @part, method: :delete, data: { confirm: 'Действительно хотите удалить страницу?' }, class: 'btn btn-danger btn-lg' %>
|
|
12
|
+
|
|
13
|
+
<% end %>
|
|
14
|
+
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<div class="page-header">
|
|
2
|
+
<h1>Список частей</h1>
|
|
3
|
+
</div>
|
|
4
|
+
|
|
5
|
+
<div class="alert alert-info" role="alert"><%= notice %></div>
|
|
6
|
+
|
|
7
|
+
<%= paginate @parts %>
|
|
8
|
+
|
|
9
|
+
<div style="margin-top:20px"></div>
|
|
10
|
+
|
|
11
|
+
<div class="row">
|
|
12
|
+
<div class="col-md-9">
|
|
13
|
+
<% @parts.each do |part| %>
|
|
14
|
+
<div class="well">
|
|
15
|
+
<div>
|
|
16
|
+
<dl class="dl-horizontal">
|
|
17
|
+
<%= dt_dd(part, "id") %>
|
|
18
|
+
<%= dt_dd(part, "title") %>
|
|
19
|
+
<%= dt_dd(part, "text") %>
|
|
20
|
+
<%= dt_dd(part, "created_at", lambda{|val| l(val)}) %>
|
|
21
|
+
<%= dt_dd(part, "updated_at", lambda{|val| l(val)}) %>
|
|
22
|
+
</dl>
|
|
23
|
+
<div class="text-center">
|
|
24
|
+
<%= link_to 'Служебный просмотр', part, class: 'btn btn-primary' %>
|
|
25
|
+
<%= link_to 'Редактировать', edit_part_path(part), class: 'btn btn-primary' %>
|
|
26
|
+
<%= link_to 'Удалить', part, method: :delete, data: { confirm: 'Действительно хотите удалить страницу?' }, class: 'btn btn-danger' %>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
<% end %>
|
|
31
|
+
<%= paginate @parts %>
|
|
32
|
+
</div>
|
|
33
|
+
<div class="col-md-3">
|
|
34
|
+
<div class="well">
|
|
35
|
+
Тут будут фильтры
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
|
|
40
|
+
<br>
|
|
41
|
+
|
|
42
|
+
<%= link_to 'Новая часть', new_part_path, class: 'btn btn-primary btn-lg' %>
|
|
43
|
+
|
|
44
|
+
<%= paginate @parts %>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<div class="page-header">
|
|
2
|
+
<h1>Служебный просмотр</h1>
|
|
3
|
+
</div>
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
<div class="alert alert-info" role="alert"><%= notice %></div>
|
|
7
|
+
|
|
8
|
+
<p>
|
|
9
|
+
<strong>Title:</strong>
|
|
10
|
+
<%= @part.title %>
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
<p>
|
|
14
|
+
<strong>Text:</strong>
|
|
15
|
+
<%== @part.text %>
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
<%= link_to 'Редактировать', edit_part_path(@part), class: 'btn btn-primary btn-lg' %>
|
|
19
|
+
<%= link_to 'К списку частей', parts_path, class: 'btn btn-default btn-lg' %>
|
|
20
|
+
<%= link_to 'Удалить', @part, method: :delete, data: { confirm: 'Действительно хотите удалить страницу?' }, class: 'btn btn-danger btn-lg' %>
|
|
21
|
+
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<div style="margin-top: 20px">
|
|
2
|
+
<% if @plugin_upload.persisted? %>
|
|
3
|
+
<a id="insert_files_into_ckeditor" class="btn btn-primary" style="margin-bottom: 20px">Вставить</a>
|
|
4
|
+
|
|
5
|
+
<% if @plugin_upload.file.content_type.starts_with? 'image' %>
|
|
6
|
+
<div id="file" class="img-responsive">
|
|
7
|
+
<%= image_tag @plugin_upload.file.url %>
|
|
8
|
+
</div>
|
|
9
|
+
<% else %>
|
|
10
|
+
<div id="file">
|
|
11
|
+
<%= link_to @plugin_upload.file.filename, @plugin_upload.file.url %>
|
|
12
|
+
</div>
|
|
13
|
+
<% end %>
|
|
14
|
+
|
|
15
|
+
<div id="ckeditor-name" class="hide"><%= params['CKEditor'] %></div>
|
|
16
|
+
<% else %>
|
|
17
|
+
<%= simple_form_for(@plugin_upload, url: main_app.plugin_uploads_path(@plugin_upload, 'CKEditor' => params['CKEditor'])) do |f| %>
|
|
18
|
+
<%= f.input :file, label: 'Выберите файл' %>
|
|
19
|
+
<%= f.input :remote_file_url, label: 'Или укажите ссылку на файл' %>
|
|
20
|
+
<%= f.button :submit, 'Загрузить', class: 'btn btn-primary' %>
|
|
21
|
+
<% end %>
|
|
22
|
+
<% end %>
|
|
23
|
+
</div>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<br>
|
|
2
|
+
|
|
3
|
+
<pre>
|
|
4
|
+
Create app/views/ckpages/public/show.html.erb in your application.
|
|
5
|
+
</pre>
|
|
6
|
+
|
|
7
|
+
<hr>
|
|
8
|
+
|
|
9
|
+
<h4> Content of @page </h4>
|
|
10
|
+
|
|
11
|
+
<%= debug @page %>
|
|
12
|
+
|
|
13
|
+
<hr>
|
|
14
|
+
|
|
15
|
+
<pre>
|
|
16
|
+
link_to 'edit page', edit_page_path(@page)
|
|
17
|
+
</pre>
|
|
18
|
+
|
|
19
|
+
<%= link_to 'edit page', edit_page_path(@page) %>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<br>
|
|
2
|
+
|
|
3
|
+
<pre>
|
|
4
|
+
Create app/views/ckpages/public404/show.html.erb in your application.
|
|
5
|
+
</pre>
|
|
6
|
+
|
|
7
|
+
<hr>
|
|
8
|
+
|
|
9
|
+
<h4> Content of params </h4>
|
|
10
|
+
|
|
11
|
+
<%= debug params %>
|
|
12
|
+
|
|
13
|
+
<hr>
|
|
14
|
+
|
|
15
|
+
<pre>
|
|
16
|
+
link_to 'new page', ckpages.new_page_path(path: "/#{params[:path]}")
|
|
17
|
+
</pre>
|
|
18
|
+
|
|
19
|
+
<%= link_to 'new page', new_page_path(path: "/#{params[:path]}") %>
|