Files
old-web/app/controllers/queryReview.js
2019-09-05 11:14:54 +02:00

105 lines
2.5 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 title = "Da li je ovo to što ste tražili ?";
const request = await currentRERequest(req);
const nextStep = req.query.nextStep;
if (!request || !request.dataValues) {
return null;
}
const {
realEstateType,
region,
municipality,
sizeMin,
sizeMax,
gardenSizeMin,
gardenSizeMax,
priceMin,
priceMax
} = 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 = sizeMin ? sizeMin + "-" + sizeMax + " m2" : null;
const gardenSizeTitle = gardenSizeMin
? gardenSizeMin + "-" + gardenSizeMax + " m2"
: null;
const priceTitle = priceMin ? priceMin + "-" + priceMax + " KM" : 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,
title
});
};
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
};