diff --git a/app/controllers/gardenSizes.js b/app/controllers/gardenSizes.js new file mode 100644 index 0000000..d7477f9 --- /dev/null +++ b/app/controllers/gardenSizes.js @@ -0,0 +1,30 @@ +const { currentRERequest } = require('../helpers/url'); + +const gardenSizes = [ + { name: "do 100 m2", id: "100m2" }, + { name: "do 500 m2", id: "500m2" }, + { name: "do 1 dunum", id: "1000m2" }, + { name: "do 2 dunuma", id: "2000m2" }, + { name: "do 3 dunuma", id: "3000m2" }, + { name: "preko 3 dunuma", id: "moreThan3000m2" } +]; + +const getGardenSize = (req,res) => { + const nextStep = req.query.nextStep; + res.render('gardenSize', { + nextStep, + gardenSizes + }); +}; + +const postGardenSize = async (req, res) => { + const request = await currentRERequest(req); + request.gardenSize = req.body.gardensize; + await request.save(); + res.send("Result is " + JSON.stringify(request)); +}; + +module.exports = { + getGardenSize, + postGardenSize +}; diff --git a/app/controllers/sizes.js b/app/controllers/sizes.js index 812c887..66a47bd 100644 --- a/app/controllers/sizes.js +++ b/app/controllers/sizes.js @@ -19,9 +19,10 @@ const getSize = (req,res) => { const postSize = async (req, res) => { const request = await currentRERequest(req); + const nextStep = req.query.nextStep || `/okucnica/${request.uniqueId}`; request.size = req.body.size; await request.save(); - res.send("Result is " + JSON.stringify(request)); + res.redirect(nextStep); }; module.exports = { diff --git a/app/migrations/20190517090015-add-gardenSize-to-real-estate-request.js b/app/migrations/20190517090015-add-gardenSize-to-real-estate-request.js new file mode 100644 index 0000000..e65f9d5 --- /dev/null +++ b/app/migrations/20190517090015-add-gardenSize-to-real-estate-request.js @@ -0,0 +1,21 @@ +'use strict'; + +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.addColumn( + 'RealEstateRequests', + 'gardenSize', + { + type: Sequelize.ENUM, + values: ['100m2', '500m2', '1000m2', '2000m2', '3000m2', 'moreThan3000m2'] + } + ); + }, + + down: (queryInterface, Sequelize) => { + return queryInterface.removeColumn( + 'RealEstateRequests', + 'gardenSize' + ); + } +}; diff --git a/app/models/realestaterequest.js b/app/models/realestaterequest.js index 2b1b584..0ecf69f 100644 --- a/app/models/realestaterequest.js +++ b/app/models/realestaterequest.js @@ -16,6 +16,10 @@ module.exports = (sequelize, DataTypes) => { size: { type: DataTypes.ENUM, values: ['50m2', '70m2', '100m2', '150m2', '200m2', 'moreThan200m2'] + }, + gardenSize: { + type: DataTypes.ENUM, + values: ['100m2', '500m2', '1000m2', '2000m2', '3000m2', 'moreThan3000m2'] } }, {}); RealEstateRequest.associate = function(models) { diff --git a/app/views/gardenSize.ejs b/app/views/gardenSize.ejs new file mode 100644 index 0000000..7404bd2 --- /dev/null +++ b/app/views/gardenSize.ejs @@ -0,0 +1,32 @@ + +
+

Koliko okućnice tražite ?

+
+ +
+
+ + +
+
+ + + diff --git a/index.js b/index.js index 3c92929..d3aead6 100644 --- a/index.js +++ b/index.js @@ -3,6 +3,7 @@ const { getRealEstateTypes, postRealEstateTypes} = require('./app/controllers/re const { getRegion, postRegion } = require('./app/controllers/regions'); const { getMunicipality, postMunicipality } = require('./app/controllers/municipalities'); const { getSize, postSize } = require('./app/controllers/sizes'); +const { getGardenSize, postGardenSize } = require('./app/controllers/gardenSizes'); let express = require("express"); const path = require("path"); @@ -125,6 +126,9 @@ app.post('/mjesto/:request_id', postMunicipality); app.get('/povrsina/:request_id', getSize); app.post('/povrsina/:request_id', postSize); +app.get('/okucnica/:request_id', getGardenSize); +app.post('/okucnica/:request_id', postGardenSize); + app.use('/assets', express.static('./app/public'));