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/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/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 (
-
-
-
-
+
+
+
);
},
@@ -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/stores/cartStore.js b/front-ui/app/stores/cartStore.js
index 4710e3b..25559f2 100644
--- a/front-ui/app/stores/cartStore.js
+++ b/front-ui/app/stores/cartStore.js
@@ -68,11 +68,11 @@ var saveCartStateForItem = function(itemId) {
CartActions.dataLoaded();
}
});
-}
-/*
-var syncCountsWithDetails = function() {
- for(i in )
-}*/
+};
+
+var changeDeliveryDestinationProperty = function (property, value) {
+ _deliveryDestination.set(property, value);
+};
@@ -154,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;
}