File tree Expand file tree Collapse file tree 6 files changed +56
-15
lines changed Expand file tree Collapse file tree 6 files changed +56
-15
lines changed Original file line number Diff line number Diff line change 561
561
text-decoration : none
562
562
}
563
563
564
+ .event-region {
565
+ font-weight : bold ;
566
+ }
567
+
564
568
#event-list {
565
- height : 200 px ;
566
- overflow : auto ;
569
+ width : 80 % ;
570
+ margin : 0 auto ;
567
571
}
568
572
569
573
#event-list .event-date {
Original file line number Diff line number Diff line change
1
+ class EventsController < ApplicationController
2
+ def show
3
+ @url = request . url
4
+ @upcoming_events = UpcomingEvent . group_by_region_and_date
5
+ end
6
+ end
Original file line number Diff line number Diff line change @@ -12,9 +12,18 @@ class UpcomingEvent < ApplicationRecord
12
12
scope :until , -> ( date ) { where ( 'event_at < ?' , date . beginning_of_day ) }
13
13
14
14
class << self
15
- def group_by_date
16
- eager_load ( dojo_event_service : { dojo : :prefecture } ) . since ( Time . zone . today ) .
17
- order ( :event_at ) . map ( &:catalog ) . group_by { |d | d [ :event_date ] }
15
+ def group_by_region_and_date
16
+ events_by_region = eager_load ( dojo_event_service : { dojo : :prefecture } ) . since ( Time . zone . today ) .
17
+ merge ( Dojo . default_order ) .
18
+ group_by { |event | event . dojo_event_service . dojo . prefecture . region }
19
+
20
+ regions = Prefecture . pluck ( :region ) . uniq
21
+ result = { }
22
+ regions . each do |region |
23
+ events = events_by_region [ region ]
24
+ result [ region ] = events ? events . sort_by ( &:event_at ) . map ( &:catalog ) . group_by { |d | d [ :event_date ] } : { }
25
+ end
26
+ result
18
27
end
19
28
end
20
29
Original file line number Diff line number Diff line change
1
+ - provide(:title, 'イベント')
2
+ - provide(:desc, 'もうすぐ開催のイベント情報をまとめています。')
3
+ - provide(:url, @url)
4
+
5
+ /
6
+ %section.cover{style: 'padding-top:40px; background-color: white;'}
7
+ = image_tag "stats_cover.png"
8
+
9
+ %section #events .text-center
10
+ %br
11
+ %h1 もうすぐ開催のイベント
12
+ %br
13
+ %p {:style => " margin: 0 30px 40px 30px;" }
14
+ 開催予定のイベントをチェックしましょう!
15
+ = render partial: 'shared/upcoming_events', locals: { upcoming_events: @upcoming_events }
16
+
17
+ %br
18
+ %br
Original file line number Diff line number Diff line change 1
1
%div #event-list
2
- - upcoming_events.each do |date, events|
3
- %p .event-date = " #{ date.strftime(' %Y/%m/%d' ) } "
4
- %ul
5
- - events.each do |event|
6
- %li
7
- %p
8
- %span .event-at = " #{ event[:event_at ].strftime(' %k:%M' ) } 〜"
9
- %a .event-url { href: "#{event[:event_url]}" }
10
- %span = event[:event_title]
11
- %span = " #{ event[:dojo_name ] } (#{ event[:dojo_prefecture_name ] } )"
2
+ - upcoming_events.each do |region, events_by_date|
3
+ %p .event-region = region
4
+ - events_by_date.each do |date, events|
5
+ %p .event-date = " #{ date.strftime(' %Y/%m/%d' ) } "
6
+ %ul
7
+ - events.each do |event|
8
+ %li
9
+ %p
10
+ %span .event-at = " #{ event[:event_at ].strftime(' %k:%M' ) } 〜"
11
+ %a .event-url { href: "#{event[:event_url]}" }
12
+ %span = event[:event_title]
13
+ %span = " #{ event[:dojo_name ] } (#{ event[:dojo_prefecture_name ] } )"
Original file line number Diff line number Diff line change 25
25
# Hotfix with the code above that works correctly.
26
26
#resources :stats, only: %i(show)
27
27
28
+ get "/events" => "events#show"
29
+
28
30
# Redirects
29
31
get "/releases/2016/12/12/new-backend" , to : redirect ( '/news/2016/12/12/new-backend' )
30
32
get "/blogs/2016/12/12/new-backend" , to : redirect ( '/news/2016/12/12/new-backend' )
You can’t perform that action at this time.
0 commit comments