From 447b6ba7c57ca6e0784c0a918f72e65d32a8751b Mon Sep 17 00:00:00 2001 From: Chris O'Sullivan Date: Fri, 2 Jan 2015 11:04:22 +0000 Subject: [PATCH 01/13] The datepicker zindex needs to be higher for modals Currently if you click on a datepicker in a modal it is hidden behind the modal overlay. This commit brings it to the front. --- app/assets/stylesheets/rails_admin/ra.calendar-additions.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/stylesheets/rails_admin/ra.calendar-additions.scss b/app/assets/stylesheets/rails_admin/ra.calendar-additions.scss index 7cd71b3f95..d4c2ec68d4 100644 --- a/app/assets/stylesheets/rails_admin/ra.calendar-additions.scss +++ b/app/assets/stylesheets/rails_admin/ra.calendar-additions.scss @@ -6,7 +6,7 @@ .ui-datepicker { /* fix glitches */ border-width:0px; - z-index: 3!important; + z-index: 1051!important; table{ margin:0px; } From ba4ea1546fdf8eac1d034048251517424cc16a62 Mon Sep 17 00:00:00 2001 From: Kevin Zych Date: Tue, 6 Jan 2015 15:34:48 -0500 Subject: [PATCH 02/13] Fix z-index for sidebar-nav z-index bug. --- app/assets/stylesheets/rails_admin/base/theming.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/app/assets/stylesheets/rails_admin/base/theming.scss b/app/assets/stylesheets/rails_admin/base/theming.scss index 71d61cac8f..ea6e875082 100644 --- a/app/assets/stylesheets/rails_admin/base/theming.scss +++ b/app/assets/stylesheets/rails_admin/base/theming.scss @@ -33,6 +33,7 @@ body.rails_admin { top: 50px; bottom: 0; background: #eaf0f1; + z-index: 100; } /* fat labels in forms */ From cec0421f1198f0a62854dbabd970eb44059f598f Mon Sep 17 00:00:00 2001 From: Mathew Hartley Date: Thu, 8 Jan 2015 09:44:21 +1300 Subject: [PATCH 03/13] Allow the font-awesome 4 shim to fail (on FA3). --- .../base/font-awesome-4-compability.scss | 284 +++++++++--------- 1 file changed, 142 insertions(+), 142 deletions(-) diff --git a/app/assets/stylesheets/rails_admin/base/font-awesome-4-compability.scss b/app/assets/stylesheets/rails_admin/base/font-awesome-4-compability.scss index 9364f336b8..063e1c7ecb 100644 --- a/app/assets/stylesheets/rails_admin/base/font-awesome-4-compability.scss +++ b/app/assets/stylesheets/rails_admin/base/font-awesome-4-compability.scss @@ -1,153 +1,153 @@ [class^="icon-"], [class*=" icon-"] { - @extend .fa + @extend .fa !optional; } -.icon-glass { @extend .fa-glass; } -.icon-music { @extend .fa-music; } -.icon-search { @extend .fa-search; } -.icon-envelope { @extend .fa-envelope; } -.icon-heart { @extend .fa-heart; } -.icon-star { @extend .fa-star; } -.icon-star-empty { @extend .fa-star-o; } -.icon-user { @extend .fa-user; } -.icon-film { @extend .fa-film; } -.icon-th-large { @extend .fa-th-large; } -.icon-th { @extend .fa-th; } -.icon-th-list { @extend .fa-th-list; } -.icon-ok { @extend .fa-check; } -.icon-remove { @extend .fa-times; } -.icon-zoom-in { @extend .fa-search-plus; } -.icon-zoom-out { @extend .fa-search-minus; } -.icon-off { @extend .fa-power-off; } -.icon-signal { @extend .fa-signal; } -.icon-cog { @extend .fa-cog; } -.icon-trash { @extend .fa-trash-o; } +.icon-glass { @extend .fa-glass !optional; } +.icon-music { @extend .fa-music !optional; } +.icon-search { @extend .fa-search !optional; } +.icon-envelope { @extend .fa-envelope !optional; } +.icon-heart { @extend .fa-heart !optional; } +.icon-star { @extend .fa-star !optional; } +.icon-star-empty { @extend .fa-star-o !optional; } +.icon-user { @extend .fa-user !optional; } +.icon-film { @extend .fa-film !optional; } +.icon-th-large { @extend .fa-th-large !optional; } +.icon-th { @extend .fa-th !optional; } +.icon-th-list { @extend .fa-th-list !optional; } +.icon-ok { @extend .fa-check !optional; } +.icon-remove { @extend .fa-times !optional; } +.icon-zoom-in { @extend .fa-search-plus !optional; } +.icon-zoom-out { @extend .fa-search-minus !optional; } +.icon-off { @extend .fa-power-off !optional; } +.icon-signal { @extend .fa-signal !optional; } +.icon-cog { @extend .fa-cog !optional; } +.icon-trash { @extend .fa-trash-o !optional; } -.icon-home { @extend .fa-home; } -.icon-file { @extend .fa-file; } -.icon-time { @extend .fa-clock-o; } -.icon-road { @extend .fa-road; } -.icon-download-alt { @extend .fa-download; } -.icon-download { @extend .fa-download; } -.icon-upload { @extend .fa-upload; } -.icon-inbox { @extend .fa-inbox; } -.icon-play-circle { @extend .fa-play-circle; } -.icon-repeat { @extend .fa-repeat; } -.icon-refresh { @extend .fa-refresh; } -.icon-list-alt { @extend .fa-list-alt; } -.icon-lock { @extend .fa-lock; } -.icon-flag { @extend .fa-flag; } -.icon-headphones { @extend .fa-headphones; } -.icon-volume-off { @extend .fa-volume-off; } -.icon-volume-down { @extend .fa-volume-down; } -.icon-volume-up { @extend .fa-volume-up; } -.icon-qrcode { @extend .fa-qrcode; } -.icon-barcode { @extend .fa-barcode; } +.icon-home { @extend .fa-home !optional; } +.icon-file { @extend .fa-file !optional; } +.icon-time { @extend .fa-clock-o !optional; } +.icon-road { @extend .fa-road !optional; } +.icon-download-alt { @extend .fa-download !optional; } +.icon-download { @extend .fa-download !optional; } +.icon-upload { @extend .fa-upload !optional; } +.icon-inbox { @extend .fa-inbox !optional; } +.icon-play-circle { @extend .fa-play-circle !optional; } +.icon-repeat { @extend .fa-repeat !optional; } +.icon-refresh { @extend .fa-refresh !optional; } +.icon-list-alt { @extend .fa-list-alt !optional; } +.icon-lock { @extend .fa-lock !optional; } +.icon-flag { @extend .fa-flag !optional; } +.icon-headphones { @extend .fa-headphones !optional; } +.icon-volume-off { @extend .fa-volume-off !optional; } +.icon-volume-down { @extend .fa-volume-down !optional; } +.icon-volume-up { @extend .fa-volume-up !optional; } +.icon-qrcode { @extend .fa-qrcode !optional; } +.icon-barcode { @extend .fa-barcode !optional; } -.icon-tag { @extend .fa-tag; } -.icon-tags { @extend .fa-tags; } -.icon-book { @extend .fa-book; } -.icon-bookmark { @extend .fa-bookmark; } -.icon-print { @extend .fa-print; } -.icon-camera { @extend .fa-camera; } -.icon-font { @extend .fa-font; } -.icon-bold { @extend .fa-bold; } -.icon-italic { @extend .fa-italic; } -.icon-text-height { @extend .fa-text-height; } -.icon-text-width { @extend .fa-text-width; } -.icon-align-left { @extend .fa-align-left; } -.icon-align-center { @extend .fa-align-center; } -.icon-align-right { @extend .fa-align-right; } -.icon-align-justify { @extend .fa-align-justify; } -.icon-list { @extend .fa-list; } -.icon-indent-left { @extend .fa-indent; } -.icon-indent-right { @extend .fa-dedent; } -.icon-facetime-video { @extend .fa-video-camera; } -.icon-picture { @extend .fa-picture-o; } +.icon-tag { @extend .fa-tag !optional; } +.icon-tags { @extend .fa-tags !optional; } +.icon-book { @extend .fa-book !optional; } +.icon-bookmark { @extend .fa-bookmark !optional; } +.icon-print { @extend .fa-print !optional; } +.icon-camera { @extend .fa-camera !optional; } +.icon-font { @extend .fa-font !optional; } +.icon-bold { @extend .fa-bold !optional; } +.icon-italic { @extend .fa-italic !optional; } +.icon-text-height { @extend .fa-text-height !optional; } +.icon-text-width { @extend .fa-text-width !optional; } +.icon-align-left { @extend .fa-align-left !optional; } +.icon-align-center { @extend .fa-align-center !optional; } +.icon-align-right { @extend .fa-align-right !optional; } +.icon-align-justify { @extend .fa-align-justify !optional; } +.icon-list { @extend .fa-list !optional; } +.icon-indent-left { @extend .fa-indent !optional; } +.icon-indent-right { @extend .fa-dedent !optional; } +.icon-facetime-video { @extend .fa-video-camera !optional; } +.icon-picture { @extend .fa-picture-o !optional; } -.icon-pencil { @extend .fa-pencil; } -.icon-map-marker { @extend .fa-map-marker; } -.icon-adjust { @extend .fa-adjust; } -.icon-tint { @extend .fa-tint; } -.icon-edit { @extend .fa-edit; } -.icon-share { @extend .fa-share-square-o; } -.icon-check { @extend .fa-check; } -.icon-move { @extend .fa-arrows; } -.icon-step-backward { @extend .fa-step-backward; } -.icon-fast-backward { @extend .fa-fast-backward; } -.icon-backward { @extend .fa-backward; } -.icon-play { @extend .fa-play; } -.icon-pause { @extend .fa-pause; } -.icon-stop { @extend .fa-stop; } -.icon-forward { @extend .fa-forward; } -.icon-fast-forward { @extend .fa-fast-forward; } -.icon-step-forward { @extend .fa-step-forward; } -.icon-eject { @extend .fa-eject; } -.icon-chevron-left { @extend .fa-chevron-left; } -.icon-chevron-right { @extend .fa-chevron-right; } +.icon-pencil { @extend .fa-pencil !optional; } +.icon-map-marker { @extend .fa-map-marker !optional; } +.icon-adjust { @extend .fa-adjust !optional; } +.icon-tint { @extend .fa-tint !optional; } +.icon-edit { @extend .fa-edit !optional; } +.icon-share { @extend .fa-share-square-o !optional; } +.icon-check { @extend .fa-check !optional; } +.icon-move { @extend .fa-arrows !optional; } +.icon-step-backward { @extend .fa-step-backward !optional; } +.icon-fast-backward { @extend .fa-fast-backward !optional; } +.icon-backward { @extend .fa-backward !optional; } +.icon-play { @extend .fa-play !optional; } +.icon-pause { @extend .fa-pause !optional; } +.icon-stop { @extend .fa-stop !optional; } +.icon-forward { @extend .fa-forward !optional; } +.icon-fast-forward { @extend .fa-fast-forward !optional; } +.icon-step-forward { @extend .fa-step-forward !optional; } +.icon-eject { @extend .fa-eject !optional; } +.icon-chevron-left { @extend .fa-chevron-left !optional; } +.icon-chevron-right { @extend .fa-chevron-right !optional; } -.icon-plus-sign { @extend .fa-plus-circle; } -.icon-minus-sign { @extend .fa-minus-circle; } -.icon-remove-sign { @extend .fa-times-circle; } -.icon-ok-sign { @extend .fa-check-circle; } -.icon-question-sign { @extend .fa-question-circle; } -.icon-info-sign { @extend .fa-info-circle; } -.icon-screenshot { @extend .fa-crosshairs; } -.icon-remove-circle { @extend .fa-times-circle-o; } -.icon-ok-circle { @extend .fa-check-circle-o; } -.icon-ban-circle { @extend .fa-ban; } -.icon-arrow-left { @extend .fa-arrow-left; } -.icon-arrow-right { @extend .fa-arrow-right; } -.icon-arrow-up { @extend .fa-arrow-up; } -.icon-arrow-down { @extend .fa-arrow-down; } -.icon-share-alt { @extend .fa-share; } -.icon-resize-full { @extend .fa-expand; } -.icon-resize-small { @extend .fa-compress; } -.icon-plus { @extend .fa-plus; } -.icon-minus { @extend .fa-minus; } -.icon-asterisk { @extend .fa-asterisk; } +.icon-plus-sign { @extend .fa-plus-circle !optional; } +.icon-minus-sign { @extend .fa-minus-circle !optional; } +.icon-remove-sign { @extend .fa-times-circle !optional; } +.icon-ok-sign { @extend .fa-check-circle !optional; } +.icon-question-sign { @extend .fa-question-circle !optional; } +.icon-info-sign { @extend .fa-info-circle !optional; } +.icon-screenshot { @extend .fa-crosshairs !optional; } +.icon-remove-circle { @extend .fa-times-circle-o !optional; } +.icon-ok-circle { @extend .fa-check-circle-o !optional; } +.icon-ban-circle { @extend .fa-ban !optional; } +.icon-arrow-left { @extend .fa-arrow-left !optional; } +.icon-arrow-right { @extend .fa-arrow-right !optional; } +.icon-arrow-up { @extend .fa-arrow-up !optional; } +.icon-arrow-down { @extend .fa-arrow-down !optional; } +.icon-share-alt { @extend .fa-share !optional; } +.icon-resize-full { @extend .fa-expand !optional; } +.icon-resize-small { @extend .fa-compress !optional; } +.icon-plus { @extend .fa-plus !optional; } +.icon-minus { @extend .fa-minus !optional; } +.icon-asterisk { @extend .fa-asterisk !optional; } -.icon-exclamation-sign { @extend .fa-exclamation-circle; } -.icon-gift { @extend .fa-gift; } -.icon-leaf { @extend .fa-leaf; } -.icon-fire { @extend .fa-fire; } -.icon-eye-open { @extend .fa-eye; } -.icon-eye-close { @extend .fa-eye-slash; } -.icon-warning-sign { @extend .fa-warning; } -.icon-plane { @extend .fa-plane; } -.icon-calendar { @extend .fa-calendar; } -.icon-random { @extend .fa-random; } -.icon-comment { @extend .fa-comment; } -.icon-magnet { @extend .fa-magnet; } -.icon-chevron-up { @extend .fa-chevron-up; } -.icon-chevron-down { @extend .fa-chevron-down; } -.icon-retweet { @extend .fa-retweet; } -.icon-shopping-cart { @extend .fa-shopping-cart; } -.icon-folder-close { @extend .fa-folder; } -.icon-folder-open { @extend .fa-folder-open; } -.icon-resize-vertical { @extend .fa-arrows-v; } -.icon-resize-horizontal { @extend .fa-arrows-h; } +.icon-exclamation-sign { @extend .fa-exclamation-circle !optional; } +.icon-gift { @extend .fa-gift !optional; } +.icon-leaf { @extend .fa-leaf !optional; } +.icon-fire { @extend .fa-fire !optional; } +.icon-eye-open { @extend .fa-eye !optional; } +.icon-eye-close { @extend .fa-eye-slash !optional; } +.icon-warning-sign { @extend .fa-warning !optional; } +.icon-plane { @extend .fa-plane !optional; } +.icon-calendar { @extend .fa-calendar !optional; } +.icon-random { @extend .fa-random !optional; } +.icon-comment { @extend .fa-comment !optional; } +.icon-magnet { @extend .fa-magnet !optional; } +.icon-chevron-up { @extend .fa-chevron-up !optional; } +.icon-chevron-down { @extend .fa-chevron-down !optional; } +.icon-retweet { @extend .fa-retweet !optional; } +.icon-shopping-cart { @extend .fa-shopping-cart !optional; } +.icon-folder-close { @extend .fa-folder !optional; } +.icon-folder-open { @extend .fa-folder-open !optional; } +.icon-resize-vertical { @extend .fa-arrows-v !optional; } +.icon-resize-horizontal { @extend .fa-arrows-h !optional; } -.icon-hdd { @extend .fa-hdd-o; } -.icon-bullhorn { @extend .fa-bullhorn; } -.icon-bell { @extend .fa-bell; } -.icon-certificate { @extend .fa-certificate; } -.icon-thumbs-up { @extend .fa-thumbs-up; } -.icon-thumbs-down { @extend .fa-thumbs-down; } -.icon-hand-right { @extend .fa-hand-o-right; } -.icon-hand-left { @extend .fa-hand-o-left; } -.icon-hand-up { @extend .fa-hand-o-up; } -.icon-hand-down { @extend .fa-hand-o-down; } -.icon-circle-arrow-right { @extend .fa-arrow-circle-right; } -.icon-circle-arrow-left { @extend .fa-arrow-circle-left; } -.icon-circle-arrow-up { @extend .fa-arrow-circle-up; } -.icon-circle-arrow-down { @extend .fa-arrow-circle-down; } -.icon-globe { @extend .fa-globe; } -.icon-wrench { @extend .fa-wrench; } -.icon-tasks { @extend .fa-tasks; } -.icon-filter { @extend .fa-filter; } -.icon-briefcase { @extend .fa-briefcase; } -.icon-fullscreen { @extend .fa-arrows-alt; } +.icon-hdd { @extend .fa-hdd-o !optional; } +.icon-bullhorn { @extend .fa-bullhorn !optional; } +.icon-bell { @extend .fa-bell !optional; } +.icon-certificate { @extend .fa-certificate !optional; } +.icon-thumbs-up { @extend .fa-thumbs-up !optional; } +.icon-thumbs-down { @extend .fa-thumbs-down !optional; } +.icon-hand-right { @extend .fa-hand-o-right !optional; } +.icon-hand-left { @extend .fa-hand-o-left !optional; } +.icon-hand-up { @extend .fa-hand-o-up !optional; } +.icon-hand-down { @extend .fa-hand-o-down !optional; } +.icon-circle-arrow-right { @extend .fa-arrow-circle-right !optional; } +.icon-circle-arrow-left { @extend .fa-arrow-circle-left !optional; } +.icon-circle-arrow-up { @extend .fa-arrow-circle-up !optional; } +.icon-circle-arrow-down { @extend .fa-arrow-circle-down !optional; } +.icon-globe { @extend .fa-globe !optional; } +.icon-wrench { @extend .fa-wrench !optional; } +.icon-tasks { @extend .fa-tasks !optional; } +.icon-filter { @extend .fa-filter !optional; } +.icon-briefcase { @extend .fa-briefcase !optional; } +.icon-fullscreen { @extend .fa-arrows-alt !optional; } -.icon-white { color:white; } \ No newline at end of file +.icon-white { color:white; } From 50a54029c919a16a2175c6fb5d84767f49ada834 Mon Sep 17 00:00:00 2001 From: Chris O'Sullivan Date: Tue, 30 Dec 2014 11:12:23 +0000 Subject: [PATCH 04/13] Bootstrap 3 uses list-inline for inline lists This affects the action icon lists on the dashboard and index pages. --- app/assets/stylesheets/rails_admin/base/theming.scss | 2 +- app/views/rails_admin/main/dashboard.html.haml | 2 +- app/views/rails_admin/main/index.html.haml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/assets/stylesheets/rails_admin/base/theming.scss b/app/assets/stylesheets/rails_admin/base/theming.scss index 71d61cac8f..fa789e801e 100644 --- a/app/assets/stylesheets/rails_admin/base/theming.scss +++ b/app/assets/stylesheets/rails_admin/base/theming.scss @@ -269,7 +269,7 @@ body.rails_admin { /* icons */ td.links { max-width: none; - .inline { + .list-inline { margin:0px; li { display:inline-block; } } diff --git a/app/views/rails_admin/main/dashboard.html.haml b/app/views/rails_admin/main/dashboard.html.haml index 46f88f41f7..844c1f1e70 100644 --- a/app/views/rails_admin/main/dashboard.html.haml +++ b/app/views/rails_admin/main/dashboard.html.haml @@ -27,7 +27,7 @@ .progress-bar.animate-width-to{:class => "progress-bar-#{get_indicator(percent)}", :'data-animate-length' => ([1.0, percent].max.to_i * 20), :'data-animate-width-to' => "#{[2.0, percent].max.to_i}%", style: "width:2%"} = @count[abstract_model.pretty_name] %td.links - %ul.inline= menu_for :collection, abstract_model, nil, true + %ul.inline.list-inline= menu_for :collection, abstract_model, nil, true - if @auditing_adapter && authorized?(:history) #block-tables.block .content diff --git a/app/views/rails_admin/main/index.html.haml b/app/views/rails_admin/main/index.html.haml index 76bc908ac7..ab7c2bda4b 100644 --- a/app/views/rails_admin/main/index.html.haml +++ b/app/views/rails_admin/main/index.html.haml @@ -145,7 +145,7 @@ - if @other_right_link ||= other_right && index_path(params.merge(set: (params[:set].to_i + 1))) %td.other.right= link_to "...", @other_right_link, class: 'pjax' %td.last.links - %ul.inline= menu_for :member, @abstract_model, object, true + %ul.inline.list-inline= menu_for :member, @abstract_model, object, true - if @objects.respond_to?(:total_count) - total_count = @objects.total_count.to_i .row From 3404dff3d7f4d7f202e6293e70cdf48ffc8abf31 Mon Sep 17 00:00:00 2001 From: "M.Shibuya" Date: Tue, 13 Jan 2015 17:07:57 +0900 Subject: [PATCH 05/13] Fix build --- Gemfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 5edd3d0002..25d6e5828e 100644 --- a/Gemfile +++ b/Gemfile @@ -6,7 +6,7 @@ when '4.2' gem 'sass-rails', '~> 5.0.0.beta1' gem 'devise', github: 'plataformatec/devise', branch: 'lm-rails-4-2' when '4.0' - gem 'rails', '~> 4.0.0' + gem 'rails', '~> 4.0.1' gem 'devise', '>= 3.2' else gem 'rails', '~> 4.1.0' @@ -57,7 +57,7 @@ group :test do gem 'capybara', '>= 2.1' gem 'carrierwave', '>= 0.8' gem 'coveralls' - gem 'database_cleaner', '>= 1.2' + gem 'database_cleaner', ['>= 1.2', '!= 1.4.0'] gem 'dragonfly', '~> 1.0' gem 'factory_girl', '>= 4.2' gem 'generator_spec', '>= 0.8' From bb9d52ae3aef9c6f434c692e593efedbbcb9ce2c Mon Sep 17 00:00:00 2001 From: Rikki Pitt Date: Wed, 14 Jan 2015 16:54:46 +0000 Subject: [PATCH 06/13] Fixed history filter input for new Boostrap markup --- app/views/rails_admin/main/history.html.haml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/views/rails_admin/main/history.html.haml b/app/views/rails_admin/main/history.html.haml index 8ebeb2b9e8..dafc5407c6 100644 --- a/app/views/rails_admin/main/history.html.haml +++ b/app/views/rails_admin/main/history.html.haml @@ -7,10 +7,12 @@ = form_tag("", method: "get", class: "search pjax-form form-inline") do .well - %input{name: "query", type: "search", value: query, placeholder: "#{t("admin.misc.filter")}", class: 'input-small'} - %button.btn.btn-primary{type: "submit", :'data-disable-with' => " ".html_safe + t("admin.misc.refresh")} - %i.icon-white.icon-refresh - = t("admin.misc.refresh") + .input-group + %input.form-control.input-small{name: "query", type: "search", value: query, placeholder: "#{t("admin.misc.filter")}", class: 'input-small'} + %span.input-group-btn + %button.btn.btn-primary{type: "submit", :'data-disable-with' => " ".html_safe + t("admin.misc.refresh")} + %i.icon-white.icon-refresh + = t("admin.misc.refresh") %table#history.table.table-striped.table-condensed %thead %tr From f6d660fae06e97852e61422520e18fb9064f51bd Mon Sep 17 00:00:00 2001 From: Rikki Pitt Date: Wed, 14 Jan 2015 17:00:07 +0000 Subject: [PATCH 07/13] Update for the deprecated form-actions class to fix submit buttons partial --- .../main/_submit_buttons.html.haml | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/app/views/rails_admin/main/_submit_buttons.html.haml b/app/views/rails_admin/main/_submit_buttons.html.haml index c9ed3eff09..4de4eb6ee0 100644 --- a/app/views/rails_admin/main/_submit_buttons.html.haml +++ b/app/views/rails_admin/main/_submit_buttons.html.haml @@ -1,16 +1,18 @@ %input{type: :hidden, name: 'return_to', value: (params[:return_to].presence || request.referer)} %br -.form-actions - %button.btn.btn-primary{type: "submit", name: "_save", :'data-disable-with' => t("admin.form.save")} - %i.icon-white.icon-ok - = t("admin.form.save") - %span.extra_buttons - - if authorized? :new, @abstract_model - %button.btn.btn-info{type: "submit", name: "_add_another", :'data-disable-with' => t("admin.form.save_and_add_another")} - = t("admin.form.save_and_add_another") - - if authorized? :edit, @abstract_model - %button.btn.btn-info{type: "submit", name: "_add_edit", :'data-disable-with' => t("admin.form.save_and_edit")} - = t("admin.form.save_and_edit") - %button.btn{type: "submit", name: "_continue", :'data-disable-with' => t("admin.form.cancel")} - %i.icon-remove - = t("admin.form.cancel") + +.form-group + .col-sm-offset-2.col-sm-10 + %button.btn.btn-primary{type: "submit", name: "_save", :'data-disable-with' => t("admin.form.save")} + %i.icon-white.icon-ok + = t("admin.form.save") + %span.extra_buttons + - if authorized? :new, @abstract_model + %button.btn.btn-info{type: "submit", name: "_add_another", :'data-disable-with' => t("admin.form.save_and_add_another")} + = t("admin.form.save_and_add_another") + - if authorized? :edit, @abstract_model + %button.btn.btn-info{type: "submit", name: "_add_edit", :'data-disable-with' => t("admin.form.save_and_edit")} + = t("admin.form.save_and_edit") + %button.btn{type: "submit", name: "_continue", :'data-disable-with' => t("admin.form.cancel")} + %i.icon-remove + = t("admin.form.cancel") From 22c77fac5f7dd1900e556a8edbd359133276a56a Mon Sep 17 00:00:00 2001 From: "M.Shibuya" Date: Thu, 15 Jan 2015 11:24:30 +0900 Subject: [PATCH 08/13] Re-enable navigation Treeview styling Refs #2059, Fixes #2162 --- app/assets/stylesheets/rails_admin/base/theming.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/stylesheets/rails_admin/base/theming.scss b/app/assets/stylesheets/rails_admin/base/theming.scss index 71d61cac8f..daed26f0d8 100644 --- a/app/assets/stylesheets/rails_admin/base/theming.scss +++ b/app/assets/stylesheets/rails_admin/base/theming.scss @@ -181,7 +181,7 @@ body.rails_admin { // } /* nested nav */ - .nav.nav-list { + .nav { .nav-level-1 { padding-left:30px; } From 8c7b33b958f82facf92543786da505181e276972 Mon Sep 17 00:00:00 2001 From: "M.Shibuya" Date: Fri, 16 Jan 2015 11:10:15 +0900 Subject: [PATCH 09/13] Support Postgres jsonb fieldtype. Closes #2165 --- lib/rails_admin/config/fields/types/json.rb | 1 + .../config/fields/types/json_spec.rb | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/rails_admin/config/fields/types/json.rb b/lib/rails_admin/config/fields/types/json.rb index 2415536c52..158adca53b 100644 --- a/lib/rails_admin/config/fields/types/json.rb +++ b/lib/rails_admin/config/fields/types/json.rb @@ -7,6 +7,7 @@ module Types class Json < RailsAdmin::Config::Fields::Types::Text # Register field type for the type loader RailsAdmin::Config::Fields::Types.register(self) + RailsAdmin::Config::Fields::Types.register(:jsonb, self) register_instance_option :formatted_value do value.present? ? JSON.pretty_generate(value) : nil diff --git a/spec/rails_admin/config/fields/types/json_spec.rb b/spec/rails_admin/config/fields/types/json_spec.rb index bb8eadf534..5479dfccda 100644 --- a/spec/rails_admin/config/fields/types/json_spec.rb +++ b/spec/rails_admin/config/fields/types/json_spec.rb @@ -1,8 +1,9 @@ require 'spec_helper' describe RailsAdmin::Config::Fields::Types::Json do + let(:field) { RailsAdmin.config(FieldTest).fields.detect { |f| f.name == :json_field } } + describe '#parse_input' do - let(:field) { RailsAdmin.config(FieldTest).fields.detect { |f| f.name == :json_field } } before :each do RailsAdmin.config do |config| config.model FieldTest do @@ -20,4 +21,20 @@ expect { field.parse_input(json_field: '{{') }.to raise_error(JSON::ParserError) end end + + describe 'aliasing' do + let(:field) { RailsAdmin.config(FieldTest).fields.detect { |f| f.name == :json_field } } + + before :each do + RailsAdmin.config do |config| + config.model FieldTest do + field :json_field, :jsonb + end + end + end + + it 'allows use of :jsonb fieldtype' do + expect(field.class).to eq RailsAdmin::Config::Fields::Types::Json + end + end end From 414fcd5fefb685c8e52b5e962c276ce8d5cf1c40 Mon Sep 17 00:00:00 2001 From: "M.Shibuya" Date: Fri, 16 Jan 2015 11:20:22 +0900 Subject: [PATCH 10/13] Workaround for bundler dependency resolution failure https://travis-ci.org/sferik/rails_admin/jobs/47168487 --- Gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 25d6e5828e..89ee808829 100644 --- a/Gemfile +++ b/Gemfile @@ -6,7 +6,7 @@ when '4.2' gem 'sass-rails', '~> 5.0.0.beta1' gem 'devise', github: 'plataformatec/devise', branch: 'lm-rails-4-2' when '4.0' - gem 'rails', '~> 4.0.1' + gem 'rails', '< 4.1' gem 'devise', '>= 3.2' else gem 'rails', '~> 4.1.0' From c5c53ba7d31ca99b205ddc4645af5ea3ae2c04b6 Mon Sep 17 00:00:00 2001 From: "M.Shibuya" Date: Fri, 16 Jan 2015 11:24:02 +0900 Subject: [PATCH 11/13] Remove redundant let --- spec/rails_admin/config/fields/types/json_spec.rb | 2 -- 1 file changed, 2 deletions(-) diff --git a/spec/rails_admin/config/fields/types/json_spec.rb b/spec/rails_admin/config/fields/types/json_spec.rb index 5479dfccda..68fd6e9ded 100644 --- a/spec/rails_admin/config/fields/types/json_spec.rb +++ b/spec/rails_admin/config/fields/types/json_spec.rb @@ -23,8 +23,6 @@ end describe 'aliasing' do - let(:field) { RailsAdmin.config(FieldTest).fields.detect { |f| f.name == :json_field } } - before :each do RailsAdmin.config do |config| config.model FieldTest do From 11d90896c2716679b61f66f343e5a2445dc4f7af Mon Sep 17 00:00:00 2001 From: "M.Shibuya" Date: Fri, 16 Jan 2015 12:25:24 +0900 Subject: [PATCH 12/13] Test with Ruby 2.2 --- .travis.yml | 13 +++++++------ Gemfile | 1 + 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 95e65e5607..ef63b6b424 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,6 +22,7 @@ rvm: - 1.9.3 - 2.0.0 - 2.1 + - 2.2 - rbx-2 - ruby-head @@ -32,17 +33,17 @@ sudo: false matrix: include: - - rvm: 2.1 + - rvm: 2.2 env: RAILS_VERSION=4.2 CI_ORM=active_record CI_DB_ADAPTER=sqlite3 - - rvm: 2.1 + - rvm: 2.2 env: RAILS_VERSION=4.2 CI_ORM=mongoid - - rvm: 2.1 + - rvm: 2.2 env: CI_ORM=active_record CI_DB_ADAPTER=mysql2 - - rvm: 2.1 + - rvm: 2.2 env: CI_ORM=active_record CI_DB_ADAPTER=postgresql CI_DB_USERNAME=postgres - - rvm: 2.1 + - rvm: 2.2 env: RAILS_VERSION=4.0 CI_ORM=active_record CI_DB_ADAPTER=sqlite3 - - rvm: 2.1 + - rvm: 2.2 env: RAILS_VERSION=4.0 CI_ORM=mongoid - rvm: jruby-19mode env: CI_ORM=mongoid diff --git a/Gemfile b/Gemfile index 89ee808829..a7b5156612 100644 --- a/Gemfile +++ b/Gemfile @@ -8,6 +8,7 @@ when '4.2' when '4.0' gem 'rails', '< 4.1' gem 'devise', '>= 3.2' + gem 'test-unit' else gem 'rails', '~> 4.1.0' gem 'devise', '>= 3.2' From c0d9d932ef15895de427ec236a51febc4a2f0d1f Mon Sep 17 00:00:00 2001 From: "M.Shibuya" Date: Fri, 16 Jan 2015 17:15:28 +0900 Subject: [PATCH 13/13] Safeguard for occasional spec failure https://travis-ci.org/sferik/rails_admin/jobs/47203699 --- spec/integration/config/edit/rails_admin_config_edit_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/integration/config/edit/rails_admin_config_edit_spec.rb b/spec/integration/config/edit/rails_admin_config_edit_spec.rb index 42885d7f92..88fe18f6d8 100644 --- a/spec/integration/config/edit/rails_admin_config_edit_spec.rb +++ b/spec/integration/config/edit/rails_admin_config_edit_spec.rb @@ -674,10 +674,10 @@ class HelpTest < Tableless fill_in 'field_test_nested_field_tests_attributes_0_title', with: 'nested field test title 1 edited', visible: false find('#field_test_nested_field_tests_attributes_1__destroy', visible: false).set('true') - click_button 'Save' # first(:button, "Save").click + click_button 'Save' + is_expected.to have_content('Field test successfully updated') @record.reload - expect(@record.comment.content.strip).to eq('nested comment content') expect(@record.nested_field_tests.length).to eq(1) expect(@record.nested_field_tests[0].title).to eq('nested field test title 1 edited')