diff --git a/app/common/enums.js b/app/common/enums.js index d851854..0601a9e 100644 --- a/app/common/enums.js +++ b/app/common/enums.js @@ -86,7 +86,8 @@ const AD_CATEGORY = { title: "Vikendica", hasGardenSize: true, priceSliderOptions: PRICE_SLIDER_OPTIONS, - sizeSliderOptions: HOME_SIZE_SLIDER_OPTIONS + sizeSliderOptions: HOME_SIZE_SLIDER_OPTIONS, + gardenSizeSliderOptions: GARDEN_SIZE_SLIDER_OPTIONS } }; diff --git a/app/controllers/location.js b/app/controllers/location.js index 43f6c29..e0bd4ca 100644 --- a/app/controllers/location.js +++ b/app/controllers/location.js @@ -13,6 +13,11 @@ const getLocation = async (req, res) => { const postLocation = async (req, res) => { let searchRequest = await currentSearchRequest(req); + if (!searchRequest || !searchRequest.dataValues) { + res.render("notFound", { title: " " }); + return; + } + const northWest = [req.body.west, req.body.north]; const northEast = [req.body.east, req.body.north]; const southEast = [req.body.east, req.body.south]; diff --git a/app/controllers/queryReview.js b/app/controllers/queryReview.js index 76cf977..294d07d 100644 --- a/app/controllers/queryReview.js +++ b/app/controllers/queryReview.js @@ -37,7 +37,7 @@ const getQueryReviewData = searchRequest => { { id: "realEstateType", title: realEstateTypeTitle, - url: `/vrstanekretnine/${id}?nextStep=pregled` + url: `/vrstanekretnine/${id}?nextStep=filteri` }, { id: "location", @@ -66,7 +66,8 @@ const getQueryReview = async (req, res) => { const searchRequest = await currentSearchRequest(req); if (!searchRequest || !searchRequest.dataValues) { - return null; + res.render("notFound", { title: " " }); + return; } const title = "Da li je ovo to što ste tražili ?"; diff --git a/app/controllers/realEstateFilters.js b/app/controllers/realEstateFilters.js index 4630352..c29b2c4 100644 --- a/app/controllers/realEstateFilters.js +++ b/app/controllers/realEstateFilters.js @@ -3,6 +3,12 @@ const { AD_CATEGORY } = require("../common/enums"); const getFilters = async (req, res) => { const searchRequest = await currentSearchRequest(req); + + if (!searchRequest || !searchRequest.dataValues) { + res.render("notFound", { title: " " }); + return; + } + const title = "Filteri za pretraživanje"; const { @@ -47,6 +53,11 @@ const getFilters = async (req, res) => { const postFilters = async (req, res) => { const searchRequest = await currentSearchRequest(req); + if (!searchRequest || !searchRequest.dataValues) { + res.render("notFound", { title: " " }); + return; + } + const nextStepPage = req.query.nextStep || "pregled"; const nextStepUrl = `/${nextStepPage}/${searchRequest.id}`; diff --git a/app/helpers/db/searchRequest.js b/app/helpers/db/searchRequest.js index 08e8922..6e47b5d 100644 --- a/app/helpers/db/searchRequest.js +++ b/app/helpers/db/searchRequest.js @@ -4,7 +4,11 @@ const sequelize = require("sequelize"); const Op = sequelize.Op; const getSearchRequest = async searchRequestId => { - return await db.SearchRequest.findByPk(searchRequestId); + try { + return await db.SearchRequest.findByPk(searchRequestId); + } catch (error) { + return null; + } }; const createSearchRequest = async (searchRequestFields = {}) => { diff --git a/app/views/queryReview.ejs b/app/views/queryReview.ejs index cf7004c..d80640e 100644 --- a/app/views/queryReview.ejs +++ b/app/views/queryReview.ejs @@ -5,7 +5,7 @@