zen 0.4.2 → 0.4.3

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.
Files changed (131) hide show
  1. data/.gems +17 -15
  2. data/.gitignore +1 -1
  3. data/.travis.yml +1 -1
  4. data/MANIFEST +470 -0
  5. data/README.md +5 -3
  6. data/Rakefile +8 -6
  7. data/bin/zen +2 -7
  8. data/guide/asset_management.md +1 -0
  9. data/guide/autosaving_forms.md +1 -0
  10. data/guide/changelog.md +22 -0
  11. data/guide/faq.md +1 -0
  12. data/guide/getting_started.md +1 -0
  13. data/guide/hacking.md +1 -0
  14. data/guide/images/sections/revisions.png +0 -0
  15. data/guide/images/sections/revisions_diff.png +0 -0
  16. data/guide/images/sections/revisions_diff_multiple.png +0 -0
  17. data/guide/installation.md +4 -3
  18. data/guide/javascript.md +1 -0
  19. data/guide/javascript/zen_autosave.md +1 -0
  20. data/guide/javascript/zen_editor.md +1 -0
  21. data/guide/javascript/zen_form.md +1 -0
  22. data/guide/javascript/zen_hash.md +1 -0
  23. data/guide/javascript/zen_htmltable.md +1 -0
  24. data/guide/javascript/zen_tabs.md +1 -0
  25. data/guide/javascript/zen_window.md +1 -0
  26. data/guide/zen_compared.md +1 -0
  27. data/lib/zen.rb +10 -12
  28. data/lib/zen/event.rb +2 -2
  29. data/lib/zen/helper/controller.rb +13 -13
  30. data/lib/zen/helper/message.rb +3 -3
  31. data/lib/zen/helper/search.rb +4 -4
  32. data/lib/zen/helper/stacked_aspect.rb +9 -9
  33. data/lib/zen/html_diff.rb +151 -0
  34. data/lib/zen/language.rb +9 -7
  35. data/lib/zen/language/translation.rb +8 -8
  36. data/lib/zen/markup.rb +1 -1
  37. data/lib/zen/migrator.rb +2 -2
  38. data/lib/zen/model/helper.rb +4 -4
  39. data/lib/zen/model/plugin/events.rb +16 -16
  40. data/lib/zen/package.rb +2 -2
  41. data/lib/zen/package/all.rb +1 -1
  42. data/lib/zen/package/categories/lib/categories/controller/categories.rb +4 -4
  43. data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +4 -4
  44. data/lib/zen/package/categories/lib/categories/helper/category.rb +3 -3
  45. data/lib/zen/package/categories/lib/categories/model/category.rb +9 -9
  46. data/lib/zen/package/categories/lib/categories/model/category_group.rb +9 -9
  47. data/lib/zen/package/comments/lib/comments/controller/comments.rb +4 -4
  48. data/lib/zen/package/comments/lib/comments/controller/comments_form.rb +2 -2
  49. data/lib/zen/package/comments/lib/comments/helper/comment.rb +1 -1
  50. data/lib/zen/package/comments/lib/comments/model/comment.rb +13 -13
  51. data/lib/zen/package/custom_fields/lib/custom_fields/blue_form_parameters.rb +1 -1
  52. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +4 -4
  53. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_types.rb +6 -6
  54. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +5 -5
  55. data/lib/zen/package/custom_fields/lib/custom_fields/helper/custom_field.rb +3 -3
  56. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field.rb +9 -9
  57. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_group.rb +9 -9
  58. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_type.rb +9 -9
  59. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_value.rb +8 -3
  60. data/lib/zen/package/custom_fields/migrations/1336171490_revisions.rb +41 -0
  61. data/lib/zen/package/dashboard/lib/dashboard/controller/dashboard.rb +6 -6
  62. data/lib/zen/package/dashboard/lib/dashboard/model/widget.rb +3 -3
  63. data/lib/zen/package/dashboard/lib/dashboard/widget.rb +12 -12
  64. data/lib/zen/package/extensions/lib/extensions/controller/extensions.rb +3 -3
  65. data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +5 -5
  66. data/lib/zen/package/menus/lib/menus/controller/menus.rb +4 -4
  67. data/lib/zen/package/menus/lib/menus/helper/menu.rb +4 -4
  68. data/lib/zen/package/menus/lib/menus/model/menu.rb +11 -11
  69. data/lib/zen/package/menus/lib/menus/model/menu_item.rb +10 -10
  70. data/lib/zen/package/menus/lib/menus/public/admin/menus/js/lib/nested_sortables.js +13 -13
  71. data/lib/zen/package/menus/lib/menus/public/admin/menus/js/menu_items.js +1 -1
  72. data/lib/zen/package/sections/lib/sections.rb +19 -0
  73. data/lib/zen/package/sections/lib/sections/controller/revisions.rb +184 -0
  74. data/lib/zen/package/sections/lib/sections/controller/section_entries.rb +5 -5
  75. data/lib/zen/package/sections/lib/sections/controller/sections.rb +9 -6
  76. data/lib/zen/package/sections/lib/sections/helper/revision.rb +124 -0
  77. data/lib/zen/package/sections/lib/sections/helper/section.rb +17 -15
  78. data/lib/zen/package/sections/lib/sections/helper/section_frontend.rb +104 -6
  79. data/lib/zen/package/sections/lib/sections/language/en/revisions.rb +34 -0
  80. data/lib/zen/package/sections/lib/sections/language/en/sections.rb +1 -0
  81. data/lib/zen/package/sections/lib/sections/language/nl/revisions.rb +35 -0
  82. data/lib/zen/package/sections/lib/sections/language/nl/sections.rb +1 -0
  83. data/lib/zen/package/sections/lib/sections/model/revision.rb +76 -0
  84. data/lib/zen/package/sections/lib/sections/model/section.rb +9 -9
  85. data/lib/zen/package/sections/lib/sections/model/section_entry.rb +47 -12
  86. data/lib/zen/package/sections/lib/sections/view/admin/revisions/index.xhtml +89 -0
  87. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/form.xhtml +1 -1
  88. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +14 -0
  89. data/lib/zen/package/sections/migrations/1335711557_revisions.rb +40 -0
  90. data/lib/zen/package/settings/lib/settings/controller/settings.rb +12 -4
  91. data/lib/zen/package/settings/lib/settings/setting.rb +6 -6
  92. data/lib/zen/package/users/lib/users/controller/user_groups.rb +4 -4
  93. data/lib/zen/package/users/lib/users/controller/users.rb +12 -12
  94. data/lib/zen/package/users/lib/users/helper/access.rb +1 -1
  95. data/lib/zen/package/users/lib/users/helper/acl.rb +4 -4
  96. data/lib/zen/package/users/lib/users/helper/users.rb +2 -2
  97. data/lib/zen/package/users/lib/users/model/permission.rb +1 -1
  98. data/lib/zen/package/users/lib/users/model/user.rb +11 -11
  99. data/lib/zen/package/users/lib/users/model/user_group.rb +9 -9
  100. data/lib/zen/package/users/lib/users/model/user_status.rb +2 -2
  101. data/lib/zen/public/admin/zen/css/general.css +54 -0
  102. data/lib/zen/public/admin/zen/css/messages.css +6 -3
  103. data/lib/zen/public/admin/zen/css/tables.css +10 -0
  104. data/lib/zen/public/admin/zen/images/icons/undo.png +0 -0
  105. data/lib/zen/public/admin/zen/js/lib/autosave.js +8 -8
  106. data/lib/zen/public/admin/zen/js/lib/base.js +2 -2
  107. data/lib/zen/public/admin/zen/js/lib/events.js +2 -2
  108. data/lib/zen/public/admin/zen/js/lib/form.js +7 -7
  109. data/lib/zen/public/admin/zen/js/lib/hash.js +7 -7
  110. data/lib/zen/public/admin/zen/js/lib/tabs.js +3 -3
  111. data/lib/zen/public/admin/zen/js/lib/window.js +1 -1
  112. data/lib/zen/security.rb +2 -2
  113. data/lib/zen/spec/helper.rb +3 -9
  114. data/lib/zen/spec/helper/capybara.rb +4 -4
  115. data/lib/zen/spec/helper/general.rb +1 -1
  116. data/lib/zen/spec/simplecov.rb +1 -5
  117. data/lib/zen/task/build.rake +22 -16
  118. data/lib/zen/task/db.rake +3 -2
  119. data/lib/zen/task/spelling.rake +10 -10
  120. data/lib/zen/task/test.rake +27 -19
  121. data/lib/zen/theme.rb +6 -6
  122. data/lib/zen/version.rb +1 -1
  123. data/spec/zen/all.rb +4 -0
  124. data/spec/zen/package/sections/controller/revisions.rb +235 -0
  125. data/spec/zen/package/sections/model/revision.rb +76 -0
  126. data/zen.gemspec +23 -21
  127. metadata +88 -29
  128. data/lib/zen/model/methods.rb +0 -27
  129. data/lib/zen/task/clean.rake +0 -20
  130. data/lib/zen/task/setup.rake +0 -4
  131. data/pkg/.gitkeep +0 -0
@@ -67,7 +67,7 @@ module Ramaze
67
67
  ##
68
68
  # Called whenever the class that included this module is extended.
69
69
  #
70
- # @since 07-11-2011
70
+ # @since 2011-11-07
71
71
  # @param [Class] by The class that extended the current class.
72
72
  #
73
73
  def inherited(by)
@@ -5,8 +5,8 @@ module Ramaze
5
5
  # certain resources based on the permissions of a user. This helper is
6
6
  # loaded by default and provides the following two methods:
7
7
  #
8
- # * user_authorized?()
9
- # * authorize_user!()
8
+ # * user\_authorized?()
9
+ # * authorize\_user!()
10
10
  #
11
11
  # ## Example
12
12
  #
@@ -37,7 +37,7 @@ module Ramaze
37
37
  # end
38
38
  #
39
39
  # @since 0.1
40
- # @param [Array] *required An array of permissions that are required.
40
+ # @param [Array] required An array of permissions that are required.
41
41
  # @return [TrueClass|FalseClass]
42
42
  #
43
43
  def user_authorized?(*required)
@@ -63,7 +63,7 @@ module Ramaze
63
63
  # authorize_user!(:edit_user)
64
64
  #
65
65
  # @since 0.2.8
66
- # @param [Array] *args An array of permissions that are required.
66
+ # @param [Array] args An array of permissions that are required.
67
67
  #
68
68
  def authorize_user!(*args)
69
69
  if !user_authorized?(*args)
@@ -92,7 +92,7 @@ module Ramaze
92
92
  # informing the current user that the user he/she tried to access is
93
93
  # invalid.
94
94
  #
95
- # @since 09-04-2012
95
+ # @since 2012-04-09
96
96
  #
97
97
  def redirect_invalid_user
98
98
  message(:error, lang('users.errors.invalid_user'))
@@ -103,7 +103,7 @@ module Ramaze
103
103
  # Redirects the user back to the user groups overview and informs the user
104
104
  # that the group he/she tried to access is invalid.
105
105
  #
106
- # @since 09-04-2012
106
+ # @since 2012-04-09
107
107
  #
108
108
  def redirect_invalid_user_group
109
109
  message(:error, lang('user_groups.errors.invalid_group'))
@@ -29,7 +29,7 @@ module Users
29
29
  ##
30
30
  # Hook that is executed before creating or saving an object.
31
31
  #
32
- # @since 03-01-2012
32
+ # @since 2012-01-03
33
33
  #
34
34
  def before_save
35
35
  sanitize_fields([:permission])
@@ -14,12 +14,12 @@ module Users
14
14
  # end
15
15
  #
16
16
  # @since 0.1
17
- # @event before_new_user
18
- # @event after_new_user
19
- # @event before_edit_user
20
- # @event after_edit_user
21
- # @event before_delete_user
22
- # @event after_delete_user
17
+ # @event before\_new\_user
18
+ # @event after\_new\_user
19
+ # @event before\_edit\_user
20
+ # @event after\_edit\_user
21
+ # @event before\_delete\_user
22
+ # @event after\_delete\_user
23
23
  #
24
24
  class User < Sequel::Model
25
25
  ##
@@ -32,7 +32,7 @@ module Users
32
32
  ##
33
33
  # Array containing the columns that can be set by the user.
34
34
  #
35
- # @since 17-02-2012
35
+ # @since 2012-02-17
36
36
  #
37
37
  COLUMNS = [
38
38
  :email,
@@ -70,7 +70,7 @@ module Users
70
70
  ##
71
71
  # Searches for a set of users that match the given query.
72
72
  #
73
- # @since 16-10-2011
73
+ # @since 2011-10-16
74
74
  # @param [String] query The search query.
75
75
  # @return [Mixed]
76
76
  #
@@ -183,7 +183,7 @@ module Users
183
183
  # Gets the name of the user's status and returns it in the current
184
184
  # language.
185
185
  #
186
- # @since 03-11-2011
186
+ # @since 2011-11-03
187
187
  # @return [String]
188
188
  #
189
189
  def user_status_name
@@ -193,7 +193,7 @@ module Users
193
193
  ##
194
194
  # Activates the user.
195
195
  #
196
- # @since 03-11-2011
196
+ # @since 2011-11-03
197
197
  #
198
198
  def activate!
199
199
  update(
@@ -204,7 +204,7 @@ module Users
204
204
  ##
205
205
  # Closes the user account.
206
206
  #
207
- # @since 03-11-2011
207
+ # @since 2011-11-03
208
208
  #
209
209
  def close!
210
210
  update(
@@ -5,12 +5,12 @@ module Users
5
5
  # Model that represents a single user group.
6
6
  #
7
7
  # @since 0.1
8
- # @event before_new_user_group
9
- # @event after_new_user_user
10
- # @event before_edit_user_group
11
- # @event after_edit_user_group
12
- # @event before_delete_user_group
13
- # @event after_delete_user_group
8
+ # @event before\_new\_user\_group
9
+ # @event after\_new\_user\_user
10
+ # @event before\_edit\_user\_group
11
+ # @event after\_edit\_user\_group
12
+ # @event before\_delete\_user\_group
13
+ # @event after\_delete\_user\_group
14
14
  #
15
15
  class UserGroup < Sequel::Model
16
16
  include Zen::Model::Helper
@@ -18,7 +18,7 @@ module Users
18
18
  ##
19
19
  # Array containing the columns that can be set by the user.
20
20
  #
21
- # @since 17-02-2012
21
+ # @since 2012-02-17
22
22
  #
23
23
  COLUMNS = [:name, :slug, :description, :super_group]
24
24
 
@@ -42,7 +42,7 @@ module Users
42
42
  ##
43
43
  # Searches for a set of users that match the given query.
44
44
  #
45
- # @since 16-10-2011
45
+ # @since 2011-10-16
46
46
  # @param [String] query The search query.
47
47
  # @return [Mixed]
48
48
  #
@@ -67,7 +67,7 @@ module Users
67
67
  ##
68
68
  # Hook that is executed before creating or saving an object.
69
69
  #
70
- # @since 03-01-2012
70
+ # @since 2012-01-03
71
71
  #
72
72
  def before_save
73
73
  sanitize_fields([:name, :slug, :description])
@@ -3,7 +3,7 @@ module Users
3
3
  ##
4
4
  # Model used for user statuses such as "Open" and "Unconfirmed".
5
5
  #
6
- # @since 03-11-2011
6
+ # @since 2011-11-03
7
7
  #
8
8
  class UserStatus < Sequel::Model
9
9
  one_to_many :users, :class => 'Users::Model::User'
@@ -14,7 +14,7 @@ module Users
14
14
  # Returns a hash where the keys are the IDs of the various statuses and
15
15
  # the values the translations.
16
16
  #
17
- # @since 03-11-2011
17
+ # @since 2011-11-03
18
18
  # @return [Hash]
19
19
  #
20
20
  def self.dropdown
@@ -162,6 +162,11 @@ pre
162
162
  background-image: url('/admin/zen/images/icons/error.png');
163
163
  }
164
164
 
165
+ .icon.undo
166
+ {
167
+ background-image: url('/admin/zen/images/icons/undo.png');
168
+ }
169
+
165
170
  .label
166
171
  {
167
172
  color: #fff;
@@ -186,3 +191,52 @@ pre
186
191
  {
187
192
  background: #f7c052;
188
193
  }
194
+
195
+ /* Styles for diffs. These styles are based on the ones used by Github. */
196
+ .diff
197
+ {
198
+ border: 1px solid #ccc;
199
+ font-family: monospace;
200
+ font-size: 12px;
201
+ overflow-x: auto;
202
+ width: 800px;
203
+ }
204
+
205
+ .diff table
206
+ {
207
+ margin: 0px;
208
+ }
209
+
210
+ .diff table tbody tr td
211
+ {
212
+ border: none;
213
+ padding: 0px;
214
+ }
215
+
216
+ .diff .line_number
217
+ {
218
+ background: #eee;
219
+ border-right: 1px solid #ccc;
220
+ color: #666;
221
+ padding: 2px 5px;
222
+ text-align: right;
223
+ width: 20px;
224
+ }
225
+
226
+ .diff .line
227
+ {
228
+ padding: 2px 2px 2px 5px;
229
+ white-space: pre;
230
+ }
231
+
232
+ .diff .ins
233
+ {
234
+ background: #dfd;
235
+ color: #080;
236
+ }
237
+
238
+ .diff .del
239
+ {
240
+ background: #fee;
241
+ color: #b00;
242
+ }
@@ -25,11 +25,14 @@
25
25
 
26
26
  .message.success
27
27
  {
28
- background: #ABCC6A;
28
+ background: #ABCC6A;
29
+ color: #000;
30
+ text-shadow: 1px 1px #D6F59A;
29
31
  }
30
32
 
31
33
  .message.info
32
34
  {
33
- background: #F7D76D;
34
- color: #000;
35
+ background: #F7D76D;
36
+ color: #000;
37
+ text-shadow: 1px 1px #FAE9B1;
35
38
  }
@@ -51,6 +51,11 @@ table
51
51
  background: #f9f9f9;
52
52
  }
53
53
 
54
+ table .narrow
55
+ {
56
+ width: 25px!important;
57
+ }
58
+
54
59
  .datepicker tr:nth-child(odd) td
55
60
  {
56
61
  background: #fff;
@@ -88,3 +93,8 @@ table
88
93
  background: #eee;
89
94
  text-decoration: none;
90
95
  }
96
+
97
+ table.no_background tbody td, table.no_background thead th
98
+ {
99
+ background: none;
100
+ }
@@ -37,7 +37,7 @@ namespace('Zen');
37
37
  * If the field with this name has a non empty value then the form will be
38
38
  * submitted at a given interval, otherwise it will be ignored.
39
39
  *
40
- * @since 15-02-2012
40
+ * @since 2012-02-15
41
41
  */
42
42
  Zen.Autosave = new Class(
43
43
  {
@@ -46,21 +46,21 @@ Zen.Autosave = new Class(
46
46
  /**
47
47
  * Element containing the form element.
48
48
  *
49
- * @since 16-02-2012
49
+ * @since 2012-02-16
50
50
  */
51
51
  element: null,
52
52
 
53
53
  /**
54
54
  * The URL to submit the data to.
55
55
  *
56
- * @since 16-02-2012
56
+ * @since 2012-02-16
57
57
  */
58
58
  url: null,
59
59
 
60
60
  /**
61
61
  * Object containing various options to customize the auto saving behaviour.
62
62
  *
63
- * @since 16-02-2012
63
+ * @since 2012-02-16
64
64
  */
65
65
  options:
66
66
  {
@@ -77,7 +77,7 @@ Zen.Autosave = new Class(
77
77
  /**
78
78
  * Creates a new instance of the class.
79
79
  *
80
- * @since 16-02-2012
80
+ * @since 2012-02-16
81
81
  * @param {Element} element The form element to submit.
82
82
  * @param {String} url The URL to submit the data to.
83
83
  * @param {Object} options Object containing custom options. See
@@ -112,7 +112,7 @@ Zen.Autosave = new Class(
112
112
  * Submits the form data to the server. Upon success the CSRF token is
113
113
  * updated, upon failure the validation errors will be displayed.
114
114
  *
115
- * @since 16-02-2012
115
+ * @since 2012-02-16
116
116
  */
117
117
  sendRequest: function()
118
118
  {
@@ -141,7 +141,7 @@ Zen.Autosave = new Class(
141
141
  /**
142
142
  * Displays the validation errors of a set of fields.
143
143
  *
144
- * @since 16-02-2012
144
+ * @since 2012-02-16
145
145
  * @param {Object} form_errors Object containing the form errors. The keys
146
146
  * should be the names of the fields and the values arrays of error messages
147
147
  * to display.
@@ -175,7 +175,7 @@ Zen.Autosave = new Class(
175
175
  /**
176
176
  * Updates the CSRF token with the given value.
177
177
  *
178
- * @since 16-02-2012
178
+ * @since 2012-02-16
179
179
  * @param {String} token The new CSRF token.
180
180
  */
181
181
  setToken: function(token)
@@ -20,7 +20,7 @@
20
20
  *
21
21
  * Zen.Editor.Markdown = new Class(...);
22
22
  *
23
- * @since 22-12-2011
23
+ * @since 2011-12-22
24
24
  * @param {string} name The namespace to create.
25
25
  */
26
26
  function namespace(name)
@@ -45,7 +45,7 @@ function namespace(name)
45
45
  *
46
46
  * var string = Zen.translations['foo.bar'];
47
47
  *
48
- * @since 22-12-2011
48
+ * @since 2011-12-22
49
49
  * @param {string} key The language key to retrieve.
50
50
  * @return {string}
51
51
  */
@@ -13,7 +13,7 @@
13
13
  * Do note that this implementation does not offer any backwards compatibility
14
14
  * with browsers that don't natively support ``window.onhashchange``.
15
15
  *
16
- * @since 21-12-2011
16
+ * @since 2011-12-21
17
17
  */
18
18
  Element.Events.hashchange = {
19
19
  onAdd: function()
@@ -30,7 +30,7 @@ Element.Events.hashchange = {
30
30
  /**
31
31
  * Adds support for the "invalid" event that is raised for invalid form fields.
32
32
  *
33
- * @since 10-03-2012
33
+ * @since 2012-03-10
34
34
  */
35
35
  Element.Events.invalid = {
36
36
  onAdd: function()
@@ -48,7 +48,7 @@ namespace('Zen');
48
48
  * <!-- Tab field's content -->
49
49
  * </div>
50
50
  *
51
- * @since 12-03-2012
51
+ * @since 2012-03-12
52
52
  */
53
53
  Zen.Form = new Class(
54
54
  {
@@ -57,14 +57,14 @@ Zen.Form = new Class(
57
57
  /**
58
58
  * The form element for this class.
59
59
  *
60
- * @since 12-03-2012
60
+ * @since 2012-03-12
61
61
  */
62
62
  element: null,
63
63
 
64
64
  /**
65
65
  * Object containing the default and custom defined options merged together.
66
66
  *
67
- * @since 12-03-2012
67
+ * @since 2012-03-12
68
68
  */
69
69
  options:
70
70
  {
@@ -83,7 +83,7 @@ Zen.Form = new Class(
83
83
  /**
84
84
  * Creates and prepares a new instance of the class.
85
85
  *
86
- * @since 12-03-2012
86
+ * @since 2012-03-12
87
87
  * @param {Element} element The form element to use for the instance of this
88
88
  * class.
89
89
  * @param {Object} options An object containing custom options to use for
@@ -152,7 +152,7 @@ Zen.Form = new Class(
152
152
  * element is invalid a small icon indicating that there is invalid data
153
153
  * will be displayed in the tab the field belongs to.
154
154
  *
155
- * @since 12-03-2012
155
+ * @since 2012-03-12
156
156
  * @param {Element} element The invalid form element.
157
157
  */
158
158
  invalidElement: function(element)
@@ -179,7 +179,7 @@ Zen.Form = new Class(
179
179
  * used to check if all the errors in a tab field are gone and if so will
180
180
  * remove the error indicator.
181
181
  *
182
- * @since 12-03-2012
182
+ * @since 2012-03-12
183
183
  * @param {Element} element The form element that lost focus.
184
184
  */
185
185
  blurElement: function(element)
@@ -209,7 +209,7 @@ Zen.Form = new Class(
209
209
  * Given a form element (or any other kind of element in a form) this method
210
210
  * will try to retrieve the tab field the element belongs to.
211
211
  *
212
- * @since 12-03-2012
212
+ * @since 2012-03-12
213
213
  * @param {Element} element The element for which to retrieve the tab
214
214
  * field.
215
215
  * @return {Element|null}