zen 0.2.5 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (178) hide show
  1. data/.gems +34 -0
  2. data/.travis.yml +7 -0
  3. data/AUTHORS +5 -0
  4. data/CHANGELOG +14 -0
  5. data/{license.txt → LICENSE} +0 -0
  6. data/MANIFEST +67 -51
  7. data/README.md +18 -25
  8. data/Rakefile +2 -3
  9. data/bin/zen +2 -2
  10. data/lib/zen.rb +93 -57
  11. data/lib/zen/asset.rb +7 -8
  12. data/lib/zen/bin/app.rb +0 -2
  13. data/lib/zen/controller/admin_controller.rb +4 -9
  14. data/lib/zen/controller/base_controller.rb +0 -25
  15. data/lib/zen/controller/main_controller.rb +5 -5
  16. data/lib/zen/controller/preview.rb +50 -0
  17. data/lib/zen/helper/common.rb +4 -68
  18. data/lib/zen/helper/message.rb +82 -0
  19. data/lib/zen/helper/theme.rb +2 -2
  20. data/lib/zen/language.rb +68 -38
  21. data/lib/zen/language/en/zen_general.yml +1 -4
  22. data/lib/zen/language/nl/zen_general.yml +28 -0
  23. data/lib/zen/language/nl/zen_models.yml +13 -0
  24. data/lib/zen/layout/admin.xhtml +1 -1
  25. data/lib/zen/layout/login.xhtml +1 -1
  26. data/lib/zen/model/settings.rb +2 -0
  27. data/lib/zen/package.rb +29 -25
  28. data/lib/zen/package/all.rb +1 -1
  29. data/lib/zen/package/categories/lib/categories/controller/categories.rb +51 -63
  30. data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +45 -52
  31. data/lib/zen/package/categories/lib/categories/language/en/categories.yml +2 -2
  32. data/lib/zen/package/categories/lib/categories/language/nl/categories.yml +39 -0
  33. data/lib/zen/package/categories/lib/categories/language/nl/category_groups.yml +33 -0
  34. data/lib/zen/package/categories/lib/categories/plugin/categories.rb +2 -2
  35. data/lib/zen/package/comments/lib/comments.rb +31 -2
  36. data/lib/zen/package/comments/lib/comments/controller/comments.rb +42 -57
  37. data/lib/zen/package/comments/lib/comments/controller/comments_form.rb +36 -51
  38. data/lib/zen/package/comments/lib/comments/language/en/comments.yml +7 -3
  39. data/lib/zen/package/comments/lib/comments/language/nl/comments.yml +48 -0
  40. data/lib/zen/package/comments/lib/comments/model/comment.rb +45 -4
  41. data/lib/zen/package/comments/lib/comments/plugin/anti_spam.rb +152 -0
  42. data/lib/zen/package/comments/lib/comments/plugin/comments.rb +5 -6
  43. data/lib/zen/package/comments/lib/comments/view/admin/comments/index.xhtml +2 -2
  44. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +43 -52
  45. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +68 -67
  46. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.yml +1 -1
  47. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_groups.yml +32 -0
  48. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_fields.yml +52 -0
  49. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field.rb +3 -3
  50. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_group.rb +4 -7
  51. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_value.rb +3 -3
  52. data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +37 -44
  53. data/lib/zen/package/menus/lib/menus/controller/menus.rb +33 -43
  54. data/lib/zen/package/menus/lib/menus/helper/menu_item.rb +5 -10
  55. data/lib/zen/package/menus/lib/menus/language/nl/menu_items.yml +41 -0
  56. data/lib/zen/package/menus/lib/menus/language/nl/menus.yml +39 -0
  57. data/lib/zen/package/menus/lib/menus/model/menu.rb +3 -3
  58. data/lib/zen/package/menus/lib/menus/model/menu_item.rb +3 -3
  59. data/lib/zen/package/menus/lib/menus/plugin/menus.rb +5 -6
  60. data/lib/zen/package/menus/migrations/1297184342_create_schema.rb +1 -1
  61. data/lib/zen/package/sections/lib/sections.rb +20 -0
  62. data/lib/zen/package/sections/lib/sections/controller/section_entries.rb +85 -79
  63. data/lib/zen/package/sections/lib/sections/controller/sections.rb +58 -66
  64. data/lib/zen/package/sections/lib/sections/language/en/sections.yml +0 -1
  65. data/lib/zen/package/sections/lib/sections/language/nl/section_entries.yml +43 -0
  66. data/lib/zen/package/sections/lib/sections/language/nl/sections.yml +47 -0
  67. data/lib/zen/package/sections/lib/sections/model/section.rb +11 -15
  68. data/lib/zen/package/sections/lib/sections/model/section_entry.rb +9 -5
  69. data/lib/zen/package/sections/lib/sections/plugin/section_entries.rb +7 -8
  70. data/lib/zen/package/sections/lib/sections/plugin/sections.rb +3 -4
  71. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/form.xhtml +0 -4
  72. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +8 -2
  73. data/lib/zen/package/sections/migrations/1306772479_remove_unique_slug.rb +28 -0
  74. data/lib/zen/package/settings/lib/settings.rb +21 -34
  75. data/lib/zen/package/settings/lib/settings/controller/settings.rb +29 -22
  76. data/lib/zen/package/settings/lib/settings/language/en/settings.yml +7 -5
  77. data/lib/zen/package/settings/lib/settings/language/nl/settings.yml +39 -0
  78. data/lib/zen/package/settings/lib/settings/model/setting.rb +3 -5
  79. data/lib/zen/package/settings/lib/settings/plugin/group_base.rb +3 -4
  80. data/lib/zen/package/settings/lib/settings/plugin/setting_base.rb +3 -5
  81. data/lib/zen/package/settings/lib/settings/plugin/settings.rb +11 -4
  82. data/lib/zen/package/settings/lib/settings/view/admin/settings/index.xhtml +5 -5
  83. data/lib/zen/package/settings/migrations/1299538742_add_language_key.rb +8 -8
  84. data/lib/zen/package/settings/migrations/1303196915_settings_plugin.rb +2 -5
  85. data/lib/zen/package/users/lib/users/controller/access_rules.rb +54 -61
  86. data/lib/zen/package/users/lib/users/controller/user_groups.rb +49 -57
  87. data/lib/zen/package/users/lib/users/controller/users.rb +58 -73
  88. data/lib/zen/package/users/lib/users/language/en/users.yml +6 -0
  89. data/lib/zen/package/users/lib/users/language/nl/access_rules.yml +37 -0
  90. data/lib/zen/package/users/lib/users/language/nl/user_groups.yml +31 -0
  91. data/lib/zen/package/users/lib/users/language/nl/users.yml +56 -0
  92. data/lib/zen/package/users/lib/users/model/user.rb +16 -1
  93. data/lib/zen/package/users/lib/users/view/admin/users/form.xhtml +27 -2
  94. data/lib/zen/package/users/lib/users/view/admin/users/index.xhtml +15 -3
  95. data/lib/zen/package/users/migrations/1304939855_user_settings.rb +15 -0
  96. data/lib/zen/plugin.rb +7 -9
  97. data/lib/zen/public/admin/css/{buttons.css → zen/buttons.css} +11 -7
  98. data/lib/zen/public/admin/css/{datepicker.css → zen/datepicker.css} +0 -0
  99. data/lib/zen/public/admin/css/{editor.css → zen/editor.css} +10 -5
  100. data/lib/zen/public/admin/css/{forms.css → zen/forms.css} +1 -1
  101. data/lib/zen/public/admin/css/{general.css → zen/general.css} +7 -7
  102. data/lib/zen/public/admin/css/{grid.css → zen/grid.css} +0 -0
  103. data/lib/zen/public/admin/css/{layout.css → zen/layout.css} +4 -5
  104. data/lib/zen/public/admin/css/zen/messages.css +61 -0
  105. data/lib/zen/public/admin/css/{notifications.css → zen/notifications.css} +4 -4
  106. data/lib/zen/public/admin/css/{reset.css → zen/reset.css} +0 -0
  107. data/lib/zen/public/admin/css/{tables.css → zen/tables.css} +3 -3
  108. data/lib/zen/public/admin/css/{tabs.css → zen/tabs.css} +5 -5
  109. data/lib/zen/public/admin/css/zen/window.css +79 -0
  110. data/lib/zen/public/admin/images/{icons → zen/icons}/accept.png +0 -0
  111. data/lib/zen/public/admin/images/{icons → zen/icons}/add.png +0 -0
  112. data/lib/zen/public/admin/images/{icons → zen/icons}/back.png +0 -0
  113. data/lib/zen/public/admin/images/{icons → zen/icons}/bold.png +0 -0
  114. data/lib/zen/public/admin/images/zen/icons/close.png +0 -0
  115. data/lib/zen/public/admin/images/{icons → zen/icons}/delete.png +0 -0
  116. data/lib/zen/public/admin/images/{icons → zen/icons}/edit.png +0 -0
  117. data/lib/zen/public/admin/images/{icons → zen/icons}/error.png +0 -0
  118. data/lib/zen/public/admin/images/{icons → zen/icons}/help.png +0 -0
  119. data/lib/zen/public/admin/images/{icons → zen/icons}/info.png +0 -0
  120. data/lib/zen/public/admin/images/{icons → zen/icons}/italic.png +0 -0
  121. data/lib/zen/public/admin/images/{icons → zen/icons}/large/error.png +0 -0
  122. data/lib/zen/public/admin/images/{icons → zen/icons}/large/notice.png +0 -0
  123. data/lib/zen/public/admin/images/{icons → zen/icons}/large/success.png +0 -0
  124. data/lib/zen/public/admin/images/{icons → zen/icons}/link.png +0 -0
  125. data/lib/zen/public/admin/images/{icons → zen/icons}/logout.png +0 -0
  126. data/lib/zen/public/admin/images/{icons → zen/icons}/ol.png +0 -0
  127. data/lib/zen/public/admin/images/{icons → zen/icons}/pdf.png +0 -0
  128. data/lib/zen/public/admin/images/zen/icons/preview.png +0 -0
  129. data/lib/zen/public/admin/images/{icons → zen/icons}/ul.png +0 -0
  130. data/lib/zen/public/admin/images/{icons → zen/icons}/user.png +0 -0
  131. data/lib/zen/public/admin/images/{icons → zen/icons}/view.png +0 -0
  132. data/lib/zen/public/admin/js/zen/core.js +73 -0
  133. data/lib/zen/public/admin/js/zen/editor.js +527 -0
  134. data/lib/zen/public/admin/js/zen/editor/markdown.js +84 -0
  135. data/lib/zen/public/admin/js/zen/editor/textile.js +84 -0
  136. data/lib/zen/public/admin/js/zen/init.js +12 -66
  137. data/lib/zen/public/admin/js/zen/tabs.js +5 -0
  138. data/lib/zen/public/admin/js/zen/window.js +206 -0
  139. data/lib/zen/task/build.rake +23 -6
  140. data/lib/zen/task/clean.rake +6 -7
  141. data/lib/zen/task/db.rake +7 -9
  142. data/lib/zen/task/package.rake +6 -6
  143. data/lib/zen/task/test.rake +6 -0
  144. data/lib/zen/task/theme.rake +3 -3
  145. data/lib/zen/theme.rb +3 -4
  146. data/lib/zen/validation.rb +7 -9
  147. data/lib/zen/version.rb +3 -4
  148. data/lib/zen/view/bottom.xhtml +0 -5
  149. data/lib/zen/view/main.xhtml +2 -0
  150. data/proto/app/app.rb +6 -4
  151. data/proto/app/config/config.rb +1 -7
  152. data/proto/app/config/database.rb +47 -43
  153. data/proto/app/config/middlewares.rb +0 -40
  154. data/proto/app/start.rb +1 -6
  155. data/proto/app/{vendor → theme}/.gitkeep +0 -0
  156. data/proto/migration.rb +3 -3
  157. data/proto/package/lib/package.rb +0 -1
  158. data/proto/package/lib/package/controller/controllers.rb +7 -40
  159. data/proto/package/lib/package/model/model.rb +3 -3
  160. metadata +106 -79
  161. data/CHANGELOG.md +0 -27
  162. data/ROADMAP.md +0 -53
  163. data/lib/zen/database.rb +0 -112
  164. data/lib/zen/logger.rb +0 -56
  165. data/lib/zen/public/admin/css/modals.css +0 -63
  166. data/lib/zen/public/admin/images/icons/close.png +0 -0
  167. data/lib/zen/public/admin/js/vendor/yepnope.js +0 -1
  168. data/lib/zen/public/admin/js/zen/editor/base.js +0 -262
  169. data/lib/zen/public/admin/js/zen/editor/drivers/html.js +0 -89
  170. data/lib/zen/public/admin/js/zen/editor/drivers/markdown.js +0 -87
  171. data/lib/zen/public/admin/js/zen/editor/drivers/textile.js +0 -87
  172. data/lib/zen/public/admin/js/zen/modal.js +0 -146
  173. data/lib/zen/public/admin/js/zen/notification.js +0 -211
  174. data/proto/app/config/requires.rb +0 -10
  175. data/proto/app/vendor/theme/.gitkeep +0 -0
  176. data/proto/package/lib/package/view/admin/package/edit.xhtml +0 -0
  177. data/proto/package/lib/package/view/admin/package/form.xhtml +0 -0
  178. data/proto/package/lib/package/view/admin/package/new.xhtml +0 -0
@@ -18,13 +18,13 @@ module Users
18
18
  include ::Users::Model
19
19
 
20
20
  map('/admin/users')
21
-
21
+
22
22
  before_all do
23
23
  csrf_protection(:save, :delete) do
24
24
  respond(lang('zen_general.errors.csrf'), 403)
25
25
  end
26
26
  end
27
-
27
+
28
28
  # Every action should use the admin layout except the 'login' method,
29
29
  # that one will use a trimmed down version of the admin layout.
30
30
  layout do |path, format|
@@ -34,7 +34,7 @@ module Users
34
34
  :admin
35
35
  end
36
36
  end
37
-
37
+
38
38
  ##
39
39
  # Load our language packs, set the form URLs and define our page title.
40
40
  #
@@ -47,13 +47,13 @@ module Users
47
47
  #
48
48
  def initialize
49
49
  super
50
-
50
+
51
51
  @form_save_url = Users.r(:save)
52
52
  @form_delete_url = Users.r(:delete)
53
53
  @form_login_url = Users.r(:login)
54
54
 
55
55
  Zen::Language.load('users')
56
-
56
+
57
57
  # Set the page title
58
58
  if !action.method.nil?
59
59
  method = action.method.to_sym
@@ -65,7 +65,7 @@ module Users
65
65
  'closed' => lang('users.special.status_hash.closed')
66
66
  }
67
67
  end
68
-
68
+
69
69
  ##
70
70
  # Show an overview of all users and allow the current user
71
71
  # to manage these users.
@@ -81,12 +81,12 @@ module Users
81
81
  if !user_authorized?([:read])
82
82
  respond(lang('zen_general.errors.not_authorized'), 403)
83
83
  end
84
-
84
+
85
85
  set_breadcrumbs(lang('users.titles.index'))
86
-
86
+
87
87
  @users = User.all
88
88
  end
89
-
89
+
90
90
  ##
91
91
  # Edit an existing user based on the ID.
92
92
  #
@@ -103,12 +103,12 @@ module Users
103
103
  if !user_authorized?([:read, :update])
104
104
  respond(lang('zen_general.errors.not_authorized'), 403)
105
105
  end
106
-
106
+
107
107
  set_breadcrumbs(
108
- anchor_to(lang('users.titles.index'), Users.r(:index)),
108
+ anchor_to(lang('users.titles.index'), Users.r(:index)),
109
109
  lang('users.titles.edit')
110
110
  )
111
-
111
+
112
112
  if flash[:form_data]
113
113
  @user = flash[:form_data]
114
114
  else
@@ -117,7 +117,7 @@ module Users
117
117
 
118
118
  @user_group_pks = UserGroup.pk_hash(:name)
119
119
  end
120
-
120
+
121
121
  ##
122
122
  # Create a new user.
123
123
  #
@@ -133,16 +133,16 @@ module Users
133
133
  if !user_authorized?([:read, :create])
134
134
  respond(lang('zen_general.errors.not_authorized'), 403)
135
135
  end
136
-
136
+
137
137
  set_breadcrumbs(
138
- anchor_to(lang('users.titles.index'), Users.r(:index)),
138
+ anchor_to(lang('users.titles.index'), Users.r(:index)),
139
139
  lang('users.titles.new')
140
140
  )
141
-
141
+
142
142
  @user = User.new
143
143
  @user_group_pks = UserGroup.pk_hash(:name)
144
144
  end
145
-
145
+
146
146
  ##
147
147
  # Show a form that allows a user to log in.
148
148
  #
@@ -155,15 +155,15 @@ module Users
155
155
  if user_login(request.subset(:email, :password))
156
156
  # Update the last time the user logged in
157
157
  User[:email => request.params['email']].update(:last_login => Time.new)
158
-
159
- notification(:success, lang('users.titles.index'), lang('users.success.login'))
158
+
159
+ message(:success, lang('users.success.login'))
160
160
  redirect(::Sections::Controller::Sections.r(:index))
161
161
  else
162
- notification(:error, lang('users.titles.index'), lang('users.errors.login'))
162
+ message(:error, lang('users.errors.login'))
163
163
  end
164
164
  end
165
165
  end
166
-
166
+
167
167
  ##
168
168
  # Logout and destroy the user's session.
169
169
  #
@@ -173,11 +173,11 @@ module Users
173
173
  def logout
174
174
  user_logout
175
175
  session.clear
176
-
177
- notification(:success, lang('users.titles.index'), lang('users.success.logout'))
176
+
177
+ message(:success, lang('users.success.logout'))
178
178
  redirect(Users.r(:login))
179
179
  end
180
-
180
+
181
181
  ##
182
182
  # Saves or creates a new user based on the POST data and a field named 'id'.
183
183
  #
@@ -193,9 +193,12 @@ module Users
193
193
  if !user_authorized?([:update, :create])
194
194
  respond(lang('zen_general.errors.not_authorized'), 403)
195
195
  end
196
-
197
- post = request.params.dup
198
-
196
+
197
+ post = request.subset(
198
+ :id, :email, :name, :website, :new_password, :confirm_password, :status,
199
+ :language, :frontend_language, :date_format
200
+ )
201
+
199
202
  if post['id'] and !post['id'].empty?
200
203
  @user = User[post['id']]
201
204
  save_action = :save
@@ -203,51 +206,45 @@ module Users
203
206
  @user = User.new
204
207
  save_action = :new
205
208
  end
206
-
209
+
207
210
  if !post['new_password'].nil? and !post['new_password'].empty?
208
211
  if post['new_password'] != post['confirm_password']
209
- notification(
210
- :error,
211
- lang('users.titles.index'),
212
- lang('users.errors.no_password_match')
213
- )
214
-
212
+ message(:error, lang('users.errors.no_password_match'))
215
213
  redirect_referrer
216
214
  else
217
215
  post['password'] = post['new_password']
218
-
216
+
219
217
  post.delete('new_password')
220
218
  post.delete('confirm_password')
221
219
  end
222
220
  end
223
-
224
- # User group pks have to be integers
225
- if !post['user_group_pks'].nil?
226
- post['user_group_pks'].map! { |value| value.to_i }
227
- else
228
- post['user_group_pks'] = []
229
- end
230
-
221
+
222
+ post.delete('id')
223
+
224
+ post['user_group_pks'] ||= []
225
+ post['user_group_pks'] = post['user_group_pks'].map { |value| value.to_i }
226
+
231
227
  flash_success = lang("users.success.#{save_action}")
232
228
  flash_error = lang("users.errors.#{save_action}")
233
229
 
234
230
  begin
235
231
  @user.update(post)
236
- notification(:success, lang('users.titles.index'), flash_success)
237
- rescue
238
- notification(:error, lang('users.titles.index'), flash_error)
239
-
232
+ message(:success, flash_success)
233
+ rescue => e
234
+ Ramaze::Log.error(e.inspect)
235
+ message(:error, flash_error)
236
+
240
237
  flash[:form_data] = @user
241
238
  flash[:form_errors] = @user.errors
242
239
  end
243
-
240
+
244
241
  if @user.id
245
242
  redirect(Users.r(:edit, @user.id))
246
243
  else
247
244
  redirect_referrer
248
245
  end
249
246
  end
250
-
247
+
251
248
  ##
252
249
  # Delete all specified users.
253
250
  #
@@ -262,36 +259,24 @@ module Users
262
259
  if !user_authorized?([:delete])
263
260
  respond(lang('zen_general.errors.not_authorized'), 403)
264
261
  end
265
-
266
- if !request.params['user_ids'] or request.params['user_ids'].empty?
267
- notification(
268
- :error,
269
- lang('users.titles.index'),
270
- lang('users.errors.no_delete')
271
- )
272
262
 
263
+ if !request.params['user_ids'] or request.params['user_ids'].empty?
264
+ message(:error, lang('users.errors.no_delete'))
273
265
  redirect_referrer
274
266
  end
275
-
267
+
276
268
  request.params['user_ids'].each do |id|
277
269
  begin
278
- User[id.to_i].destroy
279
- notification(
280
- :success,
281
- lang('users.titles.index'),
282
- lang('users.success.delete')
283
- )
284
- rescue
285
- notification(
286
- :error,
287
- lang('users.titles.index'),
288
- lang('users.errors.delete') % id
289
- )
270
+ User[id].destroy
271
+ message(:success, lang('users.success.delete'))
272
+ rescue => e
273
+ Ramaze::Log.error(e.inspect)
274
+ message(:error,lang('users.errors.delete') % id)
290
275
  end
291
276
  end
292
-
277
+
293
278
  redirect_referrer
294
279
  end
295
- end
296
- end
297
- end
280
+ end # Users
281
+ end # Controller
282
+ end # Users
@@ -18,6 +18,12 @@ labels:
18
18
  updated_at : 'Updated'
19
19
  last_login : 'Last login'
20
20
  user_groups : 'User groups'
21
+ language : 'Language'
22
+ frontend_language: 'Frontend language'
23
+ date_format : 'Date format'
24
+
25
+ placeholders:
26
+ date_format: 'A custom format to use for all dates displayed in the backend.'
21
27
 
22
28
  special:
23
29
  status_hash:
@@ -0,0 +1,37 @@
1
+ ---
2
+ titles:
3
+ index: 'Toegangs regels'
4
+ edit : 'Toegangs regel aanpassen'
5
+ new : 'Toegangs regel aanmaken'
6
+
7
+ labels:
8
+ id : '#'
9
+ package : 'Pakket'
10
+ controller : 'Controller'
11
+ rule_appleis : 'Betrekking tot'
12
+ create : 'Aanmaken'
13
+ read : 'Lezen'
14
+ update : 'Aanpassen'
15
+ delete : 'Verwijderen'
16
+ user : 'Gebruiker'
17
+ user_group : 'Gebruikers groep'
18
+ all_controllers: 'Alle controllers'
19
+
20
+ messages:
21
+ no_rules: 'Er zijn nog geen toegangs regels aangemaakt.'
22
+
23
+ success:
24
+ new : 'De toegangs regel is aangemaakt.'
25
+ save : 'De toegangs regel is aangepast.'
26
+ delete: 'Alle gespecificeerde regels zijn verwijderd.'
27
+
28
+ errors:
29
+ new : 'De toegangs regel kon niet worden aangemaakt.'
30
+ save : 'De toegangs regel kon niet worden aangepast.'
31
+ delete : 'De toegangs regel met ID #%s kon niet worden verwijderd.'
32
+ no_delete: 'U moet ten minste 1 regel specificeren om te verwijderen.'
33
+
34
+ buttons:
35
+ new : 'Regel toevoegen'
36
+ save : 'Regel opslaan'
37
+ delete: 'Geselecteerde regels verwijderen'
@@ -0,0 +1,31 @@
1
+ ---
2
+ titles:
3
+ index: 'Gebruikers groepen'
4
+ edit : 'Gebruikers groep aanpassen'
5
+ new : 'Gebruikers groep aanmaken'
6
+
7
+ labels:
8
+ id : '#'
9
+ name : 'Naam'
10
+ slug : 'Slug'
11
+ description: 'Beschrijving'
12
+ super_group: 'Beheerders groep'
13
+
14
+ messages:
15
+ no_groups: 'Er zijn nog geen gebruikers groepen aangemaakt.'
16
+
17
+ success:
18
+ new : 'De gebruikers groep is aangemaakt.'
19
+ save : 'De gebruikers groep is aangepast.'
20
+ delete: 'De geselecteerde groepen zijn verwijderd.'
21
+
22
+ errors:
23
+ new : 'De gebruikers groep kon niet worden aangemaakt.'
24
+ save : 'De gebruikers groep kon niet worden aangepast.'
25
+ delete : 'De gebruikers groep met ID #%s kon niet worden verwijderd.'
26
+ no_delete: 'U moet ten minste 1 groep specificeren om te verwijderen.'
27
+
28
+ buttons:
29
+ new : 'Groep toevoegen'
30
+ delete: 'Geselecteerde groepen verwijderen'
31
+ save : 'Groep opslaan'
@@ -0,0 +1,56 @@
1
+ ---
2
+ titles:
3
+ index: 'Gebruikers'
4
+ edit : 'Gebruiker aanpassen'
5
+ new : 'Gebruiker aanmaken'
6
+ login: 'Inloggen'
7
+
8
+ labels:
9
+ id : '#'
10
+ email : 'Email'
11
+ name : 'Naam'
12
+ website : 'Website'
13
+ password : 'Wachtwoord'
14
+ new_password : 'Nieuw wachtwoord'
15
+ confirm_password : 'Bevestig wachtwoord'
16
+ status : 'Status'
17
+ created_at : 'Aanmaak datum'
18
+ updated_at : 'Aanpas datum'
19
+ last_login : 'Login datum'
20
+ user_groups : 'Gebruikers groepen'
21
+ language : 'Taal'
22
+ frontend_language: 'Bezoekers taal'
23
+ date_format : 'Datum formaat'
24
+
25
+ placeholders:
26
+ date_format: 'Het formaat van de datums in het admin gedeelte.'
27
+
28
+ special:
29
+ status_hash:
30
+ open : 'Open'
31
+ closed: 'Gesloten'
32
+
33
+ messages:
34
+ no_users: 'Er zijn nog geen gebruikers aangemaakt.'
35
+
36
+ success:
37
+ new : 'De gebruiker is aangemaakt.'
38
+ save : 'De gebruiker is aangepast.'
39
+ delete: 'Alle gespecificeerde gebruikers zijn verwijderd.'
40
+ login : 'U bent nu ingelogd.'
41
+ logout: 'U bent nu uitgelogd.'
42
+
43
+ errors:
44
+ new : 'De gebruiker kon niet worden aangemaakt.'
45
+ save : 'De gebruiker kon niet worden aangepast.'
46
+ delete : 'De gebruiker met ID #%s kon niet worden verwijderd.'
47
+ no_delete : 'U moet ten minste 1 gebruiker specificeren om te verwijderen.'
48
+ no_password_match: 'De opgegeven wachtwoorden komen niet overeen.'
49
+ login : 'U kon niet worden ingelogd.'
50
+ logout : 'U kon niet worden uitgelogd, misschien bent u al uitgelogd.'
51
+
52
+ buttons:
53
+ login : 'Inloggen'
54
+ new : 'Gebruiker toevoegen'
55
+ save : 'Gebruiker opslaan'
56
+ delete: 'Geselecteerde gebruikers verwijderen'
@@ -20,6 +20,10 @@ module Users
20
20
  # @since 0.1
21
21
  #
22
22
  class User < Sequel::Model
23
+ class << self
24
+ include ::Innate::Trinity
25
+ end
26
+
23
27
  plugin :timestamps, :create => :created_at, :update => :updated_at
24
28
 
25
29
  many_to_many :user_groups, :class => "Users::Model::UserGroup", :eager => [:access_rules]
@@ -49,7 +53,18 @@ module Users
49
53
  user = self[:email => email]
50
54
 
51
55
  if !user.nil? and user.password == password and user.status == 'open'
52
- ::Zen::Controller::BaseController.session[:user] = user
56
+ # Overwrite all the global settings with the user specific ones
57
+ ::Zen.settings.each do |k, v|
58
+ if user.respond_to?(k)
59
+ got = user.send(k)
60
+
61
+ if got.nil? or got.empty?
62
+ user.send("#{k}=", v)
63
+ end
64
+ end
65
+ end
66
+
67
+ action.node.session[:user] = user
53
68
  return user
54
69
  else
55
70
  return false
@@ -41,9 +41,34 @@
41
41
  :user_group_pks,
42
42
  :values => @user_group_pks,
43
43
  :selected => @user.user_group_pks,
44
- :multiple => :multiple
44
+ :multiple => :multiple,
45
+ :size => 1
45
46
  )
46
-
47
+
48
+ f.select(
49
+ lang('users.labels.language'),
50
+ :language,
51
+ :values => ::Zen::Language::Languages,
52
+ :selected => @user.language,
53
+ :size => 1
54
+ )
55
+
56
+ f.select(
57
+ lang('users.labels.frontend_language'),
58
+ :frontend_language,
59
+ :values => ::Zen::Language::Languages,
60
+ :selected => @user.frontend_language,
61
+ :size => 1
62
+ )
63
+
64
+ f.select(
65
+ lang('users.labels.date_format'),
66
+ :date_format,
67
+ :values => plugin(:settings, :get, 'date_format').values,
68
+ :selected => @user.date_format,
69
+ :size => 1
70
+ )
71
+
47
72
  f.g.div(:class => 'clearfix') do
48
73
  f.g.div(:class => 'button') do
49
74
  f.g.input(:type => 'submit', :value => lang('users.buttons.save'))