77 lines
2.3 KiB
JavaScript
77 lines
2.3 KiB
JavaScript
const { currentRERequest } = require('../helpers/url');
|
|
const { getRegionName, getMunicipalityName } = require('../helpers/codes');
|
|
const { realEstateTypes, sizes, gardenSizes, prices, getEnumTypeTitle, getRealEstateTypeEnum } = require('../helpers/enums');
|
|
|
|
const getQueryReview = async (req,res) => {
|
|
const request = await currentRERequest(req);
|
|
const nextStep = req.query.nextStep;
|
|
|
|
if (!request || !request.dataValues) {
|
|
return null;
|
|
}
|
|
|
|
const { realEstateType, region, municipality, size, gardenSize, price } = request.dataValues;
|
|
|
|
const realEstateTypeObject = getRealEstateTypeEnum(realEstateType);
|
|
const enableGardenSizeEdit = realEstateTypeObject ? realEstateTypeObject.hasGardenSize : false;
|
|
|
|
const realEstateTypeTitle = realEstateType ? getEnumTypeTitle(realEstateTypes, realEstateType) : null;
|
|
const regionName = region ? getRegionName(region) : null;
|
|
const municipalityName = (region && municipality) ? getMunicipalityName(region, municipality) : null;
|
|
const sizeTitle = size ? getEnumTypeTitle(sizes, size) : null;
|
|
const gardenSizeTitle = gardenSize ? getEnumTypeTitle(gardenSizes, gardenSize) : null;
|
|
const priceTitle = price ? getEnumTypeTitle(prices, price) : null;
|
|
|
|
const uniqueId = request.dataValues.uniqueId ? request.dataValues.uniqueId : '';
|
|
|
|
const queryData = [
|
|
{
|
|
id: 'realEstateType',
|
|
title: realEstateTypeTitle,
|
|
url: `/vrstanekretnine/${uniqueId}?nextStep=pregled`,
|
|
},
|
|
{
|
|
id: 'region',
|
|
title: regionName,
|
|
url: `/grad/${uniqueId}?nextStep=mjesto`,
|
|
},
|
|
{
|
|
id: 'municipality',
|
|
title: municipalityName,
|
|
url: `/mjesto/${uniqueId}?nextStep=pregled`,
|
|
},
|
|
{
|
|
id: 'size',
|
|
title: sizeTitle,
|
|
url: `/povrsina/${uniqueId}?nextStep=pregled`,
|
|
},
|
|
{
|
|
id: 'gardenSize',
|
|
title: gardenSizeTitle,
|
|
url: enableGardenSizeEdit ? `/okucnica/${uniqueId}?nextStep=pregled` : '',
|
|
},
|
|
{
|
|
id: 'price',
|
|
title: priceTitle,
|
|
url: `/cijena/${uniqueId}?nextStep=pregled`
|
|
}
|
|
];
|
|
|
|
res.render('queryReview', {
|
|
nextStep,
|
|
queryData,
|
|
});
|
|
};
|
|
|
|
const postQueryReview = async (req, res) => {
|
|
const request = await currentRERequest(req);
|
|
const nextStep = req.query.nextStep || `/posalji/${request.uniqueId}`;
|
|
|
|
res.redirect(nextStep);
|
|
};
|
|
|
|
module.exports = {
|
|
getQueryReview,
|
|
postQueryReview
|
|
};
|