rails_admin 0.7.0 → 0.8.1

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.

Potentially problematic release.


This version of rails_admin might be problematic. Click here for more details.

Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +13 -2
  3. data/README.md +2 -2
  4. data/app/assets/javascripts/rails_admin/ra.filter-box.js +53 -39
  5. data/app/assets/javascripts/rails_admin/ra.filtering-multiselect.js +50 -32
  6. data/app/assets/javascripts/rails_admin/ra.i18n.coffee +5 -3
  7. data/app/assets/javascripts/rails_admin/ra.widgets.coffee +21 -6
  8. data/app/assets/javascripts/rails_admin/rails_admin.js +2 -3
  9. data/app/assets/stylesheets/rails_admin/base/theming.scss +6 -7
  10. data/app/assets/stylesheets/rails_admin/custom/mixins.scss +3 -4
  11. data/app/assets/stylesheets/rails_admin/custom/theming.scss +4 -4
  12. data/app/assets/stylesheets/rails_admin/custom/variables.scss +4 -4
  13. data/app/assets/stylesheets/rails_admin/rails_admin.scss.erb +3 -3
  14. data/app/assets/stylesheets/rails_admin/themes/default/mixins.scss +2 -2
  15. data/app/assets/stylesheets/rails_admin/themes/default/theming.scss +3 -3
  16. data/app/assets/stylesheets/rails_admin/themes/default/variables.scss +3 -3
  17. data/app/controllers/rails_admin/application_controller.rb +0 -2
  18. data/app/controllers/rails_admin/main_controller.rb +6 -5
  19. data/app/helpers/rails_admin/application_helper.rb +3 -3
  20. data/app/helpers/rails_admin/main_helper.rb +45 -0
  21. data/app/views/layouts/rails_admin/application.html.haml +2 -2
  22. data/app/views/layouts/rails_admin/pjax.html.haml +2 -2
  23. data/app/views/rails_admin/main/_form_datetime.html.haml +4 -1
  24. data/app/views/rails_admin/main/_form_filtering_multiselect.html.haml +1 -0
  25. data/app/views/rails_admin/main/_submit_buttons.html.haml +1 -1
  26. data/app/views/rails_admin/main/export.html.haml +13 -13
  27. data/app/views/rails_admin/main/index.html.haml +20 -64
  28. data/config/locales/rails_admin.en.yml +0 -1
  29. data/lib/generators/rails_admin/templates/initializer.erb +3 -0
  30. data/lib/rails_admin.rb +2 -1
  31. data/lib/rails_admin/abstract_model.rb +14 -16
  32. data/lib/rails_admin/adapters/active_record.rb +17 -8
  33. data/lib/rails_admin/adapters/active_record/association.rb +5 -0
  34. data/lib/rails_admin/adapters/mongoid.rb +7 -12
  35. data/lib/rails_admin/adapters/mongoid/association.rb +5 -0
  36. data/lib/rails_admin/config/actions/export.rb +1 -1
  37. data/lib/rails_admin/config/fields.rb +1 -0
  38. data/lib/rails_admin/config/fields/association.rb +5 -0
  39. data/lib/rails_admin/config/fields/base.rb +4 -0
  40. data/lib/rails_admin/config/fields/factories/paperclip.rb +1 -1
  41. data/lib/rails_admin/config/fields/factories/refile.rb +25 -0
  42. data/lib/rails_admin/config/fields/types/active_record_enum.rb +5 -5
  43. data/lib/rails_admin/config/fields/types/all.rb +1 -0
  44. data/lib/rails_admin/config/fields/types/bson_object_id.rb +16 -2
  45. data/lib/rails_admin/config/fields/types/date.rb +19 -8
  46. data/lib/rails_admin/config/fields/types/datetime.rb +33 -117
  47. data/lib/rails_admin/config/fields/types/json.rb +5 -2
  48. data/lib/rails_admin/config/fields/types/refile.rb +27 -0
  49. data/lib/rails_admin/config/fields/types/serialized.rb +5 -2
  50. data/lib/rails_admin/config/fields/types/time.rb +6 -18
  51. data/lib/rails_admin/config/has_fields.rb +2 -2
  52. data/lib/rails_admin/config/lazy_model.rb +2 -2
  53. data/lib/rails_admin/config/proxyable/proxy.rb +2 -4
  54. data/lib/rails_admin/extensions/pundit.rb +3 -0
  55. data/lib/rails_admin/extensions/pundit/authorization_adapter.rb +63 -0
  56. data/lib/rails_admin/support/datetime.rb +99 -0
  57. data/lib/rails_admin/support/hash_helper.rb +28 -0
  58. data/lib/rails_admin/support/i18n.rb +41 -0
  59. data/lib/rails_admin/version.rb +2 -2
  60. data/vendor/assets/javascripts/rails_admin/bootstrap-datetimepicker.js +2444 -0
  61. data/vendor/assets/javascripts/rails_admin/moment-with-locales.js +9977 -0
  62. data/vendor/assets/stylesheets/rails_admin/_bootstrap-datetimepicker.scss +343 -0
  63. data/vendor/assets/stylesheets/rails_admin/bootstrap-datetimepicker-build.scss +16 -0
  64. metadata +14 -9
  65. data/app/assets/javascripts/rails_admin/jquery.ui.timepicker.js +0 -1437
  66. data/app/assets/javascripts/rails_admin/ra.datetimepicker.js +0 -83
  67. data/app/assets/stylesheets/rails_admin/jquery.ui.timepicker.scss +0 -68
  68. data/app/assets/stylesheets/rails_admin/ra.calendar-additions.scss +0 -45
  69. data/lib/rails_admin/i18n_support.rb +0 -39
  70. data/lib/rails_admin/support/core_extensions.rb +0 -30
@@ -1,83 +0,0 @@
1
- /*
2
- * RailsAdmin date/time picker @VERSION
3
- *
4
- * License
5
- *
6
- * http://www.railsadmin.org
7
- *
8
- * Depends:
9
- * jquery.ui.core.js
10
- * jquery.ui.widget.js
11
- * jquery.ui.datepicker.js
12
- * jquery.ui.timepicker.js (http://plugins.jquery.com/project/timepicker-by-fgelinas)
13
- */
14
- (function($) {
15
-
16
- $.widget("ra.datetimepicker", {
17
- options: {
18
- showDate: true,
19
- showTime: true,
20
- datepicker: {},
21
- timepicker: {}
22
- },
23
-
24
- _create: function() {
25
- var widget = this;
26
- this.element.hide();
27
-
28
- if (this.options.showTime) {
29
- var $wrap = $('<div class="input-group"/>');
30
-
31
- this.timepicker = $('<input class="TIMEPICKER" type="text" value="' + this.options.timepicker.value + '" />');
32
-
33
- this.timepicker.css("width", "65px");
34
-
35
- this.timepicker.addClass('form-control');
36
-
37
- $wrap.append(this.timepicker);
38
-
39
- $wrap.append($('<div class="input-group-addon"><i class="icon-time"></i></div>'));
40
-
41
- $wrap.insertAfter(this.element);
42
-
43
- this.timepicker.bind("change", function() { widget._onChange(); });
44
-
45
- this.timepicker.timepicker(this.options.timepicker);
46
- }
47
-
48
- if (this.options.showDate) {
49
- var $wrap = $('<div class="input-group"/>');
50
-
51
- this.datepicker = $('<input type="text" value="' + this.options.datepicker.value + '" />');
52
-
53
- this.datepicker.addClass('form-control');
54
-
55
- $wrap.css("margin-right", "15px");
56
-
57
- $wrap.append(this.datepicker);
58
-
59
- $wrap.append($('<div class="input-group-addon"><i class="icon-calendar"></i></div>'));
60
-
61
- $wrap.insertAfter(this.element);
62
-
63
- this.datepicker.bind("change", function() { widget._onChange(); });
64
-
65
- this.datepicker.datepicker(this.options.datepicker);
66
- }
67
- },
68
-
69
- _onChange: function() {
70
- var value = [];
71
-
72
- if (this.options.showDate) {
73
- value.push(this.datepicker.val());
74
- }
75
-
76
- if (this.options.showTime) {
77
- value.push(this.timepicker.val());
78
- }
79
-
80
- this.element.val(value.join(" "));
81
- }
82
- });
83
- })(jQuery);
@@ -1,68 +0,0 @@
1
- /*
2
- * Timepicker stylesheet
3
- * Highly inspired from datepicker
4
- * FG - Nov 2010 - Web3R
5
- *
6
- * version 0.0.3 : Fixed some settings, more dynamic
7
- * version 0.0.4 : Removed width:100% on tables
8
- * version 0.1.1 : set width 0 on tables to fix an ie6 bug
9
- */
10
-
11
- .ui-timepicker-inline { display: inline; }
12
-
13
- #ui-timepicker-div { padding: 0.2em; background-color: #fff; }
14
- .ui-timepicker-table { display: inline-table; width: 0; }
15
- .ui-timepicker-table table { margin:0.15em 0 0 0; border-collapse: collapse; }
16
-
17
- .ui-timepicker-hours, .ui-timepicker-minutes { padding: 0.2em; }
18
-
19
- .ui-timepicker-table .ui-timepicker-title { line-height: 1.8em; text-align: center; }
20
- .ui-timepicker-table td { padding: 0.1em; width: 2.2em; }
21
- .ui-timepicker-table th.periods { padding: 0.1em; width: 2.2em; }
22
-
23
- /* span for disabled cells */
24
- .ui-timepicker-table td span {
25
- display:block;
26
- padding:0.2em 0.3em 0.2em 0.5em;
27
- width: 1.2em;
28
- text-align:right;
29
- text-decoration:none;
30
- }
31
- /* anchors for clickable cells */
32
- .ui-timepicker-table td a {
33
- display:block;
34
- padding:0.2em 0.3em 0.2em 0.5em;
35
- width: 1.2em;
36
- cursor: pointer;
37
- text-align:right;
38
- text-decoration:none;
39
- }
40
-
41
-
42
- /* buttons and button pane styling */
43
- .ui-timepicker .ui-timepicker-buttonpane {
44
- background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0;
45
- }
46
- .ui-timepicker .ui-timepicker-buttonpane button { margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
47
- /* The close button */
48
- .ui-timepicker .ui-timepicker-close { float: right }
49
-
50
- /* the now button */
51
- .ui-timepicker .ui-timepicker-now { float: left; }
52
-
53
- /* the deselect button */
54
- .ui-timepicker .ui-timepicker-deselect { float: left; }
55
-
56
-
57
- /* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
58
- .ui-timepicker-cover {
59
- display: none; /*sorry for IE5*/
60
- display/**/: block; /*sorry for IE5*/
61
- position: absolute; /*must have*/
62
- z-index: -1; /*must have*/
63
- filter: mask(); /*must have*/
64
- top: -4px; /*must have*/
65
- left: -4px; /*must have*/
66
- width: 200px; /*must have*/
67
- height: 200px; /*must have*/
68
- }
@@ -1,45 +0,0 @@
1
- .ui-timepicker-table table th.periods {
2
- z-index: 3!important;
3
- padding:0;
4
- }
5
-
6
- .ui-datepicker {
7
- /* fix glitches */
8
- border-width:0px;
9
- z-index: 1051!important;
10
- table{
11
- margin:0px;
12
- }
13
- /* make present day stand out */
14
- td.ui-datepicker-today {
15
- background:#ccc;
16
- -webkit-box-shadow:inset 0 1px 1px #333;
17
- -moz-box-shadow:inset 0 1px 1px #333;
18
- box-shadow:0 1px 1px #333 inset;
19
- .ui-state-highlight{
20
- background:transparent;
21
- border:none;
22
- -webkit-box-shadow:none;
23
- -moz-box-shadow:none;
24
- box-shadow:none;
25
- }
26
- }
27
- }
28
- /* span for disabled cells */
29
- .ui-timepicker-table td span {
30
- width: auto;
31
- }
32
- /* anchors for clickable cells */
33
- .ui-timepicker-table td a {
34
- width: auto;
35
- }
36
-
37
- .ui-state-hover,
38
- .ui-widget-content .ui-state-hover,
39
- .ui-widget-header .ui-state-hover,
40
- .ui-state-focus,
41
- .ui-widget-content .ui-state-focus,
42
- .ui-widget-header .ui-state-focus {
43
- background-color: transparent;
44
- cursor: pointer;
45
- }
@@ -1,39 +0,0 @@
1
- require 'i18n'
2
-
3
- module RailsAdmin
4
- module I18nSupport
5
- def abbr_day_names
6
- I18n.t('date.abbr_day_names', raise: true)
7
- rescue I18n::ArgumentError
8
- I18n.t('date.abbr_day_names', locale: :en)
9
- end
10
-
11
- def abbr_month_names
12
- begin
13
- names = I18n.t('date.abbr_month_names', raise: true)
14
- rescue I18n::ArgumentError
15
- names = I18n.t('date.abbr_month_names', locale: :en)
16
- end
17
- names[1..-1]
18
- end
19
-
20
- def date_format
21
- I18n.t('date.formats.default', default: I18n.t('date.formats.default', locale: :en))
22
- end
23
-
24
- def day_names
25
- I18n.t('date.day_names', raise: true)
26
- rescue I18n::ArgumentError
27
- I18n.t('date.day_names', locale: :en)
28
- end
29
-
30
- def month_names
31
- begin
32
- names = I18n.t('date.month_names', raise: true)
33
- rescue I18n::ArgumentError
34
- names = I18n.t('date.month_names', locale: :en)
35
- end
36
- names[1..-1]
37
- end
38
- end
39
- end
@@ -1,30 +0,0 @@
1
- class Hash
2
- def symbolize
3
- Hash.symbolize_hash(self)
4
- end
5
-
6
- def self.symbolize_hash(obj)
7
- case obj
8
- when Array
9
- obj.each_with_object([]) do |val, res|
10
- res << case val
11
- when Hash, Array then symbolize_hash(val)
12
- when String then val.to_sym
13
- else val
14
- end
15
- end
16
- when Hash
17
- obj.each_with_object({}) do |(key, val), res|
18
- nkey = key.is_a?(String) ? key.to_sym : key
19
- nval = case val
20
- when Hash, Array then symbolize_hash(val)
21
- when String then val.to_sym
22
- else val
23
- end
24
- res[nkey] = nval
25
- end
26
- else
27
- obj
28
- end
29
- end
30
- end