zena 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (245) hide show
  1. data/History.txt +28 -0
  2. data/README.rdoc +6 -6
  3. data/Rakefile +3 -0
  4. data/app/controllers/users_controller.rb +4 -2
  5. data/app/models/acl.rb +6 -0
  6. data/app/models/cached_page.rb +2 -1
  7. data/app/models/document.rb +3 -4
  8. data/app/models/node.rb +8 -5
  9. data/app/models/site.rb +1 -1
  10. data/app/models/template.rb +2 -2
  11. data/app/models/user.rb +5 -3
  12. data/app/views/acls/_add.rhtml +2 -1
  13. data/app/views/acls/_form.rhtml +15 -7
  14. data/app/views/acls/_li.rhtml +2 -0
  15. data/app/views/acls/index.rhtml +3 -1
  16. data/app/views/acls/show.html.erb +1 -1
  17. data/app/views/links/destroy.rjs +16 -2
  18. data/app/views/versions/destroy.rjs +1 -1
  19. data/app/views/zafu/default/Node-admin.zafu +1 -1
  20. data/bin/zena +5 -3
  21. data/bricks/acls/lib/bricks/acls.rb +11 -4
  22. data/bricks/acls/zena/migrate/20110627193757_add_allowed_mode_and_format_to_acl.rb +11 -0
  23. data/bricks/acls/zena/test/integration/acl_integration_test.rb +42 -0
  24. data/bricks/acls/zena/test/sites/erebus/acls.yml +8 -0
  25. data/bricks/mongrel/zena/deploy.rb +19 -0
  26. data/bricks/single/lib/bricks/single.rb +15 -0
  27. data/bricks/single/zena/init.rb +1 -0
  28. data/bricks/sphinx/zena/tasks.rb +1 -1
  29. data/bricks/static/lib/bricks/static.rb +151 -0
  30. data/bricks/static/zena/init.rb +1 -0
  31. data/bricks/static/zena/migrate/20110702010330_add_static_to_idx_templates.rb +12 -0
  32. data/bricks/static/zena/skins/blog/Image-edit.zafu +6 -0
  33. data/bricks/static/zena/skins/blog/Image.zafu +19 -0
  34. data/bricks/static/zena/skins/blog/Node-+index.zafu +1 -0
  35. data/bricks/static/zena/skins/blog/Node-+notFound.zafu +7 -0
  36. data/bricks/static/zena/skins/blog/Node-+search.zafu +19 -0
  37. data/bricks/static/zena/skins/blog/Node.zafu +66 -0
  38. data/bricks/static/zena/skins/blog/Post.zafu +12 -0
  39. data/bricks/static/zena/skins/blog/Project--kml.zafu +30 -0
  40. data/bricks/static/zena/skins/blog/Project.zafu +45 -0
  41. data/bricks/static/zena/skins/blog/comments.zafu +30 -0
  42. data/bricks/static/zena/skins/blog/dict.yml +11 -0
  43. data/bricks/static/zena/skins/blog/img/dateBg.jpg +0 -0
  44. data/bricks/static/zena/skins/blog/img/header.png +0 -0
  45. data/bricks/static/zena/skins/blog/img/mapPin.png +0 -0
  46. data/bricks/static/zena/skins/blog/img/menu.gif +0 -0
  47. data/bricks/static/zena/skins/blog/img/menuover.gif +0 -0
  48. data/bricks/static/zena/skins/blog/img/style.css +110 -0
  49. data/bricks/static/zena/test/integration/static_integration_test.rb +30 -0
  50. data/bricks/static/zena/test/unit/static_test.rb +33 -0
  51. data/bricks/zena/zena/migrate/01_base.rb +1 -2
  52. data/bricks/zena/zena/migrate/20110623072048_fix_cached_path_index.rb +10 -0
  53. data/bricks/zena/zena/migrate/20110710113731_remove_icon_field.rb +18 -0
  54. data/config/bricks.yml +4 -0
  55. data/config/deploy.rb +17 -2
  56. data/config/gems.yml +9 -7
  57. data/config/selenium.yml +38 -0
  58. data/lib/bricks/requirements_validation.rb +8 -2
  59. data/lib/gettext_strings.rb +2 -1
  60. data/lib/tasks/zena.rake +5 -0
  61. data/lib/zena/app.rb +12 -0
  62. data/lib/zena/console.rb +9 -1
  63. data/lib/zena/core_ext/string.rb +7 -2
  64. data/lib/zena/deploy.rb +60 -6
  65. data/lib/zena/deploy/app_init.rhtml +56 -0
  66. data/lib/zena/deploy/haproxy.cnf.rhtml +34 -0
  67. data/lib/zena/deploy/httpd.rhtml +6 -0
  68. data/lib/zena/deploy/start_stop.rhtml +35 -0
  69. data/lib/zena/info.rb +1 -1
  70. data/lib/zena/remote/connection.rb +1 -1
  71. data/lib/zena/site_worker.rb +9 -5
  72. data/lib/zena/use.rb +1 -1
  73. data/lib/zena/use/action.rb +2 -2
  74. data/lib/zena/use/ajax.rb +22 -9
  75. data/lib/zena/use/conditional.rb +5 -0
  76. data/lib/zena/use/context.rb +6 -1
  77. data/lib/zena/use/dates.rb +17 -2
  78. data/lib/zena/use/display.rb +14 -3
  79. data/lib/zena/use/forms.rb +37 -47
  80. data/lib/zena/use/html_tags.rb +3 -0
  81. data/lib/zena/use/node_context.rb +17 -17
  82. data/lib/zena/use/rendering.rb +1 -1
  83. data/lib/zena/use/urls.rb +11 -2
  84. data/lib/zena/use/zafu_attributes.rb +1 -0
  85. data/lib/zena/use/zafu_safe_definitions.rb +16 -1
  86. data/lib/zena/use/zafu_templates.rb +39 -24
  87. data/lib/zena/use/zazen.rb +1 -0
  88. data/locale/de/LC_MESSAGES/zena.mo +0 -0
  89. data/locale/de/zena.po +105 -89
  90. data/locale/en/LC_MESSAGES/zena.mo +0 -0
  91. data/locale/en/zena.mo +0 -0
  92. data/locale/en/zena.po +188 -253
  93. data/locale/fr/LC_MESSAGES/zena.mo +0 -0
  94. data/locale/fr/zena.mo +0 -0
  95. data/locale/fr/zena.po +200 -257
  96. data/locale/zena.pot +95 -85
  97. data/public/javascripts/zena.js +2 -2
  98. data/test/fixtures/files/{Node-test.zafu → TestNode.zafu} +206 -4
  99. data/test/functional/nodes_controller_test.rb +2 -2
  100. data/test/integration/navigation_test.rb +9 -3
  101. data/test/integration/query_node/basic.yml +4 -4
  102. data/test/integration/query_node/filters.yml +2 -2
  103. data/test/integration/zafu_compiler/ajax.yml +6 -6
  104. data/test/integration/zafu_compiler/basic.yml +1 -1
  105. data/test/integration/zafu_compiler/calendar.yml +4 -3
  106. data/test/integration/zafu_compiler/conditional.yml +3 -10
  107. data/test/integration/zafu_compiler/context.yml +1 -1
  108. data/test/integration/zafu_compiler/dates.yml +9 -1
  109. data/test/integration/zafu_compiler/display.yml +7 -1
  110. data/test/integration/zafu_compiler/eval.yml +12 -46
  111. data/test/integration/zafu_compiler/forms.yml +1 -1
  112. data/test/integration/zafu_compiler/query.yml +2 -2
  113. data/test/integration/zafu_compiler/relations.yml +19 -9
  114. data/test/integration/zafu_compiler/roles.yml +12 -0
  115. data/test/integration/zafu_compiler/safe_definitions.yml +1 -1
  116. data/test/integration/zafu_compiler/urls.yml +13 -5
  117. data/test/integration/zafu_compiler/version.yml +6 -0
  118. data/test/integration/zafu_compiler/zafu_attributes.yml +4 -4
  119. data/test/integration/zafu_compiler_test.rb +1 -1
  120. data/test/selenium.readme +8 -0
  121. data/test/selenium/Add/0setup.rsel +12 -0
  122. data/test/selenium/Add/add1.rsel +22 -0
  123. data/test/selenium/Add/add2.rsel +22 -0
  124. data/test/selenium/Add/add3.rsel +22 -0
  125. data/test/selenium/Drop/0setup.rsel +12 -0
  126. data/test/selenium/Drop/drop1.rsel +25 -0
  127. data/test/selenium/Drop/drop2.rsel +25 -0
  128. data/test/selenium/Drop/drop3.rsel +51 -0
  129. data/test/selenium/Drop/drop4.rsel +44 -0
  130. data/test/selenium/Drop/drop5.rsel +16 -0
  131. data/test/selenium/Edit/0setup.rsel +12 -0
  132. data/test/selenium/Edit/edit1.rsel +31 -0
  133. data/test/selenium/Edit/edit2.rsel +39 -0
  134. data/test/selenium/Edit/edit3.rsel +40 -0
  135. data/test/selenium/Form/0setup.rsel +12 -0
  136. data/test/selenium/Form/form1.rsel +9 -0
  137. data/test/selenium/Form/form2.rsel +9 -0
  138. data/test/selenium/Paginate/0setup.rsel +12 -0
  139. data/test/selenium/Paginate/paginate1.rsel +24 -0
  140. data/test/selenium/Toggle/0setup.rsel +12 -0
  141. data/test/selenium/Toggle/toggle1.rsel +21 -0
  142. data/test/sites/zena/nodes.yml +4 -4
  143. data/test/sites/zena/roles.yml +3 -2
  144. data/test/sites/zena/versions.yml +12 -11
  145. data/test/unit/core_ext_test.rb +23 -5
  146. data/test/unit/document_test.rb +6 -2
  147. data/test/unit/node_test.rb +2 -2
  148. data/test/unit/remote_test.rb +1 -2
  149. data/test/unit/role_test.rb +2 -2
  150. data/test/unit/user_test.rb +48 -1
  151. data/test/unit/virtual_class_test.rb +7 -7
  152. data/test/unit/zena/acts/secure_test.rb +1 -1
  153. data/test/unit/zena/use/rendering_test.rb +1 -1
  154. data/test/unit/zena/use/urls_test.rb +3 -3
  155. data/zena.gemspec +65 -101
  156. metadata +67 -103
  157. data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run 2.tmCommand +0 -24
  158. data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run Context.tmCommand +0 -58
  159. data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run Focused Should.tmCommand +0 -88
  160. data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run.tmCommand +0 -27
  161. data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/YAML to Shoulda.tmCommand +0 -23
  162. data/vendor/TextMate/Ruby Shoulda.tmbundle/Preferences/Symbol List: Context.tmPreferences +0 -19
  163. data/vendor/TextMate/Ruby Shoulda.tmbundle/Preferences/Symbol List: Should.tmPreferences +0 -19
  164. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory attributes for.tmSnippet +0 -16
  165. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory build.tmSnippet +0 -16
  166. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory.tmSnippet +0 -16
  167. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_define with class.tmSnippet +0 -18
  168. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_define.tmSnippet +0 -18
  169. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_next.tmSnippet +0 -16
  170. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_sequence.tmSnippet +0 -18
  171. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_bad_value.tmSnippet +0 -16
  172. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_contains.tmSnippet +0 -16
  173. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_does_not_contain.tmSnippet +0 -16
  174. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_good_value.tmSnippet +0 -16
  175. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_same_elements.tmSnippet +0 -16
  176. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_save.tmSnippet +0 -16
  177. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_sent_email.tmSnippet +0 -18
  178. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_valid.tmSnippet +0 -16
  179. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/association.tmSnippet +0 -17
  180. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/attribute.tmSnippet +0 -17
  181. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/before_should block.tmSnippet +0 -18
  182. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/context block get.tmSnippet +0 -22
  183. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/context block post.tmSnippet +0 -23
  184. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/context block with setup.tmSnippet +0 -25
  185. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/setup.tmSnippet +0 -18
  186. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should block with before proc.tmSnippet +0 -18
  187. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should block.tmSnippet +0 -18
  188. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_allow_values_for.tmSnippet +0 -16
  189. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_assign_to.tmSnippet +0 -16
  190. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_be_restful denied.tmSnippet +0 -20
  191. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_be_restful.tmSnippet +0 -20
  192. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_belong_to.tmSnippet +0 -16
  193. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_change by.tmSnippet +0 -16
  194. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_change from to.tmSnippet +0 -16
  195. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_length_at_least.tmSnippet +0 -16
  196. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_length_in_range.tmSnippet +0 -16
  197. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_length_is.tmSnippet +0 -16
  198. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_value_in_range.tmSnippet +0 -16
  199. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_eventually.tmSnippet +0 -18
  200. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_filter_params.tmSnippet +0 -16
  201. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_and_belong_to_many.tmSnippet +0 -16
  202. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_class_methods.tmSnippet +0 -16
  203. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_db_column.tmSnippet +0 -16
  204. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_db_columns.tmSnippet +0 -16
  205. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_index.tmSnippet +0 -16
  206. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_indices.tmSnippet +0 -16
  207. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_instance_methods.tmSnippet +0 -16
  208. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_many.tmSnippet +0 -16
  209. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_named_scope.tmSnippet +0 -16
  210. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_one.tmSnippet +0 -16
  211. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_readonly_attributes.tmSnippet +0 -16
  212. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_allow_mass_assignment_of.tmSnippet +0 -16
  213. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_allow_values_for.tmSnippet +0 -16
  214. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_assign_to.tmSnippet +0 -16
  215. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_change.tmSnippet +0 -16
  216. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_set_the_flash.tmSnippet +0 -16
  217. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_redirect_to.tmSnippet +0 -16
  218. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_a_form.tmSnippet +0 -16
  219. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_template.tmSnippet +0 -16
  220. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_with_layout.tmSnippet +0 -16
  221. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_without_layout.tmSnippet +0 -16
  222. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_respond_with.tmSnippet +0 -16
  223. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_respond_with_content_type.tmSnippet +0 -16
  224. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_return_from_session.tmSnippet +0 -16
  225. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_route.tmSnippet +0 -16
  226. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_set_the_flash_to.tmSnippet +0 -16
  227. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_acceptance_of.tmSnippet +0 -16
  228. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_numericality_of.tmSnippet +0 -16
  229. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_presence_of.tmSnippet +0 -16
  230. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_uniqueness_of with scope.tmSnippet +0 -16
  231. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_uniqueness_of.tmSnippet +0 -16
  232. data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/catch_exception.rb +0 -39
  233. data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/run_script.rb +0 -104
  234. data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/stdin_dialog.rb +0 -14
  235. data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/test.rb +0 -17
  236. data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/todo.txt +0 -13
  237. data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/bin/yaml_to_shoulda.rb +0 -25
  238. data/vendor/TextMate/Ruby Shoulda.tmbundle/Syntaxes/Ruby on Rails (Shoulda).tmLanguage +0 -166
  239. data/vendor/TextMate/Ruby Shoulda.tmbundle/info.plist +0 -304
  240. data/vendor/TextMate/Zena.tmbundle/Commands/Run all yaml tests.tmCommand +0 -37
  241. data/vendor/TextMate/Zena.tmbundle/Commands/Run focused yaml test.tmCommand +0 -52
  242. data/vendor/TextMate/Zena.tmbundle/Support/RubyMate/catch_exception.rb +0 -39
  243. data/vendor/TextMate/Zena.tmbundle/Support/RubyMate/run_script.rb +0 -118
  244. data/vendor/TextMate/Zena.tmbundle/Support/RubyMate/stdin_dialog.rb +0 -14
  245. data/vendor/TextMate/Zena.tmbundle/info.plist +0 -17
@@ -161,6 +161,7 @@ module Zena
161
161
  end
162
162
 
163
163
  def filter_prefix
164
+ return if %w{link url path}.include?(@method)
164
165
  if prefix = @params.delete(:prefix)
165
166
  prefix.split(',').map(&:strip).each do |cond_prefix|
166
167
  case cond_prefix
@@ -44,6 +44,18 @@ module Zena
44
44
  end
45
45
  end
46
46
 
47
+ # Dynamic resolution of first
48
+ def self.first_proc
49
+ @@first_proc ||= Proc.new do |receiver, method|
50
+ if elem = receiver.opts[:elem] || receiver.klass.first
51
+ RubyLess::TypedString.new("#{receiver.raw}.first", :class => elem, :nil => true)
52
+ else
53
+ # should never happen
54
+ raise RubyLess::NoMethodError.new(receiver.raw, receiver.klass, ['first'])
55
+ end
56
+ end
57
+ end
58
+
47
59
  # Dynamic resolution of join
48
60
  def self.join_proc
49
61
  Proc.new do |receiver, join_arg|
@@ -76,7 +88,8 @@ module Zena
76
88
  safe_method_for String, [:gsub, Regexp, String] => {:class => String, :pre_processor => true}
77
89
  safe_method_for String, :upcase => {:class => String, :pre_processor => true}
78
90
  safe_method_for String, :strip => {:class => String, :pre_processor => true}
79
- safe_method_for String, :urlencode => {:class => String, :pre_processor => true, :method => :url_name}
91
+ safe_method_for String, :urlencode => {:class => String, :pre_processor => true, :method => :urlencode}
92
+ safe_method_for String, :url_name => {:class => String, :pre_processor => true, :method => :url_name}
80
93
  safe_method_for String, :to_i => {:class => Number, :pre_processor => true}
81
94
  safe_method_for String, :to_s => {:class => String, :pre_processor => true}
82
95
  safe_method_for String, [:limit, Number] => {:class => String, :pre_processor => true}
@@ -116,6 +129,8 @@ module Zena
116
129
  {:method => 'nil', :nil => true, :pre_processor => join_proc}
117
130
  safe_method_for Array, [:map, Symbol] => # supports map(:name)
118
131
  {:method => 'nil', :nil => true, :pre_processor => map_proc}
132
+ safe_method_for Array, [:first] =>
133
+ {:method => 'nil', :nil => true, :pre_processor => first_proc}
119
134
  safe_method_for Array, [:include?, String] =>
120
135
  {:method => 'include?', :accept_nil => true, :pre_processor => true, :class => Boolean}
121
136
  safe_method_for Array, [:include?, Number] =>
@@ -171,11 +171,11 @@ module Zena
171
171
  if opts[:format] && opts[:format] != 'html'
172
172
  raise ActiveRecord::RecordNotFound
173
173
  elsif %w{+login +index +adminLayout +popupLayout +notFound admin}.include?(opts[:mode])
174
- zafu_url ="$default/Node-#{opts[:mode]}"
174
+ zafu_url =['$default', "Node-#{opts[:mode]}"].map(&:to_filename).join('/')
175
175
  elsif opts[:mode]
176
176
  raise ActiveRecord::RecordNotFound
177
177
  else
178
- zafu_url ="$default/Node"
178
+ zafu_url =['$default', 'Node'].map(&:to_filename).join('/')
179
179
  end
180
180
 
181
181
  # File path:
@@ -234,7 +234,7 @@ module Zena
234
234
  def self.included(base)
235
235
  # base.send(:helper_attr, :asset_cache)
236
236
  if base.respond_to?(:helper_method)
237
- base.send(:helper_method, :dev_mode?, :lang_path, :rebuild_template, :get_template_text, :template_url, :template_url_for_asset, :zafu_helper, :template_path_from_template_url)
237
+ base.send(:helper_method, :dev_mode?, :lang_path, :rebuild_template, :get_template_text, :template_url, :template_url_for_asset, :zafu_helper, :template_path_from_template_url, :save_erb_to_url, :default_template_url, :fullpath_from_template_url)
238
238
  end
239
239
 
240
240
  base.send(:include, ::Zafu::ControllerMethods)
@@ -251,26 +251,14 @@ module Zena
251
251
  klass = @node.vclass
252
252
 
253
253
  # possible classes for the master template :
254
- klasses = []
255
- klass.kpath.split(//).each_index { |i| klasses << klass.kpath[0..i] }
254
+ kpaths = []
255
+ klass.kpath.split(//).each_index { |i| kpaths << klass.kpath[0..i] }
256
256
 
257
- if @skin && template = secure(Template) { Template.find(:first,
258
- :conditions => ["tkpath IN (?) AND format = ? AND mode #{mode ? '=' : 'IS'} ? AND idx_templates.node_id = nodes.id AND idx_templates.skin_id = ?", klasses, format, mode, @skin.id],
259
- :from => "nodes, idx_templates",
260
- :select => "nodes.*, tkpath",
261
- :order => "length(tkpath) DESC"
262
- )}
257
+ if @skin
258
+ zafu_url, template = get_best_template(kpaths, format, mode, @skin)
259
+ return default_template_url(opts) unless zafu_url
263
260
 
264
- # Path as seen from zafu:
265
- path_in_skin = template.fullpath.gsub(/^#{@skin.fullpath}\//, '')
266
-
267
- if path_in_skin == template.zip.to_s
268
- zafu_url = [@skin.title, template.title]
269
- else
270
- zafu_url = [@skin.title] + Node.fullpath_map(path_in_skin, :title)
271
- end
272
-
273
- rel_path = current_site.zafu_path + "/#{zafu_url.map(&:to_filename).join('/')}/#{lang_path}/_main.erb"
261
+ rel_path = current_site.zafu_path + "/#{zafu_url}/#{lang_path}/_main.erb"
274
262
  path = SITES_ROOT + rel_path
275
263
 
276
264
  if !File.exists?(path) || params[:rebuild]
@@ -280,7 +268,9 @@ module Zena
280
268
  nil
281
269
  end
282
270
 
283
- unless rebuild_template(template, opts.merge(:zafu_url => zafu_url.join('/'), :rel_path => rel_path, :dev_mode => (dev_box?(mode, format))))
271
+ # template is a new record when template is returned for
272
+ # a static file.
273
+ unless rebuild_template(template.new_record? ? nil : template, opts.merge(:zafu_url => zafu_url, :rel_path => rel_path, :dev_mode => (dev_box?(mode, format))))
284
274
  return default_template_url(opts)
285
275
  end
286
276
  end
@@ -294,6 +284,31 @@ module Zena
294
284
  end
295
285
  end
296
286
 
287
+ # Find the best template to render the object.
288
+ # The 'template' option is used when static calls the native
289
+ # method to mangle the zafu_url
290
+ def get_best_template(kpaths, format, mode, skin, template = nil)
291
+ if template ||= secure(Template) { Template.find(:first,
292
+ :conditions => ["tkpath IN (?) AND format = ? AND mode #{mode ? '=' : 'IS'} ? AND idx_templates.node_id = nodes.id AND idx_templates.skin_id = ?", kpaths, format, mode, skin.id],
293
+ :from => "nodes, idx_templates",
294
+ :select => "nodes.*, tkpath",
295
+ :order => "length(tkpath) DESC"
296
+ )}
297
+
298
+ # Path as seen from zafu:
299
+ path_in_skin = template.fullpath.gsub(/^#{@skin.fullpath}\//, '')
300
+
301
+ if path_in_skin == template.zip.to_s
302
+ zafu_url = [@skin.title, template.title]
303
+ else
304
+ zafu_url = [@skin.title] + Node.fullpath_map(path_in_skin, :title)
305
+ end
306
+ [zafu_url.map(&:to_filename).join('/'), template]
307
+ else
308
+ nil
309
+ end
310
+ end
311
+
297
312
  # Return the template path without '.erb' extension in case we need to append '_form'
298
313
  # from a template's url. The expected url is of the form '/skin/Klass-mode/partial'
299
314
  def template_path_from_template_url(template_url=params[:t_url])
@@ -326,7 +341,7 @@ module Zena
326
341
 
327
342
  # Return true if we should display the dev box
328
343
  def dev_box?(mode, format)
329
- (format == 'html' && mode != '+popupLayout') && dev_mode?
344
+ (format == 'html' && !['+popupLayout', '+user'].include?(mode)) && dev_mode?
330
345
  end
331
346
 
332
347
  def lang_path
@@ -501,7 +516,7 @@ module Zena
501
516
  end # ControllerMethods
502
517
 
503
518
  module ViewMethods
504
- include Common
519
+ # include Common
505
520
 
506
521
  def dev_skin_options
507
522
  skins = secure(Skin) { Skin.all }
@@ -47,6 +47,7 @@ module Zena
47
47
  # TextDocument content as Zazen.
48
48
  return text
49
49
  end
50
+
50
51
  if !code_lang.blank?
51
52
  return Zena::CodeSyntax.new(text, code_lang).to_html(opt)
52
53
  end
Binary file
data/locale/de/zena.po CHANGED
@@ -1,7 +1,7 @@
1
1
  msgid ""
2
2
  msgstr ""
3
3
  "Project-Id-Version: version 0.0.1\n"
4
- "POT-Creation-Date: 2011-06-09 19:15-0000\n"
4
+ "POT-Creation-Date: 2011-06-27 20:32-0000\n"
5
5
  "PO-Revision-Date: 2011-06-02 10:51+0100\n"
6
6
  "Last-Translator: Gaspard Bucher <gaspard@teti.ch>\n"
7
7
  "Language-Team: de <lars@greiz-reinsdorf.de>\n"
@@ -13,7 +13,7 @@ msgstr ""
13
13
  "X-Poedit-Bookmarks: -1,-1,-1,219,-1,-1,-1,-1,-1,-1\n"
14
14
  "X-Poedit-Basepath: /Users/gaspard/svk/zena\n"
15
15
 
16
- #: lib/gettext_strings.rb:118
16
+ #: lib/gettext_strings.rb:119
17
17
  msgid "%Y-%m-%d %H:%M"
18
18
  msgstr "%Y-%m-%d %H:%M"
19
19
 
@@ -67,15 +67,15 @@ msgstr "vor einer Minute"
67
67
  msgid "API group"
68
68
  msgstr "Gruppe"
69
69
 
70
- #: lib/gettext_strings.rb:145
70
+ #: lib/gettext_strings.rb:146
71
71
  msgid "Apr"
72
72
  msgstr "Apr"
73
73
 
74
- #: lib/gettext_strings.rb:132
74
+ #: lib/gettext_strings.rb:133
75
75
  msgid "April"
76
76
  msgstr "April"
77
77
 
78
- #: app/views/acls/_form.rhtml:58
78
+ #: app/views/acls/_form.rhtml:66
79
79
  #, fuzzy
80
80
  msgid "Are you sure you want to destroy this access ?"
81
81
  msgstr "Sind sie sicher, die virtuelle Klasse zu löschen?"
@@ -106,15 +106,15 @@ msgid ""
106
106
  "Are you sure you want to permanently remove the content of this rubbish bin ?"
107
107
  msgstr "Sind Sie sicher, den Inhalt des Papierkorbs dauerhaft zu löschen?"
108
108
 
109
- #: lib/gettext_strings.rb:149
109
+ #: lib/gettext_strings.rb:150
110
110
  msgid "Aug"
111
111
  msgstr "Aug"
112
112
 
113
- #: lib/gettext_strings.rb:136
113
+ #: lib/gettext_strings.rb:137
114
114
  msgid "August"
115
115
  msgstr "August"
116
116
 
117
- #: app/controllers/nodes_controller.rb:300
117
+ #: app/controllers/nodes_controller.rb:311
118
118
  msgid "Backup created."
119
119
  msgstr "Backup erzeugt"
120
120
 
@@ -144,15 +144,15 @@ msgstr ""
144
144
  msgid "Could not change version back to redaction."
145
145
  msgstr "Artikel konnte nicht wieder zur Begutachtung gestellt werden"
146
146
 
147
- #: app/controllers/nodes_controller.rb:504
147
+ #: app/controllers/nodes_controller.rb:515
148
148
  msgid "Could not clear order."
149
149
  msgstr "Order konnte nicht gelöscht werden"
150
150
 
151
- #: app/controllers/nodes_controller.rb:302
151
+ #: app/controllers/nodes_controller.rb:313
152
152
  msgid "Could not create backup."
153
153
  msgstr "Backup konnte nicht erzeugt werden"
154
154
 
155
- #: app/controllers/nodes_controller.rb:269
155
+ #: app/controllers/nodes_controller.rb:280
156
156
  #, fuzzy
157
157
  msgid "Could not destroy node."
158
158
  msgstr "Order konnte nicht gelöscht werden"
@@ -186,7 +186,7 @@ msgstr "Vorschlag zur Veröffentlichung konnte nicht zurückgezogen werden"
186
186
  msgid "Could not rollback:"
187
187
  msgstr "Backup konnte nicht erzeugt werden"
188
188
 
189
- #: app/controllers/nodes_controller.rb:487
189
+ #: app/controllers/nodes_controller.rb:498
190
190
  msgid "Could not update order."
191
191
  msgstr "Order konnte nicht aktualisiert werden"
192
192
 
@@ -194,11 +194,11 @@ msgstr "Order konnte nicht aktualisiert werden"
194
194
  msgid "Data entry was successfully created."
195
195
  msgstr "Dateneintrag erfolgreich angelegt"
196
196
 
197
- #: lib/gettext_strings.rb:153
197
+ #: lib/gettext_strings.rb:154
198
198
  msgid "Dec"
199
199
  msgstr "Dez"
200
200
 
201
- #: lib/gettext_strings.rb:140
201
+ #: lib/gettext_strings.rb:141
202
202
  msgid "December"
203
203
  msgstr "Dezember"
204
204
 
@@ -206,15 +206,15 @@ msgstr "Dezember"
206
206
  msgid "Delete relation '%{role}' between '%{source}' and '%{target}' ?"
207
207
  msgstr ""
208
208
 
209
- #: lib/gettext_strings.rb:143
209
+ #: lib/gettext_strings.rb:144
210
210
  msgid "Feb"
211
211
  msgstr "Feb"
212
212
 
213
- #: lib/gettext_strings.rb:130
213
+ #: lib/gettext_strings.rb:131
214
214
  msgid "February"
215
215
  msgstr "Februar"
216
216
 
217
- #: lib/gettext_strings.rb:125
217
+ #: lib/gettext_strings.rb:126
218
218
  msgid "Fri"
219
219
  msgstr "Fr"
220
220
 
@@ -230,43 +230,43 @@ msgstr ""
230
230
  msgid "Invalid login or password."
231
231
  msgstr ""
232
232
 
233
- #: lib/gettext_strings.rb:142
233
+ #: lib/gettext_strings.rb:143
234
234
  msgid "Jan"
235
235
  msgstr "Jan"
236
236
 
237
- #: lib/gettext_strings.rb:129
237
+ #: lib/gettext_strings.rb:130
238
238
  msgid "January"
239
239
  msgstr "Januar"
240
240
 
241
- #: lib/gettext_strings.rb:148
241
+ #: lib/gettext_strings.rb:149
242
242
  msgid "Jul"
243
243
  msgstr "Jul"
244
244
 
245
- #: lib/gettext_strings.rb:135
245
+ #: lib/gettext_strings.rb:136
246
246
  msgid "July"
247
247
  msgstr "Juli"
248
248
 
249
- #: lib/gettext_strings.rb:147
249
+ #: lib/gettext_strings.rb:148
250
250
  msgid "Jun"
251
251
  msgstr "Jun"
252
252
 
253
- #: lib/gettext_strings.rb:134
253
+ #: lib/gettext_strings.rb:135
254
254
  msgid "June"
255
255
  msgstr "Juni"
256
256
 
257
- #: lib/gettext_strings.rb:144
257
+ #: lib/gettext_strings.rb:145
258
258
  msgid "Mar"
259
259
  msgstr "Mär"
260
260
 
261
- #: lib/gettext_strings.rb:131
261
+ #: lib/gettext_strings.rb:132
262
262
  msgid "March"
263
263
  msgstr "März"
264
264
 
265
- #: lib/gettext_strings.rb:133 lib/gettext_strings.rb:146
265
+ #: lib/gettext_strings.rb:134 lib/gettext_strings.rb:147
266
266
  msgid "May"
267
267
  msgstr "Mai"
268
268
 
269
- #: lib/gettext_strings.rb:121
269
+ #: lib/gettext_strings.rb:122
270
270
  msgid "Mon"
271
271
  msgstr "Mo"
272
272
 
@@ -279,19 +279,19 @@ msgstr "Montag"
279
279
  msgid "Node destroyed."
280
280
  msgstr "Löschen"
281
281
 
282
- #: lib/gettext_strings.rb:152
282
+ #: lib/gettext_strings.rb:153
283
283
  msgid "Nov"
284
284
  msgstr "Nov"
285
285
 
286
- #: lib/gettext_strings.rb:139
286
+ #: lib/gettext_strings.rb:140
287
287
  msgid "November"
288
288
  msgstr "November"
289
289
 
290
- #: lib/gettext_strings.rb:151
290
+ #: lib/gettext_strings.rb:152
291
291
  msgid "Oct"
292
292
  msgstr "Okt"
293
293
 
294
- #: lib/gettext_strings.rb:138
294
+ #: lib/gettext_strings.rb:139
295
295
  msgid "October"
296
296
  msgstr "Oktober"
297
297
 
@@ -300,11 +300,11 @@ msgstr "Oktober"
300
300
  msgid "Order cleared."
301
301
  msgstr "Zwischenspeicher gelöscht."
302
302
 
303
- #: app/controllers/nodes_controller.rb:485
303
+ #: app/controllers/nodes_controller.rb:496
304
304
  msgid "Order updated"
305
305
  msgstr "Order aktualisiert"
306
306
 
307
- #: lib/gettext_strings.rb:156
307
+ #: lib/gettext_strings.rb:157
308
308
  msgid "Password:"
309
309
  msgstr "Passwort"
310
310
 
@@ -342,7 +342,7 @@ msgstr "Information erfolgreich aktualisiert"
342
342
  msgid "Rolled back to redaction."
343
343
  msgstr "Artikel wieder zur Begutachtung gestellt"
344
344
 
345
- #: lib/gettext_strings.rb:126
345
+ #: lib/gettext_strings.rb:127
346
346
  msgid "Sat"
347
347
  msgstr "Sa"
348
348
 
@@ -350,11 +350,11 @@ msgstr "Sa"
350
350
  msgid "Saturday"
351
351
  msgstr "Samstag"
352
352
 
353
- #: lib/gettext_strings.rb:150
353
+ #: lib/gettext_strings.rb:151
354
354
  msgid "Sep"
355
355
  msgstr "Sep"
356
356
 
357
- #: lib/gettext_strings.rb:137
357
+ #: lib/gettext_strings.rb:138
358
358
  msgid "September"
359
359
  msgstr "September"
360
360
 
@@ -363,7 +363,7 @@ msgstr "September"
363
363
  msgid "Site was successfully updated."
364
364
  msgstr "Passwort erfolgreich aktualisiert"
365
365
 
366
- #: lib/gettext_strings.rb:127
366
+ #: lib/gettext_strings.rb:128
367
367
  msgid "Sun"
368
368
  msgstr "So"
369
369
 
@@ -376,7 +376,7 @@ msgid "This node contains sub-nodes: it cannot be destroyed."
376
376
  msgstr ""
377
377
  "Dieser Eintrag enthält Untereinträge und kann deshalb nicht gelöscht werden"
378
378
 
379
- #: lib/gettext_strings.rb:124
379
+ #: lib/gettext_strings.rb:125
380
380
  msgid "Thu"
381
381
  msgstr "Do"
382
382
 
@@ -384,7 +384,7 @@ msgstr "Do"
384
384
  msgid "Thursday"
385
385
  msgstr "Donnerstag"
386
386
 
387
- #: lib/gettext_strings.rb:122
387
+ #: lib/gettext_strings.rb:123
388
388
  msgid "Tue"
389
389
  msgstr "Di"
390
390
 
@@ -405,7 +405,7 @@ msgstr "Upload fehlgeschlagen"
405
405
  msgid "Upload succeeded."
406
406
  msgstr "Upload erfogreich"
407
407
 
408
- #: lib/gettext_strings.rb:155
408
+ #: lib/gettext_strings.rb:156
409
409
  msgid "User name:"
410
410
  msgstr "Benutzername:"
411
411
 
@@ -427,7 +427,7 @@ msgstr "Kommentar erfolgreich angelegt"
427
427
  msgid "VirtualClass was successfully updated."
428
428
  msgstr "Passwort erfolgreich aktualisiert"
429
429
 
430
- #: lib/gettext_strings.rb:123
430
+ #: lib/gettext_strings.rb:124
431
431
  msgid "Wed"
432
432
  msgstr "Mi"
433
433
 
@@ -452,29 +452,43 @@ msgid "access controls"
452
452
  msgstr ""
453
453
 
454
454
  #: app/views/acls/_form.rhtml:23
455
+ #, fuzzy
455
456
  msgid "acl_action_help"
456
- msgstr ""
457
+ msgstr "<img src='/images/group.png' title='Gruppe erzeugen'/>"
457
458
 
458
- #: app/views/acls/_form.rhtml:43
459
+ #: app/views/acls/_form.rhtml:51
459
460
  #, fuzzy
460
461
  msgid "acl_exec_group_help"
461
462
  msgstr "<img src='/images/group.png' title='Gruppe erzeugen'/>"
462
463
 
463
- #: app/views/acls/_form.rhtml:47
464
+ #: app/views/acls/_form.rhtml:55
465
+ #, fuzzy
464
466
  msgid "acl_exec_skin_help"
467
+ msgstr "<img src='/images/group.png' title='Gruppe erzeugen'/>"
468
+
469
+ #: app/views/acls/_form.rhtml:39
470
+ msgid "acl_format_help"
465
471
  msgstr ""
466
472
 
467
473
  #: app/views/acls/_form.rhtml:19
474
+ #, fuzzy
468
475
  msgid "acl_group_help"
469
- msgstr ""
476
+ msgstr "<img src='/images/group.png' title='Gruppe erzeugen'/>"
477
+
478
+ #: app/views/acls/_form.rhtml:35
479
+ #, fuzzy
480
+ msgid "acl_mode_help"
481
+ msgstr "<img src='/images/group.png' title='Gruppe erzeugen'/>"
470
482
 
471
483
  #: app/views/acls/_form.rhtml:27
484
+ #, fuzzy
472
485
  msgid "acl_priority_help"
473
- msgstr ""
486
+ msgstr "<img src='/images/group.png' title='Gruppe erzeugen'/>"
474
487
 
475
- #: app/views/acls/_form.rhtml:39
488
+ #: app/views/acls/_form.rhtml:47
489
+ #, fuzzy
476
490
  msgid "acl_query_help"
477
- msgstr ""
491
+ msgstr "<img src='/images/group.png' title='Gruppe erzeugen'/>"
478
492
 
479
493
  #: lib/zena/use/display.rb:282
480
494
  #, fuzzy
@@ -487,7 +501,7 @@ msgstr "<img src='/images/lock.png' title='Klasse'/>"
487
501
  msgid "action"
488
502
  msgstr "Bezüge"
489
503
 
490
- #: lib/gettext_strings.rb:169
504
+ #: lib/gettext_strings.rb:170
491
505
  msgid "address"
492
506
  msgstr "Adresse"
493
507
 
@@ -521,7 +535,7 @@ msgstr "<span title='beim Speichern Sicherungskopie anlegen'>bak</span>"
521
535
  msgid "bak"
522
536
  msgstr "<span title='beim Speichern Sicherungskopie anlegen'>bak</span>"
523
537
 
524
- #: lib/gettext_strings.rb:176
538
+ #: lib/gettext_strings.rb:177
525
539
  msgid "birthday"
526
540
  msgstr "Geburtstag"
527
541
 
@@ -717,12 +731,12 @@ msgstr "Klassen"
717
731
  msgid "classes import"
718
732
  msgstr "Klassen"
719
733
 
720
- #: lib/gettext_strings.rb:179
734
+ #: lib/gettext_strings.rb:180
721
735
  #, fuzzy
722
736
  msgid "clear_cache"
723
737
  msgstr "Zwischenspeicher löschen"
724
738
 
725
- #: lib/gettext_strings.rb:180
739
+ #: lib/gettext_strings.rb:181
726
740
  #, fuzzy
727
741
  msgid "clear_cache done."
728
742
  msgstr "Zwischenspeicher löschen"
@@ -776,7 +790,7 @@ msgstr ""
776
790
  msgid "convert"
777
791
  msgstr "konvertieren"
778
792
 
779
- #: app/models/node.rb:1540 app/models/node.rb:1552
793
+ #: app/models/node.rb:1535 app/models/node.rb:1547
780
794
  #: app/models/relation_proxy.rb:185 app/models/relation_proxy.rb:209
781
795
  #, fuzzy
782
796
  msgid "could not be found"
@@ -786,15 +800,15 @@ msgstr "Eintrag nicht gefunden"
786
800
  msgid "could not save value (bad attribute)"
787
801
  msgstr ""
788
802
 
789
- #: app/controllers/nodes_controller.rb:357
803
+ #: app/controllers/nodes_controller.rb:368
790
804
  msgid "could not update"
791
805
  msgstr "Eintrag konnte nicht aktualisiert werden"
792
806
 
793
- #: app/controllers/users_controller.rb:119
807
+ #: app/controllers/users_controller.rb:117
794
808
  msgid "could not update user"
795
809
  msgstr "Benutzer konnte nicht aktualisiert werden"
796
810
 
797
- #: lib/gettext_strings.rb:172
811
+ #: lib/gettext_strings.rb:173
798
812
  msgid "country"
799
813
  msgstr "Land"
800
814
 
@@ -846,17 +860,17 @@ msgstr "<img src='/images/photo_grey.png' title='Standard-Bild-Format'/>"
846
860
  msgid "deleted"
847
861
  msgstr "gelöscht"
848
862
 
849
- #: app/views/acls/_form.rhtml:35
863
+ #: app/views/acls/_form.rhtml:43
850
864
  msgid "description"
851
865
  msgstr ""
852
866
 
853
867
  #: app/views/columns/_form.html.erb:33 app/views/relations/_form.erb:44
854
- #: app/views/virtual_classes/_form.erb:52 app/views/acls/_form.rhtml:60
868
+ #: app/views/virtual_classes/_form.erb:52 app/views/acls/_form.rhtml:68
855
869
  #: app/views/groups/_form.rhtml:41 app/views/iformats/_form.rhtml:27
856
870
  msgid "destroy"
857
871
  msgstr "Löschen"
858
872
 
859
- #: app/views/acls/_form.rhtml:60
873
+ #: app/views/acls/_form.rhtml:68
860
874
  #, fuzzy
861
875
  msgid "destroy acl"
862
876
  msgstr "Löschen"
@@ -907,7 +921,7 @@ msgstr "Dokument"
907
921
  msgid "drive_tab"
908
922
  msgstr "drive"
909
923
 
910
- #: lib/zena/use/urls.rb:824
924
+ #: lib/zena/use/urls.rb:834
911
925
  msgid "edit"
912
926
  msgstr "bearbeiten"
913
927
 
@@ -920,7 +934,7 @@ msgstr "<img src='/images/target.png' title='role'/>"
920
934
  msgid "edit site"
921
935
  msgstr "Site bearbeiten"
922
936
 
923
- #: lib/gettext_strings.rb:175
937
+ #: lib/gettext_strings.rb:176
924
938
  msgid "email"
925
939
  msgstr "E-Mail"
926
940
 
@@ -928,12 +942,12 @@ msgstr "E-Mail"
928
942
  msgid "en"
929
943
  msgstr "englisch"
930
944
 
931
- #: app/views/acls/_form.rhtml:43 app/views/acls/index.rhtml:10
945
+ #: app/views/acls/_form.rhtml:51 app/views/acls/index.rhtml:12
932
946
  #, fuzzy
933
947
  msgid "exec group"
934
948
  msgstr "<img src='/images/group.png' title='Gruppe erzeugen'/>"
935
949
 
936
- #: app/views/acls/_form.rhtml:47 app/views/acls/index.rhtml:11
950
+ #: app/views/acls/_form.rhtml:55 app/views/acls/index.rhtml:13
937
951
  #, fuzzy
938
952
  msgid "exec skin"
939
953
  msgstr "Oberfläche"
@@ -951,10 +965,11 @@ msgstr ""
951
965
  msgid "file_tab"
952
966
  msgstr "Datei"
953
967
 
954
- #: lib/gettext_strings.rb:167
968
+ #: lib/gettext_strings.rb:168
955
969
  msgid "first_name"
956
970
  msgstr "Vorname"
957
971
 
972
+ #: app/views/acls/_form.rhtml:39 app/views/acls/index.rhtml:10
958
973
  #: app/views/templates/document_create_tabs/_template.rhtml:16
959
974
  #: app/views/templates/edit_tabs/_template.rhtml:1
960
975
  msgid "format"
@@ -1086,12 +1101,12 @@ msgstr ""
1086
1101
  msgid "img_custom_inherit"
1087
1102
  msgstr "<img src='/images/cog.png' title='custom rights'/>"
1088
1103
 
1089
- #: lib/gettext_strings.rb:188
1104
+ #: lib/gettext_strings.rb:189
1090
1105
  #, fuzzy
1091
1106
  msgid "img_datetime"
1092
1107
  msgstr "%Y-%m-%d %H:%M"
1093
1108
 
1094
- #: lib/gettext_strings.rb:187
1109
+ #: lib/gettext_strings.rb:188
1095
1110
  #, fuzzy
1096
1111
  msgid "img_float"
1097
1112
  msgstr "Bildformate"
@@ -1118,7 +1133,7 @@ msgstr "<img src='/images/user_admin.png' title='administrator'/>"
1118
1133
  msgid "img_has_one"
1119
1134
  msgstr "übernehmen"
1120
1135
 
1121
- #: lib/gettext_strings.rb:186
1136
+ #: lib/gettext_strings.rb:187
1122
1137
  #, fuzzy
1123
1138
  msgid "img_integer"
1124
1139
  msgstr ""
@@ -1149,7 +1164,7 @@ msgstr ""
1149
1164
  msgid "img_private"
1150
1165
  msgstr "<img src='/images/lock.png' title='Privat'/>"
1151
1166
 
1152
- #: lib/gettext_strings.rb:48 lib/zena/use/html_tags.rb:109
1167
+ #: lib/gettext_strings.rb:48 lib/zena/use/html_tags.rb:112
1153
1168
  msgid "img_public"
1154
1169
  msgstr "<img src='/images/user_pub.png' title='public'/>"
1155
1170
 
@@ -1158,7 +1173,7 @@ msgstr "<img src='/images/user_pub.png' title='public'/>"
1158
1173
  msgid "img_relation"
1159
1174
  msgstr "Bezüge"
1160
1175
 
1161
- #: lib/gettext_strings.rb:185
1176
+ #: lib/gettext_strings.rb:186
1162
1177
  #, fuzzy
1163
1178
  msgid "img_string"
1164
1179
  msgstr "<img src='/images/tag_blue.png' title='Link'/>"
@@ -1221,7 +1236,7 @@ msgstr "in einer Minute"
1221
1236
  msgid "index"
1222
1237
  msgstr "innerhalb"
1223
1238
 
1224
- #: app/controllers/users_controller.rb:117
1239
+ #: app/controllers/users_controller.rb:115
1225
1240
  msgid "information successfully updated"
1226
1241
  msgstr "Information erfolgreich aktualisiert"
1227
1242
 
@@ -1260,7 +1275,7 @@ msgstr ""
1260
1275
  msgid "language"
1261
1276
  msgstr "Sprache"
1262
1277
 
1263
- #: lib/gettext_strings.rb:168
1278
+ #: lib/gettext_strings.rb:169
1264
1279
  #, fuzzy
1265
1280
  msgid "last_name"
1266
1281
  msgstr "Vorname"
@@ -1273,7 +1288,7 @@ msgstr "Links"
1273
1288
  msgid "links_tab"
1274
1289
  msgstr "Bezüge"
1275
1290
 
1276
- #: lib/gettext_strings.rb:171
1291
+ #: lib/gettext_strings.rb:172
1277
1292
  #, fuzzy
1278
1293
  msgid "locality"
1279
1294
  msgstr "Stadt"
@@ -1303,10 +1318,11 @@ msgstr "Max. Größe"
1303
1318
  msgid "missing target"
1304
1319
  msgstr "Ziel"
1305
1320
 
1306
- #: lib/gettext_strings.rb:174
1321
+ #: lib/gettext_strings.rb:175
1307
1322
  msgid "mobile"
1308
1323
  msgstr "Mobil"
1309
1324
 
1325
+ #: app/views/acls/_form.rhtml:35 app/views/acls/index.rhtml:9
1310
1326
  #: app/views/nodes/_groups.rhtml:14
1311
1327
  #: app/views/templates/document_create_tabs/_template.rhtml:13
1312
1328
  #: app/views/templates/edit_tabs/_template.rhtml:4
@@ -1333,7 +1349,7 @@ msgstr "Benutzerseite"
1333
1349
  msgid "name"
1334
1350
  msgstr "Name"
1335
1351
 
1336
- #: app/controllers/nodes_controller.rb:461
1352
+ #: app/controllers/nodes_controller.rb:472
1337
1353
  msgid "new"
1338
1354
  msgstr ""
1339
1355
 
@@ -1350,7 +1366,7 @@ msgstr "neues Passwort"
1350
1366
  msgid "new relation"
1351
1367
  msgstr "<img src='/images/target.png' title='role'/>"
1352
1368
 
1353
- #: lib/gettext_strings.rb:119
1369
+ #: lib/gettext_strings.rb:120
1354
1370
  msgid "news_date"
1355
1371
  msgstr "%A, %B %d %Y"
1356
1372
 
@@ -1362,11 +1378,11 @@ msgstr ""
1362
1378
  msgid "no result found"
1363
1379
  msgstr "Kein Ergebnis gefunden"
1364
1380
 
1365
- #: app/controllers/nodes_controller.rb:461
1381
+ #: app/controllers/nodes_controller.rb:472
1366
1382
  msgid "node not found"
1367
1383
  msgstr "Eintrag nicht gefunden"
1368
1384
 
1369
- #: app/controllers/nodes_controller.rb:355
1385
+ #: app/controllers/nodes_controller.rb:366
1370
1386
  msgid "node updated"
1371
1387
  msgstr "Eintrag aktualisiert"
1372
1388
 
@@ -1428,7 +1444,7 @@ msgstr "Passwort"
1428
1444
  msgid "popup"
1429
1445
  msgstr "Auf Klick vergrößern zu Format"
1430
1446
 
1431
- #: lib/gettext_strings.rb:170
1447
+ #: lib/gettext_strings.rb:171
1432
1448
  msgid "postal_code"
1433
1449
  msgstr ""
1434
1450
 
@@ -1484,7 +1500,7 @@ msgstr "<img src='/images/wand.png' title='publish'/>"
1484
1500
  msgid "publishers"
1485
1501
  msgstr "Veröffentlichen"
1486
1502
 
1487
- #: app/views/acls/_form.rhtml:39 app/views/acls/index.rhtml:9
1503
+ #: app/views/acls/_form.rhtml:47 app/views/acls/index.rhtml:11
1488
1504
  #, fuzzy
1489
1505
  msgid "query"
1490
1506
  msgstr "Benutzer"
@@ -1501,25 +1517,25 @@ msgstr "nur lesen"
1501
1517
  msgid "readers"
1502
1518
  msgstr "Lesen"
1503
1519
 
1504
- #: lib/gettext_strings.rb:163
1520
+ #: lib/gettext_strings.rb:164
1505
1521
  msgid "rebuild"
1506
1522
  msgstr "wieder aufbauen"
1507
1523
 
1508
- #: lib/gettext_strings.rb:164
1524
+ #: lib/gettext_strings.rb:165
1509
1525
  msgid "rebuild_btn"
1510
1526
  msgstr "<img src='/images/arrow_refresh.png' title='wieder aufbauen'/>"
1511
1527
 
1512
- #: lib/gettext_strings.rb:181
1528
+ #: lib/gettext_strings.rb:182
1513
1529
  #, fuzzy
1514
1530
  msgid "rebuild_index"
1515
1531
  msgstr "<img src='/images/arrow_refresh.png' title='wieder aufbauen'/>"
1516
1532
 
1517
- #: lib/gettext_strings.rb:182
1533
+ #: lib/gettext_strings.rb:183
1518
1534
  #, fuzzy
1519
1535
  msgid "rebuild_index done."
1520
1536
  msgstr "<img src='/images/arrow_refresh.png' title='wieder aufbauen'/>"
1521
1537
 
1522
- #: lib/gettext_strings.rb:160
1538
+ #: lib/gettext_strings.rb:161
1523
1539
  msgid "redaction saved"
1524
1540
  msgstr "zur Begutachtung gespeichert"
1525
1541
 
@@ -1689,7 +1705,7 @@ msgstr "Basisklasse"
1689
1705
  msgid "tags"
1690
1706
  msgstr "Schlagwörter"
1691
1707
 
1692
- #: lib/gettext_strings.rb:173
1708
+ #: lib/gettext_strings.rb:174
1693
1709
  msgid "telephone"
1694
1710
  msgstr "Tel."
1695
1711
 
@@ -1735,7 +1751,7 @@ msgstr "Entwicklung ausschalten"
1735
1751
  msgid "turn dev on"
1736
1752
  msgstr "Entwicklung einschalten"
1737
1753
 
1738
- #: lib/gettext_strings.rb:165
1754
+ #: lib/gettext_strings.rb:166
1739
1755
  #, fuzzy
1740
1756
  msgid "turn_dev_off_btn"
1741
1757
  msgstr "<img src='/images/bug.png' title='Entwicklung ausschalten'/>"
@@ -1745,7 +1761,7 @@ msgstr "<img src='/images/bug.png' title='Entwicklung ausschalten'/>"
1745
1761
  msgid "type"
1746
1762
  msgstr "Typ"
1747
1763
 
1748
- #: app/models/node.rb:1547
1764
+ #: app/models/node.rb:1542
1749
1765
  msgid "type mismatch (%{type} is not a Skin)"
1750
1766
  msgstr ""
1751
1767
 
@@ -1774,7 +1790,7 @@ msgstr "Benutzer"
1774
1790
  #: app/views/columns/_form.html.erb:28 app/views/relations/_form.erb:39
1775
1791
  #: app/views/sites/_form.erb:40 app/views/users/preferences.html.erb:19
1776
1792
  #: app/views/users/preferences.html.erb:38
1777
- #: app/views/virtual_classes/_form.erb:46 app/views/acls/_form.rhtml:52
1793
+ #: app/views/virtual_classes/_form.erb:46 app/views/acls/_form.rhtml:60
1778
1794
  #: app/views/comments/_form.rhtml:23 app/views/groups/_form.rhtml:35
1779
1795
  #: app/views/iformats/_form.rhtml:22 app/views/nodes/_edit_attribute.rhtml:15
1780
1796
  #: app/views/templates/document_create_tabs/_file.rhtml:3
@@ -1820,7 +1836,7 @@ msgstr "Schreiben"
1820
1836
  msgid "yesterday"
1821
1837
  msgstr "<img src='/images/bomb.png' title='destroy'/>"
1822
1838
 
1823
- #: lib/gettext_strings.rb:159
1839
+ #: lib/gettext_strings.rb:160
1824
1840
  msgid "you are editing the original"
1825
1841
  msgstr "Sie bearbeiten das Original"
1826
1842