scribble_cms 0.5 → 0.6
Sign up to get free protection for your applications and to get access to all the features.
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:
|