goldencobra 2.3.3 → 2.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/app/models/goldencobra/article.rb +58 -47
  3. data/app/models/goldencobra/article_url.rb +11 -0
  4. data/app/models/goldencobra/articletype.rb +14 -2
  5. data/app/models/goldencobra/articletype_field.rb +13 -0
  6. data/app/models/goldencobra/articletype_group.rb +16 -0
  7. data/app/models/goldencobra/articletype_template.rb +17 -0
  8. data/app/models/goldencobra/author.rb +13 -0
  9. data/app/models/goldencobra/comment.rb +1 -2
  10. data/app/models/goldencobra/domain.rb +14 -0
  11. data/app/models/goldencobra/help.rb +1 -2
  12. data/app/models/goldencobra/import.rb +4 -5
  13. data/app/models/goldencobra/import_metadata.rb +17 -0
  14. data/app/models/goldencobra/link_checker.rb +15 -0
  15. data/app/models/goldencobra/location.rb +15 -15
  16. data/app/models/goldencobra/menue.rb +3 -2
  17. data/app/models/goldencobra/permission.rb +3 -3
  18. data/app/models/goldencobra/redirector.rb +14 -0
  19. data/app/models/goldencobra/role.rb +1 -2
  20. data/app/models/goldencobra/role_user.rb +0 -3
  21. data/app/models/goldencobra/template.rb +25 -0
  22. data/app/models/goldencobra/tracking.rb +2 -3
  23. data/app/models/goldencobra/upload.rb +2 -1
  24. data/app/models/goldencobra/vita.rb +2 -3
  25. data/app/models/goldencobra/widget.rb +5 -7
  26. data/app/models/translation.rb +2 -3
  27. data/app/models/user.rb +1 -1
  28. data/app/serializers/goldencobra/article_serializer.rb +64 -0
  29. data/app/serializers/goldencobra/upload_serializer.rb +20 -0
  30. data/app/views/goldencobra/admin/articles/_layout_sidebar.html.erb +1 -1
  31. data/config/initializers/templates.rb +15 -0
  32. data/config/locales/active_admin.de.yml +4 -0
  33. data/config/locales/active_admin.en.yml +4 -0
  34. data/db/migrate/20180308124139_create_goldencobra_templates.rb +10 -0
  35. data/db/migrate/20180308124302_create_goldencobra_articletype_templates.rb +10 -0
  36. data/lib/goldencobra/version.rb +1 -1
  37. metadata +10 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2a7506a4a06dc132eb931fb028862864a5df3be4
4
- data.tar.gz: 9c33b84b3d287e9c1eec51c12cc44fad3d1ac31c
3
+ metadata.gz: 17da51b19ac22211cb5695562c4b927c28aef7f8
4
+ data.tar.gz: dcfcb4852f66167c1ef574b5f750abf91a40d73a
5
5
  SHA512:
6
- metadata.gz: df19ff989c6d6282a3ec7b6b0de752e9393aa17fa8135dfd7ac383075934b6b73ba73982e8ab5a725a6128e46ecbe441d03bb30a6fa262bf641fdaef3e855364
7
- data.tar.gz: d265f253c3900b0160cfa20e44feac3b31743fdc23c18fffb193a693e6b36d6a734b88d69a07fb28841f02de46ebc718d7f72b952e6459cdfb3c722a0af0e26f
6
+ metadata.gz: 46f4a9edefd0fa2b510e170408d14ea47a57572e8bba9081c816503d1ae4978344b3d81f3289f6c4d5de8946231b9e3b1bd3991e95cb98fcc42e7dbda0078ff1
7
+ data.tar.gz: 2d654e0cf2120c8312de826f02c7069cec902334d0b58df37983b49fa4d8122e14c4d69f19ff4d3f9feb85ab98edce19983175031108f851397d4102a343a4d5
@@ -3,47 +3,64 @@
3
3
  #
4
4
  # Table name: goldencobra_articles
5
5
  #
6
- # id :integer not null, primary key
7
- # title :string(255)
8
- # created_at :datetime not null
9
- # updated_at :datetime not null
10
- # url_name :string(255)
11
- # slug :string(255)
12
- # content :text
13
- # teaser :text
14
- # ancestry :string(255)
15
- # startpage :boolean default(FALSE)
16
- # active :boolean default(TRUE)
17
- # subtitle :string(255)
18
- # summary :text
19
- # context_info :text
20
- # canonical_url :string(255)
21
- # robots_no_index :boolean default(FALSE)
22
- # breadcrumb :string(255)
23
- # template_file :string(255)
24
- # article_for_index_id :integer
25
- # article_for_index_levels :integer default(0)
26
- # article_for_index_count :integer default(0)
27
- # article_for_index_images :boolean default(FALSE)
28
- # enable_social_sharing :boolean
29
- # cacheable :boolean default(TRUE)
30
- # image_gallery_tags :string(255)
31
- # article_type :string(255)
32
- # external_url_redirect :string(255)
33
- # index_of_articles_tagged_with :string(255)
34
- # sort_order :string(255)
35
- # reverse_sort :boolean
36
- # author_backup :string(255)
37
- # sorter_limit :integer
38
- # not_tagged_with :string(255)
39
- # use_frontend_tags :boolean default(FALSE)
40
- # dynamic_redirection :string(255) default("false")
41
- # redirection_target_in_new_window :boolean default(FALSE)
42
- # commentable :boolean default(FALSE)
43
- # active_since :datetime default(2012-09-30 12:53:13 UTC)
44
- # redirect_link_title :string(255)
45
- # display_index_types :string(255) default("show")
46
- # author_id :integer
6
+ # id :integer not null, primary key
7
+ # title :string(255)
8
+ # created_at :datetime not null
9
+ # updated_at :datetime not null
10
+ # url_name :string(255)
11
+ # slug :string(255)
12
+ # content :text(65535)
13
+ # teaser :text(65535)
14
+ # ancestry :string(255)
15
+ # startpage :boolean default(FALSE)
16
+ # active :boolean default(TRUE)
17
+ # subtitle :string(255)
18
+ # summary :text(65535)
19
+ # context_info :text(65535)
20
+ # canonical_url :string(255)
21
+ # robots_no_index :boolean default(FALSE)
22
+ # breadcrumb :string(255)
23
+ # template_file :string(255)
24
+ # article_for_index_id :integer
25
+ # article_for_index_levels :integer default(0)
26
+ # article_for_index_count :integer default(0)
27
+ # enable_social_sharing :boolean
28
+ # article_for_index_images :boolean default(FALSE)
29
+ # cacheable :boolean default(TRUE)
30
+ # image_gallery_tags :string(255)
31
+ # article_type :string(255)
32
+ # external_url_redirect :string(255)
33
+ # index_of_articles_tagged_with :string(255)
34
+ # sort_order :string(255)
35
+ # reverse_sort :boolean
36
+ # sorter_limit :integer
37
+ # not_tagged_with :string(255)
38
+ # use_frontend_tags :boolean default(FALSE)
39
+ # dynamic_redirection :string(255) default("false")
40
+ # redirection_target_in_new_window :boolean default(FALSE)
41
+ # commentable :boolean default(FALSE)
42
+ # active_since :datetime default(Fri, 03 Oct 2014 09:43:07 CEST +02:00)
43
+ # redirect_link_title :string(255)
44
+ # display_index_types :string(255) default("all")
45
+ # creator_id :integer
46
+ # external_referee_id :string(255)
47
+ # external_referee_ip :string(255)
48
+ # external_updated_at :datetime
49
+ # image_gallery_type :string(255) default("lightbox")
50
+ # url_path :text(65535)
51
+ # global_sorting_id :integer default(0)
52
+ # display_index_articletypes :string(255) default("all")
53
+ # index_of_articles_descendents_depth :string(255) default("1")
54
+ # ancestry_depth :integer default(0)
55
+ # metatag_title_tag :string(255)
56
+ # metatag_meta_description :string(255)
57
+ # metatag_open_graph_title :string(255)
58
+ # metatag_open_graph_description :string(255)
59
+ # metatag_open_graph_type :string(255) default("website")
60
+ # metatag_open_graph_url :string(255)
61
+ # metatag_open_graph_image :string(255)
62
+ # state :integer default(0)
63
+ # display_index_articles :boolean default(FALSE)
47
64
  #
48
65
 
49
66
  # For article rendering to string (:render_html) needed
@@ -846,12 +863,6 @@ module Goldencobra
846
863
  return results
847
864
  end
848
865
 
849
- def self.templates_for_select
850
- Dir.glob(File.join(::Rails.root, "app", "views", "layouts", "*.html.erb"))
851
- .map { |a| File.basename(a, ".html.erb") }
852
- .delete_if { |a| a =~ /^_/ }
853
- end
854
-
855
866
  def self.simple_search(q)
856
867
  active.search(title_or_subtitle_or_url_name_or_content_or_summary_or_teaser_contains: q).relation.map do |article|
857
868
  {
@@ -52,3 +52,14 @@ module Goldencobra
52
52
  end
53
53
  end
54
54
  end
55
+
56
+ # == Schema Information
57
+ #
58
+ # Table name: goldencobra_article_urls
59
+ #
60
+ # id :integer not null, primary key
61
+ # article_id :integer
62
+ # url :text(65535)
63
+ # created_at :datetime not null
64
+ # updated_at :datetime not null
65
+ #
@@ -1,10 +1,11 @@
1
1
  module Goldencobra
2
2
  class Articletype < ActiveRecord::Base
3
- attr_accessible :default_template_file, :name, :fieldgroups_attributes
3
+ attr_accessible :default_template_file, :name, :fieldgroups_attributes, :template_ids
4
4
 
5
5
  has_many :articles, class_name: Goldencobra::Article, foreign_key: :article_type, primary_key: :name
6
6
  has_many :fieldgroups, class_name: Goldencobra::ArticletypeGroup, dependent: :destroy
7
-
7
+ has_many :articletype_templates
8
+ has_many :templates, through: :articletype_templates
8
9
  accepts_nested_attributes_for :fieldgroups, allow_destroy: true
9
10
 
10
11
  validates_uniqueness_of :name
@@ -115,3 +116,14 @@ module Goldencobra
115
116
  end
116
117
  end
117
118
  end
119
+
120
+ # == Schema Information
121
+ #
122
+ # Table name: goldencobra_articletypes
123
+ #
124
+ # id :integer not null, primary key
125
+ # name :string(255)
126
+ # default_template_file :string(255)
127
+ # created_at :datetime not null
128
+ # updated_at :datetime not null
129
+ #
@@ -10,3 +10,16 @@ module Goldencobra
10
10
  default_scope { order(:sorter) }
11
11
  end
12
12
  end
13
+
14
+ # == Schema Information
15
+ #
16
+ # Table name: goldencobra_articletype_fields
17
+ #
18
+ # id :integer not null, primary key
19
+ # articletype_group_id :integer
20
+ # fieldname :string(255)
21
+ # sorter :integer default(0)
22
+ # class_name :string(255)
23
+ # created_at :datetime not null
24
+ # updated_at :datetime not null
25
+ #
@@ -11,3 +11,19 @@ module Goldencobra
11
11
  default_scope { order(:sorter) }
12
12
  end
13
13
  end
14
+
15
+ # == Schema Information
16
+ #
17
+ # Table name: goldencobra_articletype_groups
18
+ #
19
+ # id :integer not null, primary key
20
+ # title :string(255)
21
+ # expert :boolean default(FALSE)
22
+ # foldable :boolean default(TRUE)
23
+ # closed :boolean default(TRUE)
24
+ # sorter :integer default(0)
25
+ # articletype_id :integer
26
+ # created_at :datetime not null
27
+ # updated_at :datetime not null
28
+ # position :string(255) default("first_block")
29
+ #
@@ -0,0 +1,17 @@
1
+ module Goldencobra
2
+ class ArticletypeTemplate < ActiveRecord::Base
3
+ belongs_to :template
4
+ belongs_to :articletype
5
+ end
6
+ end
7
+
8
+ # == Schema Information
9
+ #
10
+ # Table name: goldencobra_articletype_templates
11
+ #
12
+ # id :integer not null, primary key
13
+ # articletype_id :integer
14
+ # template_id :integer
15
+ # created_at :datetime not null
16
+ # updated_at :datetime not null
17
+ #
@@ -14,3 +14,16 @@ module Goldencobra
14
14
  end
15
15
  end
16
16
  end
17
+
18
+ # == Schema Information
19
+ #
20
+ # Table name: goldencobra_authors
21
+ #
22
+ # id :integer not null, primary key
23
+ # firstname :string(255)
24
+ # lastname :string(255)
25
+ # email :string(255)
26
+ # googleplus :string(255)
27
+ # created_at :datetime not null
28
+ # updated_at :datetime not null
29
+ #
@@ -1,5 +1,4 @@
1
1
  # encoding: utf-8
2
-
3
2
  # == Schema Information
4
3
  #
5
4
  # Table name: goldencobra_comments
@@ -8,7 +7,7 @@
8
7
  # article_id :integer
9
8
  # commentator_id :integer
10
9
  # commentator_type :string(255)
11
- # content :text
10
+ # content :text(65535)
12
11
  # active :boolean default(TRUE)
13
12
  # approved :boolean default(FALSE)
14
13
  # reported :boolean default(FALSE)
@@ -36,3 +36,17 @@ module Goldencobra
36
36
 
37
37
  end
38
38
  end
39
+
40
+ # == Schema Information
41
+ #
42
+ # Table name: goldencobra_domains
43
+ #
44
+ # id :integer not null, primary key
45
+ # hostname :string(255)
46
+ # title :string(255)
47
+ # client :string(255)
48
+ # created_at :datetime not null
49
+ # updated_at :datetime not null
50
+ # url_prefix :string(255)
51
+ # main :boolean default(FALSE)
52
+ #
@@ -1,12 +1,11 @@
1
1
  # encoding: utf-8
2
-
3
2
  # == Schema Information
4
3
  #
5
4
  # Table name: goldencobra_helps
6
5
  #
7
6
  # id :integer not null, primary key
8
7
  # title :string(255)
9
- # description :text
8
+ # description :text(65535)
10
9
  # url :string(255)
11
10
  # created_at :datetime not null
12
11
  # updated_at :datetime not null
@@ -1,22 +1,21 @@
1
1
  # encoding: utf-8
2
-
3
2
  # == Schema Information
4
3
  #
5
4
  # Table name: goldencobra_imports
6
5
  #
7
6
  # id :integer not null, primary key
8
- # assignment :text
9
- # assignment_groups :text
7
+ # assignment :text(65535)
10
8
  # target_model :string(255)
11
9
  # successful :boolean
12
10
  # upload_id :integer
13
11
  # separator :string(255) default(",")
14
- # result :text
12
+ # result :text(65535)
15
13
  # created_at :datetime not null
16
14
  # updated_at :datetime not null
15
+ # encoding_type :string(255)
16
+ # assignment_groups :text(65535)
17
17
  #
18
18
 
19
-
20
19
  # Dynamische Importfunktionen:
21
20
  # Jedes Model welches eigene Importfunktionen anbieten will muss lediglich eine liste der verfügbaren funktionen ImportDataFunctions = [] haben
22
21
  # und die entsprechenden parameterized.underscored klassenfunktionenen bereithalten
@@ -11,3 +11,20 @@ module Goldencobra
11
11
  belongs_to :importmetatagable, polymorphic: true
12
12
  end
13
13
  end
14
+
15
+ # == Schema Information
16
+ #
17
+ # Table name: goldencobra_import_metadata
18
+ #
19
+ # id :integer not null, primary key
20
+ # database_owner :string(255)
21
+ # exported_at :datetime
22
+ # database_admin_first_name :string(255)
23
+ # database_admin_last_name :string(255)
24
+ # database_admin_phone :string(255)
25
+ # database_admin_email :string(255)
26
+ # importmetatagable_id :integer
27
+ # importmetatagable_type :string(255)
28
+ # created_at :datetime not null
29
+ # updated_at :datetime not null
30
+ #
@@ -75,3 +75,18 @@ module Goldencobra
75
75
 
76
76
  end
77
77
  end
78
+
79
+ # == Schema Information
80
+ #
81
+ # Table name: goldencobra_link_checkers
82
+ #
83
+ # id :integer not null, primary key
84
+ # article_id :integer
85
+ # target_link :text(65535)
86
+ # position :text(65535)
87
+ # response_code :string(255)
88
+ # response_time :string(255)
89
+ # response_error :text(65535)
90
+ # created_at :datetime not null
91
+ # updated_at :datetime not null
92
+ #
@@ -1,23 +1,23 @@
1
1
  # encoding: utf-8
2
-
3
2
  # == Schema Information
4
3
  #
5
4
  # Table name: goldencobra_locations
6
5
  #
7
- # id :integer not null, primary key
8
- # lat :string(255)
9
- # lng :string(255)
10
- # street :string(255)
11
- # city :string(255)
12
- # zip :string(255)
13
- # region :string(255)
14
- # country :string(255)
15
- # created_at :datetime not null
16
- # updated_at :datetime not null
17
- # title :string(255)
18
- # street_number :string(255)
19
- # locateable_type :string(255)
20
- # locateable_id :integer
6
+ # id :integer not null, primary key
7
+ # lat :string(255)
8
+ # lng :string(255)
9
+ # street :string(255)
10
+ # city :string(255)
11
+ # zip :string(255)
12
+ # region :string(255)
13
+ # country :string(255)
14
+ # created_at :datetime not null
15
+ # updated_at :datetime not null
16
+ # title :string(255)
17
+ # locateable_type :string(255)
18
+ # locateable_id :integer
19
+ # street_number :string(255)
20
+ # manual_geocoding :boolean default(FALSE)
21
21
  #
22
22
 
23
23
  module Goldencobra
@@ -1,5 +1,4 @@
1
1
  # encoding: utf-8
2
-
3
2
  # == Schema Information
4
3
  #
5
4
  # Table name: goldencobra_menues
@@ -13,10 +12,12 @@
13
12
  # updated_at :datetime not null
14
13
  # ancestry :string(255)
15
14
  # sorter :integer default(0)
16
- # description :text
15
+ # description :text(65535)
17
16
  # call_to_action_name :string(255)
18
17
  # description_title :string(255)
19
18
  # image_id :integer
19
+ # ancestry_depth :integer default(0)
20
+ # remote :boolean default(FALSE)
20
21
  #
21
22
 
22
23
  module Goldencobra
@@ -1,5 +1,4 @@
1
1
  # encoding: utf-8
2
-
3
2
  # == Schema Information
4
3
  #
5
4
  # Table name: goldencobra_permissions
@@ -9,10 +8,11 @@
9
8
  # subject_class :string(255)
10
9
  # subject_id :string(255)
11
10
  # role_id :integer
12
- # domain_id :integer
11
+ # sorter_id :integer default(0)
13
12
  # created_at :datetime not null
14
13
  # updated_at :datetime not null
15
- # sorter_id :integer default(0)
14
+ # operator_id :integer
15
+ # domain_id :integer
16
16
  #
17
17
 
18
18
  module Goldencobra
@@ -129,3 +129,17 @@ module Goldencobra
129
129
  end
130
130
  end
131
131
  end
132
+
133
+ # == Schema Information
134
+ #
135
+ # Table name: goldencobra_redirectors
136
+ #
137
+ # id :integer not null, primary key
138
+ # source_url :text(65535)
139
+ # target_url :text(65535)
140
+ # redirection_code :integer default(301)
141
+ # active :boolean default(TRUE)
142
+ # ignore_url_params :boolean default(TRUE)
143
+ # created_at :datetime not null
144
+ # updated_at :datetime not null
145
+ #
@@ -1,12 +1,11 @@
1
1
  # encoding: utf-8
2
-
3
2
  # == Schema Information
4
3
  #
5
4
  # Table name: goldencobra_roles
6
5
  #
7
6
  # id :integer not null, primary key
8
7
  # name :string(255)
9
- # description :text
8
+ # description :text(65535)
10
9
  # created_at :datetime not null
11
10
  # updated_at :datetime not null
12
11
  # redirect_after_login :string(255) default("reload")
@@ -1,13 +1,10 @@
1
1
  # encoding: utf-8
2
-
3
2
  # == Schema Information
4
3
  #
5
4
  # Table name: goldencobra_roles_users
6
5
  #
7
6
  # operator_id :integer
8
7
  # role_id :integer
9
- # created_at :datetime not null
10
- # updated_at :datetime not null
11
8
  # operator_type :string(255) default("User")
12
9
  #
13
10
 
@@ -0,0 +1,25 @@
1
+ module Goldencobra
2
+ class Template < ActiveRecord::Base
3
+ attr_accessible :title, :layout_file_name
4
+
5
+ # List all layout files found in folder /app/views/layouts
6
+ #
7
+ # @return [Array] List of file names
8
+ def self.layouts_for_select
9
+ Dir.glob(File.join(::Rails.root, "app", "views", "layouts", "*.html.erb"))
10
+ .map { |a| File.basename(a, ".html.erb") }
11
+ .delete_if { |a| a =~ /^_/ }
12
+ end
13
+ end
14
+ end
15
+
16
+ # == Schema Information
17
+ #
18
+ # Table name: goldencobra_templates
19
+ #
20
+ # id :integer not null, primary key
21
+ # title :string(255)
22
+ # layout_file_name :string(255)
23
+ # created_at :datetime not null
24
+ # updated_at :datetime not null
25
+ #
@@ -1,11 +1,10 @@
1
1
  # encoding: utf-8
2
-
3
2
  # == Schema Information
4
3
  #
5
4
  # Table name: goldencobra_trackings
6
5
  #
7
6
  # id :integer not null, primary key
8
- # request :text
7
+ # request :text(65535)
9
8
  # session_id :string(255)
10
9
  # referer :string(255)
11
10
  # url :string(255)
@@ -18,7 +17,7 @@
18
17
  # page_duration :string(255)
19
18
  # view_duration :string(255)
20
19
  # db_duration :string(255)
21
- # url_paremeters :string(255)
20
+ # url_paremeters :text(65535)
22
21
  # utm_source :string(255)
23
22
  # utm_medium :string(255)
24
23
  # utm_term :string(255)
@@ -5,7 +5,7 @@
5
5
  # id :integer not null, primary key
6
6
  # source :string(255)
7
7
  # rights :string(255)
8
- # description :text
8
+ # description :text(65535)
9
9
  # image_file_name :string(255)
10
10
  # image_content_type :string(255)
11
11
  # image_file_size :integer
@@ -15,6 +15,7 @@
15
15
  # attachable_type :string(255)
16
16
  # alt_text :string(255)
17
17
  # sorter_number :integer
18
+ # image_remote_url :string(255)
18
19
  #
19
20
 
20
21
  module Goldencobra
@@ -1,5 +1,4 @@
1
1
  # encoding: utf-8
2
-
3
2
  # == Schema Information
4
3
  #
5
4
  # Table name: goldencobra_vita
@@ -9,10 +8,10 @@
9
8
  # loggable_type :string(255)
10
9
  # user_id :integer
11
10
  # title :string(255)
12
- # description :text
11
+ # description :text(65535)
13
12
  # created_at :datetime not null
14
13
  # updated_at :datetime not null
15
- # status_cd :integer default 0
14
+ # status_cd :integer default(0)
16
15
  #
17
16
 
18
17
  module Goldencobra
@@ -1,31 +1,29 @@
1
1
  #encoding: utf-8
2
-
3
2
  # == Schema Information
4
3
  #
5
4
  # Table name: goldencobra_widgets
6
5
  #
7
6
  # id :integer not null, primary key
8
7
  # title :string(255)
9
- # content :text
8
+ # content :text(65535)
10
9
  # css_name :string(255)
11
10
  # active :boolean
12
11
  # created_at :datetime not null
13
12
  # updated_at :datetime not null
14
13
  # id_name :string(255)
15
14
  # sorter :integer
16
- # mobile_content :text
15
+ # mobile_content :text(65535)
17
16
  # teaser :string(255)
18
17
  # default :boolean
19
- # description :text
18
+ # description :text(65535)
20
19
  # offline_days :string(255)
21
20
  # offline_time_active :boolean
22
- # alternative_content :text
21
+ # alternative_content :text(65535)
23
22
  # offline_date_start :date
24
23
  # offline_date_end :date
25
- # offline_time_week_start_end :text
24
+ # offline_time_week_start_end :text(65535)
26
25
  #
27
26
 
28
-
29
27
  module Goldencobra
30
28
  class Widget < ActiveRecord::Base
31
29
  attr_accessible :title, :content, :css_name, :active, :id_name, :sorter, :teaser, :default,
@@ -1,5 +1,4 @@
1
1
  # encoding: utf-8
2
-
3
2
  # == Schema Information
4
3
  #
5
4
  # Table name: translations
@@ -7,8 +6,8 @@
7
6
  # id :integer not null, primary key
8
7
  # locale :string(255)
9
8
  # key :string(255)
10
- # value :text
11
- # interpolations :text
9
+ # value :text(65535)
10
+ # interpolations :text(65535)
12
11
  # is_proc :boolean default(FALSE)
13
12
  # created_at :datetime not null
14
13
  # updated_at :datetime not null
@@ -36,7 +36,7 @@
36
36
  # linkedin :string(255)
37
37
  # xing :string(255)
38
38
  # googleplus :string(255)
39
- # enable_expert_mode :boolean default(FALSE)
39
+ # enable_expert_mode :boolean default(TRUE)
40
40
  #
41
41
 
42
42
  class User < ActiveRecord::Base
@@ -24,3 +24,67 @@ module Goldencobra
24
24
  end
25
25
  end
26
26
  end
27
+
28
+ # == Schema Information
29
+ #
30
+ # Table name: goldencobra_articles
31
+ #
32
+ # id :integer not null, primary key
33
+ # title :string(255)
34
+ # created_at :datetime not null
35
+ # updated_at :datetime not null
36
+ # url_name :string(255)
37
+ # slug :string(255)
38
+ # content :text(65535)
39
+ # teaser :text(65535)
40
+ # ancestry :string(255)
41
+ # startpage :boolean default(FALSE)
42
+ # active :boolean default(TRUE)
43
+ # subtitle :string(255)
44
+ # summary :text(65535)
45
+ # context_info :text(65535)
46
+ # canonical_url :string(255)
47
+ # robots_no_index :boolean default(FALSE)
48
+ # breadcrumb :string(255)
49
+ # template_file :string(255)
50
+ # article_for_index_id :integer
51
+ # article_for_index_levels :integer default(0)
52
+ # article_for_index_count :integer default(0)
53
+ # enable_social_sharing :boolean
54
+ # article_for_index_images :boolean default(FALSE)
55
+ # cacheable :boolean default(TRUE)
56
+ # image_gallery_tags :string(255)
57
+ # article_type :string(255)
58
+ # external_url_redirect :string(255)
59
+ # index_of_articles_tagged_with :string(255)
60
+ # sort_order :string(255)
61
+ # reverse_sort :boolean
62
+ # sorter_limit :integer
63
+ # not_tagged_with :string(255)
64
+ # use_frontend_tags :boolean default(FALSE)
65
+ # dynamic_redirection :string(255) default("false")
66
+ # redirection_target_in_new_window :boolean default(FALSE)
67
+ # commentable :boolean default(FALSE)
68
+ # active_since :datetime default(Fri, 03 Oct 2014 09:43:07 CEST +02:00)
69
+ # redirect_link_title :string(255)
70
+ # display_index_types :string(255) default("all")
71
+ # creator_id :integer
72
+ # external_referee_id :string(255)
73
+ # external_referee_ip :string(255)
74
+ # external_updated_at :datetime
75
+ # image_gallery_type :string(255) default("lightbox")
76
+ # url_path :text(65535)
77
+ # global_sorting_id :integer default(0)
78
+ # display_index_articletypes :string(255) default("all")
79
+ # index_of_articles_descendents_depth :string(255) default("1")
80
+ # ancestry_depth :integer default(0)
81
+ # metatag_title_tag :string(255)
82
+ # metatag_meta_description :string(255)
83
+ # metatag_open_graph_title :string(255)
84
+ # metatag_open_graph_description :string(255)
85
+ # metatag_open_graph_type :string(255) default("website")
86
+ # metatag_open_graph_url :string(255)
87
+ # metatag_open_graph_image :string(255)
88
+ # state :integer default(0)
89
+ # display_index_articles :boolean default(FALSE)
90
+ #
@@ -20,3 +20,23 @@ module Goldencobra
20
20
  end
21
21
  end
22
22
  end
23
+
24
+ # == Schema Information
25
+ #
26
+ # Table name: goldencobra_uploads
27
+ #
28
+ # id :integer not null, primary key
29
+ # source :string(255)
30
+ # rights :string(255)
31
+ # description :text(65535)
32
+ # image_file_name :string(255)
33
+ # image_content_type :string(255)
34
+ # image_file_size :integer
35
+ # created_at :datetime not null
36
+ # updated_at :datetime not null
37
+ # attachable_id :integer
38
+ # attachable_type :string(255)
39
+ # alt_text :string(255)
40
+ # sorter_number :integer
41
+ # image_remote_url :string(255)
42
+ #
@@ -21,7 +21,7 @@
21
21
  <h5>
22
22
  <%= I18n.t(@article.article_type.split(' ').first.to_s.strip, :scope => [:activerecord, :models, "goldencobra/article"], :default => "Layout der Seite") %>
23
23
  </h5>
24
- <%= f.select :template_file, Goldencobra::Article.templates_for_select, :include_blank => false %>
24
+ <%= f.select :template_file, @article.articletype.templates.map { |t| [t.title, t.layout_file_name]}, :include_blank => false %>
25
25
  <br/><br/>
26
26
  <%= f.submit t("submit_layout", :scope => [:active_admin, :sidebars]) %>
27
27
  <% end %>
@@ -0,0 +1,15 @@
1
+ Rails.application.config.to_prepare do
2
+ if ActiveRecord::Base.connection.table_exists?("goldencobra_templates")
3
+ # Beim starten der Application wird das Verzeichnis /app/views/layouts durchsucht nach
4
+ # neuen Templatefiles und erzeugt für diese dann eine Goldencobra::Template
5
+ Goldencobra::Template.layouts_for_select.each do |template_file_name|
6
+ template = Goldencobra::Template.where(layout_file_name: template_file_name).first
7
+ unless template
8
+ template = Goldencobra::Template.create(layout_file_name: template_file_name, title: template_file_name)
9
+ Goldencobra::Articletype.all.each do |at|
10
+ at.templates << template
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -44,6 +44,8 @@ de:
44
44
  div: "Ich akzeptiere die AGB & Datenschutzbestimmungen *"
45
45
  submit: "Registrieren"
46
46
  active_admin:
47
+ template:
48
+ as: "Templates"
47
49
  redirector:
48
50
  as: "Weiterleitungen"
49
51
  article_url:
@@ -629,6 +631,8 @@ de:
629
631
  as: "Artikeltypen"
630
632
  general: "Allgemein"
631
633
  article_fields: "Artikelfelder"
634
+ default_template: "Standard Layout"
635
+ templates: "Verfügbare Templates"
632
636
  position_hint: "Zwischen dem ersten und dem letzten Block kommen die speziellen Feldoptionen eines Artikeltypen"
633
637
  foldable_hint: "Kann man den Bereich auf und zu klappen?"
634
638
  closed_hint: "Ist der Bereich beim Laden geschlossen?"
@@ -44,6 +44,8 @@ en:
44
44
  div: "I accept AGB & Privacy Policy *"
45
45
  submit: "Sign-up"
46
46
  active_admin:
47
+ template:
48
+ as: "Templates"
47
49
  redirector:
48
50
  as: "Redirections"
49
51
  article_url:
@@ -629,6 +631,8 @@ en:
629
631
  as: "Article types"
630
632
  general: "General"
631
633
  article_fields: "Article fields"
634
+ default_template: "Default Layout"
635
+ templates: "Available Templates"
632
636
  position_hint: "Field options of article type between first and last block"
633
637
  foldable_hint: "Is this part foldable?"
634
638
  closed_hint: "Is this part closed on load?"
@@ -0,0 +1,10 @@
1
+ class CreateGoldencobraTemplates < ActiveRecord::Migration
2
+ def change
3
+ create_table :goldencobra_templates do |t|
4
+ t.string :title
5
+ t.string :layout_file_name
6
+
7
+ t.timestamps null: false
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ class CreateGoldencobraArticletypeTemplates < ActiveRecord::Migration
2
+ def change
3
+ create_table :goldencobra_articletype_templates do |t|
4
+ t.integer :articletype_id
5
+ t.integer :template_id
6
+
7
+ t.timestamps null: false
8
+ end
9
+ end
10
+ end
@@ -1,3 +1,3 @@
1
1
  module Goldencobra
2
- VERSION = "2.3.3".freeze
2
+ VERSION = "2.3.4".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: goldencobra
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.3
4
+ version: 2.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marco Metz
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-03-08 00:00:00.000000000 Z
13
+ date: 2018-03-15 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -2603,6 +2603,7 @@ files:
2603
2603
  - app/models/goldencobra/articletype.rb
2604
2604
  - app/models/goldencobra/articletype_field.rb
2605
2605
  - app/models/goldencobra/articletype_group.rb
2606
+ - app/models/goldencobra/articletype_template.rb
2606
2607
  - app/models/goldencobra/author.rb
2607
2608
  - app/models/goldencobra/comment.rb
2608
2609
  - app/models/goldencobra/domain.rb
@@ -2617,6 +2618,7 @@ files:
2617
2618
  - app/models/goldencobra/role.rb
2618
2619
  - app/models/goldencobra/role_user.rb
2619
2620
  - app/models/goldencobra/setting.rb
2621
+ - app/models/goldencobra/template.rb
2620
2622
  - app/models/goldencobra/tracking.rb
2621
2623
  - app/models/goldencobra/upload.rb
2622
2624
  - app/models/goldencobra/vita.rb
@@ -2694,6 +2696,7 @@ files:
2694
2696
  - config/initializers/sass_load_path.rb
2695
2697
  - config/initializers/settings.rb
2696
2698
  - config/initializers/sidekiq.rb.tmpl
2699
+ - config/initializers/templates.rb
2697
2700
  - config/locales/active_admin.de.yml
2698
2701
  - config/locales/active_admin.en.yml
2699
2702
  - config/locales/active_admin.zh-CN.yml
@@ -2717,6 +2720,8 @@ files:
2717
2720
  - db/migrate/20160527083745_add_state_to_goldencobra_articles.rb
2718
2721
  - db/migrate/20160614074840_create_goldencobra_article_urls.rb
2719
2722
  - db/migrate/20160704070529_add_showindexarticles_to_goldencobra_articles.rb
2723
+ - db/migrate/20180308124139_create_goldencobra_templates.rb
2724
+ - db/migrate/20180308124302_create_goldencobra_articletype_templates.rb
2720
2725
  - db/seeds.rb
2721
2726
  - lib/generators/goldencobra/articletype/USAGE
2722
2727
  - lib/generators/goldencobra/articletype/articletype_generator.rb
@@ -2772,7 +2777,8 @@ files:
2772
2777
  homepage: https://github.com/ikusei/Goldencobra
2773
2778
  licenses:
2774
2779
  - Lizenz CC BY-NC-SA 3.0
2775
- metadata: {}
2780
+ metadata:
2781
+ changelog_uri: https://github.com/ikuseiGmbH/Goldencobra/blob/master/doc/versionhistory
2776
2782
  post_install_message:
2777
2783
  rdoc_options: []
2778
2784
  require_paths:
@@ -2790,7 +2796,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2790
2796
  requirements:
2791
2797
  - ImageMagick
2792
2798
  rubyforge_project:
2793
- rubygems_version: 2.5.1
2799
+ rubygems_version: 2.5.2
2794
2800
  signing_key:
2795
2801
  specification_version: 4
2796
2802
  summary: Basic CMS based on Rails engines