rails_admin 0.7.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.

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