scribble_cms 0.5 → 0.6
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 417706a2e5c1f05f6907232662bea318abcf0981
|
4
|
+
data.tar.gz: c18425befd5a6f054e79f47f6945128ade015d34
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db9640381f3dc7cc5d578502e5c22ca0d62d17b8174aa948a003025732b531767c1c80de84343428c93c0fdae5fe04f5157fb8caba8e6bf4075728ad8ba6c28c
|
7
|
+
data.tar.gz: 18a3a823e58b39d3d80e22bef44a023da2f3873ed9bf2374c9fe7a32bc8d28284467110b237ebc178f8355829295115aad658cf6a79eac0dd32eb98919948c12
|
@@ -2,32 +2,32 @@ class ScribblerGroup < ActiveRecord::Base
|
|
2
2
|
|
3
3
|
#= Configuration
|
4
4
|
#== Associations
|
5
|
-
belongs_to :container, :class_name => "ScribblerContainer", :foreign_key => "container_id", :touch => true
|
6
|
-
|
5
|
+
belongs_to :container, :class_name => "ScribblerContainer", :foreign_key => "container_id", :touch => true
|
6
|
+
|
7
7
|
has_many :texts, :class_name => "ScribblerText", :foreign_key => "group_id"
|
8
8
|
#== Plugins and modules
|
9
9
|
#=== PlugIns
|
10
|
-
# => Stuff in Here
|
11
|
-
|
10
|
+
# => Stuff in Here
|
11
|
+
|
12
12
|
#=== include Modules
|
13
13
|
# => Stuff in Here
|
14
|
-
|
14
|
+
|
15
15
|
#== Konstanten
|
16
|
-
ELEMENTS = {:row => ScribblerText,
|
16
|
+
ELEMENTS = {:row => ScribblerText,
|
17
17
|
:text => ScribblerText,
|
18
18
|
:link => ScribblerLink,
|
19
19
|
:image => ScribblerImage,
|
20
20
|
:var => ScribblerVar}
|
21
|
-
|
21
|
+
|
22
22
|
#== Validation and Callbacks
|
23
23
|
#=== Validation
|
24
24
|
validates_uniqueness_of :name, :scope => :container_id
|
25
|
-
|
25
|
+
|
26
26
|
#=== Callbacks
|
27
27
|
after_destroy :destroy_elements
|
28
|
-
|
28
|
+
|
29
29
|
# => END
|
30
|
-
|
30
|
+
|
31
31
|
# Display data
|
32
32
|
def row(row_name, options = {})
|
33
33
|
e = get_element(:row, row_name)
|
@@ -36,44 +36,44 @@ class ScribblerGroup < ActiveRecord::Base
|
|
36
36
|
end
|
37
37
|
return e.content.to_s.html_safe
|
38
38
|
end
|
39
|
-
|
39
|
+
|
40
40
|
def text(text_name, options = {})
|
41
41
|
e = get_element(:text, text_name)
|
42
42
|
if e.content.blank? && options[:default]
|
43
43
|
e.update_attributes(:content => options[:default])
|
44
44
|
end
|
45
45
|
return e.content.to_s.html_safe
|
46
|
-
end
|
47
|
-
|
46
|
+
end
|
47
|
+
|
48
48
|
def link(link_name, options = {})
|
49
49
|
link = get_element(:link, link_name)
|
50
50
|
options.merge!(:target => "_blank") if link.external
|
51
51
|
ActionController::Base.helpers.link_to(link.title, link.url, options)
|
52
52
|
end
|
53
|
-
|
53
|
+
|
54
54
|
def image(image_name, options = {})
|
55
55
|
e = get_element(:image, image_name, options)
|
56
56
|
if e.image
|
57
57
|
e.image.url
|
58
58
|
else
|
59
59
|
""
|
60
|
-
end
|
60
|
+
end
|
61
61
|
end
|
62
|
-
|
62
|
+
|
63
63
|
def var(name, options = {})
|
64
64
|
get_element :var, name
|
65
|
-
end
|
66
|
-
|
65
|
+
end
|
66
|
+
|
67
67
|
def clone!(new_name)
|
68
68
|
group = self.class.new(:name => new_name, :container_id => self.container_id)
|
69
69
|
if group.save
|
70
70
|
self.elements.each do |el|
|
71
71
|
el.class.create(el.attributes.except("id").merge(:group_id => group.id))
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
|
77
77
|
# Helpers
|
78
78
|
def get_element(type, name, options = {:released => true})
|
79
79
|
options[:released] ||= true
|
@@ -86,48 +86,48 @@ class ScribblerGroup < ActiveRecord::Base
|
|
86
86
|
when :link
|
87
87
|
# ...
|
88
88
|
when :image
|
89
|
-
|
90
|
-
end
|
91
|
-
|
89
|
+
|
90
|
+
end
|
91
|
+
|
92
92
|
options.merge!(:name => name, :group_id => self.id)
|
93
|
-
|
93
|
+
|
94
94
|
element_class = ELEMENTS[type]
|
95
|
-
|
95
|
+
|
96
96
|
element = element_class.where(options).first
|
97
97
|
if element.nil?
|
98
98
|
element_class.create(options.merge(:released => !options[:released]))
|
99
99
|
element = element_class.create(options)
|
100
100
|
end
|
101
|
-
|
102
|
-
|
103
|
-
return element
|
104
|
-
end
|
105
|
-
|
101
|
+
|
102
|
+
|
103
|
+
return element
|
104
|
+
end
|
105
|
+
|
106
106
|
def elements(options = {:released => true})
|
107
|
-
ELEMENTS.values.uniq.map {|c| c.where(:group_id => self.id, :released => options[:released] == true)}.flatten.sort_by {|e| e.
|
107
|
+
ELEMENTS.values.uniq.map {|c| c.where(:group_id => self.id, :released => options[:released] == true)}.flatten.sort_by {|e| e.human_name}
|
108
108
|
end
|
109
|
-
|
109
|
+
|
110
110
|
def released_elements
|
111
111
|
self.elements(:released => true)
|
112
112
|
end
|
113
|
-
|
113
|
+
|
114
114
|
def unreleased_elements
|
115
115
|
self.elements(:released => false)
|
116
|
-
end
|
117
|
-
|
116
|
+
end
|
117
|
+
|
118
118
|
def destroy_elements
|
119
119
|
self.elements.each {|e| e.destroy }
|
120
|
-
end
|
121
|
-
|
120
|
+
end
|
121
|
+
|
122
122
|
# Save data
|
123
123
|
def process_group_data(data = {})
|
124
124
|
# Update realesed data
|
125
125
|
self.process_data!(data[:released])
|
126
|
-
|
126
|
+
|
127
127
|
# Update unrealesed data
|
128
128
|
self.process_data!(data[:unreleased]) if data[:unreleased]
|
129
|
-
end
|
130
|
-
|
129
|
+
end
|
130
|
+
|
131
131
|
def process_data!(data)
|
132
132
|
data.each do |key, content|
|
133
133
|
e_id = content.delete(:id)
|
@@ -135,18 +135,18 @@ class ScribblerGroup < ActiveRecord::Base
|
|
135
135
|
e_rel = content.delete(:release)
|
136
136
|
element = ELEMENTS[e_type.to_sym].find(e_id)
|
137
137
|
element.update_attributes(content)
|
138
|
-
|
138
|
+
|
139
139
|
if e_rel == "1"
|
140
140
|
element.release!
|
141
|
-
end
|
142
|
-
end
|
141
|
+
end
|
142
|
+
end
|
143
143
|
end
|
144
|
-
|
144
|
+
|
145
145
|
def human_name
|
146
146
|
I18n.t(self.name, :scope => "scribbler.group_names", :default => self.name.humanize) rescue self.name
|
147
|
-
end
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
147
|
+
end
|
148
|
+
|
149
|
+
|
150
|
+
|
151
|
+
|
152
152
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<% element_ids = [] %>
|
2
2
|
<%= scribbler_layout do %>
|
3
|
-
|
3
|
+
|
4
4
|
<%= form_for @group, :url => {:action => "group_update", :id => @group.id}, :html => {:class => "section", :method => :post} do |f| %>
|
5
5
|
<table id="scribbler-group-edit-table" cellspacing="5">
|
6
6
|
<% if !controller.hide_scribbler_edit_status %>
|
@@ -9,14 +9,14 @@
|
|
9
9
|
<b><%= link_to_function("Aktueller Zustand", "toggleCol('released')") %></b><br />
|
10
10
|
<i>Klicken um Bereich ein- bzw auszublenden</i>
|
11
11
|
</td>
|
12
|
-
|
12
|
+
|
13
13
|
<td>
|
14
14
|
<b><%= link_to_function("In Bearbeitung", "toggleCol('unreleased')") %></b><br />
|
15
15
|
<i>Klicken um Bereich ein- bzw auszublenden</i>
|
16
16
|
</td>
|
17
17
|
</tr>
|
18
18
|
<% end %>
|
19
|
-
|
19
|
+
|
20
20
|
<tr>
|
21
21
|
<td id="released" class="">
|
22
22
|
<%= f.fields_for :released do |u| %>
|
@@ -28,7 +28,7 @@
|
|
28
28
|
<% end %>
|
29
29
|
<% element_ids << e.id %>
|
30
30
|
<div style="margin-bottom: 5px;"><%= scribbler_form_element(e,u) %></div>
|
31
|
-
</div>
|
31
|
+
</div>
|
32
32
|
<% end %>
|
33
33
|
<% end %>
|
34
34
|
</td>
|
@@ -44,14 +44,14 @@
|
|
44
44
|
<% end %>
|
45
45
|
</tr>
|
46
46
|
</table>
|
47
|
-
|
47
|
+
|
48
48
|
<%= f.submit "Änderungen speichern" %>
|
49
|
-
|
49
|
+
|
50
50
|
<% if @group.container.scaleable %>
|
51
|
-
<%= link_to "Dieses Element löschen", {:action => "group_destroy", :id => @group.id},
|
51
|
+
<%= link_to "Dieses Element löschen", {:action => "group_destroy", :id => @group.id},
|
52
52
|
:confirm => "Soll dieses Element gelöscht werden? Dies kann nicht rückgängig gemacht werden.", :class => "icon-minus" %>
|
53
|
-
<% end %>
|
54
|
-
|
53
|
+
<% end %>
|
54
|
+
|
55
55
|
<% end %>
|
56
56
|
|
57
57
|
<% end %>
|
@@ -47,7 +47,13 @@ module ScribbleCms
|
|
47
47
|
end
|
48
48
|
|
49
49
|
def human_name
|
50
|
-
|
50
|
+
s = "scribbler.element_names.#{self.group.name}.#{self.name}"
|
51
|
+
|
52
|
+
if I18n.exists?(s)
|
53
|
+
I18n.t(s)
|
54
|
+
else
|
55
|
+
I18n.t(self.name, scope: "scribbler.element_names_default")
|
56
|
+
end
|
51
57
|
end
|
52
58
|
|
53
59
|
def hint
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scribble_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.6'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Eck
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-07-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: friendly_extensions
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: 0.0.78
|
55
55
|
description: Easy-to-use tool for placing user-editable content in your pages
|
56
56
|
email:
|
57
|
-
-
|
57
|
+
- florian.eck@el-digital.de
|
58
58
|
executables: []
|
59
59
|
extensions: []
|
60
60
|
extra_rdoc_files: []
|
@@ -84,13 +84,14 @@ files:
|
|
84
84
|
- app/views/scribbler_content/forms/_link.html.erb
|
85
85
|
- app/views/scribbler_content/forms/_row.html.erb
|
86
86
|
- app/views/scribbler_content/forms/_text.html.erb
|
87
|
+
- config/locales/scribbler_defaults.de.yml
|
87
88
|
- config/routes.rb
|
88
89
|
- db/migrate/20140313012637_create_scribblers.rb
|
89
90
|
- lib/scribble_cms.rb
|
90
91
|
- lib/scribble_cms/engine.rb
|
91
92
|
- lib/scribble_cms/scribbler_controller_plugin.rb
|
92
93
|
- lib/scribble_cms/scribbler_element_setup.rb
|
93
|
-
homepage: http://www.
|
94
|
+
homepage: http://www.el-digital.de
|
94
95
|
licenses: []
|
95
96
|
metadata: {}
|
96
97
|
post_install_message:
|