Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit aa235cc

Browse files
authored
Merge pull request coderdojo-japan#1566 from coderdojo-japan/add-latest-event-by-dojos-page-for-data-tracking
Add latest-event-by-dojos page to track data easier
2 parents 469e58b + 5a2a3a0 commit aa235cc

File tree

3 files changed

+65
-0
lines changed

3 files changed

+65
-0
lines changed

app/controllers/dojos_controller.rb

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,30 @@ def index
2424
format.html { redirect_to root_url(anchor: 'dojos') }
2525
end
2626
end
27+
28+
def recent
29+
@url = request.url
30+
@latest_event_by_dojos = []
31+
Dojo.active.each do |dojo|
32+
if dojo.event_histories.empty?
33+
@latest_event_by_dojos << {
34+
name: dojo.name,
35+
url: dojo.url,
36+
event_at: '2000-01-23',
37+
event_url: nil
38+
}
39+
else
40+
@latest_event_by_dojos << {
41+
name: dojo.name,
42+
url: dojo.url,
43+
event_at: dojo.event_histories.last.evented_at.strftime("%Y-%m-%d"),
44+
event_url: dojo.event_histories.last.event_url.include?('dummy.url') ?
45+
"https://www.facebook.com/#{dojo.event_histories.last.service_group_id}/events" :
46+
dojo.event_histories.last.event_url
47+
}
48+
end
49+
end
50+
51+
@latest_event_by_dojos.sort_by!{|dojo| dojo[:event_at]}
52+
end
2753
end

app/views/dojos/recent.html.haml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
- provide(:title, '道場情報 - 直近の開催日まとめ')
2+
- provide(:desc, '道場別の直近開催日をまとめたページです。')
3+
- provide(:url, @url)
4+
- provide(:meta_image, "/img/ogp-events.jpeg")
5+
6+
%section.cover
7+
= lazy_image_tag '/events_cover.jpg', alt: 'Cover Photo on Upcoming Events', min: true
8+
9+
%section#events.text-center{style: "margin-bottom: 100px;"}
10+
%br
11+
%h1 ☯️ 道場別の直近の開催日まとめ
12+
%br
13+
%p{style: "margin: 0 0px 40px 10px; line-height: 2.0em;"}
14+
主にデータ分析や
15+
\
16+
%a{href: '/signup#terms-of-use'}<>
17+
Active/Inactive
18+
\
19+
の判断などの用途で使われています。
20+
21+
%div{style: "margin-top: 20px;", align: 'center' }
22+
%table{border: '1'}
23+
%tr
24+
%th{style: 'padding: 10px; text-align: center;'}
25+
%small 道場名
26+
%th{style: 'padding: 10px; text-align: center;'}
27+
%small 開催日
28+
- @latest_event_by_dojos.each do |dojo|
29+
%tr
30+
%td{style: 'padding: 1px 10px 1px 10px; text-align: right;'}
31+
%small
32+
%a{href: dojo[:url]}= dojo[:name]
33+
%td{style: 'padding: 1px 10px 1px 10px;'}
34+
%small
35+
- if dojo[:event_url].nil?
36+
= dojo[:event_at]
37+
- else
38+
%a{href: dojo[:event_url]}= dojo[:event_at]

config/routes.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
get "/kata" => "docs#kata"
5151
#get "/debug/kata" => "docs#kata"
5252

53+
get '/dojos/recent' => 'dojos#recent'
5354
resources :dojos, only: %i(index) # Only API: GET /dojos.json
5455
resources :docs, only: %i(index show)
5556
resources :podcasts, only: %i(index show)

0 commit comments

Comments
 (0)