diff --git a/.DS_Store b/.DS_Store index e6781fa..a71d250 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/back-office/app/models/delivery_destination.rb b/back-office/app/models/delivery_destination.rb index 01ebde4..ecb39d0 100644 --- a/back-office/app/models/delivery_destination.rb +++ b/back-office/app/models/delivery_destination.rb @@ -1,2 +1,2 @@ -class DeliveryDestination < ActiveRecord::Base +class DeliveryDestination < ActiveRecord::Base end diff --git a/front-api/db/migrate/20150222053732_add_user_to_delivery_destination.rb b/front-api/db/migrate/20150222053732_add_user_to_delivery_destination.rb new file mode 100644 index 0000000..a8cf194 --- /dev/null +++ b/front-api/db/migrate/20150222053732_add_user_to_delivery_destination.rb @@ -0,0 +1,6 @@ +class AddUserToDeliveryDestination < ActiveRecord::Migration + def change + add_column :delivery_destinations, :user_id, :integer + add_column :delivery_destinations, :anonymous_id_string, :string + end +end diff --git a/front-api/db/migrate/20150222055517_add_address_to_cart.rb b/front-api/db/migrate/20150222055517_add_address_to_cart.rb new file mode 100644 index 0000000..0157306 --- /dev/null +++ b/front-api/db/migrate/20150222055517_add_address_to_cart.rb @@ -0,0 +1,5 @@ +class AddAddressToCart < ActiveRecord::Migration + def change + add_column :carts, :delivery_destination_id, :integer + end +end diff --git a/front-api/db/schema.rb b/front-api/db/schema.rb index 29c6457..317216c 100644 --- a/front-api/db/schema.rb +++ b/front-api/db/schema.rb @@ -11,18 +11,18 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20150220062314) do - +ActiveRecord::Schema.define(version: 20150222055517) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" create_table "carts", force: :cascade do |t| t.integer "user_id" - t.boolean "ordered", default: false - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.boolean "ordered", default: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false t.string "anonymous_id_string" + t.integer "delivery_destination_id" end create_table "categories", force: :cascade do |t| @@ -45,6 +45,8 @@ ActiveRecord::Schema.define(version: 20150220062314) do t.string "email_verification_code" t.datetime "created_at", null: false t.datetime "updated_at", null: false + t.integer "user_id" + t.string "anonymous_id_string" end create_table "filter_criteria", force: :cascade do |t| @@ -103,8 +105,10 @@ ActiveRecord::Schema.define(version: 20150220062314) do end create_table "sub_categories", force: :cascade do |t| - t.string "name" - t.integer "category_id" + t.string "name" + t.integer "category_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false end create_table "units", force: :cascade do |t| diff --git a/front-api/tools/places.txt b/front-api/tools/places.txt new file mode 100644 index 0000000..697366c --- /dev/null +++ b/front-api/tools/places.txt @@ -0,0 +1,509 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/front-api/tools/prepare_postal_codes.rb b/front-api/tools/prepare_postal_codes.rb new file mode 100644 index 0000000..4807024 --- /dev/null +++ b/front-api/tools/prepare_postal_codes.rb @@ -0,0 +1,522 @@ +places_bulk = %Q{Aleksandrovac 78255 +Avtovac 89245 +Balatun 76310 +Banja Luka 78000 +Banovici 75290 +Batkovic 76312 +Begov Han 72233 +Berkovici 88363 +Bihac 77000 +Bijela 76204 +Bijeljina 76300 +Bijelo Brdo 73263 +Bileca 89230 +Biljesevo 72248 +Bjelimici 88407 +Blagaj 88201 +Blatnica 74275 +Blatnica Kod Mostara 88263 +Blazuj 71215 +Bok 76277 +Boljanic 74322 +Bosanska Krupa 77240 +Bosanski Petrovac 77250 +Bosansko Grahovo 80270 +Bradina 88408 +Bratunac 75420 +Brcko 76000 +Brcko Distrikt 76100 +Brekovica 77205 +Brestovo 74210 +Brestovsko 71255 +Breza 71370 +Brezicani 79208 +Brezik 76109 +Brezovo Polje 76216 +Brijesnica 74206 +Brijesnica Kod Doboja 74206 +Brijesnica Mala 74206 +Brijesnica Velika 74206 +Brka 76206 +Brnjic 72243 +Brocanac 88243 +Brocanac 88243 +Brod Kod Foce 73309 +Brodac 76313 +Bronzani Majdan 78204 +Bucici 72290 +Bugojno 70230 +Bukinje 75203 +Buletic 74277 +Buna 88202 +Busovaca 72260 +Buturovicpolje 88409 +Buzim 77245 +Cajnice 73280 +Caparde 75405 +Capljina 88300 +Cardak 72224 +Careva Cuprija 71347 +Catici 72246 +Cazin 77220 +Cecava 74274 +Celebici 88404 +Celebici Lusnic 80203 +Celebici Kod Foce 73307 +Celic 75246 +Celinac 78240 +Cemerno 89243 +Cerin 88265 +Cerovica 74211 +Cerovljani 78403 +Citluk 88260 +Coralici 77226 +Crkvina 76239 +Crnici 88367 +Crnjelovo 76328 +Dejcici 71221 +Demirovac 79243 +Derventa 74400 +Derventa Kod Vlasenice 75444 +Divin 89233 +Doboj 74000 +Doboj Istok 74206 +Doboj Jug 74203 +Doborovci 75328 +Dobosnica 75308 +Dobretici 77210 +Dobrinja 71245 +Dobrljin 79223 +Dobro Selo 77242 +Dobrun 73247 +Dokanj 75206 +Dolac Na Lasvi 72278 +Domaljevac 76233 +Domanovici 88305 +Donja Mahala 76274 +Donja Medjidja 76257 +Donja Slatina 76327 +Donje Mostre 71305 +Donji Agici 79228 +Donji Memici 88343 +Donji Vakuf 70220 +Donji Vijacani 78432 +Donji Vrbljani 79289 +Donji Zabar 76273 +Dragaljevac 76323 +Dragalovci 74209 +Dragocaj 78215 +Dreznica 88215 +Drinjaca 75410 +Drinovci 88344 +Drvar 80260 +Duboki Potok 75358 +Dubostica 75308 +Dubrave 78411 +Dubrave Donje 75274 +Dubrave Gornje 75273 +Dubrovik 79227 +Dugo Polje 74483 +Djurdjevik 75272 +Dusanovo 75445 +Duzice 88342 +Dvorovi 76311 +Fajtovci 79264 +Foca 73300 +Fojnica 71270 +Fojnica Kod Gacka 89247 +Gabela Polje 88306 +Gacko 89240 +Glamoc 80230 +Glavicice 76318 +Globarica 72230 +Gojevici 71275 +Gorazde 73000 +Gorica 88340 +Gornja Koprivna 77222 +Gornja Slatina 76238 +Gornja Tuzla 75208 +Gornji Kamengrad 79266 +Gornji Podgradci 78405 +Gornji Rahic 76207 +Gornji Strpci 78439 +Gornji Teslic 74272 +Gornji Vakuf Uskoplje 70240 +Gornji Zovik 76207 +Grab 89201 +Grabovica 78227 +Gracanica 75320 +Gracanica Kod Bugojna 70233 +Gracanica Selo 75276 +Gradac 88392 +Gradacac 76250 +Gradiska 78400 +Grude 88340 +Guber 80205 +Listani 80204 +Guca Gora 72277 +Hadzici 71240 +Hajdarevici 72225 +Haljinici 72245 +Han Bila 72281 +Han Pijesak 71360 +Hrasnica 71212 +Hrasno 88395 +Hresa 71144 +Hrvacani 78436 +Husino 75216 +Hutovo 88394 +Ilidza 71210 +Ilijas 71380 +Ilovaca 73208 +Imljani 78234 +Izacic 77208 +Jablanica 88420 +Jahorina 71423 +Jajce 70101 +Janja 76316 +Janjici 72215 +Jare 88224 +Javorani 78233 +Jelah 74264 +Jezerski 77241 +Johova 79244 +Josanica 73319 +Josavka 78244 +Kacuni 72264 +Kakanj 72240 +Kalenderovci 74413 +Kalesija 75260 +Kalinovik 71230 +Kamenica 77204 +Kaonik 72265 +Kasindo 71213 +Kazaginac 80246 +Kifino Selo 88283 +Kiseljak 71250 +Kiseljak, Kod Tuzle 75211 +Kladanj 75280 +Klakar Donji 74452 +Kljuc 79280 +Klobuk 88324 +Klokotnica 74207 +Knezevo 78230 +Skender Vakuf 78230 +Knezica 79246 +Knezina 71356 +Kobas 78423 +Kocerin 88226 +Kocicevo 78409 +Kola 78207 +Kongora 80244 +Konjic 88400 +Konjoder 77249 +Koprivna 74489 +Koraj 75247 +Kornica 76236 +Kosova 74253 +Kostric 76276 +Kotor Varos 78220 +Kotorsko 74215 +Kovaci 72226 +Kozarac 79002 +Bosanska Dubica 79240 +Kozluk 75413 +Kraljeva Sutjeska 72244 +Kresevo 71260 +Kriskovci 78256 +Krupa Na Vrbasu 78206 +Krusevo 88203 +Kukulje 78424 +Kula 71216 +Kulasi 78443 +Kulen Vakuf 77206 +Kupres 80320 +Laktasi 78250 +Laminci Sredjani 78407 +Lamovita 79204 +Lastva 89208 +Lasva 72216 +Liplje 78222 +Lipnica 75213 +Lisnja 78434 +Livno 80101 +Ljubace 75214 +Ljubija 79206 +Ljubinje 88380 +Ljubomir 89209 +Ljubuski 88320 +Ljuti Dolac 88223 +Loncari 76278 +Lopare 75240 +Lukavac 75300 +Lukavac Mjesto 75301 +Lukavica 75327 +Lusci Palanka 79267 +Maglaj 74250 +Majevac 74216 +Mala Kladusa 77235 +Mala Socanica 74418 +Malesici 75320 +Maoca 76208 +Masici 78410 +Maslovare 78223 +Matici 76271 +Matuzici 74203 +Medjugorje 88266 +Medjuvodje 79247 +Mehurici 72282 +Mesihovina 80243 +Milici 75446 +Miljeno 73283 +Miljevina 73313 +Milosevac 74485 +Miricina 75329 +Modrica 74480 +Mokro 71428 +Mosko 89204 +Mostar 88000 +Mostar, Jug 88000 +Mostar, Jugozapad 88000 +Mostar, Sjever 88000 +Mostar, Zapad 88000 +Mramor 75212 +Mravinjac 73206 +Mrkodol 79544 +Mrkonjic Grad 70260 +Nemila 72212 +Neum 88390 +Nevesinje 88280 +Nova Bila 72276 +Nova Topola 78418 +Bosanski Novi 79220 +Novi Seher 74254 +Novi Travnik 72290 +Nozicko 78428 +Oborci 70225 +Obudovac 76235 +Odzak 76290 +Vukosavlje 74470 +Odzak Kod Nevesinja 88285 +Olovo 71340 +Omarska 79203 +Orahova 78406 +Orahovica Donja 75323 +Orasje 76270 +Osinja 74412 +Osjecani 74225 +Osmaci 75406 +Ostra Luka 79263 +Ostrozac 88423 +Ostrozac Kod Cazina 77228 +Otoka 77244 +Ozimica 72238 +Palackovci 78437 +Pale 71420 +Papraca 75435 +Pazaric 71243 +Pecigrad 77227 +Pelagicevo 76256 +Perin Han 72112 +Petrovo 74317 +Pilica 75412 +Piskavica 78217 +Pocitelj 88305 +Poculica 72252 +Podgrab 71425 +Podhum 80209 +Podlugovi 71387 +Podnovlje 74217 +Podorasje Kod Srebrenika 75355 +Podzvizd 77232 +Poljice 75303 +Popovi 75320 +Posusje 88240 +Potkozarje 78216 +Potocani 78435 +Potoci 88208 +Praca 73290 +Prelovo 73245 +Previja 79287 +Pribinic 74276 +Priboj Kod Lopara 75249 +Prijedor 79101 +Priluka 80202 +Prisoje 80245 +Prnjavor 78430 +Prolog 80206 +Prozor 88440 +Prusac 70223 +Przici 71335 +Puhovac 72207 +Puracic 75305 +Radisici 88325 +Rainci Gornji 75268 +Rakitno 88245 +Rakovica 71217 +Rasko Polje 80247 +Razboj Lijevce 78429 +Razljevo 76218 +Ribnik 79288 +Ripac 77215 +Rogatica 73220 +Rudice 79226 +Rudo 73260 +Ruzici 88347 +Bosanski Samac 76230 +Sanica Gornja 79285 +Sanski Most 79260 +Sapna 75411 +Saracica 78202 +Sarajevo 71000 +Sarajevo, Centar 71103 +Sarajevo, Novi Grad 71160 +Sarajevo, Novo Sarajevo 71120 +Sarajevo, Stari Grad 71140 +Satorovici 76209 +Sekovici 73305 +Sekovici 75450 +Semizovac 71321 +Seonjaci 76205 +Serici 75275 +Sibosnica 75245 +Sibovska 78433 +Simin Han 75207 +Sipovo 78364 +Siprage 78224 +Siroki Brijeg 88220 +Sitnesi 78422 +Sitnica 79283 +Skelani 75436 +Skugric 74261 +Sladna 75353 +Slatina Ilidza 78253 +Smrtici 78438 +Snjegotina Gornja 74279 +Sockovac 74323 +Sokolac 71350 +Sokolovici 71210 +Sovici 88345 +Spionica 75356 +Srbac 78420 +Srebrenica 75430 +Srebrenik 75350 +Srednje 71385 +Sreflije 79249 +Srnice 76258 +Bosanska Kostajnica 79224 +Bosanski Brod 74450 +Srpsko Gorazde 73110 +Srpsko Orasje 76278 +Srpsko Sarajevo 71123 +Stanari 74208 +Stara Dubrava 78243 +Stari Majdan 79268 +Stijena 77224 +Stjenice 73223 +Stjepan Polje 75324 +Stolac 88360 +Stranjani 72209 +Stricici 78208 +Strpci 75305 +Studenci 88323 +Stupari 75283 +Sturlic 77223 +Suho Polje 75344 +Sujica 80249 +Svodna 79229 +Tarcin 71244 +Teocak 75414 +Tesanj 74260 +Tesanjka 74266 +Teslic 74270 +Tihaljina 88348 +Tinja 75357 +Tisca 75455 +Todorovo 77233 +Tojsici 75265 +Tolisa 76272 +Tomina 79265 +Tomislavgrad 80240 +Topcic Polje 72213 +Travnik 72270 +Trebinja 88375 +Trebinje 89000 +Trn 78252 +Trnava Donja 76335 +Trnjaci 76310 +Trnovo 71220 +Trzacka Rastela 77225 +Turbe 72283 +Turija 75306 +Turjak Kod Bosanske Gradiske 78404 +Tuzla 75000 +Ugljevik 76330 +Ugodnovici 74278 +Ulog 71233 +Usora 74230 +Ustikolina 73250 +Uvac 73265 +Vardiste 73249 +Vares 71330 +Varoska Rijeka 77245 +Velika Bukovica 74213 +Velika Gata 77207 +Velika Kladusa 77230 +Velika Obarska 76329 +Vidosi 88208 +Vidovice 76275 +Vinac 70202 +Vir Kod Posusja 88247 +Visegrad 73240 +Visici 88307 +Visoko 71300 +Vitez 72250 +Vitina 88326 +Vitkovci Donji 74265 +Vitkovici 73205 +Vlasenica 75440 +Vogosca 71320 +Vojkovici 71123 +Voljevac 70246 +Vozuca 72227 +Vranjak 74488 +Vrapcici 88113 +Vrazici 75248 +Vrbanja Kod Banja Luke 78211 +Vrbanjci 78225 +Vrbaska 78408 +Vrnograc 77231 +Vrsani 76325 +Vrsta 77203 +Vuckovci 76254 +Vukosavlje 74470 +Zabar Donji 76273 +Zaborak 73287 +Zabrdje 72220 +Zabrdje 76333 +Zabrdje Kod Kotor Varosi 78221 +Zaluzani 78214 +Zavidovici 72220 +Zboriste 74451 +Zelinja 76259 +Zeljezno Polje 72236 +Zenica 72000 +Zepce 72230 +Zitomislici 88268 +Zivinice 75270 +Zupca 71370 +Zvornik 75400} + +separator = /(.*)\s(\d{5})/ +places = places_bulk.split("\n") +places_prepared = places.map &-> (p) { + matches = separator.match(p) + place = matches[1] + postal_code = matches[2] + %Q{ } +} +puts places_prepared.join("\n") + + + diff --git a/front-ui/Gruntfile.js b/front-ui/Gruntfile.js index 932e746..a0b4af9 100644 --- a/front-ui/Gruntfile.js +++ b/front-ui/Gruntfile.js @@ -15,15 +15,24 @@ module.exports = function(grunt) { } }, - watch: { - files: ['build/ribica.bundle.js', 'app/css/*.css'], - tasks: ['config-dev', 'concat:css', 'concat:js'] + watch: { + files: ['build/ribica.bundle.js', 'app/css/*.css'], + tasks: ['config-dev', 'concat:css', 'concat:js'] }, connect: { server: { options: { port: 3001, - base: 'build' + base: 'build', + middleware: function(connect, options) { + return [ + function(req, res) { + var filename = 'build/' + req.url; + if ((filename === 'build//') || !grunt.file.exists(filename)) filename = 'build/index.html'; + res.end(grunt.file.read(filename)); + } + ]; + }, } } }, @@ -35,39 +44,42 @@ module.exports = function(grunt) { } }, config: { - dev: { - options: { - variables: { - apiEndpoint: 'http://localhost:4567' - } - } - }, - prod: { - options: { - variables: { - apiEndpoint: '/api' - } - } - } + dev: { + options: { + variables: { + apiEndpoint: 'http://localhost:4567' + } + } + }, + prod: { + options: { + variables: { + apiEndpoint: '/api' + } + } + } }, replace: { - dist: { - options: { - variables: { - 'apiEndpoint': '<%= grunt.config.get("apiEndpoint") %>' + dist: { + options: { + variables: { + 'apiEndpoint': '<%= grunt.config.get("apiEndpoint") %>' + }, + force: true + }, + files: [{ + expand: true, + flatten: true, + src: ['build/ribica.bundle.js'], + dest: 'build/' + }] + } }, - force: true - }, - files: [ - {expand: true, flatten: true, src: ['build/ribica.bundle.js'], dest: 'build/'} - ] - } -}, concat: { css: { src: [ - 'node_modules/bootstrap/dist/css/bootstrap.min.css', - 'app/css/*.css' + 'node_modules/bootstrap/dist/css/bootstrap.min.css', + 'app/css/*.css' ], dest: 'build/ribica.css' @@ -87,12 +99,12 @@ module.exports = function(grunt) { grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-config'); grunt.loadNpmTasks('grunt-replace'); - + grunt.registerTask('default', []); grunt.registerTask('config-dev', ['config:dev', 'replace']); grunt.registerTask('config-prod', ['config:prod', 'replace']); - grunt.registerTask('dev', ['browserify', 'config-dev','concat:css', 'concat:js', 'connect:server:keepalive']); + grunt.registerTask('dev', ['browserify', 'config-dev', 'concat:css', 'concat:js', 'connect:server:keepalive']); grunt.registerTask('build', ['browserify', 'config-prod', 'concat:css', 'concat:js']); -}; +}; \ No newline at end of file diff --git a/front-ui/app/actions/cartActions.js b/front-ui/app/actions/cartActions.js index 8a16fd3..e2998fe 100644 --- a/front-ui/app/actions/cartActions.js +++ b/front-ui/app/actions/cartActions.js @@ -27,14 +27,22 @@ var CartActions = { dataLoaded: function() { AppDispatcher.handleAction({ actionType: CartConstants.CART_DATA_LOADED - }); + }); }, saveCartStateForItem: function(itemId) { AppDispatcher.handleAction({ actionType: CartConstants.SAVE_CART_STATE_FOR_ITEM, itemId: itemId - }); + }); + }, + + changeDeliveryDestinationProperty: function(property, value) { + AppDispatcher.handleAction({ + actionType: CartConstants.CHANGE_DELIVERY_DESTINATION_PROPERTY, + property: property, + value: value + }); } }; diff --git a/front-ui/app/components/cart/checkoutPage.js b/front-ui/app/components/cart/checkoutPage.js index 6d08232..d5924c2 100644 --- a/front-ui/app/components/cart/checkoutPage.js +++ b/front-ui/app/components/cart/checkoutPage.js @@ -17,87 +17,572 @@ var CheckoutPage = React.createClass({ return ( -
-
-
- - -Dostava - - -
- -
- - ime osobe koja prima pošiljku -
-
- - -
- -
- - adresa na koju će roba biti isporučena -
-
- - -
- -
- -
-
- - -
- -
-
- 06 - -
-

broj mobitela - mora biti sa jedne od mreža u BiH

-
-
- - -
- -
- - E - mail adresa na koju će vam biti poslano obavještenje o narudžbi -
-
- - -
- -
- -
-
- -
- -
- -
-
- -
-
- - +
+
+
+ Dostava +
+ +
+ + ime osobe koja prima pošiljku
+
+
+ +
+ + adresa na koju će roba biti isporučena +
+
+
+ +
+ +
+
+
+ +
+
+ 06 + +
+

broj mobitela - mora biti sa jedne od mreža u BiH

+
+
+
+ +
+ + E - mail adresa na koju će vam biti poslano obavještenje o narudžbi +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
); }, @@ -118,8 +603,8 @@ var CheckoutPage = React.createClass({ } }, - _onOrderClick: function () { - //NavigationActions.goToCheckout(); + _onFieldChange: function (event) { + CartActions.changeDeliveryDestinationProperty(event.target.name, event.target.value); }, getInitialState: function () { diff --git a/front-ui/app/components/rootApp.js b/front-ui/app/components/rootApp.js index 1b2d7de..4f3c0f4 100644 --- a/front-ui/app/components/rootApp.js +++ b/front-ui/app/components/rootApp.js @@ -11,25 +11,22 @@ var RootApp = React.createClass({ render: function() { return ( -
- -
-

ribica.ba

-
- +
+

ribica.ba

+
+ +
-
-
- -
-
- - - -
+
+ +
+
+ +
+
); diff --git a/front-ui/app/constants/cartConstants.js b/front-ui/app/constants/cartConstants.js index da84ee5..5f8414d 100644 --- a/front-ui/app/constants/cartConstants.js +++ b/front-ui/app/constants/cartConstants.js @@ -8,5 +8,6 @@ module.exports = keyMirror({ // and not just decrease count by 1 TAKE_ITEM_OUT: null , CART_DATA_LOADED: null, - SAVE_CART_STATE_FOR_ITEM: null + SAVE_CART_STATE_FOR_ITEM: null, + CHANGE_DELIVERY_DESTINATION_PROPERTY: null }); diff --git a/front-ui/app/css/main.css b/front-ui/app/css/main.css index 812108e..e3d7afc 100644 --- a/front-ui/app/css/main.css +++ b/front-ui/app/css/main.css @@ -1,5 +1,5 @@ body { - background-image: url(http://diapers.q-assets.com/images/body_bg.gif?ReleaseVersion=201512217123); + background-image: url(https://res.cloudinary.com/lfvt7ps2n/image/upload/v1424608718/http_diapers.q-assets.com_images_body_bg_towkjs.gif); font-family: Arial, Helvetica, sans-serif; font-size: 12px; } diff --git a/front-ui/app/models/deliveryDestination.js b/front-ui/app/models/deliveryDestination.js new file mode 100644 index 0000000..52712d2 --- /dev/null +++ b/front-ui/app/models/deliveryDestination.js @@ -0,0 +1,22 @@ +var Backbone = require('backbone'); +var Globals = require('../globals'); + +var DeliveryDestination = Backbone.Model.extend({ + + initialize: function() { + $.ajaxPrefilter( + function(options, originalOptions, jqXHR) { + options.xhrFields = { + withCredentials: true + } + } + ); + }, + + url: Globals.ApiUrl + '/cart/delivery_destination', + defaults: { + count: 0 + } +}); + +module.exports = DeliveryDestination; \ No newline at end of file diff --git a/front-ui/app/stores/cartStore.js b/front-ui/app/stores/cartStore.js index af2ca2f..25559f2 100644 --- a/front-ui/app/stores/cartStore.js +++ b/front-ui/app/stores/cartStore.js @@ -5,6 +5,7 @@ var CartActions = require('../actions/cartActions'); var ItemInCart = require('../models/itemInCart'); var ItemInCartCollection = require('../models/itemInCartCollection'); var ItemCollection = require('../models/itemCollection'); +var DeliveryDestination = require('../models/deliveryDestination'); var _ = require('underscore'); @@ -13,6 +14,7 @@ var states = {} var _itemsInCart = new ItemInCartCollection(); var _itemsForDisplay = new ItemCollection(); _itemsForDisplay.setFromCart(true); +var _deliveryDestination = new DeliveryDestination(); var loadCart = function() { @@ -66,11 +68,11 @@ var saveCartStateForItem = function(itemId) { CartActions.dataLoaded(); } }); -} -/* -var syncCountsWithDetails = function() { - for(i in ) -}*/ +}; + +var changeDeliveryDestinationProperty = function (property, value) { + _deliveryDestination.set(property, value); +}; @@ -103,7 +105,8 @@ var CartStore = _.extend({}, EventEmitter.prototype, { var state = { count: numberOfItems, items: _itemsForDisplay, - itemCounts: states + itemCounts: states, + deliveryDestination: _deliveryDestination }; return state; }, @@ -151,6 +154,8 @@ AppDispatcher.register(function(payload) { case CartConstants.SAVE_CART_STATE_FOR_ITEM: // saveCartStateForItem(action.itemId); break; + case CartConstants.CHANGE_DELIVERY_DESTINATION_PROPERTY: + changeDeliveryDestinationProperty(action.propety, action.value) default: return true; }