diff --git a/Gemfile b/Gemfile index b1c5764f..4e1a85d9 100644 --- a/Gemfile +++ b/Gemfile @@ -20,6 +20,8 @@ gem 'responders', '~> 2.0' # as the database for Active Record gem 'mysql2' +# for toastr notifications +gem 'toastr-rails' # for observing records gem 'rails-observers' diff --git a/Gemfile.lock b/Gemfile.lock index e73c9b5e..539589bd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -497,6 +497,8 @@ GEM timecop (0.7.1) timers (1.1.0) tins (1.6.0) + toastr-rails (1.0.3) + railties (>= 3.1.0) transitions (0.1.12) ttfunk (1.1.1) turbolinks (2.5.3) @@ -628,6 +630,7 @@ DEPENDENCIES stripe stripe-ruby-mock timecop + toastr-rails transitions turbolinks uglifier (>= 1.3.0) @@ -637,4 +640,4 @@ DEPENDENCIES whenever BUNDLED WITH - 1.14.3 + 1.14.5 diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 01cb83ee..0d341239 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -46,13 +46,32 @@ //= require unobtrusive_flash //= require unobtrusive_flash_bootstrap //= require countable +//= require toastr $(document).ready(function() { - $('a[disabled=disabled]').click(function(event){ - return false; - }); + $('a[disabled=disabled]').click(function(event){ + return false; + }); - $('body').smoothScroll({ - delegateSelector: 'a.smoothscroll' - }); + $('body').smoothScroll({ + delegateSelector: 'a.smoothscroll' + }); + + toastr.options = { + "closeButton": false, + "debug": false, + "newestOnTop": false, + "progressBar": true, + "positionClass": "toast-top-right", + "preventDuplicates": false, + "onclick": null, + "showDuration": "300", + "hideDuration": "1000", + "timeOut": "5000", + "extendedTimeOut": "1000", + "showEasing": "swing", + "hideEasing": "linear", + "showMethod": "fadeIn", + "hideMethod": "fadeOut" + } }); diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index ac01136f..da7d6276 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -15,4 +15,5 @@ *= require leaflet *= require bootstrap3-switch *= require osem-payments + *= require toastr */ diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 20c8eadb..d1136d3e 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -148,6 +148,17 @@ module ApplicationHelper end end + def toast_bootstrap_flash + flash_messages = [] + flash.each do |type, message| + type = 'success' if type == 'notice' + type = 'error' if type == 'alert' + text = "" + flash_messages << text.html_safe if message + end + flash_messages.join("\n").html_safe + end + def label_for(event_state) result = '' case event_state diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 893198fa..c2c29072 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -22,6 +22,7 @@ = yield(:head) %body = render 'layouts/navigation' + = toast_bootstrap_flash -# Admin area - if controller.class.name.split("::").first=="Admin" = render 'layouts/admin'