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: 3e706ebc8a03c8b726759571b427213eb4d8ea32
4
- data.tar.gz: 10483fa6ec2cfe7828d673a247c9debc595120fc
3
+ metadata.gz: 417706a2e5c1f05f6907232662bea318abcf0981
4
+ data.tar.gz: c18425befd5a6f054e79f47f6945128ade015d34
5
5
  SHA512:
6
- metadata.gz: af9d8f97bcc4552ec0daa73ae054266b1108c53cba23465388e78ef0ac127a8c1fbbc078f4b39abbc2510b625378aa94cbc2be56c9f5b949b0c7995daf8ad4b2
7
- data.tar.gz: 406fec9bc5750bb74ab314d1d379fb65641b00cb77c902e8d47987f8f3e6917afb27f001c4bbba409181a0a1367ec7f75b385b7c6fb48db7f5c75592420f5447
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.name}
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 %>
@@ -0,0 +1,9 @@
1
+ de:
2
+ scribbler:
3
+ element_names_default:
4
+ subject: Betreff
5
+ text: Text/Inhalt
6
+ subject-en: 'EN: 1. Betreff'
7
+ content-en: 'EN: 2. Text/Inhalt'
8
+ subject-de: 'DE: 1. Betreff'
9
+ content-de: 'DE: 2. Text/Inhalt'
@@ -47,7 +47,13 @@ module ScribbleCms
47
47
  end
48
48
 
49
49
  def human_name
50
- I18n.t(self.name, :scope => "scribbler.element_names.#{self.group.name}", :default => self.name.to_s.humanize)
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.5'
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-06-21 00:00:00.000000000 Z
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
- - it-support@friends-systems.de
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.friends-systems.de
94
+ homepage: http://www.el-digital.de
94
95
  licenses: []
95
96
  metadata: {}
96
97
  post_install_message: