kuhsaft 1.2.9 → 1.2.10
Sign up to get free protection for your applications and to get access to all the features.
- data/app/models/kuhsaft/asset_brick.rb +25 -0
- data/app/models/kuhsaft/link_brick.rb +1 -1
- data/app/uploaders/kuhsaft/asset_brick_asset_uploader.rb +42 -0
- data/app/views/kuhsaft/asset_bricks/_asset_brick.html.haml +2 -0
- data/app/views/kuhsaft/asset_bricks/asset_brick/_edit.html.haml +7 -0
- data/app/views/kuhsaft/link_bricks/_link_brick.html.haml +1 -2
- data/app/views/kuhsaft/link_bricks/link_brick/_edit.html.haml +1 -0
- data/config/locales/models/kuhsaft/asset_brick/de.yml +9 -0
- data/config/locales/models/kuhsaft/link_brick/de.yml +1 -0
- data/config/locales/views/kuhsaft/cms/bricks/de.yml +5 -0
- data/db/migrate/{20130206141601_remove_cms_admin.rb → 05_remove_cms_admin.rb} +0 -0
- data/db/migrate/{8_add_display_styles_to_bricks.rb → 08_add_display_styles_to_bricks.rb} +0 -0
- data/db/migrate/09_add_additional_fields_to_kuhsaft_bricks.rb +6 -0
- data/db/seeds.rb +1 -0
- data/lib/kuhsaft/version.rb +1 -1
- data/spec/models/asset_brick_spec.rb +45 -0
- metadata +15 -6
@@ -0,0 +1,25 @@
|
|
1
|
+
module Kuhsaft
|
2
|
+
class AssetBrick < Brick
|
3
|
+
attr_accessible :caption, :link_style, :asset
|
4
|
+
|
5
|
+
mount_uploader :asset, Kuhsaft::AssetBrickAssetUploader
|
6
|
+
|
7
|
+
validates :caption, :asset, :presence => true
|
8
|
+
|
9
|
+
def self.styles
|
10
|
+
%w(pdf word excel button)
|
11
|
+
end
|
12
|
+
|
13
|
+
def to_style_class
|
14
|
+
[super, link_style.presence].join(' ')
|
15
|
+
end
|
16
|
+
|
17
|
+
def collect_fulltext
|
18
|
+
[super, caption].join(' ')
|
19
|
+
end
|
20
|
+
|
21
|
+
def user_can_add_childs?
|
22
|
+
false
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
class Kuhsaft::AssetBrickAssetUploader < CarrierWave::Uploader::Base
|
4
|
+
|
5
|
+
# Include RMagick or ImageScience support:
|
6
|
+
# include CarrierWave::MiniMagick
|
7
|
+
#include CarrierWave::ImageScience
|
8
|
+
|
9
|
+
# Choose what kind of storage to use for this uploader:
|
10
|
+
storage :file
|
11
|
+
# storage :s3
|
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
|
+
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{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
|
+
# Add a white list of extensions which are allowed to be uploaded.
|
32
|
+
# For images you might use something like this:
|
33
|
+
def extension_white_list
|
34
|
+
%w(pdf doc docx xls xlsx ppt pptx)
|
35
|
+
end
|
36
|
+
|
37
|
+
# Override the filename of the uploaded files:
|
38
|
+
# def filename
|
39
|
+
# "something.jpg" if original_filename
|
40
|
+
# end
|
41
|
+
|
42
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
= form.input :caption, :as => :string, :input_html => { :class => 'span6' }
|
2
|
+
= form.input :asset
|
3
|
+
- if brick.asset.present?
|
4
|
+
.countrol-group
|
5
|
+
%label
|
6
|
+
= link_to File.basename(brick.asset.url), brick.asset.url
|
7
|
+
= form.input :link_style, :collection => Kuhsaft::AssetBrick.styles
|
File without changes
|
File without changes
|
data/db/seeds.rb
CHANGED
@@ -10,3 +10,4 @@ Kuhsaft::BrickType.create(:class_name => 'Kuhsaft::SliderBrick', :group => 'elem
|
|
10
10
|
Kuhsaft::BrickType.create(:class_name => 'Kuhsaft::ImageBrick', :group => 'elements')
|
11
11
|
Kuhsaft::BrickType.create(:class_name => 'Kuhsaft::PlaceholderBrick', :group => 'elements')
|
12
12
|
Kuhsaft::BrickType.create(:class_name => 'Kuhsaft::AnchorBrick', :group => 'elements')
|
13
|
+
Kuhsaft::BrickType.create(:class_name => 'Kuhsaft::AssetBrick', :group => 'elements')
|
data/lib/kuhsaft/version.rb
CHANGED
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Kuhsaft::AssetBrick do
|
4
|
+
|
5
|
+
let :asset_brick do
|
6
|
+
Kuhsaft::AssetBrick.new
|
7
|
+
end
|
8
|
+
|
9
|
+
describe '#valid' do
|
10
|
+
before do
|
11
|
+
asset_brick.valid?
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'without a #caption' do
|
15
|
+
it 'has an error' do
|
16
|
+
asset_brick.should have(1).error_on(:caption)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe '#bricks' do
|
22
|
+
it 'can not have childs' do
|
23
|
+
asset_brick.should_not respond_to(:bricks)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe '.styles' do
|
28
|
+
it 'returns the available link styles' do
|
29
|
+
Kuhsaft::AssetBrick.styles.should == %w(pdf word excel button)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe '#to_style_class' do
|
34
|
+
it 'includes the link style' do
|
35
|
+
asset_brick.stub(:link_style).and_return('pdf')
|
36
|
+
asset_brick.to_style_class.should == 'kuhsaft-asset-brick pdf'
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
describe '#user_can_add_childs?' do
|
41
|
+
it 'returns false' do
|
42
|
+
asset_brick.user_can_add_childs?.should be_false
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
metadata
CHANGED
@@ -1,17 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kuhsaft
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.10
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Immanuel Häussermann
|
9
9
|
- Felipe Kaufmann
|
10
10
|
- Phil Schilter
|
11
|
+
- Donat Baier
|
11
12
|
autorequire:
|
12
13
|
bindir: bin
|
13
14
|
cert_chain: []
|
14
|
-
date: 2013-03-
|
15
|
+
date: 2013-03-08 00:00:00.000000000 Z
|
15
16
|
dependencies:
|
16
17
|
- !ruby/object:Gem::Dependency
|
17
18
|
name: rspec
|
@@ -328,6 +329,7 @@ files:
|
|
328
329
|
- app/models/kuhsaft/accordion_item_brick.rb
|
329
330
|
- app/models/kuhsaft/anchor_brick.rb
|
330
331
|
- app/models/kuhsaft/asset.rb
|
332
|
+
- app/models/kuhsaft/asset_brick.rb
|
331
333
|
- app/models/kuhsaft/brick.rb
|
332
334
|
- app/models/kuhsaft/brick_type.rb
|
333
335
|
- app/models/kuhsaft/brick_type_filter.rb
|
@@ -345,6 +347,7 @@ files:
|
|
345
347
|
- app/models/kuhsaft/text_brick.rb
|
346
348
|
- app/models/kuhsaft/two_column_brick.rb
|
347
349
|
- app/models/kuhsaft/video_brick.rb
|
350
|
+
- app/uploaders/kuhsaft/asset_brick_asset_uploader.rb
|
348
351
|
- app/uploaders/kuhsaft/asset_uploader.rb
|
349
352
|
- app/uploaders/kuhsaft/image_brick_image_uploader.rb
|
350
353
|
- app/views/kuhsaft/accordion_bricks/_accordion_brick.html.haml
|
@@ -353,6 +356,8 @@ files:
|
|
353
356
|
- app/views/kuhsaft/accordion_item_bricks/accordion_item_brick/_edit.html.haml
|
354
357
|
- app/views/kuhsaft/anchor_bricks/_anchor_brick.html.haml
|
355
358
|
- app/views/kuhsaft/anchor_bricks/anchor_brick/_edit.html.haml
|
359
|
+
- app/views/kuhsaft/asset_bricks/_asset_brick.html.haml
|
360
|
+
- app/views/kuhsaft/asset_bricks/asset_brick/_edit.html.haml
|
356
361
|
- app/views/kuhsaft/cms/admin/_brick_type_dropdown.html.haml
|
357
362
|
- app/views/kuhsaft/cms/admin/_content_language_switch.html.haml
|
358
363
|
- app/views/kuhsaft/cms/admin/_empty_state.html.haml
|
@@ -401,6 +406,7 @@ files:
|
|
401
406
|
- config/locales/models/kuhsaft/accordion_brick/de.yml
|
402
407
|
- config/locales/models/kuhsaft/accordion_item_brick/de.yml
|
403
408
|
- config/locales/models/kuhsaft/anchor_brick/de.yml
|
409
|
+
- config/locales/models/kuhsaft/asset_brick/de.yml
|
404
410
|
- config/locales/models/kuhsaft/column_brick/de.yml
|
405
411
|
- config/locales/models/kuhsaft/image_brick/de.yml
|
406
412
|
- config/locales/models/kuhsaft/image_size/de.yml
|
@@ -423,10 +429,11 @@ files:
|
|
423
429
|
- db/migrate/02_create_kuhsaft_bricks.rb
|
424
430
|
- db/migrate/03_create_kuhsaft_brick_types.rb
|
425
431
|
- db/migrate/04_create_kuhsaft_assets.rb
|
432
|
+
- db/migrate/05_remove_cms_admin.rb
|
426
433
|
- db/migrate/06_add_template_name_to_kuhsaft_bricks.rb
|
427
434
|
- db/migrate/07_add_default_value_to_brick_type_enabled.rb
|
428
|
-
- db/migrate/
|
429
|
-
- db/migrate/
|
435
|
+
- db/migrate/08_add_display_styles_to_bricks.rb
|
436
|
+
- db/migrate/09_add_additional_fields_to_kuhsaft_bricks.rb
|
430
437
|
- db/seeds.rb
|
431
438
|
- lib/generators/kuhsaft/assets/install_generator.rb
|
432
439
|
- lib/generators/kuhsaft/translations/add_generator.rb
|
@@ -487,6 +494,7 @@ files:
|
|
487
494
|
- spec/models/accordion_brick_spec.rb
|
488
495
|
- spec/models/accordion_item_brick_spec.rb
|
489
496
|
- spec/models/anchor_brick_spec.rb
|
497
|
+
- spec/models/asset_brick_spec.rb
|
490
498
|
- spec/models/asset_spec.rb
|
491
499
|
- spec/models/brick_spec.rb
|
492
500
|
- spec/models/brick_type_filter_spec.rb
|
@@ -517,7 +525,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
517
525
|
version: '0'
|
518
526
|
segments:
|
519
527
|
- 0
|
520
|
-
hash:
|
528
|
+
hash: 2082020547520561498
|
521
529
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
522
530
|
none: false
|
523
531
|
requirements:
|
@@ -526,7 +534,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
526
534
|
version: '0'
|
527
535
|
segments:
|
528
536
|
- 0
|
529
|
-
hash:
|
537
|
+
hash: 2082020547520561498
|
530
538
|
requirements: []
|
531
539
|
rubyforge_project: kuhsaft
|
532
540
|
rubygems_version: 1.8.24
|
@@ -576,6 +584,7 @@ test_files:
|
|
576
584
|
- spec/models/accordion_brick_spec.rb
|
577
585
|
- spec/models/accordion_item_brick_spec.rb
|
578
586
|
- spec/models/anchor_brick_spec.rb
|
587
|
+
- spec/models/asset_brick_spec.rb
|
579
588
|
- spec/models/asset_spec.rb
|
580
589
|
- spec/models/brick_spec.rb
|
581
590
|
- spec/models/brick_type_filter_spec.rb
|