infopark_fiona7 0.71.1.1 → 0.71.1.2

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: 6138dff9bbb3210c8e77bb4b11d3972134f83954
4
- data.tar.gz: 10aece82213930a7034b49dd23b6a74bfc5586d6
3
+ metadata.gz: 473b5c069dec107647330585c7a2d486d58787f8
4
+ data.tar.gz: 07cc316117ad7a1703d18ee7947e82bceb7d96d9
5
5
  SHA512:
6
- metadata.gz: 97616528eb79c32a0f34b4ffe12ab72632baf778cb5baa26299d461b36c697b5b796ebc3c5de95b9191ee7a2c0eb36c40737205b5500b59d9ea61bfff7bcad12
7
- data.tar.gz: 53f3de235ab3adc20b6693758da37db68dd09f6577d5236726917fea813d6415ee4c0c9ca20a853857ff234b499e1324abbb3d6fd3062b4160a09b07129625e6
6
+ metadata.gz: 1d3b776871dc5e054a165ec9a8ddae50f587aed738b21723aad6752c2f755a3cbf2133e383b49c02ef6a1f62d27c3f5ce435f855e96019e0d7a294aebe1b6b42
7
+ data.tar.gz: 0772f0b1b25d78663dea2f8ea374cc36eab105e31c07fc5b1a688eb36b89cc3f27052232f049822d8960c6048995dc16198810228113793650de0cfe69a19504
@@ -43,42 +43,42 @@
43
43
  'commands.release_obj.not_modified_obj': 'Diese Seite wurde nicht geändert. Daher gibt es nichts zu freigeben.',
44
44
  'commands.release_obj.dialog.title': 'Änderungen an dieser Seite veröffentlichen?',
45
45
  'commands.release_obj.dialog.description': 'Eine Arbeitsversion zu veröffentlichen ist endgültig. Dieser Vorgang kann nicht rückgängig gemacht werden.',
46
- 'commands.release_obj.dialog.placeholder': 'Kommentar',
46
+ 'commands.release_obj.dialog.placeholder': 'Bitte Kommentar eintragen',
47
47
  'commands.release_obj.dialog.confirm': 'Freigeben',
48
48
  'commands.release_obj.failed': 'Freigabe fehlgeschlagen',
49
49
 
50
50
  'commands.forward_obj.title': 'Seite weiterleiten',
51
51
  'commands.forward_obj.dialog.title': 'Seite weiterleiten?',
52
52
  'commands.forward_obj.dialog.description': 'Die Arbeitsversion wird an einen weiteren Bearbeiter weitergeleitet. Dieser Vorgang kann nicht rückgängig gemacht werden.',
53
- 'commands.forward_obj.dialog.placeholder': 'Kommentar',
53
+ 'commands.forward_obj.dialog.placeholder': 'Bitte Kommentar eintragen',
54
54
  'commands.forward_obj.dialog.confirm': 'Weiterleiten',
55
55
  'commands.forward_obj.failed': 'Weiterleitung fehlgeschlagen',
56
56
 
57
57
  'commands.reject_obj.title': 'Seite ablehnen',
58
58
  'commands.reject_obj.dialog.title': 'Seite ablehnen?',
59
59
  'commands.reject_obj.dialog.description': 'Die Arbeitsversion wird abgelehnt. Dieser Vorgang kann nicht rückgängig gemacht werden.',
60
- 'commands.reject_obj.dialog.placeholder': 'Kommentar',
60
+ 'commands.reject_obj.dialog.placeholder': 'Bitte Kommentar eintragen',
61
61
  'commands.reject_obj.dialog.confirm': 'Ablehnen',
62
62
  'commands.reject_obj.failed': 'Ablehnung fehlgeschlagen',
63
63
 
64
64
  'commands.sign_obj.title': 'Seite abzeichnen',
65
65
  'commands.sign_obj.dialog.title': 'Seite abzeichnen?',
66
66
  'commands.sign_obj.dialog.description': 'Die eingereichte Version wird abgezeichnet. Dieser Vorgang kann nicht rückgängig gemacht werden.',
67
- 'commands.sign_obj.dialog.placeholder': 'Kommentar',
67
+ 'commands.sign_obj.dialog.placeholder': 'Bitte Kommentar eintragen',
68
68
  'commands.sign_obj.dialog.confirm': 'Abzeichnen',
69
69
  'commands.sign_obj.failed': 'Abzeichnung fehlgeschlagen',
70
70
 
71
71
  'commands.commit_obj.title': 'Seite einreichen',
72
72
  'commands.commit_obj.dialog.title': 'Seite einreichen?',
73
73
  'commands.commit_obj.dialog.description': 'Die Arbeitsversion wird eingereicht. Dieser Vorgang kann nicht rückgängig gemacht werden.',
74
- 'commands.commit_obj.dialog.placeholder': 'Kommentar',
74
+ 'commands.commit_obj.dialog.placeholder': 'Bitte Kommentar eintragen',
75
75
  'commands.commit_obj.dialog.confirm': 'Einreichen',
76
76
  'commands.commit_obj.failed': 'Einreichung fehlgeschlagen',
77
77
 
78
78
  'commands.take_obj.title': 'Seite übernehmen',
79
79
  'commands.take_obj.dialog.title': 'Seite übernehmen?',
80
80
  'commands.take_obj.dialog.description': 'Die Arbeitsversion wird übernommen. Dieser Vorgang kann nicht rückgängig gemacht werden.',
81
- 'commands.take_obj.dialog.placeholder': 'Kommentar',
81
+ 'commands.take_obj.dialog.placeholder': 'Bitte Kommentar eintragen',
82
82
  'commands.take_obj.dialog.confirm': 'Übernehmen',
83
83
  'commands.take_obj.failed': 'Übernahme fehlgeschlagen'
84
84
  }, 'de');
@@ -78,6 +78,8 @@ module Fiona7
78
78
  @widget_path_map = resolver.path_map
79
79
 
80
80
  if @widget_pool && !@widget_pool.empty?
81
+ @new_full_text = rewrite_full_text
82
+
81
83
  @widgets = BatchWidgetWriter.new(@obj, @id_map, @widget_pool, @widget_path_map)
82
84
  @widgets.write
83
85
 
@@ -254,7 +256,9 @@ module Fiona7
254
256
  raise Scrivito::ClientError.new("Unknown attribute type: #{virtual_type}", 418)
255
257
  end
256
258
  end
257
- @obj.set(:X_full_text, rewrite_full_text) if @new_widget_pool
259
+ if (@new_full_text)
260
+ @obj.set(:X_full_text, @new_full_text)
261
+ end
258
262
  @obj.set(:X_widget_pool, @new_widget_pool) if @new_widget_pool
259
263
  @obj.set(:permalink, @permalink) if @permalink
260
264
 
@@ -286,10 +290,14 @@ module Fiona7
286
290
  end
287
291
 
288
292
  def rewrite_full_text
289
- full_text = ::JSON.parse(@obj.attr_values["X_full_text"]) rescue {}
293
+ full_text = ::YAML.load(@obj.attr_values["X_full_text"])
294
+ full_text = {} unless full_text.kind_of?(Hash)
290
295
  full_text["_widget_pool"] ||= {}
291
296
  full_text["_widget_pool"].deep_merge!(@widget_pool)
292
- full_text.to_json
297
+ full_text.to_yaml
298
+ rescue => e
299
+ Rails.logger.error("Unable to store information for search engine: #{e.message}")
300
+ nil
293
301
  end
294
302
 
295
303
  def upload_file(file)
@@ -2,11 +2,12 @@ module Fiona7
2
2
  module CurrentUserMapHelper
3
3
  def self.groups_for_user(user)
4
4
  user_name = user.id rescue ""
5
+ return [] if user_name.blank?
5
6
  Reactor::Sudo.su(Fiona7.root) do
6
7
  Reactor::Cache::User.instance.get(user_name).groups
7
8
  end
8
9
  rescue => e
9
- Rails.logger.error "Error occured reading user groups of #{user_name} (#{e.message})"
10
+ Rails.logger.error "Error occured while reading user groups of #{user_name} (#{e.message})"
10
11
  []
11
12
  end
12
13
  end
@@ -13,17 +13,23 @@ require 'fiona7/widget_resolver'
13
13
  module Fiona7
14
14
  module JSON
15
15
  class ObjDecorator
16
- def initialize(klass, obj)
16
+ def initialize(klass, obj, widget_resolver=nil)
17
17
  @klass = klass
18
18
  @obj = obj
19
19
 
20
20
  @link_converter = LinkConverter::FionaToScrivito.new(obj)
21
+
22
+ if widget_resolver
23
+ @widget_resolver = widget_resolver
24
+ elsif (widget_links = @obj.attr_values["X_widget_pool"])
25
+ @widget_resolver = WidgetResolver.new(widget_links, @klass)
26
+ end
21
27
  end
22
28
 
23
29
  def as_json(*args)
24
- attrs = standard_attrs
25
- add_custom_attributes(attrs, *args)
30
+ @attrs = attrs = standard_attrs
26
31
  replace_widget_pool(attrs, *args)
32
+ add_custom_attributes(attrs, *args)
27
33
 
28
34
  attrs
29
35
  end
@@ -150,7 +156,14 @@ module Fiona7
150
156
  widget_ids = []
151
157
  widgets = linklist.map do |link|
152
158
  widget_id = link["title"]
153
- widget_ids << widget_id
159
+ # sometimes a released page references an unreleased widget
160
+ # it is then impossible to load it into widget_pool
161
+ # but the reference in the widgetlist field is still there
162
+ # therefore we need to check if the widget has been loaded
163
+ # into the pool - only then it can be included
164
+ if valid_widget_id?(widget_id)
165
+ widget_ids << widget_id
166
+ end
154
167
  end
155
168
 
156
169
  widget_ids
@@ -170,10 +183,14 @@ module Fiona7
170
183
  end
171
184
  end
172
185
 
186
+ def valid_widget_id?(widget_id)
187
+ @widget_resolver && @widget_resolver.path_map[widget_id]
188
+ end
189
+
173
190
  def replace_widget_pool(attrs, *args)
174
- if (widget_links = @obj.attr_values["X_widget_pool"])
191
+ if (widget_links = @obj.attr_values["X_widget_pool"]) && @widget_resolver
175
192
 
176
- resolver = WidgetResolver.new(widget_links, @klass)
193
+ resolver = @widget_resolver
177
194
 
178
195
  Assert.success(
179
196
  resolver.instance_map.all? {|_, instance| !instance.nil?},
@@ -182,7 +199,7 @@ module Fiona7
182
199
 
183
200
  result = Hash[
184
201
  resolver.instance_map.map {|widget_id, widget|
185
- [widget_id, WidgetDecorator.new(@klass, widget).as_json(*args)]
202
+ [widget_id, WidgetDecorator.new(@klass, widget, @widget_resolver).as_json(*args)]
186
203
  }
187
204
  ]
188
205
 
@@ -1,3 +1,3 @@
1
1
  module Fiona7
2
- VERSION = "0.71.1.1"
2
+ VERSION = "0.71.1.2"
3
3
  end
@@ -33,7 +33,7 @@ module Fiona7
33
33
  widget_id_to_object_id_map.map {|widget_id, obj_id|
34
34
  object = object_id_to_widget_instance_map[obj_id]
35
35
  if !object
36
- Rails.logger.error("Unable to find widget with id #{widget_id} (obj_id = #{obj_Id})")
36
+ Rails.logger.error("Unable to find widget with id #{widget_id} (obj_id = #{obj_id})")
37
37
  next
38
38
  end
39
39
  [widget_id, object]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: infopark_fiona7
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.71.1.1
4
+ version: 0.71.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomasz Przedmojski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-16 00:00:00.000000000 Z
11
+ date: 2015-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails