th_simple_content_management 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/app/assets/images/simple_content_management/resize-handle.png +0 -0
- data/app/assets/javascripts/simple_content_management/simple_pages.js +1 -21
- data/app/assets/javascripts/simple_content_management/simple_pages/form.js +32 -0
- data/app/assets/javascripts/th-page-editor/column.js +136 -0
- data/app/assets/javascripts/th-page-editor/index.js +104 -0
- data/app/assets/javascripts/th-page-editor/row.js +90 -0
- data/app/assets/stylesheets/simple_content_management/simple_pages.css.scss +80 -8
- data/app/controllers/redactor_rails/documents_controller.rb +28 -0
- data/app/controllers/redactor_rails/pictures_controller.rb +28 -0
- data/app/helpers/simple_content_management/simple_pages_helper.rb +4 -0
- data/app/models/redactor/asset.rb +5 -0
- data/app/models/redactor/document.rb +11 -0
- data/app/models/redactor/picture.rb +7 -0
- data/app/models/simple_content_management/simple_menu.rb +1 -1
- data/app/models/simple_content_management/simple_page.rb +6 -0
- data/app/views/simple_content_management/simple_pages/_form.html.erb +48 -3
- data/config/routes.rb +4 -0
- data/lib/generators/redactor/config_generator.rb +18 -0
- data/lib/generators/redactor/install_generator.rb +75 -0
- data/lib/generators/redactor/templates/active_record/carrierwave/devise_migration.rb +30 -0
- data/lib/generators/redactor/templates/active_record/carrierwave/migration.rb +30 -0
- data/lib/generators/redactor/templates/active_record/carrierwave/redactor/asset.rb +5 -0
- data/lib/generators/redactor/templates/active_record/carrierwave/redactor/document.rb +11 -0
- data/lib/generators/redactor/templates/active_record/carrierwave/redactor/picture.rb +7 -0
- data/lib/generators/redactor/templates/base/carrierwave/uploaders/redactor_rails_document_uploader.rb +15 -0
- data/lib/generators/redactor/templates/base/carrierwave/uploaders/redactor_rails_picture_uploader.rb +53 -0
- data/lib/generators/redactor/templates/config.js +17 -0
- data/lib/generators/redactor/templates/mongoid/carrierwave/redactor/asset.rb +9 -0
- data/lib/generators/redactor/templates/mongoid/carrierwave/redactor/document.rb +14 -0
- data/lib/generators/redactor/templates/mongoid/carrierwave/redactor/picture.rb +7 -0
- data/lib/redactor-rails.rb +41 -0
- data/lib/redactor-rails/backend/carrierwave.rb +64 -0
- data/lib/redactor-rails/devise.rb +11 -0
- data/lib/redactor-rails/engine.rb +14 -0
- data/lib/redactor-rails/helper.rb +8 -0
- data/lib/redactor-rails/http.rb +89 -0
- data/lib/redactor-rails/orm/active_record.rb +27 -0
- data/lib/redactor-rails/orm/base.rb +38 -0
- data/lib/redactor-rails/orm/mongoid.rb +37 -0
- data/lib/redactor-rails/version.rb +3 -0
- data/lib/redactor_rails_document_uploader.rb +15 -0
- data/lib/redactor_rails_picture_uploader.rb +53 -0
- data/lib/simple_content_management.rb +5 -0
- data/lib/simple_content_management/content_text.rb +25 -0
- data/lib/simple_content_management/version.rb +1 -1
- data/vendor/assets/javascripts/redactor-rails/config.js +17 -0
- data/vendor/assets/javascripts/redactor-rails/css/docstyle.css +139 -0
- data/vendor/assets/javascripts/redactor-rails/css/style.css +26 -0
- data/vendor/assets/javascripts/redactor-rails/css/wym.css +151 -0
- data/vendor/assets/javascripts/redactor-rails/index.js +2 -0
- data/vendor/assets/javascripts/redactor-rails/langs/ar.js +66 -0
- data/vendor/assets/javascripts/redactor-rails/langs/ba.js +69 -0
- data/vendor/assets/javascripts/redactor-rails/langs/bg.js +67 -0
- data/vendor/assets/javascripts/redactor-rails/langs/by.js +65 -0
- data/vendor/assets/javascripts/redactor-rails/langs/cs.js +77 -0
- data/vendor/assets/javascripts/redactor-rails/langs/da.js +66 -0
- data/vendor/assets/javascripts/redactor-rails/langs/de.js +70 -0
- data/vendor/assets/javascripts/redactor-rails/langs/en.js +66 -0
- data/vendor/assets/javascripts/redactor-rails/langs/eo.js +66 -0
- data/vendor/assets/javascripts/redactor-rails/langs/es.js +66 -0
- data/vendor/assets/javascripts/redactor-rails/langs/fa.js +66 -0
- data/vendor/assets/javascripts/redactor-rails/langs/fi.js +69 -0
- data/vendor/assets/javascripts/redactor-rails/langs/fr.js +76 -0
- data/vendor/assets/javascripts/redactor-rails/langs/hr.js +69 -0
- data/vendor/assets/javascripts/redactor-rails/langs/hu.js +67 -0
- data/vendor/assets/javascripts/redactor-rails/langs/id.js +66 -0
- data/vendor/assets/javascripts/redactor-rails/langs/it.js +68 -0
- data/vendor/assets/javascripts/redactor-rails/langs/ja.js +66 -0
- data/vendor/assets/javascripts/redactor-rails/langs/ko.js +66 -0
- data/vendor/assets/javascripts/redactor-rails/langs/lv.js +65 -0
- data/vendor/assets/javascripts/redactor-rails/langs/nl.js +69 -0
- data/vendor/assets/javascripts/redactor-rails/langs/pl.js +66 -0
- data/vendor/assets/javascripts/redactor-rails/langs/pt_br.js +72 -0
- data/vendor/assets/javascripts/redactor-rails/langs/ro.js +66 -0
- data/vendor/assets/javascripts/redactor-rails/langs/ru.js +66 -0
- data/vendor/assets/javascripts/redactor-rails/langs/sk.js +66 -0
- data/vendor/assets/javascripts/redactor-rails/langs/sq.js +69 -0
- data/vendor/assets/javascripts/redactor-rails/langs/sr-cir.js +69 -0
- data/vendor/assets/javascripts/redactor-rails/langs/sr-lat.js +69 -0
- data/vendor/assets/javascripts/redactor-rails/langs/sv.js +66 -0
- data/vendor/assets/javascripts/redactor-rails/langs/tr.js +66 -0
- data/vendor/assets/javascripts/redactor-rails/langs/ua.js +67 -0
- data/vendor/assets/javascripts/redactor-rails/langs/vi.js +65 -0
- data/vendor/assets/javascripts/redactor-rails/langs/zh_cn.js +70 -0
- data/vendor/assets/javascripts/redactor-rails/langs/zh_tw.js +66 -0
- data/vendor/assets/javascripts/redactor-rails/redactor.js +6074 -0
- data/vendor/assets/stylesheets/redactor-rails/css/redactor-iframe.css +201 -0
- data/vendor/assets/stylesheets/redactor-rails/css/redactor.css +780 -0
- data/vendor/assets/stylesheets/redactor-rails/css/style.css +26 -0
- data/vendor/assets/stylesheets/redactor-rails/index.css +1 -0
- metadata +151 -70
- checksums.yaml +0 -15
@@ -0,0 +1,28 @@
|
|
1
|
+
require "redactor-rails"
|
2
|
+
|
3
|
+
class RedactorRails::DocumentsController < ApplicationController
|
4
|
+
before_filter :redactor_authenticate_user! if RedactorRails.document_model.new.respond_to?(RedactorRails.devise_user)
|
5
|
+
|
6
|
+
def index
|
7
|
+
@documents = RedactorRails.document_model.where(
|
8
|
+
RedactorRails.document_model.new.respond_to?(RedactorRails.devise_user) ? { RedactorRails.devise_user_key => redactor_current_user.id } : { })
|
9
|
+
render :json => @documents.to_json
|
10
|
+
end
|
11
|
+
|
12
|
+
def create
|
13
|
+
@document = RedactorRails.document_model.new
|
14
|
+
|
15
|
+
file = params[:file]
|
16
|
+
@document.data = RedactorRails::Http.normalize_param(file, request)
|
17
|
+
if @document.respond_to?(RedactorRails.devise_user)
|
18
|
+
@document.send("#{RedactorRails.devise_user}=", redactor_current_user)
|
19
|
+
@document.assetable = redactor_current_user
|
20
|
+
end
|
21
|
+
|
22
|
+
if @document.save
|
23
|
+
render :text => { :filelink => @document.url, :filename => @document.filename }.to_json
|
24
|
+
else
|
25
|
+
render :nothing => true
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require "redactor-rails"
|
2
|
+
|
3
|
+
class RedactorRails::PicturesController < ApplicationController
|
4
|
+
before_filter :redactor_authenticate_user! if RedactorRails.picture_model.new.respond_to?(RedactorRails.devise_user)
|
5
|
+
|
6
|
+
def index
|
7
|
+
@pictures = RedactorRails.picture_model.where(
|
8
|
+
RedactorRails.picture_model.new.respond_to?(RedactorRails.devise_user) ? { RedactorRails.devise_user_key => redactor_current_user.id } : { })
|
9
|
+
render :json => @pictures.to_json
|
10
|
+
end
|
11
|
+
|
12
|
+
def create
|
13
|
+
@picture = RedactorRails.picture_model.new
|
14
|
+
|
15
|
+
file = params[:file]
|
16
|
+
@picture.data = RedactorRails::Http.normalize_param(file, request)
|
17
|
+
if @picture.respond_to?(RedactorRails.devise_user)
|
18
|
+
@picture.send("#{RedactorRails.devise_user}=", redactor_current_user)
|
19
|
+
@picture.assetable = redactor_current_user
|
20
|
+
end
|
21
|
+
|
22
|
+
if @picture.save
|
23
|
+
render :text => { :filelink => @picture.url }.to_json
|
24
|
+
else
|
25
|
+
render :nothing => true
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -2,4 +2,8 @@ module SimpleContentManagement::SimplePagesHelper
|
|
2
2
|
def render_page_by_name name
|
3
3
|
SimpleContentManagement::SimplePage.where(name: name).first.try(:content_html).try(:html_safe)
|
4
4
|
end
|
5
|
+
|
6
|
+
def render_page_by_path path
|
7
|
+
SimpleContentManagement::SimplePage.search(simple_routes_path_equals: path).first.try(:content_html).try(:html_safe)
|
8
|
+
end
|
5
9
|
end
|
@@ -38,7 +38,7 @@ class SimpleContentManagement::SimpleMenu
|
|
38
38
|
|
39
39
|
def simple_menu_items_data= smis_data_string
|
40
40
|
smis_data = JSON.parse smis_data_string
|
41
|
-
existing_smis =
|
41
|
+
existing_smis = SimpleContentManagement::SimpleMenuItem.where(simple_menu_id: id).all
|
42
42
|
smis_data.each_with_index do |smi_data, position|
|
43
43
|
smi_data["simple_menu_id"] = id
|
44
44
|
smi_data["position"] = position
|
@@ -1,4 +1,6 @@
|
|
1
1
|
class SimpleContentManagement::SimplePage < ActiveRecord::Base
|
2
|
+
include SimpleContentManagement::ContentText
|
3
|
+
|
2
4
|
has_many :simple_routes, conditions: { deleted: false }, class_name: "SimpleContentManagement::SimpleRoute"
|
3
5
|
|
4
6
|
attr_accessible :name, :title, :content_html, :simple_routes_list
|
@@ -39,6 +41,10 @@ class SimpleContentManagement::SimplePage < ActiveRecord::Base
|
|
39
41
|
update_attribute :deleted, true
|
40
42
|
end
|
41
43
|
|
44
|
+
def label
|
45
|
+
title
|
46
|
+
end
|
47
|
+
|
42
48
|
class << self
|
43
49
|
def registered_content_pages
|
44
50
|
@registered_content_pages ||= YAML.load_file File.join Rails.root, "config", "content_pages.yml"
|
@@ -1,9 +1,54 @@
|
|
1
|
-
<%=
|
1
|
+
<div data-iframe-style-path="<%= stylesheet_path "iframe.css" %>"></div>
|
2
|
+
<%= simple_form_for [:admin, @simple_page], url: @simple_page.new_record? ? simple_content_management_simple_pages_path : simple_content_management_simple_page_path(@simple_page), html: { class: "simple-page-form" } do |f| %>
|
2
3
|
<%= f.input :simple_routes_list, input_html: { data: { simple_routes_list: true } }, wrapper_html: { class: "simple-routes-list" }, hint: "Voeg één of meerdere URL paden toe." %>
|
3
4
|
<%= f.input :title, hint: "Wordt gebruikt als HTML titel." %>
|
4
|
-
<%= f.input :content_html,
|
5
|
+
<%= f.input :content_html, as: :hidden %>
|
6
|
+
|
7
|
+
<div class="content-html-container">
|
8
|
+
<%== @simple_page.content_html %>
|
9
|
+
</div>
|
5
10
|
|
6
11
|
<div class="form-actions">
|
7
12
|
<%= f.button :submit %>
|
8
13
|
</div>
|
9
|
-
<% end %>
|
14
|
+
<% end %>
|
15
|
+
|
16
|
+
<div id="content-editor" class="modal hide" role="dialog" aria-labelledby="content-editor-label" aria-hidden="true">
|
17
|
+
<div class="modal-header">
|
18
|
+
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
19
|
+
<h3 id="content-editor-label">Inhoud bewerken</h3>
|
20
|
+
<ul class="nav nav-tabs">
|
21
|
+
<li class="active"><a href="#editor-html-content" data-toggle="tab">Tekst</a></li>
|
22
|
+
<li><a href="#editor-container" data-toggle="tab">Container</a></li>
|
23
|
+
<li><a href="#editor-bloc-component" data-toggle="tab">Linkbanner</a></li>
|
24
|
+
</ul>
|
25
|
+
</div>
|
26
|
+
<div class="modal-body">
|
27
|
+
<div class="tab-content">
|
28
|
+
<div class="tab-pane active" id="editor-html-content">
|
29
|
+
<textarea cols=140 rows=12></textarea>
|
30
|
+
</div>
|
31
|
+
<div class="tab-pane" id="editor-container">
|
32
|
+
<h2>Converteer dit blok naar een container</h2>
|
33
|
+
<p class=lead>
|
34
|
+
Dit blok wordt dan omsloten door een nieuwe container waaraan kolommen en regels toegevoegd kunnen worden.
|
35
|
+
</p>
|
36
|
+
<p>
|
37
|
+
Klik op toepassen om dit blok te converteren. Er zal geen informatie verloren gaan, maar deze actie kan niet ongedaan worden.
|
38
|
+
</p>
|
39
|
+
</div>
|
40
|
+
<div class="tab-pane" id="editor-bloc-component">
|
41
|
+
<h2>Linkbanner</h2>
|
42
|
+
Hier komen nog invulvelden voor:<br>
|
43
|
+
- afbeelding<br>
|
44
|
+
- koptekst regel 1 & 2<br>
|
45
|
+
- link
|
46
|
+
- formaat (groot, 9 kolommen of klein, 3 kolommen)
|
47
|
+
</div>
|
48
|
+
</div>
|
49
|
+
</div>
|
50
|
+
<div class="modal-footer">
|
51
|
+
<button class="btn" data-dismiss="modal" aria-hidden="true">Annuleren</button>
|
52
|
+
<button class="btn btn-primary" data-save-button>Toepassen</button>
|
53
|
+
</div>
|
54
|
+
</div>
|
data/config/routes.rb
CHANGED
@@ -1,4 +1,8 @@
|
|
1
1
|
Rails.application.routes.draw do
|
2
|
+
namespace :redactor_rails, path: "redactor_rails" do
|
3
|
+
resources :pictures, :only => [:index, :create]
|
4
|
+
resources :documents, :only => [:index, :create]
|
5
|
+
end
|
2
6
|
namespace :simple_content_management, path: "admin" do
|
3
7
|
resources :simple_content_pages
|
4
8
|
resources :simple_pages
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
module Redactor
|
3
|
+
module Generators
|
4
|
+
class ConfigGenerator < ::Rails::Generators::Base
|
5
|
+
desc "Generates redactor-rails config"
|
6
|
+
|
7
|
+
def self.source_root
|
8
|
+
@source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
|
9
|
+
end
|
10
|
+
|
11
|
+
|
12
|
+
def create_config
|
13
|
+
template "config.js",
|
14
|
+
File.join('app/assets/javascripts/redactor-rails', "config.js")
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
require 'rails/generators/migration'
|
3
|
+
module Redactor
|
4
|
+
module Generators
|
5
|
+
class InstallGenerator < ::Rails::Generators::Base
|
6
|
+
include ::Rails::Generators::Migration
|
7
|
+
desc "Generates migration for Tag and Tagging models"
|
8
|
+
|
9
|
+
class_option :orm, :type => :string, :default => "active_record",
|
10
|
+
:desc => "Backend processor for upload support"
|
11
|
+
|
12
|
+
class_option :backend, :type => :string, :default => 'carrierwave',
|
13
|
+
:desc => "carrierwave(default)"
|
14
|
+
|
15
|
+
def self.source_root
|
16
|
+
@source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.next_migration_number(dirname)
|
20
|
+
Time.now.strftime("%Y%m%d%H%M%S")
|
21
|
+
end
|
22
|
+
|
23
|
+
def mount_engine
|
24
|
+
route "mount RedactorRails::Engine => '/redactor_rails'"
|
25
|
+
end
|
26
|
+
|
27
|
+
def create_models
|
28
|
+
[:asset, :picture, :document].each do |filename|
|
29
|
+
template "#{generator_dir}/redactor/#{filename}.rb",
|
30
|
+
File.join('app/models', redactor_dir, "#{filename}.rb")
|
31
|
+
end
|
32
|
+
|
33
|
+
if backend == "carrierwave"
|
34
|
+
[:picture, :document].each do |filename|
|
35
|
+
template "#{uploaders_dir}/uploaders/redactor_rails_#{filename}_uploader.rb",
|
36
|
+
File.join("app/uploaders", "redactor_rails_#{filename}_uploader.rb")
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def create_migration
|
42
|
+
if orm.to_s == "active_record"
|
43
|
+
if ARGV.include?('--devise')
|
44
|
+
migration_template "#{generator_dir}/devise_migration.rb", File.join('db/migrate', "create_redactor_assets.rb")
|
45
|
+
else
|
46
|
+
migration_template "#{generator_dir}/migration.rb", File.join('db/migrate', "create_redactor_assets.rb")
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
protected
|
52
|
+
|
53
|
+
def redactor_dir
|
54
|
+
'redactor_rails'
|
55
|
+
end
|
56
|
+
|
57
|
+
def generator_dir
|
58
|
+
@generator_dir ||= [orm, backend].join('/')
|
59
|
+
end
|
60
|
+
|
61
|
+
def uploaders_dir
|
62
|
+
@uploaders_dir ||= ['base', 'carrierwave'].join('/')
|
63
|
+
end
|
64
|
+
|
65
|
+
def orm
|
66
|
+
options[:orm] || "active_record"
|
67
|
+
end
|
68
|
+
|
69
|
+
def backend
|
70
|
+
options[:backend] || "carrierwave"
|
71
|
+
end
|
72
|
+
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
class CreateRedactorAssets < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :redactor_assets do |t|
|
4
|
+
t.integer :user_id
|
5
|
+
t.string :data_file_name, :null => false
|
6
|
+
t.string :data_content_type
|
7
|
+
t.integer :data_file_size
|
8
|
+
|
9
|
+
t.integer :assetable_id
|
10
|
+
t.string :assetable_type, :limit => 30
|
11
|
+
t.string :type, :limit => 30
|
12
|
+
|
13
|
+
# Uncomment it to save images dimensions, if your need it
|
14
|
+
t.integer :width
|
15
|
+
t.integer :height
|
16
|
+
|
17
|
+
t.timestamps
|
18
|
+
end
|
19
|
+
|
20
|
+
# Uncomment it to add foreign key. gem 'foreigner' is required in your .Gemfile
|
21
|
+
# add_foreign_key(:redactor_assets, :users, dependent: :delete)
|
22
|
+
add_index "redactor_assets", ["assetable_type", "type", "assetable_id"], :name => "idx_redactor_assetable_type"
|
23
|
+
add_index "redactor_assets", ["assetable_type", "assetable_id"], :name => "idx_redactor_assetable"
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.down
|
27
|
+
drop_table :redactor_assets
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
@@ -0,0 +1,30 @@
|
|
1
|
+
class CreateRedactorAssets < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :redactor_assets do |t|
|
4
|
+
t.integer :user_id
|
5
|
+
t.string :data_file_name, :null => false
|
6
|
+
t.string :data_content_type
|
7
|
+
t.integer :data_file_size
|
8
|
+
|
9
|
+
t.integer :assetable_id
|
10
|
+
t.string :assetable_type, :limit => 30
|
11
|
+
t.string :type, :limit => 30
|
12
|
+
|
13
|
+
# Uncomment it to save images dimensions, if your need it
|
14
|
+
t.integer :width
|
15
|
+
t.integer :height
|
16
|
+
|
17
|
+
t.timestamps
|
18
|
+
end
|
19
|
+
|
20
|
+
# Uncomment it to add foreign key. gem 'foreigner' is required in your .Gemfile
|
21
|
+
# add_foreign_key(:redactor_assets, :users, dependent: :delete)
|
22
|
+
add_index "redactor_assets", ["assetable_type", "type", "assetable_id"], :name => "idx_redactor_assetable_type"
|
23
|
+
add_index "redactor_assets", ["assetable_type", "assetable_id"], :name => "idx_redactor_assetable"
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.down
|
27
|
+
drop_table :redactor_assets
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
class RedactorRailsDocumentUploader < CarrierWave::Uploader::Base
|
3
|
+
include RedactorRails::Backend::CarrierWave
|
4
|
+
|
5
|
+
# storage :fog
|
6
|
+
storage :file
|
7
|
+
|
8
|
+
def store_dir
|
9
|
+
"system/redactor_assets/documents/#{model.id}"
|
10
|
+
end
|
11
|
+
|
12
|
+
def extension_white_list
|
13
|
+
RedactorRails.document_file_types
|
14
|
+
end
|
15
|
+
end
|
data/lib/generators/redactor/templates/base/carrierwave/uploaders/redactor_rails_picture_uploader.rb
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
class RedactorRailsPictureUploader < CarrierWave::Uploader::Base
|
3
|
+
include RedactorRails::Backend::CarrierWave
|
4
|
+
|
5
|
+
# Include RMagick or ImageScience support:
|
6
|
+
# include CarrierWave::RMagick
|
7
|
+
include CarrierWave::MiniMagick
|
8
|
+
# include CarrierWave::ImageScience
|
9
|
+
|
10
|
+
# Choose what kind of storage to use for this uploader:
|
11
|
+
storage :file
|
12
|
+
|
13
|
+
# Override the directory where uploaded files will be stored.
|
14
|
+
# This is a sensible default for uploaders that are meant to be mounted:
|
15
|
+
def store_dir
|
16
|
+
"system/redactor_assets/pictures/#{model.id}"
|
17
|
+
end
|
18
|
+
|
19
|
+
# Provide a default URL as a default if there hasn't been a file uploaded:
|
20
|
+
# def default_url
|
21
|
+
# "/images/fallback/" + [version_name, "default.png"].compact.join('_')
|
22
|
+
# end
|
23
|
+
|
24
|
+
# Process files as they are uploaded:
|
25
|
+
# process :scale => [200, 300]
|
26
|
+
#
|
27
|
+
# def scale(width, height)
|
28
|
+
# # do something
|
29
|
+
# end
|
30
|
+
|
31
|
+
process :read_dimensions
|
32
|
+
|
33
|
+
# Create different versions of your uploaded files:
|
34
|
+
version :thumb do
|
35
|
+
process :resize_to_fill => [118, 100]
|
36
|
+
end
|
37
|
+
|
38
|
+
version :content do
|
39
|
+
process :resize_to_limit => [800, 800]
|
40
|
+
end
|
41
|
+
|
42
|
+
# Add a white list of extensions which are allowed to be uploaded.
|
43
|
+
# For images you might use something like this:
|
44
|
+
def extension_white_list
|
45
|
+
RedactorRails.image_file_types
|
46
|
+
end
|
47
|
+
|
48
|
+
# Override the filename of the uploaded files:
|
49
|
+
# Avoid using model.id or version_name here, see uploader/store.rb for details.
|
50
|
+
# def filename
|
51
|
+
# "something.jpg" if original_filename
|
52
|
+
# end
|
53
|
+
end
|