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: 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: