office_clerk 0.1 → 0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +4 -2
- data/.travis.yml +1 -2
- data/Gemfile +1 -22
- data/Gemfile.lock +41 -64
- data/Rakefile +3 -3
- data/app/assets/images/{admin → office_clerk}/baskets-2.jpg +0 -0
- data/app/assets/images/{admin → office_clerk}/baskets.jpg +0 -0
- data/app/assets/images/{admin → office_clerk}/categories-2.jpg +0 -0
- data/app/assets/images/{admin → office_clerk}/categories.jpg +0 -0
- data/app/assets/images/{admin → office_clerk}/clerks-2.jpg +0 -0
- data/app/assets/images/{admin → office_clerk}/clerks.jpg +0 -0
- data/app/assets/images/{admin → office_clerk}/orders-2.jpg +0 -0
- data/app/assets/images/{admin → office_clerk}/orders.jpg +0 -0
- data/app/assets/images/{admin → office_clerk}/products-2.jpg +0 -0
- data/app/assets/images/{admin → office_clerk}/products.jpg +0 -0
- data/app/assets/images/office_clerk/purchases-2.jpg +0 -0
- data/app/assets/images/{admin → office_clerk}/purchases.jpg +0 -0
- data/app/assets/images/{admin → office_clerk}/suppliers-2.jpg +0 -0
- data/app/assets/images/{admin → office_clerk}/suppliers.jpg +0 -0
- data/app/assets/javascripts/{admin.js → office_clerk.js} +2 -2
- data/app/assets/stylesheets/{admin.css.scss → office_clerk.scss} +8 -10
- data/app/controllers/admin_controller.rb +2 -2
- data/app/controllers/baskets_controller.rb +6 -1
- data/app/controllers/{application_controller.rb → office_controller.rb} +3 -1
- data/app/controllers/products_controller.rb +0 -2
- data/app/controllers/sessions_controller.rb +3 -3
- data/app/controllers/shop_controller.rb +2 -2
- data/app/helpers/{application_helper.rb → office_helper.rb} +1 -1
- data/app/helpers/orders_helper.rb +1 -1
- data/app/helpers/shop_helper.rb +11 -0
- data/app/views/baskets/edit.html.haml +2 -2
- data/app/views/baskets/index.html.haml +2 -2
- data/app/views/baskets/show.html.haml +1 -1
- data/app/views/categories/index.html.haml +1 -1
- data/app/views/clerks/index.html.haml +1 -1
- data/app/views/layouts/_header_extra.haml +6 -0
- data/app/views/layouts/{admin.html.haml → office_clerk.haml} +3 -2
- data/app/views/manage/_hash.haml +7 -0
- data/app/views/manage/all.haml +8 -3
- data/app/views/orders/index.html.haml +1 -1
- data/app/views/orders/show.html.haml +1 -1
- data/app/views/products/index.html.haml +1 -1
- data/app/views/purchases/index.html.haml +1 -1
- data/app/views/sessions/sign_in.haml +1 -1
- data/app/views/suppliers/index.html.haml +1 -1
- data/bin/rails +12 -4
- data/config/environments/development.rb +1 -1
- data/config/environments/test.rb +0 -36
- data/config/initializers/session_store.rb +1 -1
- data/config/locales/config.yml +2 -16
- data/config/routes.rb +1 -1
- data/lib/office_clerk/engine.rb +22 -0
- data/lib/office_clerk/shipping_method.rb +7 -3
- data/lib/office_clerk/version.rb +3 -0
- data/lib/office_clerk.rb +13 -2
- data/lib/tasks/office_clerk_tasks.rake +4 -0
- data/office_clerk.gemspec +22 -19
- data/spec/controllers/baskets_controller_spec.rb +1 -0
- data/spec/controllers/categories_controller_spec.rb +1 -0
- data/spec/controllers/clerks_controller_spec.rb +1 -0
- data/spec/controllers/orders_controller_spec.rb +1 -0
- data/spec/controllers/products_controller_spec.rb +1 -0
- data/spec/controllers/purchases_controller_spec.rb +1 -0
- data/spec/controllers/sessions_controller_spec.rb +1 -0
- data/spec/controllers/suppliers_controller_spec.rb +1 -0
- data/spec/features/baskets/buttons_spec.rb +0 -1
- data/spec/models/baskets/items_spec.rb +2 -2
- data/spec/routing/baskets_routing_spec.rb +2 -0
- data/spec/routing/categories_routing_spec.rb +1 -0
- data/spec/routing/orders_routing_spec.rb +1 -0
- data/spec/routing/products_routing_spec.rb +1 -0
- data/spec/routing/purchases_routing_spec.rb +1 -0
- data/spec/routing/suppliers_routing_spec.rb +1 -0
- data/spec/spec_helper.rb +7 -4
- data/spec/support/factory_girl.rb +6 -0
- data/test_app/README.rdoc +28 -0
- data/test_app/app/assets/javascripts/application.js +15 -0
- data/test_app/app/assets/stylesheets/application.css +13 -0
- data/test_app/app/controllers/application_controller.rb +5 -0
- data/test_app/app/helpers/application_helper.rb +2 -0
- data/test_app/app/views/layouts/sales_clerk.haml +9 -0
- data/test_app/bin/bundle +3 -0
- data/test_app/bin/rails +4 -0
- data/test_app/bin/rake +4 -0
- data/test_app/config/application.rb +28 -0
- data/test_app/config/boot.rb +4 -0
- data/test_app/config/database.yml +25 -0
- data/test_app/config/environment.rb +5 -0
- data/test_app/config/environments/development.rb +32 -0
- data/test_app/config/environments/production.rb +80 -0
- data/test_app/config/environments/test.rb +39 -0
- data/test_app/config/initializers/backtrace_silencers.rb +7 -0
- data/test_app/config/initializers/filter_parameter_logging.rb +4 -0
- data/test_app/config/initializers/inflections.rb +16 -0
- data/test_app/config/initializers/mime_types.rb +5 -0
- data/{config → test_app/config}/initializers/secret_token.rb +1 -1
- data/test_app/config/initializers/session_store.rb +3 -0
- data/test_app/config/initializers/wrap_parameters.rb +14 -0
- data/test_app/config/locales/en.yml +23 -0
- data/test_app/config/routes.rb +4 -0
- data/{config.ru → test_app/config.ru} +0 -3
- data/test_app/db/migrate/20141114205525_clerks.office.rb +16 -0
- data/test_app/db/migrate/20141114205526_suppliers.office.rb +10 -0
- data/test_app/db/migrate/20141114205527_categories.office.rb +19 -0
- data/test_app/db/migrate/20141114205528_items.office.rb +15 -0
- data/test_app/db/migrate/20141114205529_orders.office.rb +22 -0
- data/test_app/db/migrate/20141114205530_baskets.office.rb +13 -0
- data/test_app/db/migrate/20141114205531_purchases.office.rb +12 -0
- data/test_app/db/migrate/20141114205532_products.office.rb +28 -0
- data/test_app/db/schema.rb +138 -0
- data/test_app/db/seeds.rb +7 -0
- data/test_app/public/404.html +58 -0
- data/test_app/public/422.html +58 -0
- data/test_app/public/500.html +57 -0
- data/{app/mailers/.keep → test_app/public/favicon.ico} +0 -0
- data/test_app/public/robots.txt +5 -0
- data/test_app/spec/rails_helper.rb +50 -0
- data/test_app/spec/spec_helper.rb +85 -0
- metadata +134 -159
- data/Guardfile +0 -28
- data/app/assets/images/admin/purchases-2.jpg +0 -0
- data/app/assets/images/header.gif +0 -0
- data/app/assets/images/hihih.jpg +0 -0
- data/app/assets/images/koe.jpg +0 -0
- data/app/assets/images/shop/basket.jpg +0 -0
- data/app/assets/images/shop/farfalla-logo.jpg +0 -0
- data/app/assets/images/shop/header.gif +0 -0
- data/app/assets/images/shop/header.jpg +0 -0
- data/app/assets/images/shop/header.png +0 -0
- data/app/assets/images/shop/ikkuna.jpg +0 -0
- data/app/assets/images/shop/kansi.jpg +0 -0
- data/app/assets/images/shop/kansi.png +0 -0
- data/app/assets/images/shop/logo.png +0 -0
- data/app/assets/images/shop/menu-gourmet.jpg +0 -0
- data/app/assets/images/shop/menu-hius.jpg +0 -0
- data/app/assets/images/shop/menu-huonetuoksu.jpg +0 -0
- data/app/assets/images/shop/menu-info.jpg +0 -0
- data/app/assets/images/shop/menu-kasvo.jpg +0 -0
- data/app/assets/images/shop/menu-laukut.jpg +0 -0
- data/app/assets/images/shop/menu-luomu.jpg +0 -0
- data/app/assets/images/shop/menu-men.jpg +0 -0
- data/app/assets/images/shop/menu-oljy.jpg +0 -0
- data/app/assets/images/shop/menu-tuoksu1.jpg +0 -0
- data/app/assets/images/shop/menu-vaatteet.jpg +0 -0
- data/app/assets/images/shop/menu-valaisin.jpg +0 -0
- data/app/assets/images/shop/menu-vartalo.jpg +0 -0
- data/app/assets/images/shop/spacer.gif +0 -0
- data/app/assets/images/shop/tausta.jpg +0 -0
- data/app/assets/images/shop/tervetuloa.gif +0 -0
- data/app/assets/images/shop/valk.png +0 -0
- data/app/assets/images/shop/valk3.png +0 -0
- data/app/assets/images/shop/violetti-lev.jpg +0 -0
- data/app/assets/images/shop/violetti.jpg +0 -0
- data/app/assets/javascripts/shop.js +0 -31
- data/app/assets/stylesheets/shop-receipt.css.scss +0 -80
- data/app/assets/stylesheets/shop.css.scss +0 -424
- data/app/views/layouts/shop.html.haml +0 -99
- data/app/views/shop/_groups.html.haml +0 -8
- data/app/views/shop/_menu.html.haml +0 -5
- data/app/views/shop/_sub.html.haml +0 -0
- data/app/views/shop/checkout.haml +0 -142
- data/app/views/shop/group.html.haml +0 -9
- data/app/views/shop/liikkeemme.html.haml +0 -59
- data/app/views/shop/main_group.html.haml +0 -9
- data/app/views/shop/order.haml +0 -109
- data/app/views/shop/product.html.haml +0 -67
- data/app/views/shop/product_list.html.haml +0 -53
- data/app/views/shop/saved_search.html +0 -6
- data/app/views/shop/sub_group.html.haml +0 -19
- data/app/views/shop/tilaushistoria.html.haml +0 -221
- data/app/views/shop/toimitusehdot.html.haml +0 -99
- data/app/views/shop/tuotteista.html.haml +0 -40
- data/app/views/shop/welcome.html.haml +0 -103
- data/config/application.example.yml +0 -13
- data/config/application.rb +0 -59
- data/config/application.yml +0 -13
- data/config/initializers/attack.rb +0 -32
- data/lib/assets/.keep +0 -0
- data/lib/tasks/.keep +0 -0
- data/public/images/missing/list.png +0 -0
- data/public/images/missing/product.png +0 -0
- data/public/images/missing/thumb.png +0 -0
- data/spec/features/shop_spec.rb +0 -63
@@ -1,99 +0,0 @@
|
|
1
|
-
.row
|
2
|
-
%ol.breadcrumb
|
3
|
-
%li
|
4
|
-
%a{ :href => "/"}= t(:home)
|
5
|
-
%li
|
6
|
-
= t(:terms)
|
7
|
-
|
8
|
-
.row
|
9
|
-
.col-md-3
|
10
|
-
.group-wrapper.side.checkout
|
11
|
-
%img{:src => "/assets/shop/ikkuna.jpg"}/
|
12
|
-
|
13
|
-
.col-md-9
|
14
|
-
.row
|
15
|
-
%h3.highlight Toimitusehdot
|
16
|
-
%br/
|
17
|
-
%h4.text Hinnat ja maksutavat
|
18
|
-
Hinnat sisältävät arvonlisäveron 24%.
|
19
|
-
%br/
|
20
|
-
Maksaminen tapahtuu ennakkolaskulla. Kun olet tehnyt tilauksen, näet tilausvahvistuksessa laskun tiedot joiden perusteella voit maksaa. Saat myös kopion laskusta antamaasi sähköpostiosoitteeseen. Kun lasku on maksettu ja suoritus näkyy tilillämme, toimitamme tuotteen/tuotteet.
|
21
|
-
%br/
|
22
|
-
Yli 120 € tilauksen toimitamme ilman postikuluja (postipaketti).
|
23
|
-
%br/
|
24
|
-
Tuotteet voi tilata myös postiennakolla, jolloin lisämaksu Postipaketille on 4 €.
|
25
|
-
%br/
|
26
|
-
%br/
|
27
|
-
%h4.text Toimitus
|
28
|
-
Toimitamme tilaukset Suomeen postitse. Tavarat lähetetään varastostamme tavallisesti 2—3 työpäivän kuluessa siitä, kun tilausten maksusuoritus näkyy tilillä. Käsittelemme tilaukset niiden saapumisjärjestyksessä.
|
29
|
-
%br/
|
30
|
-
%br/
|
31
|
-
%h4.text Toimituskulut
|
32
|
-
%div{:align => "center"}
|
33
|
-
%table.table.table-hover.table-condensed
|
34
|
-
%tr
|
35
|
-
%td
|
36
|
-
%b
|
37
|
-
%em paino
|
38
|
-
%td
|
39
|
-
%b
|
40
|
-
%em
|
41
|
-
Postipaketti
|
42
|
-
%br/
|
43
|
-
noudetaan postista
|
44
|
-
%td
|
45
|
-
%b
|
46
|
-
%em
|
47
|
-
Ovelle-paketti
|
48
|
-
%br/
|
49
|
-
vastaanottajan ovelle
|
50
|
-
%td
|
51
|
-
%b
|
52
|
-
%em
|
53
|
-
Postiennakko,
|
54
|
-
%br/
|
55
|
-
Postipaketti
|
56
|
-
%td
|
57
|
-
%td
|
58
|
-
%td
|
59
|
-
%tr
|
60
|
-
%td alle 2 kg
|
61
|
-
%td 7 €
|
62
|
-
%td 10 €
|
63
|
-
%td 11 €
|
64
|
-
%tr
|
65
|
-
%td 2—5 kg
|
66
|
-
%td 9 €
|
67
|
-
%td 12 €
|
68
|
-
%td 13 €
|
69
|
-
%tr
|
70
|
-
%td 5—15 kg
|
71
|
-
%td 11 €
|
72
|
-
%td 14 €
|
73
|
-
%td 15 €
|
74
|
-
%tr
|
75
|
-
%td 15—30 kg
|
76
|
-
%td 15 €
|
77
|
-
%td 17 €
|
78
|
-
%td 19 €
|
79
|
-
%br/
|
80
|
-
%h4.text Tuotteiden värit
|
81
|
-
Teknisisten syiden vuoksi tuotteiden värit saattavat luonnossa poiketa siitä, miltä ne ruudulla näyttävät.
|
82
|
-
%br/
|
83
|
-
%br/
|
84
|
-
%h4.text Rekisteröityminen
|
85
|
-
Ostaessasi verkkokaupasta voit kirjautua asiakkaaksemme. Silloin sinun ei tarvitse kirjoittaa yhteystietojasi uudelleen kun ostat seuraavan kerran, ja voit jälkikäteen tarkistaa tilauksesi tiedot. Käytämme meille annettuja henkilötietoja ainoastaan asiakassuhteiden hallinnoimiseen, emme luovuta niitä ulkopuolisille.
|
86
|
-
%br/
|
87
|
-
Rekisteröityneille asiakkaillemme teemme kanta-asiakastarjouksia, muutaman kerran vuodessa.
|
88
|
-
%br/
|
89
|
-
%br/
|
90
|
-
%h4.text Palautus- ja vaihto-oikeus
|
91
|
-
Tuotteillamme on 14 päivän kuluttajasuojalain mukainen palautusoikeus. Mikäli et ole tilaamaasi tuotteeseen täysin tyytyväinen, otathan yhteyttä meihin sähköpostitse, niin voimme sopia palautustavasta.
|
92
|
-
%br/
|
93
|
-
Muistathan, että palautettavan tuotteen tulee olla käyttämätön ja alkuperäisessä pakkauksessaan.
|
94
|
-
%br/
|
95
|
-
%br/
|
96
|
-
%h4.text Tietosuoja / henkilötiedot
|
97
|
-
Käytämme meille annettuja henkilötietoja ainoastaan asiakassuhteiden hoitamiseen. Emme luovuta niitä ulkopuolisille. Asiakas voi poistaa yhteystietonsa milloin tahansa lähettämällä poistamispyynnön sähköpostitse. Emme pyydä emmekä tallenna mitään henkilökohtaisia maksutietoja asiakkailta.
|
98
|
-
%br/
|
99
|
-
|
@@ -1,40 +0,0 @@
|
|
1
|
-
#content.sixteen{"data-hook" => ""}
|
2
|
-
%div{align: "center", font: "", size: "1em"}
|
3
|
-
%a{href: "/pages/farfalla"}> FARFALLA LUOMUKOSMETIIKKA
|
4
|
-
|
5
|
-
= succeed "\u{a0}\u{a0}\u{a0}\u{a0}\u{a0}\u{a0}\u{a0}\u{a0}\u{a0}\u{a0}\u{a0}\u{a0}" do
|
6
|
-
%a{href: "/pages/huonetuoksut"} HUONETUOKSUT
|
7
|
-
%a{href: "/pages/gourmet"} GOURMET
|
8
|
-
%table{align: "center", border: "0", cellpadding: "3", cellspacing: "4"}
|
9
|
-
%tbody
|
10
|
-
%tr{background: "#ffffff"}
|
11
|
-
%td
|
12
|
-
%a{href: "/pages/farfalla"}
|
13
|
-
%img{src: "http://auringostaitaan.fi/assets/store/kauppa/farfalla-p-e2aa7c994acda55e70f1d5c462644240.jpg"}/
|
14
|
-
%td
|
15
|
-
%a{href: "/pages/huonetuoksut"}
|
16
|
-
%img{src: "http://auringostaitaan.fi/assets/store/kauppa/home_rose-p-d993d6cdd7b74fbb89dab2e984946853.jpg"}/
|
17
|
-
%td
|
18
|
-
%a{href: "/pages/gourmet"}
|
19
|
-
%img{src: "http://auringostaitaan.fi/assets/store/kauppa/feuer-p-3f2cbc32863dab529000578171ff9248.jpg"}/
|
20
|
-
%tr{background: "#ffffff"}
|
21
|
-
%td{valign: "top"}
|
22
|
-
%b Farfalla – laadukasta luomukosmetiikkaa.
|
23
|
-
Farfalla on luonut sarjan todella korkealaatuisia, sertifioituja luomutuotteita. 80 prosentissa tuotteista on yli 95% luomua, joka on nykystandardeissa todella paljon.
|
24
|
-
%p{style: "text-align:right"}
|
25
|
-
%a{href: "/pages/farfalla"}> lue lisää
|
26
|
-
|
27
|
-
%td{valign: "top"}
|
28
|
-
%b ipuro huonetuoksut – hyvinvointia arkeen sekä pientä ja edullista ylellisyyttä.
|
29
|
-
Puhtaita ja laadukkaita huonetuoksuja, joiden raaka–aineet on kerätty Grassen kukkaisalueelta.
|
30
|
-
%br/
|
31
|
-
%p{style: "text-align:right"}
|
32
|
-
%a{href: "/pages/huonetuoksut"}> lue lisää
|
33
|
-
|
34
|
-
%td{valign: "top"}
|
35
|
-
%b Gourmet-tuotteemme ovat herkullisia, huolella valittuja ja laadukkaita tuotteita.
|
36
|
-
Kaikki tuotteet on ennen valikoimaamme pääsyä tutkittu ja maistettu, ja vain todella korkealaatuiset ja maukkaat pääsevät myyntiin.
|
37
|
-
%br/
|
38
|
-
%p{style: "text-align:right"}
|
39
|
-
%a{href: "/pages/gourmet"}> lue lisää
|
40
|
-
|
@@ -1,103 +0,0 @@
|
|
1
|
-
!!!
|
2
|
-
/[if lt IE 7 ] <html class="ie ie6" lang="en">
|
3
|
-
/[if IE 7 ] <html class="ie ie7" lang="en">
|
4
|
-
/[if IE 8 ] <html class="ie ie8" lang="en">
|
5
|
-
/[if IE 9 ] <html class="ie ie9" lang="en">
|
6
|
-
%html{lang: "fi"}
|
7
|
-
%head
|
8
|
-
%meta{charset: "utf-8"}/
|
9
|
-
%title Auringosta Itään, Kuusta Länteen
|
10
|
-
%meta{content: "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}
|
11
|
-
%meta{content: "width=device-width, initial-scale=1.0, maximum-scale=1", name: "viewport"}
|
12
|
-
%meta{content: "Sisustus, Lifestyle, luomukosmetiikka , luonnonkosmetiikka , farfalla", name: "keywords"}
|
13
|
-
= stylesheet_link_tag "shop"
|
14
|
-
= javascript_include_tag "shop"
|
15
|
-
= csrf_meta_tags
|
16
|
-
%body
|
17
|
-
.container-fluid
|
18
|
-
%header
|
19
|
-
.row
|
20
|
-
%nav.navbar.navbar-inverse.navbar-fixed-top{:role => "navigation"}
|
21
|
-
.navbar-inner
|
22
|
-
.row
|
23
|
-
.col-md-6
|
24
|
-
%img{:src => "/assets/shop/spacer.gif"}/
|
25
|
-
|
26
|
-
.col-md-6
|
27
|
-
%ul.nav.navbar-nav.navbar-right
|
28
|
-
%li.dropdown
|
29
|
-
%a.dropdown-toggle{"data-toggle" => "dropdown", href: "#"}
|
30
|
-
Auringosta Itään, Kuusta Länteen
|
31
|
-
%b.caret
|
32
|
-
%ul.dropdown-menu
|
33
|
-
%li Liikkeemme
|
34
|
-
%li Toimitusehdot
|
35
|
-
|
36
|
-
%li#link-to-cart
|
37
|
-
%a{href: shop_checkout_path}
|
38
|
-
= t(:basket)
|
39
|
-
- if current_basket.items.count == 0
|
40
|
-
= t(:empty)
|
41
|
-
-else
|
42
|
-
= current_basket.items.count
|
43
|
-
= t(:items)
|
44
|
-
%li.dropdown
|
45
|
-
%a.dropdown-toggle{"data-toggle" => "dropdown", href: "#"}
|
46
|
-
= current_clerk ? current_clerk.email : "Login"
|
47
|
-
%b.caret
|
48
|
-
%ul.dropdown-menu
|
49
|
-
- if current_clerk
|
50
|
-
%li= link_to t(:sign_out), sign_out_path
|
51
|
-
- else
|
52
|
-
%li= link_to t(:sign_up), sign_up_path
|
53
|
-
%li= link_to t(:sign_in), sign_in_path
|
54
|
-
|
55
|
-
.row
|
56
|
-
.banner
|
57
|
-
\
|
58
|
-
|
59
|
-
.welcome
|
60
|
-
.row
|
61
|
-
.col-md-5.text-right
|
62
|
-
%img{:src => "/assets/shop/tervetuloa.gif"}/
|
63
|
-
.col-md-2
|
64
|
-
.col-md-5
|
65
|
-
%button.btn.btn-primary.btn-mega{:type => "button"} Siirry verkkokauppaan
|
66
|
-
|
67
|
-
|
68
|
-
- @groups.in_groups_of(3).each do |array|
|
69
|
-
.row
|
70
|
-
-array.each do |group|
|
71
|
-
.col-md-4
|
72
|
-
-next unless group
|
73
|
-
.group-wrapper
|
74
|
-
=link_to shop_group_path(group.link) do
|
75
|
-
= image_tag group.main_picture.url(:product) , :class => "img-responsive"
|
76
|
-
%h3= group.name
|
77
|
-
|
78
|
-
.row
|
79
|
-
.col-md-6
|
80
|
-
.footer
|
81
|
-
Suunnittelu ja toteutus Ruby Design
|
82
|
-
%br/
|
83
|
-
Powered by
|
84
|
-
%a{href: "http://rubyclerks.com/"} RubyClerks
|
85
|
-
.col-md-6
|
86
|
-
.footer.right
|
87
|
-
%b> AURINGOSTA ITÄÄN, KUUSTA LÄNTEEN
|
88
|
-
%br/
|
89
|
-
Fredrikinkatu 19 (Viiskulma), Helsinki
|
90
|
-
%br/
|
91
|
-
puh +358- (0)9- 621 7001 | Y-tunnus 2380478-1
|
92
|
-
%br/
|
93
|
-
%br/
|
94
|
-
|
95
|
-
|
96
|
-
:javascript
|
97
|
-
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
98
|
-
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
99
|
-
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
100
|
-
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
101
|
-
|
102
|
-
ga('create', 'UA-12603339-1', 'auringostaitaan.fi');
|
103
|
-
ga('send', 'pageview');
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# Add account credentials and API keys here.
|
2
|
-
# See http://railsapps.github.io/rails-environment-variables.html
|
3
|
-
# This file should be listed in .gitignore to keep your settings secret!
|
4
|
-
# Each entry sets a local environment variable and overrides ENV variables in the Unix shell.
|
5
|
-
# For example, setting:
|
6
|
-
# GMAIL_USERNAME: Your_Gmail_Clerkname
|
7
|
-
# makes 'Your_Gmail_Clerkname' available as ENV["GMAIL_USERNAME"]
|
8
|
-
|
9
|
-
# Add application configuration variables here, as shown below.
|
10
|
-
#
|
11
|
-
ADMIN_NAME: First Clerk
|
12
|
-
ADMIN_EMAIL: user@example.com
|
13
|
-
ADMIN_PASSWORD: changeme
|
data/config/application.rb
DELETED
@@ -1,59 +0,0 @@
|
|
1
|
-
require File.expand_path('../boot', __FILE__)
|
2
|
-
|
3
|
-
# Pick the frameworks you want:
|
4
|
-
require "active_record/railtie"
|
5
|
-
require "action_controller/railtie"
|
6
|
-
require "action_mailer/railtie"
|
7
|
-
require "sprockets/railtie"
|
8
|
-
# require "rails/test_unit/railtie"
|
9
|
-
|
10
|
-
# Require the gems listed in Gemfile, including any gems
|
11
|
-
# you've limited to :test, :development, or :production.
|
12
|
-
Bundler.require(:default, Rails.env)
|
13
|
-
|
14
|
-
module OfficeClerk
|
15
|
-
class Application < Rails::Application
|
16
|
-
config.autoload_paths += %W(#{config.root}/lib)
|
17
|
-
|
18
|
-
# don't generate RSpec tests for views and helpers
|
19
|
-
config.generators do |g|
|
20
|
-
|
21
|
-
g.test_framework :rspec, fixture: true
|
22
|
-
g.fixture_replacement :factory_girl, dir: 'spec/factories'
|
23
|
-
|
24
|
-
g.helper_specs false
|
25
|
-
end
|
26
|
-
config.exceptions_app = self.routes
|
27
|
-
|
28
|
-
I18n.enforce_available_locales = false
|
29
|
-
I18n.default_locale = :fi
|
30
|
-
config.after_initialize do
|
31
|
-
end
|
32
|
-
config.middleware.use Rack::Attack
|
33
|
-
config.paperclip_defaults = { :styles => {:thumb => '48x48>', :list => '150x150>', :product => '600x600>' },
|
34
|
-
:default_style => :list,
|
35
|
-
:url => "/images/:id/:style/:basename.:extension",
|
36
|
-
:default_url => "/images/missing/:style.png" }
|
37
|
-
|
38
|
-
# FOG example see more in paperclip docs {:storage => :fog, :fog_credentials => {:provider => "Local", :local_root => "#{Rails.root}/public"}, :fog_directory => "", :fog_host => "localhost"}
|
39
|
-
|
40
|
-
# Settings in config/environments/* take precedence over those specified here.
|
41
|
-
# Application configuration should go into files in config/initializers
|
42
|
-
# -- all .rb files in that directory are automatically loaded.
|
43
|
-
|
44
|
-
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
|
45
|
-
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
|
46
|
-
# config.time_zone = 'Central Time (US & Canada)'
|
47
|
-
|
48
|
-
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
49
|
-
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
50
|
-
# config.i18n.default_locale = :de
|
51
|
-
end
|
52
|
-
|
53
|
-
# Configuration is stored in locale/config.yml under the main key (ie "locale") config
|
54
|
-
# You can add to it, or redifine it, just like you do to locale data, by adding a locale file to your app
|
55
|
-
# with config locale and the keys you need
|
56
|
-
def self.config key
|
57
|
-
I18n.t(key , :locale => :config)
|
58
|
-
end
|
59
|
-
end
|
data/config/application.yml
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
# Add account credentials and API keys here.
|
2
|
-
# See http://railsapps.github.io/rails-environment-variables.html
|
3
|
-
# This file should be listed in .gitignore to keep your settings secret!
|
4
|
-
# Each entry sets a local environment variable and overrides ENV variables in the Unix shell.
|
5
|
-
# For example, setting:
|
6
|
-
# GMAIL_USERNAME: Your_Gmail_Clerkname
|
7
|
-
# makes 'Your_Gmail_Clerkname' available as ENV["GMAIL_USERNAME"]
|
8
|
-
|
9
|
-
# Add application configuration variables here, as shown below.
|
10
|
-
#
|
11
|
-
ADMIN_NAME: First Clerk
|
12
|
-
ADMIN_EMAIL: user@example.com
|
13
|
-
ADMIN_PASSWORD: changeme
|
@@ -1,32 +0,0 @@
|
|
1
|
-
# Block requests for php or cgi, jps and what else the people throw at us
|
2
|
-
Rack::Attack.blacklist('block admin probes') do |req|
|
3
|
-
# Request are blocked if the return value is truthy
|
4
|
-
["php" , "jsp" , "cgi", "asp", "cfm," "proxy.txt", "soapCaller", "Win32" , "HNAP1" , "w00tw00t",
|
5
|
-
"pma" , "mysql" ,"msd" , "MySQL" , "jmx-console" , "ervlet" , "install"].each do |no|
|
6
|
-
return true if req.path.index(no)
|
7
|
-
end
|
8
|
-
false
|
9
|
-
end
|
10
|
-
|
11
|
-
# Block requests from people clearly out to break servers
|
12
|
-
Rack::Attack.blacklist('block admin probes') do |req|
|
13
|
-
[ "79.143.82.69" , "85.76.99.50", "127.0.0.1"].include? req.ip
|
14
|
-
end
|
15
|
-
|
16
|
-
# Throttle requests to 5 requests per second per ip
|
17
|
-
Rack::Attack.throttle('req/ip', :limit => 5, :period => 1.second) do |req|
|
18
|
-
# If the return value is truthy, the cache key for the return value
|
19
|
-
# is incremented and compared with the limit. In this case:
|
20
|
-
# "rack::attack:#{Time.now.to_i/1.second}:req/ip:#{req.ip}"
|
21
|
-
#
|
22
|
-
# If falsy, the cache key is neither incremented nor checked.
|
23
|
-
|
24
|
-
req.ip
|
25
|
-
end
|
26
|
-
|
27
|
-
# Always allow requests from shop
|
28
|
-
# (blacklist & throttles are skipped)
|
29
|
-
Rack::Attack.whitelist('allow from localhost') do |req|
|
30
|
-
# Requests are allowed if the return value is truthy
|
31
|
-
[ "85.76.112.161" , "85.76.99.50", "127.0.0.1"].include? req.ip
|
32
|
-
end
|
data/lib/assets/.keep
DELETED
File without changes
|
data/lib/tasks/.keep
DELETED
File without changes
|
Binary file
|
Binary file
|
Binary file
|
data/spec/features/shop_spec.rb
DELETED
@@ -1,63 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe ShopController do
|
4
|
-
it "lists shows root" do
|
5
|
-
prod = create :shop_product
|
6
|
-
visit_path root_path
|
7
|
-
end
|
8
|
-
it "shows a product" do
|
9
|
-
prod = create :shop_product
|
10
|
-
visit_path shop_product_path(prod.link)
|
11
|
-
end
|
12
|
-
it "redirects for non product" do
|
13
|
-
prod = create :shop_product
|
14
|
-
visit shop_product_path("no_such_thing")
|
15
|
-
ensure_path shop_group_path("no_such_thing")
|
16
|
-
end
|
17
|
-
it "shows a group" do
|
18
|
-
prod = create :shop_product
|
19
|
-
visit_path shop_group_path(prod.category.link)
|
20
|
-
end
|
21
|
-
it "adds a product" do
|
22
|
-
prod = create :shop_product
|
23
|
-
visit_path shop_product_path(prod.link)
|
24
|
-
click_button "add-to-cart-button"
|
25
|
-
ensure_path shop_group_path(prod.category.link)
|
26
|
-
end
|
27
|
-
it "adds a product" do
|
28
|
-
prod = create :shop_product
|
29
|
-
visit_path shop_product_path(prod.link)
|
30
|
-
click_button "add-to-cart-button"
|
31
|
-
ensure_path shop_group_path(prod.category.link)
|
32
|
-
end
|
33
|
-
it "adds a product to checkout" do
|
34
|
-
prod = create :shop_product
|
35
|
-
visit_path shop_product_path(prod.link)
|
36
|
-
click_button "add-to-cart-button"
|
37
|
-
visit_path shop_checkout_path
|
38
|
-
end
|
39
|
-
it "fails checkout without email" do
|
40
|
-
prod = create :shop_product
|
41
|
-
visit_path shop_product_path(prod.link)
|
42
|
-
click_button "add-to-cart-button"
|
43
|
-
visit_path shop_checkout_path
|
44
|
-
click_button "make_order"
|
45
|
-
expect(page).to have_content("Error")
|
46
|
-
ensure_path shop_checkout_path
|
47
|
-
end
|
48
|
-
it "checks out with email" do
|
49
|
-
prod = create :shop_product
|
50
|
-
visit_path shop_product_path(prod.link)
|
51
|
-
click_button "add-to-cart-button"
|
52
|
-
visit_path shop_checkout_path
|
53
|
-
fill_in :order_email , :with => "some@valid.it"
|
54
|
-
click_button "make_order"
|
55
|
-
ensure_path shop_order_path(Order.last.id)
|
56
|
-
end
|
57
|
-
it "shows a page" do
|
58
|
-
visit_path shop_page_path :tuotteista
|
59
|
-
end
|
60
|
-
it "renders welcome page" do
|
61
|
-
visit_path shop_welcome_path
|
62
|
-
end
|
63
|
-
end
|