diff --git a/app/assets/stylesheets/region.css.sass b/app/assets/stylesheets/region.css.sass index e81fd2cc..72d266e5 100644 --- a/app/assets/stylesheets/region.css.sass +++ b/app/assets/stylesheets/region.css.sass @@ -26,6 +26,8 @@ &:hover background-color: #eee +text-shadow(1px 1px 0.2em gray) + em.fa-globe + color: red &:hover ul display: block diff --git a/app/controllers/events_controller.rb b/app/controllers/events_controller.rb index 91426458..2b7c0e34 100644 --- a/app/controllers/events_controller.rb +++ b/app/controllers/events_controller.rb @@ -87,8 +87,8 @@ class EventsController < ApplicationController def set_events @events = Event.moderated - @events = @events.region params[:region] \ - if params[:region] && params[:region] != 'all' + @events = @events.region params[:region] if params[:region] + @events = @events.locality params[:locality] if params[:locality] @events = @events.tag params[:tag] if params[:tag] end diff --git a/app/models/event.rb b/app/models/event.rb index f8a012a7..64839e8b 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -41,7 +41,8 @@ class Event < ActiveRecord::Base start_date.beginning_of_month.beginning_of_week, start_date.end_of_month.end_of_week.end_of_day end) - scope :region, -> region { where region: region } + scope :region, -> region { where region: region unless region == 'all' } + scope :locality, -> locality { where locality: locality } scope :tag, -> tag { where 'tags like ?', "%#{tag}%" } scope :geo, -> { where 'latitude is not null and longitude is not null' } diff --git a/app/views/regions/_selector.haml b/app/views/regions/_selector.haml index d5717cdc..a429c90e 100644 --- a/app/views/regions/_selector.haml +++ b/app/views/regions/_selector.haml @@ -5,6 +5,11 @@ %em.locality.fa.fa-shield = Region.find params[:region] %em.fa.fa-chevron-down + - elsif params[:locality] + %span.placeholder + %em.locality.fa.fa-globe + =t '.national' + %em.fa.fa-chevron-down - else %span.placeholder %em.locality.fa.fa-globe @@ -25,3 +30,11 @@ start_date: params[:start_date], year: params[:year], tag: params[:tag] + + %li + = link_to locality: 1, + start_date: params[:start_date], + year: params[:year], + tag: params[:tag] do + %em.fa.fa-globe + =t '.national' diff --git a/config/locales/views/en.yml b/config/locales/views/en.yml index 37402a29..690442ba 100644 --- a/config/locales/views/en.yml +++ b/config/locales/views/en.yml @@ -117,6 +117,7 @@ it more readable or agreable. regions: selector: all_regions: All regions + national: National events index: title: Feeds quick: Each feed lists events for the coming 30 days in a given region diff --git a/config/locales/views/fr.yml b/config/locales/views/fr.yml index d5e2ce7d..30b5dfe2 100644 --- a/config/locales/views/fr.yml +++ b/config/locales/views/fr.yml @@ -112,10 +112,11 @@ fr: regions: selector: all_regions: Toutes les régions + national: Événements nationaux index: title: Liste des flux - quick: Chaque flux liste les évènements pour les 30 prochains jours en - cours dans une région donnée + quick: Chaque flux liste les évènements pour les 30 prochains jours dans + une région donnée help: "Quelques fonctionnalités intéressantes:\n \n * Vous pouvez limiter les évènements à un certain tag, en passant le