beerdb-admin 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/History.md +3 -0
- data/Manifest.txt +55 -0
- data/README.md +29 -0
- data/Rakefile +26 -0
- data/app/assets/javascripts/beer_db_admin/application.js +15 -0
- data/app/assets/stylesheets/beer_db_admin/application.css.scss +3 -0
- data/app/controllers/beer_db_admin/beer_db_admin_controller.rb +6 -0
- data/app/controllers/beer_db_admin/beers_controller.rb +19 -0
- data/app/controllers/beer_db_admin/bookmarks_controller.rb +47 -0
- data/app/controllers/beer_db_admin/brands_controller.rb +21 -0
- data/app/controllers/beer_db_admin/breweries_controller.rb +31 -0
- data/app/controllers/beer_db_admin/countries_controller.rb +46 -0
- data/app/controllers/beer_db_admin/drinks_controller.rb +63 -0
- data/app/controllers/beer_db_admin/frontpage_controller.rb +15 -0
- data/app/controllers/beer_db_admin/pages_controller.rb +14 -0
- data/app/controllers/beer_db_admin/regions_controller.rb +13 -0
- data/app/controllers/beer_db_admin/sessions_controller.rb +53 -0
- data/app/controllers/beer_db_admin/tags_controller.rb +15 -0
- data/app/controllers/beer_db_admin/time_controller.rb +12 -0
- data/app/controllers/beer_db_admin/users_controller.rb +66 -0
- data/app/helpers/beer_db_admin/application_helper.rb +52 -0
- data/app/helpers/beer_db_admin/part_helper.rb +37 -0
- data/app/helpers/beer_db_admin/routes_helper.rb +21 -0
- data/app/views/beer_db_admin/beers/index.html.erb +70 -0
- data/app/views/beer_db_admin/beers/show.html.erb +132 -0
- data/app/views/beer_db_admin/brands/index.html.erb +41 -0
- data/app/views/beer_db_admin/breweries/index.html.erb +61 -0
- data/app/views/beer_db_admin/breweries/show.html.erb +111 -0
- data/app/views/beer_db_admin/countries/index.html.erb +49 -0
- data/app/views/beer_db_admin/countries/show.html.erb +133 -0
- data/app/views/beer_db_admin/countries/show_pocket.html.erb +111 -0
- data/app/views/beer_db_admin/drinks/_form.html.erb +29 -0
- data/app/views/beer_db_admin/drinks/edit.html.erb +4 -0
- data/app/views/beer_db_admin/drinks/new.html.erb +4 -0
- data/app/views/beer_db_admin/pages/about.html.erb +2 -0
- data/app/views/beer_db_admin/pages/index.html.erb +2 -0
- data/app/views/beer_db_admin/regions/index.html.erb +50 -0
- data/app/views/beer_db_admin/sessions/new.html.erb +54 -0
- data/app/views/beer_db_admin/shared/_beers.html.erb +16 -0
- data/app/views/beer_db_admin/shared/_bookmarks.html.erb +80 -0
- data/app/views/beer_db_admin/shared/_breweries_for_country.html.erb +22 -0
- data/app/views/beer_db_admin/shared/_breweries_for_region.html.erb +24 -0
- data/app/views/beer_db_admin/shared/_brewery_tags.html.erb +16 -0
- data/app/views/beer_db_admin/shared/_tags.html.erb +13 -0
- data/app/views/beer_db_admin/tags/index.html.erb +24 -0
- data/app/views/beer_db_admin/time/index.html.erb +40 -0
- data/app/views/beer_db_admin/users/edit.html.erb +40 -0
- data/app/views/beer_db_admin/users/show.html.erb +39 -0
- data/app/views/layouts/beer_db_admin/_flash.html.erb +6 -0
- data/app/views/layouts/beer_db_admin/_header.html.erb +16 -0
- data/app/views/layouts/beer_db_admin/beer_db_admin.html.erb +80 -0
- data/config/routes.rb +46 -0
- data/lib/beerdb/admin/engine.rb +6 -0
- data/lib/beerdb/admin/version.rb +5 -0
- data/lib/beerdb/admin.rb +20 -0
- metadata +127 -0
@@ -0,0 +1,61 @@
|
|
1
|
+
|
2
|
+
<h3><%= Brewery.count %> Breweries</h3>
|
3
|
+
<!-- todo: add display/page count e.g. 25 -->
|
4
|
+
|
5
|
+
<p>
|
6
|
+
Sort By: <%= link_to 'Key A-Z', breweries_path( order: 'key' ) %>
|
7
|
+
•
|
8
|
+
<%= link_to 'Title A-Z', breweries_path( order: 'title' ) %>
|
9
|
+
•
|
10
|
+
<%= link_to 'Production/Capacity (in hl)', breweries_path( order: 'hl' ) %>
|
11
|
+
</p>
|
12
|
+
|
13
|
+
|
14
|
+
<table>
|
15
|
+
<% @breweries.each do |brewery| %>
|
16
|
+
<tr>
|
17
|
+
<td class='brewery-key'><%= brewery.key %></td>
|
18
|
+
|
19
|
+
<% if signed_in? %>
|
20
|
+
<td>
|
21
|
+
<%= link_to 'Add', add_brewery_to_user_path( brewery.id, current_user_id ), class: 'btn' %>
|
22
|
+
</td>
|
23
|
+
<% end %>
|
24
|
+
|
25
|
+
<td>
|
26
|
+
<%= link_to brewery.title, brewery_path( brewery.id ) %>
|
27
|
+
<% if brewery.synonyms.present? %>
|
28
|
+
| <%= brewery.synonyms %>
|
29
|
+
<% end %>
|
30
|
+
|
31
|
+
<%= render_brewery_tags( brewery ) %>
|
32
|
+
|
33
|
+
</td>
|
34
|
+
<td>
|
35
|
+
<% if brewery.city.present? %>
|
36
|
+
<%= brewery.city.title %>
|
37
|
+
<% else %>
|
38
|
+
-
|
39
|
+
<% end %>
|
40
|
+
/
|
41
|
+
<% if brewery.region.present? %>
|
42
|
+
<%= brewery.region.title %>
|
43
|
+
<% else %>
|
44
|
+
-
|
45
|
+
<% end %>
|
46
|
+
/
|
47
|
+
<%= image_tag_for_country( brewery.country ) %>
|
48
|
+
<%= link_to brewery.country.title, short_country_path( brewery.country ) %>
|
49
|
+
</td>
|
50
|
+
</tr>
|
51
|
+
|
52
|
+
<tr>
|
53
|
+
<td></td>
|
54
|
+
<td colspan='2'>
|
55
|
+
<%= render_beers( brewery.beers ) %>
|
56
|
+
</td>
|
57
|
+
</tr>
|
58
|
+
|
59
|
+
<% end %>
|
60
|
+
</table>
|
61
|
+
|
@@ -0,0 +1,111 @@
|
|
1
|
+
|
2
|
+
<% brewery = @brewery
|
3
|
+
%>
|
4
|
+
|
5
|
+
|
6
|
+
<span class='brewery-key'><%= brewery.key %></span>
|
7
|
+
|
8
|
+
<h3 style='margin-top: 0;'>
|
9
|
+
<%= brewery.title %>
|
10
|
+
|
11
|
+
<% if brewery.synonyms.present? %>
|
12
|
+
• <%= brewery.synonyms.gsub( '|', ' • ') %>
|
13
|
+
<% end %>
|
14
|
+
|
15
|
+
<% if brewery.founded.present? %>
|
16
|
+
| <%= brewery.founded %>
|
17
|
+
<% end %>
|
18
|
+
|
19
|
+
||
|
20
|
+
<%= image_tag_for_country( brewery.country ) %>
|
21
|
+
<%= link_to brewery.country.title, short_country_path( brewery.country ) %>
|
22
|
+
|
23
|
+
|
24
|
+
<% if brewery.tags.count > 0 %>
|
25
|
+
<span class='tags tag-list'>
|
26
|
+
<%= render_tags( brewery.tags ) %>
|
27
|
+
</span>
|
28
|
+
<% end %>
|
29
|
+
|
30
|
+
</h3>
|
31
|
+
|
32
|
+
<p>
|
33
|
+
<%= brewery.address %>
|
34
|
+
</p>
|
35
|
+
|
36
|
+
<% if brewery.web.present? %>
|
37
|
+
<p class='city-count'>
|
38
|
+
<%= link_to brewery.web, "http://#{brewery.web}" %>
|
39
|
+
</p>
|
40
|
+
<% end %>
|
41
|
+
|
42
|
+
|
43
|
+
<!-- add all beers -->
|
44
|
+
|
45
|
+
<hr>
|
46
|
+
<ul>
|
47
|
+
<% brewery.beers.each do |beer| %>
|
48
|
+
<li>
|
49
|
+
<%= link_to beer.title, beer_path( beer.id ) %>
|
50
|
+
|
51
|
+
<% if beer.synonyms.present? %>
|
52
|
+
• <%= beer.synonyms %>
|
53
|
+
<% end %>
|
54
|
+
/
|
55
|
+
<% if beer.abv.present? %>
|
56
|
+
<%= beer.abv %>
|
57
|
+
<% else %>
|
58
|
+
-
|
59
|
+
<% end %>
|
60
|
+
%
|
61
|
+
<% if beer.plato.present? %>
|
62
|
+
/ <%= beer.plato %>°
|
63
|
+
<% end %>
|
64
|
+
|
65
|
+
<% if beer.tags.count > 0 %>
|
66
|
+
/
|
67
|
+
<span class='tags'>
|
68
|
+
<% beer.tags.each_with_index do |tag,i| %>
|
69
|
+
<% if i > 0 %>
|
70
|
+
•
|
71
|
+
<% end %>
|
72
|
+
<%= tag.key %>
|
73
|
+
<% end %>
|
74
|
+
</span>
|
75
|
+
<% end %>
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
</li>
|
80
|
+
<% end %>
|
81
|
+
</ul>
|
82
|
+
|
83
|
+
|
84
|
+
<hr>
|
85
|
+
|
86
|
+
<% if brewery.region.present? %>
|
87
|
+
<%= render_breweries_for_region( brewery.region ) %>
|
88
|
+
<% else %>
|
89
|
+
<%= render_breweries_for_country( brewery.country ) %>
|
90
|
+
<% end %><!-- if brewery.region.present? -->
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
<hr>
|
95
|
+
|
96
|
+
<p>
|
97
|
+
<% if brewery.city.present? %>
|
98
|
+
<%= brewery.city.title %>
|
99
|
+
<% else %>
|
100
|
+
-
|
101
|
+
<% end %>
|
102
|
+
/
|
103
|
+
<% if brewery.region.present? %>
|
104
|
+
<%= brewery.region.title %>
|
105
|
+
<% else %>
|
106
|
+
-
|
107
|
+
<% end %>
|
108
|
+
/
|
109
|
+
<%= image_tag_for_country( brewery.country ) %>
|
110
|
+
<%= link_to brewery.country.title, short_country_path( brewery.country ) %>
|
111
|
+
</p>
|
@@ -0,0 +1,49 @@
|
|
1
|
+
|
2
|
+
<h3>Countries</h3>
|
3
|
+
|
4
|
+
<table>
|
5
|
+
<% @countries.each do |country| %>
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
<% count = country.beers.count
|
10
|
+
if count > 0 %>
|
11
|
+
<tr>
|
12
|
+
<td>
|
13
|
+
<span class='country-key'><%= country.key %></span>
|
14
|
+
<%= image_tag_for_country( country ) %>
|
15
|
+
<%= link_to country.title, short_country_path( country ) %>
|
16
|
+
</td>
|
17
|
+
</tr>
|
18
|
+
|
19
|
+
<tr>
|
20
|
+
<td>
|
21
|
+
<% country.beers.each_with_index do |beer,i| %>
|
22
|
+
<% if i > 0 %>
|
23
|
+
•
|
24
|
+
<% end %>
|
25
|
+
<%= link_to beer.title, beer_path( beer.id ) %>
|
26
|
+
<% end %>
|
27
|
+
<span class="beer-count">(<%= count %>)</span>
|
28
|
+
</td>
|
29
|
+
</tr>
|
30
|
+
|
31
|
+
<% breweries_count = country.breweries.count
|
32
|
+
if breweries_count > 0 %>
|
33
|
+
<tr>
|
34
|
+
<td>
|
35
|
+
<% country.breweries.each_with_index do |brewery,i| %>
|
36
|
+
<% if i > 0 %>
|
37
|
+
•
|
38
|
+
<% end %>
|
39
|
+
<%= brewery.title %>
|
40
|
+
<% end %>
|
41
|
+
<span class="beer-count">(<%= breweries_count %>)</span>
|
42
|
+
</td>
|
43
|
+
</tr>
|
44
|
+
<% end %>
|
45
|
+
|
46
|
+
<% end %>
|
47
|
+
|
48
|
+
<% end %>
|
49
|
+
</table>
|
@@ -0,0 +1,133 @@
|
|
1
|
+
|
2
|
+
<h3>
|
3
|
+
<%= image_tag_for_country( @country, size: '64x64' ) %>
|
4
|
+
|
5
|
+
<!-- fix: use full_title e.g. is title (code) -->
|
6
|
+
<%= @country.title %>
|
7
|
+
(<%= @country.code %>),
|
8
|
+
|
9
|
+
<%= @country.breweries.count %> Breweries,
|
10
|
+
<%= @country.beers.count %> Beers
|
11
|
+
</h3>
|
12
|
+
|
13
|
+
|
14
|
+
<p>
|
15
|
+
Sort By: <%= link_to 'Key A-Z', short_country_path( @country, order: 'key' ) %>
|
16
|
+
•
|
17
|
+
<%= link_to 'Title A-Z', short_country_path( @country, order: 'title' ) %>
|
18
|
+
•
|
19
|
+
<%= link_to 'Address', short_country_path( @country, order: 'adr' ) %>
|
20
|
+
•
|
21
|
+
<%= link_to 'Production/Capacity (in hl)', short_country_path( @country, order: 'hl' ) %>
|
22
|
+
|
23
|
+
| Style: <%= link_to 'Pocket', short_country_path( @country, style: 'pocket' ) %>
|
24
|
+
|
25
|
+
</p>
|
26
|
+
|
27
|
+
<table>
|
28
|
+
|
29
|
+
<%
|
30
|
+
beers_missing_breweries = @country.beers.where( 'brewery_id is null' ).order( @order_clause )
|
31
|
+
beers_missing_breweries_count = beers_missing_breweries.count
|
32
|
+
|
33
|
+
if beers_missing_breweries_count > 0
|
34
|
+
%>
|
35
|
+
<tr>
|
36
|
+
<td><b>Uncategorized</b></td>
|
37
|
+
<td></td>
|
38
|
+
<td style='vertical-align: baseline;'>
|
39
|
+
<%= render_beers( beers_missing_breweries ) %>
|
40
|
+
</td>
|
41
|
+
</tr>
|
42
|
+
<% end %>
|
43
|
+
|
44
|
+
|
45
|
+
<!-- for now add section for uncategorized breweries (e.g. w/o region; region missing)
|
46
|
+
-->
|
47
|
+
|
48
|
+
<% breweries_missing_regions = @country.breweries.where( 'region_id is null').order( @order_clause )
|
49
|
+
breweries_missing_regions_count = breweries_missing_regions.count
|
50
|
+
|
51
|
+
if breweries_missing_regions_count > 0
|
52
|
+
%>
|
53
|
+
|
54
|
+
<tr>
|
55
|
+
<td colspan='3' style='background-color: silver;'>
|
56
|
+
<b>Uncategorized</b>
|
57
|
+
<span class='city-count'>
|
58
|
+
(<%= @country.breweries.where( 'region_id is null').count %>)
|
59
|
+
</span>
|
60
|
+
</td>
|
61
|
+
</tr>
|
62
|
+
|
63
|
+
<% breweries_missing_regions.each do |brewery| %>
|
64
|
+
<tr>
|
65
|
+
<td style='vertical-align: baseline;'>
|
66
|
+
<%= link_to brewery.title, brewery_path( brewery.id ) %>
|
67
|
+
|
68
|
+
| <%= brewery.founded %>
|
69
|
+
<%= render_brewery_tags( brewery ) %>
|
70
|
+
<br>
|
71
|
+
<span class='city-count'>
|
72
|
+
<%= brewery.address %>
|
73
|
+
</span>
|
74
|
+
</td>
|
75
|
+
<td style='vertical-align: baseline;'>
|
76
|
+
<span class='city-count'>
|
77
|
+
<% if brewery.web.present? %>
|
78
|
+
<%= link_to brewery.web, "http://#{brewery.web}" %>
|
79
|
+
<% end %>
|
80
|
+
</span>
|
81
|
+
</td>
|
82
|
+
<td style='vertical-align: baseline;'>
|
83
|
+
<%= render_beers( brewery.beers ) %>
|
84
|
+
</td>
|
85
|
+
</tr>
|
86
|
+
<% end %><!-- each brewery -->
|
87
|
+
<% end %><!-- if breweries_missing_regions_count > 0 -->
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
<% @country.regions.each do |region| %>
|
92
|
+
<tr>
|
93
|
+
<td colspan='3' style='background-color: silver;'>
|
94
|
+
<!-- use class region-key -->
|
95
|
+
<span class='city-count'>
|
96
|
+
<%= region.key %>
|
97
|
+
</span>
|
98
|
+
|
99
|
+
<%= region.title_w_synonyms %>
|
100
|
+
<span class='city-count'>
|
101
|
+
(<%= region.breweries.count %>)
|
102
|
+
</span>
|
103
|
+
</td>
|
104
|
+
</tr>
|
105
|
+
|
106
|
+
<% region.breweries.order( @order_clause ).each do |brewery| %>
|
107
|
+
<tr>
|
108
|
+
<td style='vertical-align: baseline;'>
|
109
|
+
<%= link_to brewery.title, brewery_path( brewery.id ) %>
|
110
|
+
|
111
|
+
| <%= brewery.founded %>
|
112
|
+
<%= render_brewery_tags( brewery ) %>
|
113
|
+
<br>
|
114
|
+
<span class='city-count'>
|
115
|
+
<%= brewery.address %>
|
116
|
+
</span>
|
117
|
+
</td>
|
118
|
+
<td style='vertical-align: baseline;'>
|
119
|
+
<span class='city-count'>
|
120
|
+
<% if brewery.web.present? %>
|
121
|
+
<%= link_to brewery.web, "http://#{brewery.web}" %>
|
122
|
+
<% end %>
|
123
|
+
</span>
|
124
|
+
</td>
|
125
|
+
<td style='vertical-align: baseline;'>
|
126
|
+
<%= render_beers( brewery.beers ) %>
|
127
|
+
</td>
|
128
|
+
</tr>
|
129
|
+
<% end %><!-- each brewery -->
|
130
|
+
<% end %> <!-- each region -->
|
131
|
+
|
132
|
+
|
133
|
+
</table>
|
@@ -0,0 +1,111 @@
|
|
1
|
+
|
2
|
+
<h3>
|
3
|
+
<%= image_tag_for_country( @country, size: '64x64' ) %>
|
4
|
+
|
5
|
+
<!-- fix: use full_title e.g. is title (code) -->
|
6
|
+
<%= @country.title %>
|
7
|
+
(<%= @country.code %>),
|
8
|
+
|
9
|
+
<%= @country.breweries.count %> Breweries,
|
10
|
+
<%= @country.beers.count %> Beers (Pocket)
|
11
|
+
</h3>
|
12
|
+
|
13
|
+
|
14
|
+
<p>
|
15
|
+
Sort By: <%= link_to 'Key A-Z', short_country_path( @country, style: 'pocket', order: 'key' ) %>
|
16
|
+
•
|
17
|
+
<%= link_to 'Title A-Z', short_country_path( @country, style: 'pocket', order: 'title' ) %>
|
18
|
+
•
|
19
|
+
<%= link_to 'Address', short_country_path( @country, style: 'pocket', order: 'adr' ) %>
|
20
|
+
•
|
21
|
+
<%= link_to 'Production/Capacity (in hl)', short_country_path( @country, style: 'pocket', order: 'hl' ) %>
|
22
|
+
|
23
|
+
| Style: <%= link_to 'Standard', short_country_path( @country ) %>
|
24
|
+
|
25
|
+
</p>
|
26
|
+
|
27
|
+
|
28
|
+
<table>
|
29
|
+
|
30
|
+
|
31
|
+
<!-- for now add section for uncategorized breweries (e.g. w/o region; region missing)
|
32
|
+
-->
|
33
|
+
|
34
|
+
<% breweries_missing_regions = @country.breweries.where( 'region_id is null').order( @order_clause )
|
35
|
+
breweries_missing_regions_count = breweries_missing_regions.count
|
36
|
+
|
37
|
+
if breweries_missing_regions_count > 0
|
38
|
+
%>
|
39
|
+
|
40
|
+
<tr>
|
41
|
+
<td colspan='3' style='background-color: silver;'>
|
42
|
+
<b>Uncategorized</b>
|
43
|
+
<span class='city-count'>
|
44
|
+
(<%= @country.breweries.where( 'region_id is null').count %>)
|
45
|
+
</span>
|
46
|
+
</td>
|
47
|
+
</tr>
|
48
|
+
|
49
|
+
<% breweries_missing_regions.each do |brewery| %>
|
50
|
+
<tr>
|
51
|
+
<td style='vertical-align: baseline;'>
|
52
|
+
<span class='city-count'>
|
53
|
+
<% if brewery.web.present? %>
|
54
|
+
<%= link_to brewery.web, "http://#{brewery.web}" %>
|
55
|
+
<% end %>
|
56
|
+
</span>
|
57
|
+
</td>
|
58
|
+
<td style='vertical-align: baseline;'>
|
59
|
+
<%= brewery.title %>
|
60
|
+
|
61
|
+
| <%= brewery.founded %>
|
62
|
+
|
|
63
|
+
<span class='city-count'>
|
64
|
+
<%= brewery.address %>
|
65
|
+
</span>
|
66
|
+
| <%= render_brewery_tags( brewery ) %>
|
67
|
+
</td>
|
68
|
+
</tr>
|
69
|
+
<% end %><!-- each brewery -->
|
70
|
+
<% end %><!-- if breweries_missing_regions_count > 0 -->
|
71
|
+
|
72
|
+
|
73
|
+
<% @country.regions.each do |region| %>
|
74
|
+
<tr>
|
75
|
+
<td colspan='3' style='background-color: silver;'>
|
76
|
+
<!-- use class region-key -->
|
77
|
+
<span class='city-count'>
|
78
|
+
<%= region.key %>
|
79
|
+
</span>
|
80
|
+
|
81
|
+
<%= region.title_w_synonyms %>
|
82
|
+
<span class='city-count'>
|
83
|
+
(<%= region.breweries.count %>)
|
84
|
+
</span>
|
85
|
+
</td>
|
86
|
+
</tr>
|
87
|
+
|
88
|
+
<% region.breweries.order( @order_clause ).each do |brewery| %>
|
89
|
+
<tr>
|
90
|
+
<td style='vertical-align: baseline;'>
|
91
|
+
<span class='city-count'>
|
92
|
+
<% if brewery.web.present? %>
|
93
|
+
<%= link_to brewery.web, "http://#{brewery.web}" %>
|
94
|
+
<% end %>
|
95
|
+
</span>
|
96
|
+
</td>
|
97
|
+
<td style='vertical-align: baseline;'>
|
98
|
+
<%= brewery.title %>
|
99
|
+
|
100
|
+
| <%= brewery.founded %>
|
101
|
+
|
|
102
|
+
<span class='city-count'>
|
103
|
+
<%= brewery.address %>
|
104
|
+
</span>
|
105
|
+
| <%= render_brewery_tags( brewery ) %>
|
106
|
+
</td>
|
107
|
+
</tr>
|
108
|
+
<% end %><!-- each brewery -->
|
109
|
+
<% end %> <!-- each region -->
|
110
|
+
|
111
|
+
</table>
|