skip to query review directly when editing data

This commit is contained in:
Bilal Catic
2019-05-21 15:25:28 +02:00
parent 126da48852
commit aa3c965d5c
7 changed files with 74 additions and 57 deletions

View File

@@ -2,19 +2,19 @@ const { currentRERequest } = require('../helpers/url');
const { gardenSizes } = require('../helpers/enums'); const { gardenSizes } = require('../helpers/enums');
const getGardenSize = (req,res) => { const getGardenSize = (req,res) => {
const nextStep = req.query.nextStep; res.render('gardenSize', { gardenSizes });
res.render('gardenSize', {
nextStep,
gardenSizes
});
}; };
const postGardenSize = async (req, res) => { const postGardenSize = async (req, res) => {
const request = await currentRERequest(req); const request = await currentRERequest(req);
const nextStep = req.query.nextStep || `/cijena/${request.uniqueId}`;
const nextStepPage = req.query.nextStep || 'cijena';
const nextStepUrl = `/${nextStepPage}/${request.uniqueId}`;
request.gardenSize = req.body.gardensize; request.gardenSize = req.body.gardensize;
await request.save(); await request.save();
res.redirect(nextStep);
res.redirect(nextStepUrl);
}; };
module.exports = { module.exports = {

View File

@@ -4,19 +4,20 @@ const { getMunicipalitiesForRegion } = require('../helpers/codes');
const getMunicipality = async (req,res) => { const getMunicipality = async (req,res) => {
let request = await currentRERequest(req); let request = await currentRERequest(req);
const municipalities = getMunicipalitiesForRegion(request.region); const municipalities = getMunicipalitiesForRegion(request.region);
const nextStep = req.query.nextStep || '/';
res.render('municipality', { res.render('municipality', { municipalities });
nextStep,
municipalities
});
}; };
const postMunicipality = async (req, res) => { const postMunicipality = async (req, res) => {
const request = await currentRERequest(req); const request = await currentRERequest(req);
const nextStep = req.query.nextStep || `/povrsina/${request.uniqueId}`;
const nextStepPage = req.query.nextStep || 'povrsina';
const nextStepUrl = `/${nextStepPage}/${request.uniqueId}`;
request.municipality = req.body.municipality; request.municipality = req.body.municipality;
await request.save(); await request.save();
res.redirect(nextStep);
res.redirect(nextStepUrl);
}; };
module.exports = { module.exports = {

View File

@@ -2,19 +2,19 @@ const { currentRERequest } = require('../helpers/url');
const { prices } = require('../helpers/enums'); const { prices } = require('../helpers/enums');
const getPrice = (req,res) => { const getPrice = (req,res) => {
const nextStep = req.query.nextStep; res.render('price', { prices });
res.render('price', {
nextStep,
prices
});
}; };
const postPrice = async (req, res) => { const postPrice = async (req, res) => {
const request = await currentRERequest(req); const request = await currentRERequest(req);
const nextStep = req.query.nextStep || `/pregled/${request.uniqueId}`;
const nextStepPage = req.query.nextStep || 'pregled';
const nextStepUrl = `/${nextStepPage}/${request.uniqueId}`;
request.price = req.body.price; request.price = req.body.price;
await request.save(); await request.save();
res.redirect(nextStep);
res.redirect(nextStepUrl);
}; };
module.exports = { module.exports = {

View File

@@ -25,32 +25,32 @@ const getQueryReview = async (req,res) => {
{ {
id: 'realEstateType', id: 'realEstateType',
title: realEstateTypeTitle, title: realEstateTypeTitle,
url: `/vrstanekretnine/${uniqueId}`, url: `/vrstanekretnine/${uniqueId}?nextStep=pregled`,
}, },
{ {
id: 'region', id: 'region',
title: regionName, title: regionName,
url: `/region/${uniqueId}`, url: `/grad/${uniqueId}?nextStep=mjesto`,
}, },
{ {
id: 'municipality', id: 'municipality',
title: municipalityName, title: municipalityName,
url: `/mjesto/${uniqueId}`, url: `/mjesto/${uniqueId}?nextStep=pregled`,
}, },
{ {
id: 'size', id: 'size',
title: sizeTitle, title: sizeTitle,
url: `/povrsina/${uniqueId}`, url: `/povrsina/${uniqueId}?nextStep=pregled`,
}, },
{ {
id: 'gardenSize', id: 'gardenSize',
title: gardenSizeTitle, title: gardenSizeTitle,
url: `/okucnica/${uniqueId}`, url: `/okucnica/${uniqueId}?nextStep=pregled`,
}, },
{ {
id: 'price', id: 'price',
title: priceTitle, title: priceTitle,
url: `/cijena/${uniqueId}` url: `/cijena/${uniqueId}?nextStep=pregled`
} }
]; ];

View File

@@ -1,24 +1,38 @@
const db = require('../models/index'); const db = require('../models/index');
const { currentRERequest } = require('../helpers/url');
const { realEstateTypes } = require('../helpers/enums'); const { realEstateTypes } = require('../helpers/enums');
const getRealEstateTypes = (req,res) => { const getRealEstateTypes = (req,res) => {
const nextStep = req.query.nextStep; res.render('realEstateType', { realEstateTypes });
res.render('realEstateType', {
nextStep,
realEstateTypes: realEstateTypes
});
}; };
const postRealEstateTypes = (req, res) => { const postRealEstateTypes = async (req, res) => {
let nextStep = req.query.nextStep; const request = await currentRERequest(req);
db.RealEstateRequest.create({
realEstateType: req.body.realestatetype const nextStepPage = req.query.nextStep || 'grad';
}).then( (result) => {
nextStep = nextStep || `/grad/${result.uniqueId}`; if (request && request.uniqueId) {
res.redirect(nextStep); const nextStepUrl = `/${nextStepPage}/${request.uniqueId}`;
}).catch( (e) => { request.realEstateType = req.body.realestatetype;
res.send(e); await request.save();
});
res.redirect(nextStepUrl)
} else {
db.RealEstateRequest.create({
realEstateType: req.body.realestatetype
}).then( (result) => {
const nextStepUrl = `/${nextStepPage}/${result.uniqueId}`;
res.redirect(nextStepUrl);
}).catch( (e) => {
res.send(e);
});
}
}; };
module.exports = { module.exports = {

View File

@@ -1,22 +1,24 @@
const { currentRERequest } = require('../helpers/url'); const { currentRERequest } = require('../helpers/url');
const { getRegions } = require('../helpers/codes'); const { getRegions } = require('../helpers/codes');
const regions = getRegions(); const regions = getRegions();
const getRegion = (req,res) => { const getRegion = (req,res) => {
const nextStep = req.query.nextStep || '/'; res.render('region', { regions });
res.render('region', {
nextStep,
regions
});
}; };
const postRegion = async (req, res) => { const postRegion = async (req, res) => {
const request = await currentRERequest(req); const request = await currentRERequest(req);
const nextStep = req.query.nextStep || `/mjesto/${request.uniqueId}`;
const nextStepQueryParam = req.query.nextStep ? '?nextStep=pregled' : '';
const nextStepPage = req.query.nextStep || 'mjesto';
const nextStepUrl = `/${nextStepPage}/${request.uniqueId}${nextStepQueryParam}`;
request.region = req.body.region; request.region = req.body.region;
request.municipality = null;
await request.save(); await request.save();
res.redirect(nextStep)
res.redirect(nextStepUrl)
}; };
module.exports = { module.exports = {

View File

@@ -2,19 +2,19 @@ const { currentRERequest } = require('../helpers/url');
const { sizes } = require('../helpers/enums'); const { sizes } = require('../helpers/enums');
const getSize = (req,res) => { const getSize = (req,res) => {
const nextStep = req.query.nextStep; res.render('size', { sizes });
res.render('size', {
nextStep,
sizes
});
}; };
const postSize = async (req, res) => { const postSize = async (req, res) => {
const request = await currentRERequest(req); const request = await currentRERequest(req);
const nextStep = req.query.nextStep || `/okucnica/${request.uniqueId}`;
const nextStepPage = req.query.nextStep || 'okucnica';
const nextStepUrl = `/${nextStepPage}/${request.uniqueId}`;
request.size = req.body.size; request.size = req.body.size;
await request.save(); await request.save();
res.redirect(nextStep);
res.redirect(nextStepUrl);
}; };
module.exports = { module.exports = {