diff --git a/app/controllers/municipalities.js b/app/controllers/municipalities.js index 46fb233..e471cfa 100644 --- a/app/controllers/municipalities.js +++ b/app/controllers/municipalities.js @@ -1,4 +1,4 @@ -const { currentRERequest } = require('../helpers/url'); +const { currentRERequest } = require('../helpers/url'); const { getMunicipalitiesForRegion } = require('../helpers/codes'); const getMunicipality = async (req,res) => { @@ -12,10 +12,11 @@ const getMunicipality = async (req,res) => { }; const postMunicipality = async (req, res) => { - let request = await currentRERequest(req); + const request = await currentRERequest(req); + const nextStep = req.query.nextStep || `/povrsina/${request.uniqueId}`; request.municipality = req.body.municipality; await request.save(); - res.send("Result is " + JSON.stringify(request)); + res.redirect(nextStep); }; module.exports = { diff --git a/app/controllers/sizes.js b/app/controllers/sizes.js new file mode 100644 index 0000000..812c887 --- /dev/null +++ b/app/controllers/sizes.js @@ -0,0 +1,30 @@ +const { currentRERequest } = require('../helpers/url'); + +const sizes = [ + { name: "do 50 m2", id: "50m2" }, + { name: "do 75 m2", id: "70m2" }, + { name: "do 100 m2", id: "100m2" }, + { name: "do 150 m2", id: "150m2" }, + { name: "do 200 m2", id: "200m2" }, + { name: "preko 200 m2", id: "moreThan200m2" } +]; + +const getSize = (req,res) => { + const nextStep = req.query.nextStep; + res.render('size', { + nextStep, + sizes + }); +}; + +const postSize = async (req, res) => { + const request = await currentRERequest(req); + request.size = req.body.size; + await request.save(); + res.send("Result is " + JSON.stringify(request)); +}; + +module.exports = { + getSize, + postSize +}; diff --git a/app/migrations/20190517072957-add-size-to-real-estate-request.js b/app/migrations/20190517072957-add-size-to-real-estate-request.js new file mode 100644 index 0000000..695879a --- /dev/null +++ b/app/migrations/20190517072957-add-size-to-real-estate-request.js @@ -0,0 +1,21 @@ +'use strict'; + +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.addColumn( + 'RealEstateRequests', + 'size', + { + type: Sequelize.ENUM, + values: ['50m2', '70m2', '100m2', '150m2', '200m2', 'moreThan200m2'] + } + ); + }, + + down: (queryInterface, Sequelize) => { + return queryInterface.removeColumn( + 'RealEstateRequests', + 'size' + ); + } +}; diff --git a/app/models/realestaterequest.js b/app/models/realestaterequest.js index 7162aee..2b1b584 100644 --- a/app/models/realestaterequest.js +++ b/app/models/realestaterequest.js @@ -13,6 +13,10 @@ module.exports = (sequelize, DataTypes) => { email: DataTypes.STRING, region: DataTypes.STRING, municipality: DataTypes.STRING, + size: { + type: DataTypes.ENUM, + values: ['50m2', '70m2', '100m2', '150m2', '200m2', 'moreThan200m2'] + } }, {}); RealEstateRequest.associate = function(models) { // associations can be defined here diff --git a/app/views/size.ejs b/app/views/size.ejs new file mode 100644 index 0000000..3b6c4fc --- /dev/null +++ b/app/views/size.ejs @@ -0,0 +1,32 @@ + +