goldencobra 1.4.0 → 1.4.27
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.
- data/README.markdown +3 -2
- data/app/assets/images/goldencobra/Jcrop.gif +0 -0
- data/app/assets/javascripts/goldencobra/active_admin.js +145 -84
- data/app/assets/javascripts/goldencobra/jquery.Jcrop.min.js +22 -0
- data/app/assets/javascripts/goldencobra/jquery.color.js +661 -0
- data/app/assets/stylesheets/goldencobra/active_admin.css.scss +375 -252
- data/app/assets/stylesheets/goldencobra/{application.css → application.css.scss} +0 -0
- data/app/assets/stylesheets/goldencobra/ikusei_active_admin.scss +35 -26
- data/app/assets/stylesheets/goldencobra/jquery.Jcrop.min.css +29 -0
- data/app/controllers/goldencobra/api/v2/articles_controller.rb +221 -0
- data/app/controllers/goldencobra/api/v2/locales_controller.rb +31 -0
- data/app/controllers/goldencobra/api/v2/settings_controller.rb +31 -0
- data/app/controllers/goldencobra/articles_controller.rb +42 -16
- data/app/controllers/goldencobra/sessions_controller.rb +8 -1
- data/app/helpers/goldencobra/application_helper.rb +3 -1
- data/app/helpers/goldencobra/articles_helper.rb +14 -8
- data/app/middleware/goldencobra/handle_invalid_percent_encoding.rb +40 -0
- data/app/models/ability.rb +43 -48
- data/app/models/goldencobra/article.rb +292 -218
- data/app/models/goldencobra/article_author.rb +19 -0
- data/app/models/goldencobra/article_image.rb +2 -0
- data/app/models/goldencobra/articletype.rb +30 -28
- data/app/models/goldencobra/author.rb +5 -3
- data/app/models/goldencobra/domain.rb +2 -0
- data/app/models/goldencobra/import.rb +2 -2
- data/app/models/goldencobra/link_checker.rb +64 -0
- data/app/models/goldencobra/menue.rb +4 -2
- data/app/models/goldencobra/permission.rb +3 -1
- data/app/models/goldencobra/redirector.rb +131 -0
- data/app/models/goldencobra/setting.rb +29 -3
- data/app/models/goldencobra/upload.rb +60 -1
- data/app/models/goldencobra/url_builder.rb +58 -0
- data/app/models/goldencobra/vita.rb +4 -0
- data/app/models/goldencobra/widget.rb +10 -0
- data/app/models/user.rb +1 -1
- data/app/views/goldencobra/admin/articles/_article_type.html.erb +1 -1
- data/app/views/goldencobra/admin/articles/_articles_index.html.erb +3 -3
- data/app/views/goldencobra/admin/articles/_image_module_sidebar.html.erb +19 -7
- data/app/views/goldencobra/admin/articles/_layout_sidebar.html.erb +2 -2
- data/app/views/goldencobra/admin/articles/_link_checker.html.erb +4 -4
- data/app/views/goldencobra/admin/articles/_link_checker_index.html.erb +1 -1
- data/app/views/goldencobra/admin/articles/_select_article_type.html.erb +8 -8
- data/app/views/goldencobra/admin/articles/_sort_articles_index.html.erb +1 -1
- data/app/views/goldencobra/admin/articles/_widgets_sidebar.html.erb +2 -2
- data/app/views/goldencobra/admin/articles/toggle_expert_mode.js.erb +2 -2
- data/app/views/goldencobra/admin/settings/_index.html.erb +14 -0
- data/app/views/goldencobra/admin/settings/_key_value.html.erb +12 -0
- data/app/views/goldencobra/admin/settings/_settings_group.html.erb +14 -0
- data/app/views/goldencobra/admin/shared/_help.html.erb +12 -10
- data/app/views/goldencobra/admin/shared/_item.html.erb +4 -4
- data/app/views/goldencobra/admin/shared/_overview.html.erb +14 -4
- data/app/views/goldencobra/admin/shared/load_overviewtree.js.erb +6 -0
- data/app/views/goldencobra/admin/uploads/_jcrop.html.erb +23 -0
- data/app/views/goldencobra/articles/_edit_article_link.html.erb +1 -1
- data/app/views/goldencobra/articles/show.rss.builder +5 -0
- data/app/views/goldencobra/articles/sitemap.xml.builder +15 -1
- data/app/views/goldencobra/manage/_admin_article_management.html.erb +1 -1
- data/app/views/goldencobra/manage/_admin_article_management_content.html.erb +4 -4
- data/app/views/goldencobra/manage/render_admin_menue.html.erb +1 -0
- data/app/views/goldencobra/manage/render_admin_menue.js.erb +0 -1
- data/app/views/goldencobra/sessions/_login.html.erb +4 -4
- data/app/views/goldencobra/sessions/_register.html.erb +6 -6
- data/app/views/layouts/goldencobra/active_admin_resque.html.erb +1 -1
- data/app/worker/articles_cache_worker.rb +1 -1
- data/config/initializers/check_for_missing_articletypes.rb +40 -37
- data/config/initializers/devise.rb +3 -1
- data/config/initializers/http_validator.rb +9 -2
- data/config/initializers/liquid_tags.rb +2 -2
- data/config/locales/active_admin.de.yml +509 -3
- data/config/locales/active_admin.en.yml +580 -64
- data/config/locales/de.yml +478 -4
- data/config/locales/en.yml +406 -10
- data/config/pre-commit.rb +3 -0
- data/config/routes.rb +12 -1
- data/config/settings.yml +51 -50
- data/db/migrate/20130114154115_add_sorter_to_goldencobra_permissions.rb +4 -1
- data/db/migrate/20140204221345_add_operator_to_goldencobra_permissions.rb +5 -0
- data/db/migrate/20140411152728_add_creator_id_to_goldencobra_articles.rb +5 -0
- data/db/migrate/20140505144517_add_taggingcounter.rb +15 -0
- data/db/migrate/20140603084537_add_domain_to_goldencobra_permissions.rb +7 -0
- data/db/migrate/20140615200342_resize_link_checkfield.rb +13 -0
- data/db/migrate/20140626135753_add_externalreferee_to_goldencobra_articles.rb +6 -0
- data/db/migrate/20140702103024_add_externaldate_to_goldencobra_articles.rb +5 -0
- data/db/migrate/20140702105550_add_remoteurl_to_goldencobra_uploads.rb +5 -0
- data/db/migrate/20140702142818_add_image_gallery_type_to_goldencobra_articles.rb +5 -0
- data/db/migrate/20140819101033_add_urlpath_to_goldencobra_articles.rb +5 -0
- data/db/migrate/20141009104216_set_db_and_tables_to_utf8.rb +20 -0
- data/db/migrate/20141104115144_create_goldencobra_redirectors.rb +15 -0
- data/db/migrate/20141112124531_add_globalsorting_to_goldencobra_articles.rb +7 -0
- data/db/migrate/20141124170930_add_indiex_to_gc.rb +26 -0
- data/db/migrate/20150115111024_create_goldencobra_article_authors.rb +28 -0
- data/db/migrate/20150115134707_add_remove_author_stuff.rb +11 -0
- data/db/migrate/20150417153454_add_status_to_goldencobra_vita_steps.rb +5 -0
- data/db/seeds.rb +4 -153
- data/lib/generators/goldencobra/articletype/templates/edit_index.html.erb +1 -1
- data/lib/generators/goldencobra/articletype/templates/initializer.rb +4 -2
- data/lib/generators/goldencobra/install_generator.rb +3 -0
- data/lib/generators/goldencobra/server_generator.rb +67 -0
- data/lib/generators/goldencobra/templates/active_admin.rb.erb +3 -0
- data/lib/generators/goldencobra/templates/robots.txt +5 -0
- data/lib/generators/goldencobra/templates/views/articletypes/default/_edit_index.html.erb +9 -0
- data/lib/generators/goldencobra/templates/views/articletypes/default/_edit_show.html.erb +0 -0
- data/lib/generators/goldencobra/templates/views/articletypes/default/_index.html.erb +31 -18
- data/lib/generators/goldencobra/templates/views/articletypes/default/_show.html.erb +22 -15
- data/lib/goldencobra/engine.rb +19 -3
- data/lib/goldencobra/version.rb +1 -1
- data/lib/tasks/article_cache.rake +19 -0
- data/lib/tasks/i18n.rake +1 -1
- data/lib/tasks/import.rake +31 -3
- data/lib/tasks/link_checker.rake +4 -2
- metadata +217 -23
- data/config/locales/activerecord.de.yml +0 -227
- data/config/locales/activerecord.en.yml +0 -148
- data/config/locales/devise.de.yml +0 -54
- data/config/locales/devise.en.yml +0 -57
- data/config/locales/formtastic.de.yml +0 -10
- data/config/locales/formtastic.en.yml +0 -10
- data/config/locales/goldencobra.de.yml +0 -40
- data/config/locales/goldencobra.en.yml +0 -3
@@ -21,6 +21,9 @@
|
|
21
21
|
|
22
22
|
module Goldencobra
|
23
23
|
class Upload < ActiveRecord::Base
|
24
|
+
|
25
|
+
attr_accessor :crop_x, :crop_y, :crop_w, :crop_h, :crop_image, :image_url
|
26
|
+
|
24
27
|
if ActiveRecord::Base.connection.table_exists?("goldencobra_uploads") &&
|
25
28
|
ActiveRecord::Base.connection.table_exists?("goldencobra_settings")
|
26
29
|
has_attached_file :image,
|
@@ -37,6 +40,39 @@ module Goldencobra
|
|
37
40
|
has_many :imports, :class_name => Goldencobra::Import
|
38
41
|
belongs_to :attachable, polymorphic: true
|
39
42
|
|
43
|
+
before_save :download_remote_image, :if => :image_url_provided?
|
44
|
+
|
45
|
+
before_save :crop_image_with_coords
|
46
|
+
def crop_image_with_coords
|
47
|
+
require 'RMagick'
|
48
|
+
# Should we crop?
|
49
|
+
if self.crop_image.present? && self.crop_image == "1" && self.crop_x.present? && self.crop_y.present? && self.crop_w.present? && self.crop_h.present?
|
50
|
+
scaled_img = Magick::ImageList.new(self.image.path(:large))
|
51
|
+
orig_img = Magick::ImageList.new(self.image.path(:original))
|
52
|
+
scale = orig_img.columns.to_f / scaled_img.columns
|
53
|
+
|
54
|
+
args = [ self.crop_x.to_i, self.crop_y.to_i, self.crop_w.to_i, self.crop_h.to_i ]
|
55
|
+
args = args.collect { |a| a.to_i * scale }
|
56
|
+
|
57
|
+
orig_img.crop!(*args)
|
58
|
+
orig_img.write(self.image.path(:original))
|
59
|
+
self.crop_image = false
|
60
|
+
self.image.reprocess!
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
#
|
65
|
+
|
66
|
+
# def crop_image_with_coords
|
67
|
+
# if self.crop_image.present? && self.crop_image == "1" && self.crop_x.present? && self.crop_y.present? && self.crop_w.present? && self.crop_h.present? && self.crop_image.present?
|
68
|
+
# orig_img = Magick::ImageList.new(self.image.path(:original))
|
69
|
+
# orig_img.crop(self.crop_x.to_i, self.crop_y.to_i, self.crop_w.to_i, self.crop_h.to_i)
|
70
|
+
# orig_img.write(self.image.path(:original))
|
71
|
+
# #self.image = File.open("tmp/cropped_image")
|
72
|
+
# #self.image.reprocess!
|
73
|
+
# end
|
74
|
+
# end
|
75
|
+
|
40
76
|
def title
|
41
77
|
"#{self.image_file_name} (#{self.image_content_type})"
|
42
78
|
end
|
@@ -78,7 +114,30 @@ module Goldencobra
|
|
78
114
|
#
|
79
115
|
# Returns true for image or pdf files and false for everything else
|
80
116
|
def image_file?
|
81
|
-
|
117
|
+
#debugger
|
118
|
+
if !(self.image_content_type =~ /^image.*/).nil?
|
119
|
+
return true
|
120
|
+
elsif !(self.image_content_type =~ /pdf/).nil?
|
121
|
+
return true
|
122
|
+
else
|
123
|
+
return false
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
|
128
|
+
private
|
129
|
+
|
130
|
+
def image_url_provided?
|
131
|
+
self.image_url.present?
|
132
|
+
end
|
133
|
+
|
134
|
+
def download_remote_image
|
135
|
+
require 'open-uri'
|
136
|
+
io = open(URI.parse(self.image_url))
|
137
|
+
self.image = io
|
138
|
+
self.image_file_name = io.base_uri.path.split('/').last
|
139
|
+
self.image_remote_url = self.image_url
|
140
|
+
rescue # catch url errors with validations instead of exceptions (Errno::ENOENT, OpenURI::HTTPError, etc...)
|
82
141
|
end
|
83
142
|
|
84
143
|
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
# # encoding: utf-8
|
4
|
+
|
5
|
+
# module Goldencobra
|
6
|
+
# class UrlBuilder
|
7
|
+
# def initialize(article, with_prefix=false)
|
8
|
+
# @article = article
|
9
|
+
# @with_prefix = with_prefix
|
10
|
+
# end
|
11
|
+
|
12
|
+
# def article_path
|
13
|
+
# if @article.is_startpage?
|
14
|
+
# remove_trailing_double_slashes("#{prefix}/")
|
15
|
+
# else
|
16
|
+
# "#{prefix}#{ancestry_path}"
|
17
|
+
# end
|
18
|
+
# end
|
19
|
+
|
20
|
+
# def absolute_base_url
|
21
|
+
# if Goldencobra::Setting.for_key("goldencobra.use_ssl") == "true"
|
22
|
+
# "https://#{Goldencobra::Setting.for_key('goldencobra.url')}"
|
23
|
+
# else
|
24
|
+
# "http://#{Goldencobra::Setting.for_key('goldencobra.url')}"
|
25
|
+
# end
|
26
|
+
# end
|
27
|
+
|
28
|
+
# def absolute_public_url
|
29
|
+
# if Goldencobra::Setting.for_key("goldencobra.use_ssl") == "true"
|
30
|
+
# "https://#{Goldencobra::Setting.for_key('goldencobra.url')}#{@article.article_path}"
|
31
|
+
# else
|
32
|
+
# "http://#{Goldencobra::Setting.for_key('goldencobra.url')}#{@article.article_path}"
|
33
|
+
# end
|
34
|
+
# end
|
35
|
+
|
36
|
+
# private
|
37
|
+
|
38
|
+
# def ancestry_path
|
39
|
+
# @article.path.select([:ancestry, :url_name, :startpage]).inject(String.new) do |string, article|
|
40
|
+
# unless article.startpage
|
41
|
+
# "#{string}#{article.url_name}/"
|
42
|
+
# end
|
43
|
+
# end
|
44
|
+
# end
|
45
|
+
|
46
|
+
# def prefix
|
47
|
+
# if @with_prefix
|
48
|
+
# "#{Goldencobra::Domain.current.try(:url_prefix)}/"
|
49
|
+
# else
|
50
|
+
# ''
|
51
|
+
# end
|
52
|
+
# end
|
53
|
+
|
54
|
+
# def remove_trailing_double_slashes(input)
|
55
|
+
# input.gsub(/\/\/$/,'/')
|
56
|
+
# end
|
57
|
+
# end
|
58
|
+
# end
|
@@ -12,6 +12,7 @@
|
|
12
12
|
# description :text
|
13
13
|
# created_at :datetime not null
|
14
14
|
# updated_at :datetime not null
|
15
|
+
# status_cd :integer default 0
|
15
16
|
#
|
16
17
|
|
17
18
|
module Goldencobra
|
@@ -19,5 +20,8 @@ module Goldencobra
|
|
19
20
|
belongs_to :loggable, :polymorphic => true
|
20
21
|
attr_accessible :description, :title, :user_id
|
21
22
|
acts_as_taggable_on :tags
|
23
|
+
|
24
|
+
as_enum :status, success: 0, warning: 1, error: 2
|
25
|
+
|
22
26
|
end
|
23
27
|
end
|
@@ -176,5 +176,15 @@ module Goldencobra
|
|
176
176
|
end
|
177
177
|
end
|
178
178
|
end
|
179
|
+
|
180
|
+
def duplicate!
|
181
|
+
attrs = self.attributes
|
182
|
+
.delete_if{ |key| %w(id created_at updated_at).include?(key) }
|
183
|
+
attrs["title"] = "#{attrs["title"]} (Kopie)"
|
184
|
+
attrs["id_name"] = attrs["id_name"].present? ? "#{attrs["id_name"]}-kopie" : nil
|
185
|
+
attrs["active"] = false
|
186
|
+
new_widget = Goldencobra::Widget.create!(attrs)
|
187
|
+
new_widget ? new_widget.id : nil
|
188
|
+
end
|
179
189
|
end
|
180
190
|
end
|
data/app/models/user.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
<% f.inputs
|
1
|
+
<% f.inputs I18n.t('active_admin.articles.views.article_type.input'), :class => "" do %>
|
2
2
|
<h3 class="goldencobra_article_article_type">
|
3
3
|
<% if f.object.article_type.present? %>
|
4
4
|
<%= I18n.t("#{f.object.article_type.parameterize}", scope: [:article_types]) %><%= " : #{f.object.public_url}" if f.object.title.present? %>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<% f.inputs
|
2
|
-
<% f.input :article_for_index_id, label:
|
3
|
-
<% f.input :display_index_types, :label =>
|
1
|
+
<% f.inputs I18n.t('active_admin.articles.index.views.inputs'), :class => "foldable inputs" do %>
|
2
|
+
<% f.input :article_for_index_id, label: I18n.t('active_admin.articles.index.views.label1'), :hint => I18n.t('active_admin.articles.index.views.hint1'), :as => :select, :collection => Goldencobra::Article.all.map{|c| ["#{c.path.map(&:title).join(" / ")}", c.id]}.sort{|a,b| a[0] <=> b[0]}, :include_blank => "/", id: "article_event_articleindex_id", :input_html => { :class => 'chzn-select', :style => 'width: 70%;' } %>
|
3
|
+
<% f.input :display_index_types, :label => I18n.t('active_admin.articles.index.views.label2'), :hint => I18n.t('active_admin.articles.index.views.hint2'), :as => :select, :collection => Goldencobra::Article::DisplayIndexTypes, :include_blank => false %>
|
4
4
|
<% end %>
|
@@ -18,18 +18,30 @@
|
|
18
18
|
<br/><br/>
|
19
19
|
-->
|
20
20
|
|
21
|
-
<h5
|
22
|
-
<p
|
21
|
+
<h5><%= I18n.t('active_admin.articles.views.image_module_sidebar.h5') %></h5>
|
22
|
+
<p><%= I18n.t('active_admin.articles.views.image_module_sidebar.p') %></p>
|
23
23
|
|
24
24
|
<%= semantic_form_for ["admin", @article], :html => {:id => "goldencobra_article_image_gallery_tags"} do |f| %>
|
25
|
-
|
26
|
-
|
27
|
-
</ul>
|
25
|
+
<%= hidden_field_tag "article[image_gallery_tags][]", "", id: "article_image_gallery_tags_hidden" %>
|
26
|
+
<%= select_tag "article[image_gallery_tags][]", options_for_select(Goldencobra::Upload.scoped.tag_counts_on(:tags).map{|tag| tag.name}, @article.image_gallery_tags.present? ? @article.image_gallery_tags.split(",") : []), :multiple => true, :include_blank => true, :class => "chzn-select", "data-placeholder" => I18n.t('active_admin.articles.views.image_module_sidebar.placeholder') %>
|
28
27
|
|
29
28
|
<% if @article.image_gallery_tags.present? %>
|
30
|
-
<p
|
29
|
+
<p>
|
30
|
+
<%= pluralize(Goldencobra::Upload.tagged_with(@article.image_gallery_tags).count, I18n.t('active_admin.articles.views.image_module_sidebar.tag1'), I18n.t('active_admin.articles.views.image_module_sidebar.tag2')) %> ausgewählt
|
31
|
+
</p>
|
31
32
|
<% end %>
|
33
|
+
<br/>
|
34
|
+
|
35
|
+
<p>
|
36
|
+
<br/>
|
37
|
+
<%= I18n.t('active_admin.articles.views.image_module_sidebar.type_p') %>
|
38
|
+
</p>
|
39
|
+
<br/>
|
40
|
+
<%= select_tag 'article[image_gallery_type]', options_for_select(["lightbox", "slider"], @article.image_gallery_type), :include_blank => false %>
|
32
41
|
|
33
|
-
<p
|
42
|
+
<p>
|
43
|
+
<br/>
|
44
|
+
<%= f.submit I18n.t('active_admin.articles.views.image_module_sidebar.submit') %>
|
45
|
+
</p>
|
34
46
|
<% end %>
|
35
47
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<div class="layout-sidebar">
|
2
2
|
<h5>
|
3
|
-
|
3
|
+
<%= I18n.t('active_admin.articles.views.layout_sidebar.h5')%> <%= I18n.t(@article.article_type.split(' ').first.to_s.strip, :scope => [:goldencobra, :article_types], :default => @article.article_type.split(' ').first) %>
|
4
4
|
</h5>
|
5
5
|
<% article_types = {} %>
|
6
6
|
<% Goldencobra::Article.article_types_for_select.each do |article_type| %>
|
@@ -11,7 +11,7 @@
|
|
11
11
|
<%= form_tag change_articletype_admin_article_path(@article.id) do %>
|
12
12
|
<%= select_tag :new_article_type, options_for_select(article_types.sort, @article.article_type), :include_blank => false %>
|
13
13
|
<br/><br/>
|
14
|
-
<%= submit_tag
|
14
|
+
<%= submit_tag I18n.t('active_admin.articles.views.layout_sidebar.submit'), id: "submit_widgets_partial" %>
|
15
15
|
<% end %>
|
16
16
|
<br/>
|
17
17
|
<hr>
|
@@ -1,10 +1,10 @@
|
|
1
|
-
<h5
|
1
|
+
<h5><%= I18n.t('active_admin.articles.views.link_checker.h5') %></h5>
|
2
2
|
|
3
3
|
<% if @article.link_checker.present? && @article.link_checker.class == Hash %>
|
4
4
|
<% status200er = @article.link_checker.select{|key,value| value.present? && value['response_code'] == "200"} %>
|
5
5
|
<h2><%= @article.link_checker.count - status200er.count %>x Status 404,301... :</h2>
|
6
6
|
<% if (@article.link_checker.count - status200er.count) == 0 %>
|
7
|
-
<h4
|
7
|
+
<h4><%= I18n.t('active_admin.articles.views.link_checker.h4') %></h4>
|
8
8
|
<% end %>
|
9
9
|
<ul>
|
10
10
|
<% @article.link_checker.each do |key,values| %>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<% next if values['response_code'] == "200" %>
|
13
13
|
<li class="response_404">
|
14
14
|
<%= key %><br/>
|
15
|
-
|
15
|
+
I18n.t('active_admin.articles.views.link_checker.status') <%= values['response_code'] %> <%= values['response_error'] %>
|
16
16
|
</li>
|
17
17
|
<% end %>
|
18
18
|
</ul>
|
@@ -29,4 +29,4 @@
|
|
29
29
|
</ul>
|
30
30
|
<% end %>
|
31
31
|
|
32
|
-
<%= link_to
|
32
|
+
<%= link_to I18n.t('active_admin.articles.views.link_checker.link'), run_link_checker_admin_article_path(@article.id) %>
|
@@ -24,7 +24,7 @@
|
|
24
24
|
<div class="link_checker_position">
|
25
25
|
<%= source['position'] %>
|
26
26
|
</div>
|
27
|
-
<%= link_to "
|
27
|
+
<%= link_to "#{I18n.t('active_admin.articles.views.link_checker_index.link1')} #{source['article_id']} #{I18n.t('active_admin.articles.views.link_checker_index.link2')}", "/admin/articles/#{source['article_id']}/edit %>
|
28
28
|
</li>
|
29
29
|
<% end %>
|
30
30
|
</ul>
|
@@ -5,16 +5,16 @@
|
|
5
5
|
article_types[translated_article_type.to_sym] = article_type
|
6
6
|
end %>
|
7
7
|
|
8
|
-
<%= f.inputs I18n.t(:selection, scope: [:articles]), :class => "
|
8
|
+
<%= f.inputs I18n.t(:selection, scope: [:articles]), :class => "inputs" do
|
9
9
|
if article_types.count > 0
|
10
|
-
f.input :article_type, :label =>
|
10
|
+
f.input :article_type, :label => I18n.t('active_admin.articles.views.select_article_type.label_type'), :as => :select, :collection => article_types.sort, include_blank: true
|
11
11
|
end
|
12
|
-
f.input :title, :label =>
|
13
|
-
f.input :breadcrumb, :label =>
|
14
|
-
f.input :content, :label =>
|
15
|
-
f.input :teaser, :hint =>
|
16
|
-
f.input :tag_list, :label =>
|
17
|
-
f.input :frontend_tag_list, label:
|
12
|
+
f.input :title, :label => I18n.t('active_admin.articles.views.select_article_type.label_title'), :hint => I18n.t('active_admin.articles.views.select_article_type.hint_title')
|
13
|
+
f.input :breadcrumb, :label => I18n.t('active_admin.articles.views.select_article_type.label_short'), :hint => I18n.t('active_admin.articles.views.select_article_type.hint_short')
|
14
|
+
f.input :content, :label => I18n.t('active_admin.articles.views.select_article_type.label_text'), :hint => I18n.t('active_admin.articles.views.select_article_type.hint_text'), :input_html => { :class => "tinymce" }
|
15
|
+
f.input :teaser, :hint => I18n.t('active_admin.articles.views.select_article_type.hint_teaser'), :input_html => { :rows => 5 }
|
16
|
+
f.input :tag_list, :label => I18n.t('active_admin.articles.views.select_article_type.label_tags'), :hint => I18n.t('active_admin.articles.views.select_article_type.hint_tags')
|
17
|
+
f.input :frontend_tag_list, label: I18n.t('active_admin.articles.views.select_article_type.label_filter'), hint: I18n.t('active_admin.articles.views.select_article_type.hint_filter')
|
18
18
|
f.input :parent_id, :as => :hidden
|
19
19
|
f.input :url_name, :as => :hidden
|
20
20
|
end %>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<% f.inputs
|
1
|
+
<% f.inputs I18n.t('active_admin.articles.views.sort_articles_index.inputs'), :class => "foldable inputs" do %>
|
2
2
|
<% f.object.index_articles.each do |indexart| %>
|
3
3
|
<%= f.input :manual_article_sort, :as => :number, :label => indexart.title %>
|
4
4
|
<% end %>
|
@@ -1,9 +1,9 @@
|
|
1
1
|
<div class="widget-sidebar">
|
2
|
-
<h5
|
2
|
+
<h5><%= I18n.t('active_admin.articles.views.widgets_sidebar.h5') %></h5>
|
3
3
|
<%= form_tag update_widgets_admin_article_path(@article.id) do %>
|
4
4
|
<ul>
|
5
5
|
<% Goldencobra::Widget.tag_counts_on(:tags).each do |widget_tag| %>
|
6
|
-
<li><b
|
6
|
+
<li><b><%= I18n.t('active_admin.articles.views.widgets_sidebar.position') %> <%= widget_tag.name.capitalize %></b></li>
|
7
7
|
<% Goldencobra::Widget.active.not_default.tagged_with(widget_tag).each do |w| %>
|
8
8
|
<li><%= check_box_tag("widget_ids[]", "#{w.id}", @article.widget_ids.include?(w.id), :id => "widget_#{w.id}" ) %> <%= w.title %></li>
|
9
9
|
<% end %>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<% if enabled %>
|
2
|
-
$('#expert-mode').text('
|
2
|
+
$('#expert-mode').text(I18n.t('active_admin.articles.views.toggle_expert_mode.text1'));
|
3
3
|
<% else %>
|
4
|
-
$('#expert-mode').text('
|
4
|
+
$('#expert-mode').text(I18n.t('active_admin.articles.views.toggle_expert_mode.text2'));
|
5
5
|
<% end %>
|
6
6
|
|
7
7
|
$('.expert').toggle();
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<div id="goldencobra_settings_wrapper">
|
2
|
+
<% Goldencobra::Setting.roots.each do |root| %>
|
3
|
+
<div class="settings_category">
|
4
|
+
<div class="settings_level">
|
5
|
+
<div class="settings_group_title">
|
6
|
+
<%= root.title.humanize %>
|
7
|
+
</div>
|
8
|
+
<div class="">
|
9
|
+
<%= render :partial => "/goldencobra/admin/settings/settings_group", :locals => {:settings => root.children} %>
|
10
|
+
</div>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
<% end %>
|
14
|
+
</div>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<div class="setting_key_value">
|
2
|
+
<div class="setting_title">
|
3
|
+
<%= key_value.title.humanize %>
|
4
|
+
</div>
|
5
|
+
<div class="setting_value">
|
6
|
+
<% if key_value.value.blank? %>
|
7
|
+
<%= link_to "- nicht definiert -", edit_admin_setting_path(key_value) %>
|
8
|
+
<% else %>
|
9
|
+
<%= link_to key_value.value, edit_admin_setting_path(key_value), :title => "Test" %>
|
10
|
+
<% end %>
|
11
|
+
</div>
|
12
|
+
</div>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<% settings.sort{|a,b| a.children.count <=> b.children.count }.each do |child| %>
|
2
|
+
<% if child.children.blank? %>
|
3
|
+
<%= render :partial => "/goldencobra/admin/settings/key_value", :object => child %>
|
4
|
+
<% else %>
|
5
|
+
<div class="settings_level" style="padding-left: <%= child.depth * 10%>px;">
|
6
|
+
<div class="settings_group_title foldable">
|
7
|
+
<%= child.title.humanize %>
|
8
|
+
</div>
|
9
|
+
<div class="settings_sub_group">
|
10
|
+
<%= render :partial => "/goldencobra/admin/settings/settings_group", :locals => {:settings => child.children} %>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
<% end %>
|
14
|
+
<% end %>
|
@@ -1,15 +1,17 @@
|
|
1
1
|
<% exclude_list = ["tablerow", "assign", "break", "capture", "case", "comment", "continue", "cycle", "decrement", "for", "if", "ifchanged", "include", "increment", "raw", "unless"] %>
|
2
2
|
<p>Folgende Funktionen können sie in Textfeldern verwenden um zusätzlichen Inhalt darzustellen</p>
|
3
3
|
<ul>
|
4
|
-
<% Liquid::Template.tags
|
5
|
-
<%
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
4
|
+
<% if false #defined?(Liquid::Template) == "constant" && defined?(Liquid::Template.tags) == "method" %>
|
5
|
+
<% Liquid::Template.tags.each do |key,value| %>
|
6
|
+
<% next if exclude_list.include?(key) %>
|
7
|
+
<li><b><%= key %></b><br/>
|
8
|
+
<% if value.respond_to?(:description) %>
|
9
|
+
<%= value.description %><br/>
|
10
|
+
<% end %>
|
11
|
+
<% if value.respond_to?(:usage) %>
|
12
|
+
Verwendung:<br/><%= value.usage %>
|
13
|
+
<% end %>
|
14
|
+
</li>
|
15
|
+
<% end %>
|
14
16
|
<% end %>
|
15
17
|
</ul>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<li>
|
1
|
+
<li id="overview_item_<%= item.id %>">
|
2
2
|
<div class="item">
|
3
3
|
<% if item.children.count > 0 %>
|
4
4
|
<div class="folder"></div>
|
@@ -11,12 +11,12 @@
|
|
11
11
|
<% end %>
|
12
12
|
<div class="title"><%= link_to item.send(link_name), eval("admin_#{url_path.pluralize}_path(:q => {:parent_ids_in => item.id})"), :title => "Pfad anzeigen" %></div>
|
13
13
|
<div class="options">
|
14
|
-
<%= link_to
|
15
|
-
<%= link_to
|
14
|
+
<%= link_to I18n.t('active_admin.shared.views.item.link1'), eval("edit_admin_#{url_path}_path(item)"), :class => "edit_link", :title => I18n.t('active_admin.shared.views.item.title1') %>
|
15
|
+
<%= link_to I18n.t('active_admin.shared.views.item.link2'), eval("new_admin_#{url_path}_path(:parent => item)"), :class => "new_link", :title => I18n.t('active_admin.shared.views.item.title2') %>
|
16
16
|
</div>
|
17
17
|
</div>
|
18
18
|
<% if item.children %>
|
19
|
-
<ul>
|
19
|
+
<ul style="display: none;">
|
20
20
|
<% item.children.order(order_by.to_sym).each do |art|%>
|
21
21
|
<%= render :partial => "/goldencobra/admin/shared/item", :object => art, :locals => {:link_name => link_name, :url_path => url_path, :order_by => order_by } %>
|
22
22
|
<% end %>
|
@@ -1,8 +1,18 @@
|
|
1
1
|
<% order_by ||= "id" %>
|
2
|
+
<% overview.order(order_by.to_sym).each do |root| %>
|
3
|
+
<script src="/admin/articles/load_overviewtree?order_by=<%= order_by %>&url_path=<%= url_path %>&link_name=<%= link_name %>&object_id=<%= root.id %>&object_class=<%= root.class.to_s %>" type="text/javascript" charset="utf-8" async defer></script>
|
4
|
+
<% end %>
|
2
5
|
<div class="overview-sidebar">
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
6
|
+
<ul id="overview-sidebar_list">
|
7
|
+
<% overview.order(order_by.to_sym).each do |root| %>
|
8
|
+
<li id="temp_list_item_<%= root.id %>">
|
9
|
+
<div class="item">
|
10
|
+
<div class="last_folder"></div>
|
11
|
+
<div class="title">
|
12
|
+
loading <%= root.send(link_name) %> ...
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
</li>
|
16
|
+
<% end %>
|
7
17
|
</ul>
|
8
18
|
</div>
|