beerdb-admin 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. data/History.md +3 -0
  2. data/Manifest.txt +55 -0
  3. data/README.md +29 -0
  4. data/Rakefile +26 -0
  5. data/app/assets/javascripts/beer_db_admin/application.js +15 -0
  6. data/app/assets/stylesheets/beer_db_admin/application.css.scss +3 -0
  7. data/app/controllers/beer_db_admin/beer_db_admin_controller.rb +6 -0
  8. data/app/controllers/beer_db_admin/beers_controller.rb +19 -0
  9. data/app/controllers/beer_db_admin/bookmarks_controller.rb +47 -0
  10. data/app/controllers/beer_db_admin/brands_controller.rb +21 -0
  11. data/app/controllers/beer_db_admin/breweries_controller.rb +31 -0
  12. data/app/controllers/beer_db_admin/countries_controller.rb +46 -0
  13. data/app/controllers/beer_db_admin/drinks_controller.rb +63 -0
  14. data/app/controllers/beer_db_admin/frontpage_controller.rb +15 -0
  15. data/app/controllers/beer_db_admin/pages_controller.rb +14 -0
  16. data/app/controllers/beer_db_admin/regions_controller.rb +13 -0
  17. data/app/controllers/beer_db_admin/sessions_controller.rb +53 -0
  18. data/app/controllers/beer_db_admin/tags_controller.rb +15 -0
  19. data/app/controllers/beer_db_admin/time_controller.rb +12 -0
  20. data/app/controllers/beer_db_admin/users_controller.rb +66 -0
  21. data/app/helpers/beer_db_admin/application_helper.rb +52 -0
  22. data/app/helpers/beer_db_admin/part_helper.rb +37 -0
  23. data/app/helpers/beer_db_admin/routes_helper.rb +21 -0
  24. data/app/views/beer_db_admin/beers/index.html.erb +70 -0
  25. data/app/views/beer_db_admin/beers/show.html.erb +132 -0
  26. data/app/views/beer_db_admin/brands/index.html.erb +41 -0
  27. data/app/views/beer_db_admin/breweries/index.html.erb +61 -0
  28. data/app/views/beer_db_admin/breweries/show.html.erb +111 -0
  29. data/app/views/beer_db_admin/countries/index.html.erb +49 -0
  30. data/app/views/beer_db_admin/countries/show.html.erb +133 -0
  31. data/app/views/beer_db_admin/countries/show_pocket.html.erb +111 -0
  32. data/app/views/beer_db_admin/drinks/_form.html.erb +29 -0
  33. data/app/views/beer_db_admin/drinks/edit.html.erb +4 -0
  34. data/app/views/beer_db_admin/drinks/new.html.erb +4 -0
  35. data/app/views/beer_db_admin/pages/about.html.erb +2 -0
  36. data/app/views/beer_db_admin/pages/index.html.erb +2 -0
  37. data/app/views/beer_db_admin/regions/index.html.erb +50 -0
  38. data/app/views/beer_db_admin/sessions/new.html.erb +54 -0
  39. data/app/views/beer_db_admin/shared/_beers.html.erb +16 -0
  40. data/app/views/beer_db_admin/shared/_bookmarks.html.erb +80 -0
  41. data/app/views/beer_db_admin/shared/_breweries_for_country.html.erb +22 -0
  42. data/app/views/beer_db_admin/shared/_breweries_for_region.html.erb +24 -0
  43. data/app/views/beer_db_admin/shared/_brewery_tags.html.erb +16 -0
  44. data/app/views/beer_db_admin/shared/_tags.html.erb +13 -0
  45. data/app/views/beer_db_admin/tags/index.html.erb +24 -0
  46. data/app/views/beer_db_admin/time/index.html.erb +40 -0
  47. data/app/views/beer_db_admin/users/edit.html.erb +40 -0
  48. data/app/views/beer_db_admin/users/show.html.erb +39 -0
  49. data/app/views/layouts/beer_db_admin/_flash.html.erb +6 -0
  50. data/app/views/layouts/beer_db_admin/_header.html.erb +16 -0
  51. data/app/views/layouts/beer_db_admin/beer_db_admin.html.erb +80 -0
  52. data/config/routes.rb +46 -0
  53. data/lib/beerdb/admin/engine.rb +6 -0
  54. data/lib/beerdb/admin/version.rb +5 -0
  55. data/lib/beerdb/admin.rb +20 -0
  56. metadata +127 -0
data/History.md ADDED
@@ -0,0 +1,3 @@
1
+ ### 0.0.1 / 2014-01-24
2
+
3
+ * Everything is new. First release
data/Manifest.txt ADDED
@@ -0,0 +1,55 @@
1
+ History.md
2
+ Manifest.txt
3
+ README.md
4
+ Rakefile
5
+ app/assets/javascripts/beer_db_admin/application.js
6
+ app/assets/stylesheets/beer_db_admin/application.css.scss
7
+ app/controllers/beer_db_admin/beer_db_admin_controller.rb
8
+ app/controllers/beer_db_admin/beers_controller.rb
9
+ app/controllers/beer_db_admin/bookmarks_controller.rb
10
+ app/controllers/beer_db_admin/brands_controller.rb
11
+ app/controllers/beer_db_admin/breweries_controller.rb
12
+ app/controllers/beer_db_admin/countries_controller.rb
13
+ app/controllers/beer_db_admin/drinks_controller.rb
14
+ app/controllers/beer_db_admin/frontpage_controller.rb
15
+ app/controllers/beer_db_admin/pages_controller.rb
16
+ app/controllers/beer_db_admin/regions_controller.rb
17
+ app/controllers/beer_db_admin/sessions_controller.rb
18
+ app/controllers/beer_db_admin/tags_controller.rb
19
+ app/controllers/beer_db_admin/time_controller.rb
20
+ app/controllers/beer_db_admin/users_controller.rb
21
+ app/helpers/beer_db_admin/application_helper.rb
22
+ app/helpers/beer_db_admin/part_helper.rb
23
+ app/helpers/beer_db_admin/routes_helper.rb
24
+ app/views/beer_db_admin/beers/index.html.erb
25
+ app/views/beer_db_admin/beers/show.html.erb
26
+ app/views/beer_db_admin/brands/index.html.erb
27
+ app/views/beer_db_admin/breweries/index.html.erb
28
+ app/views/beer_db_admin/breweries/show.html.erb
29
+ app/views/beer_db_admin/countries/index.html.erb
30
+ app/views/beer_db_admin/countries/show.html.erb
31
+ app/views/beer_db_admin/countries/show_pocket.html.erb
32
+ app/views/beer_db_admin/drinks/_form.html.erb
33
+ app/views/beer_db_admin/drinks/edit.html.erb
34
+ app/views/beer_db_admin/drinks/new.html.erb
35
+ app/views/beer_db_admin/pages/about.html.erb
36
+ app/views/beer_db_admin/pages/index.html.erb
37
+ app/views/beer_db_admin/regions/index.html.erb
38
+ app/views/beer_db_admin/sessions/new.html.erb
39
+ app/views/beer_db_admin/shared/_beers.html.erb
40
+ app/views/beer_db_admin/shared/_bookmarks.html.erb
41
+ app/views/beer_db_admin/shared/_breweries_for_country.html.erb
42
+ app/views/beer_db_admin/shared/_breweries_for_region.html.erb
43
+ app/views/beer_db_admin/shared/_brewery_tags.html.erb
44
+ app/views/beer_db_admin/shared/_tags.html.erb
45
+ app/views/beer_db_admin/tags/index.html.erb
46
+ app/views/beer_db_admin/time/index.html.erb
47
+ app/views/beer_db_admin/users/edit.html.erb
48
+ app/views/beer_db_admin/users/show.html.erb
49
+ app/views/layouts/beer_db_admin/_flash.html.erb
50
+ app/views/layouts/beer_db_admin/_header.html.erb
51
+ app/views/layouts/beer_db_admin/beer_db_admin.html.erb
52
+ config/routes.rb
53
+ lib/beerdb/admin.rb
54
+ lib/beerdb/admin/engine.rb
55
+ lib/beerdb/admin/version.rb
data/README.md ADDED
@@ -0,0 +1,29 @@
1
+ # beer.db.admin
2
+
3
+ Open beer web admin addon / rails engine
4
+
5
+ * home :: [github.com/geraldb/beer.db.admin](https://github.com/geraldb/beer.db.admin)
6
+ * bugs :: [github.com/geraldb/beer.db.admin/issues](https://github.com/geraldb/beer.db.admin/issues)
7
+ * gem :: [rubygems.org/gems/beerdb-admin](https://rubygems.org/gems/beerdb-admin)
8
+ * rdoc :: [rubydoc.info/gems/beerdb-admin](http://rubydoc.info/gems/beerdb-admin)
9
+ * forum :: [groups.google.com/group/beerdb](https://groups.google.com/group/beerdb)
10
+
11
+ ## Demo
12
+
13
+ Try the `beer.db` web admin demo running
14
+ on Heroku [`prost.herokuapp.com`](http://prost.herokuapp.com).
15
+
16
+ ## Usage
17
+
18
+ TBD
19
+
20
+
21
+ ## License
22
+
23
+ The `beer.db.admin` scripts are dedicated to the public domain.
24
+ Use it as you please with no restrictions whatsoever.
25
+
26
+ ## Questions? Comments?
27
+
28
+ Send them along to the [Open Beer Database & Friends Forum/Mailing List](http://groups.google.com/group/beerdb).
29
+ Thanks!
data/Rakefile ADDED
@@ -0,0 +1,26 @@
1
+ require 'hoe'
2
+ require './lib/beerdb/admin/version.rb'
3
+
4
+
5
+ Hoe.spec 'beerdb-admin' do
6
+
7
+ self.version = BeerDbAdmin::VERSION
8
+
9
+ self.summary = 'beerdb admin addon - rails engine'
10
+ self.description = summary
11
+
12
+ self.urls = ['https://github.com/geraldb/beer.db.admin']
13
+
14
+ self.author = 'Gerald Bauer'
15
+ self.email = 'beerdb@googlegroups.com'
16
+
17
+ self.readme_file = 'README.md'
18
+ self.history_file = 'History.md'
19
+
20
+ self.licenses = ['Public Domain']
21
+
22
+ self.spec_extras = {
23
+ :required_ruby_version => '>= 1.9.2'
24
+ }
25
+
26
+ end
@@ -0,0 +1,15 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // the compiled file.
9
+ //
10
+ // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
11
+ // GO AFTER THE REQUIRES BELOW.
12
+ //
13
+ //= require jquery
14
+ //= require jquery_ujs
15
+ //= require_tree .
@@ -0,0 +1,3 @@
1
+
2
+ // add some css here
3
+
@@ -0,0 +1,6 @@
1
+ module BeerDbAdmin
2
+
3
+ class BeerDbAdminController < ActionController::Base
4
+ end
5
+
6
+ end # module BeerDbAdmin
@@ -0,0 +1,19 @@
1
+ # encoding: utf-8
2
+
3
+ module BeerDbAdmin
4
+
5
+ class BeersController < BeerDbAdminController
6
+
7
+ def index
8
+ # note: show 25 per page for now
9
+ @beers = Beer.limit( 25 )
10
+ end
11
+
12
+ # GET /beers/:id e.g. /beers/1
13
+ def show
14
+ @beer = Beer.find( params[:id] )
15
+ end
16
+
17
+ end # class BeersController
18
+
19
+ end # module BeerDbAdmin
@@ -0,0 +1,47 @@
1
+ # encoding: utf-8
2
+
3
+ module BeerDbAdmin
4
+
5
+ class BookmarksController < BeerDbAdminController
6
+
7
+ def update_flag
8
+
9
+ bookmark = Bookmark.find( params[:id] )
10
+
11
+ # check params
12
+ if params[:yes].present?
13
+ if params[:yes] == 'true' || params[:yes] == 't'
14
+ bookmark.yes = true # +1
15
+ bookmark.no = false
16
+ else
17
+ bookmark.yes = false
18
+ end
19
+ end
20
+
21
+ if params[:no].present?
22
+ if params[:no] == 'true' || params[:no] == 't'
23
+ bookmark.no = true # -1
24
+ bookmark.yes = false
25
+ else
26
+ bookmark.no = false
27
+ end
28
+ end
29
+
30
+ if params[:wish].present?
31
+ if params[:wish] == 'true' || params[:wish] == 't'
32
+ bookmark.wish = true
33
+ bookmark.no = false # reset -1 flag if present
34
+ else
35
+ bookmark.wish = false
36
+ end
37
+ end
38
+
39
+ flash[:notice] = 'Bookmark erfolgreich gespeichert.'
40
+ bookmark.save!
41
+
42
+ redirect_to :back
43
+ end
44
+
45
+ end # class BookmarksController
46
+
47
+ end # module BeerDbAdmin
@@ -0,0 +1,21 @@
1
+ # encoding: utf-8
2
+
3
+ module BeerDbAdmin
4
+
5
+ class BrandsController < BeerDbAdminController
6
+
7
+ def index
8
+ @brands = Brand.all
9
+ end
10
+
11
+ =begin
12
+ # GET /brands/:id e.g. /brands/1
13
+ def show
14
+ @brand = Brand.find( params[:id] )
15
+ end
16
+ =end
17
+
18
+ end # class BrandsController
19
+
20
+ end # module BeerDbAdmin
21
+
@@ -0,0 +1,31 @@
1
+ # encoding: utf-8
2
+
3
+ module BeerDbAdmin
4
+
5
+ class BreweriesController < BeerDbAdminController
6
+
7
+ def index
8
+ order = params[:order] || 'title'
9
+
10
+ if order == 'key'
11
+ order_clause = 'key'
12
+ elsif order == 'hl'
13
+ order_clause = 'prod desc, title'
14
+ else # by_title
15
+ order_clause = 'title'
16
+ end
17
+
18
+ # note: show 25 per page for now
19
+
20
+ @breweries = Brewery.limit(25).order( order_clause )
21
+ end
22
+
23
+ # GET /breweries/:id e.g. /breweries/1
24
+ def show
25
+ @brewery = Brewery.find( params[:id] )
26
+ end
27
+
28
+
29
+ end # class BreweriesController
30
+
31
+ end # module BeerDbAdmin
@@ -0,0 +1,46 @@
1
+ # encoding: utf-8
2
+
3
+ module BeerDbAdmin
4
+
5
+ class CountriesController < BeerDbAdminController
6
+
7
+ def index
8
+ @countries = Country.all
9
+ end
10
+
11
+ # GET /:key e.g /at or /us etc.
12
+ def shortcut
13
+
14
+ order = params[:order] || 'title'
15
+
16
+ if order == 'key'
17
+ @order_clause = 'key'
18
+ elsif order == 'hl'
19
+ @order_clause = 'prod desc, title'
20
+ elsif order == 'adr'
21
+ @order_clause = 'address, title'
22
+ else # by_title
23
+ @order_clause = 'title'
24
+ end
25
+
26
+ @country = Country.find_by_key!( params[:key] )
27
+
28
+ style = params[:style] || 'std'
29
+
30
+ if style == 'pocket'
31
+ render :show_pocket
32
+ else
33
+ render :show
34
+ end
35
+ end
36
+
37
+ # GET /countries/:id e.g. /countries/1
38
+ def show
39
+ @country = Country.find( params[:id] )
40
+ end
41
+
42
+
43
+ end # class CountriesController
44
+
45
+ end # module BeerDbAdmin
46
+
@@ -0,0 +1,63 @@
1
+ # encoding: utf-8
2
+
3
+ module BeerDbAdmin
4
+
5
+ class DrinksController < BeerDbAdminController
6
+
7
+ include ApplicationHelper # fix: move current_user to application controller too
8
+
9
+ # GET /drinks
10
+ def index
11
+ end
12
+
13
+ # GET /drinks/new
14
+ def new
15
+ # NB: beer_id n current_user (user_id) required
16
+
17
+ @drink = Drink.new
18
+ @beer = Beer.find( params[:beer_id] )
19
+ @user = current_user() # assert user_id == current_user_id
20
+
21
+ @drink.beer_id = @beer.id
22
+ @drink.user_id = @user.id
23
+ end
24
+
25
+ # POST /drinks
26
+ def create
27
+ @drink = Drink.new(params[:drink])
28
+
29
+ if @drink.save
30
+ flash[:notice] = 'Drink erfolgreich gespeichert.'
31
+ redirect_to frontpage_path()
32
+ else
33
+ @beer = @drink.beer
34
+ @user = current_user() # assert @drink.user_id == current_user_id
35
+ render action: 'new'
36
+ end
37
+ end
38
+
39
+
40
+ # GET /drinks/1/edit
41
+ def edit
42
+ @drink = Drink.find( params[:id] )
43
+ @beer = @drink.beer
44
+ @user = current_user() # assert @drink.user_id == current_user_id
45
+ end
46
+
47
+ # PUT /drinks/1
48
+ def update
49
+ @drink = Drink.find( params[:id] )
50
+
51
+ if @drink.update_attributes( params[:drink] )
52
+ flash[:notice] = 'Drink erfolgreich gespeichert.'
53
+ redirect_to frontpage_path()
54
+ else
55
+ @beer = @drink.beer
56
+ @user = current_user() # assert @drink.user_id == current_user_id
57
+ render action: 'edit'
58
+ end
59
+ end
60
+
61
+ end # class DrinksController
62
+
63
+ end # module BeerDbAdmin
@@ -0,0 +1,15 @@
1
+ # encoding: utf-8
2
+
3
+ module BeerDbAdmin
4
+
5
+ class FrontpageController < BeerDbAdminController
6
+
7
+ include ApplicationHelper
8
+
9
+ def index
10
+ redirect_to user_path( current_user_id() )
11
+ end
12
+
13
+ end # class FrontpageController
14
+
15
+ end # module BeerDbAdmin
@@ -0,0 +1,14 @@
1
+ # encoding: utf-8
2
+
3
+ module BeerDbAdmin
4
+
5
+ class PagesController < BeerDbAdminController
6
+ def index
7
+ end
8
+
9
+ def about
10
+ end
11
+ end
12
+
13
+
14
+ end # module BeerDbAdmin
@@ -0,0 +1,13 @@
1
+ # encoding: utf-8
2
+
3
+ module BeerDbAdmin
4
+
5
+ class RegionsController < BeerDbAdminController
6
+
7
+ def index
8
+ @regions = Region.all
9
+ end
10
+
11
+ end # class RegionsController
12
+
13
+ end # module BeerDbAdmin
@@ -0,0 +1,53 @@
1
+ # encoding: utf-8
2
+
3
+ module BeerDbAdmin
4
+
5
+ class SessionsController < BeerDbAdminController
6
+
7
+ # GET /session/new
8
+ def new
9
+ @user = User.new
10
+ end
11
+
12
+ # POST /session
13
+ def create
14
+
15
+ ## remove whitespace and (.-+_) and downcase
16
+ email = params[:user][:email]
17
+ if email.blank?
18
+ key = 'xxx'
19
+ else
20
+ key = email.gsub( /[\s\.\-+_]/, '' ).downcase
21
+ end
22
+
23
+ @user = User.find_by_key( key )
24
+
25
+ if @user.present? && @user.active?
26
+
27
+ session[:user_id] = @user.id
28
+ flash[:notice] = 'Anmeldung erfolgreich.'
29
+
30
+ redirect_to frontpage_path()
31
+ else
32
+ if @user.present?
33
+ if @user.active == false
34
+ flash.now[:error] = 'Konto gesperrt. Tut leid.'
35
+ end
36
+ else
37
+ flash.now[:error] = 'Unbekannte Email. Tut leid.'
38
+ end
39
+ @user = User.new( params[:user] )
40
+ render :action => 'new'
41
+ end
42
+ end
43
+
44
+
45
+ # DELETE /session
46
+ def destroy
47
+ session[:user_id] = nil
48
+ flash[:notice] = 'Tschüss.'
49
+ redirect_to signin_path()
50
+ end
51
+ end
52
+
53
+ end # module BeerDbAdmin