diff --git a/app/common/enums.js b/app/common/enums.js index 042121d..d851854 100644 --- a/app/common/enums.js +++ b/app/common/enums.js @@ -53,17 +53,41 @@ const AD_CATEGORY = { sizeSliderOptions: HOME_SIZE_SLIDER_OPTIONS, gardenSizeSliderOptions: GARDEN_SIZE_SLIDER_OPTIONS }, - //OFFICE: { id: "OFFICE", title: "Kancelarija", hasGardenSize: false }, - //LAND: { id: "LAND", title: "Zemljište", hasGardenSize: true }, + OFFICE: { + id: "OFFICE", + title: "Kancelarija", + hasGardenSize: false, + priceSliderOptions: PRICE_SLIDER_OPTIONS, + sizeSliderOptions: HOME_SIZE_SLIDER_OPTIONS + }, + LAND: { + id: "LAND", + title: "Zemljište", + hasGardenSize: false, + priceSliderOptions: PRICE_SLIDER_OPTIONS, + sizeSliderOptions: HOME_SIZE_SLIDER_OPTIONS + }, APARTMENT: { id: "APARTMENT", title: "Apartman", hasGardenSize: false, priceSliderOptions: PRICE_SLIDER_OPTIONS, sizeSliderOptions: HOME_SIZE_SLIDER_OPTIONS + }, + GARAGE: { + id: "GARAGE", + title: "Garaža", + hasGardenSize: false, + priceSliderOptions: PRICE_SLIDER_OPTIONS, + sizeSliderOptions: HOME_SIZE_SLIDER_OPTIONS + }, + COTTAGE: { + id: "COTTAGE", + title: "Vikendica", + hasGardenSize: true, + priceSliderOptions: PRICE_SLIDER_OPTIONS, + sizeSliderOptions: HOME_SIZE_SLIDER_OPTIONS } - //GARAGE: { id: "GARAGE", title: "Garaža", hasGardenSize: false }, - //COTTAGE: { id: "COTTAGE", title: "Vikendica", hasGardenSize: true } }; const AD_STATUS = { diff --git a/app/controllers/queryReview.js b/app/controllers/queryReview.js index e014065..d3fb888 100644 --- a/app/controllers/queryReview.js +++ b/app/controllers/queryReview.js @@ -27,13 +27,11 @@ const getQueryReviewData = searchRequest => { : "-"; const locationTitle = "Location description - PLACEHOLDER"; - const sizeTitle = sizeMin && sizeMax ? `${sizeMin} - ${sizeMax} m2` : "-"; - const gardenSizeTitle = - enableGardenSizeEdit && gardenSizeMin && gardenSizeMax - ? `${gardenSizeMin} - ${gardenSizeMax} m2` - : "-"; - const priceTitle = - priceMin && priceMax ? `${priceMin} - ${priceMax} KM` : "-"; + const sizeTitle = `${sizeMin} - ${sizeMax} m2`; + const gardenSizeTitle = enableGardenSizeEdit + ? `${gardenSizeMin} - ${gardenSizeMax} m2` + : "-"; + const priceTitle = `${priceMin} - ${priceMax} KM`; return [ { @@ -75,11 +73,13 @@ const getQueryReview = async (req, res) => { const nextStep = req.query.nextStep; const error = req.query.error; const queryReviewData = getQueryReviewData(searchRequest); + const email = searchRequest.email; res.render("queryReview", { nextStep, queryReviewData, title, + email, error }); }; diff --git a/app/controllers/realEstateFilters.js b/app/controllers/realEstateFilters.js index c984c11..4630352 100644 --- a/app/controllers/realEstateFilters.js +++ b/app/controllers/realEstateFilters.js @@ -23,15 +23,15 @@ const getFilters = async (req, res) => { gardenSizeSliderOptions } = category; - if (priceMin && priceMax) { + if (priceMin || priceMax) { priceSliderOptions.start = [priceMin, priceMax]; } - if (sizeMin && sizeMax) { + if (sizeMin || sizeMax) { sizeSliderOptions.start = [sizeMin, sizeMax]; } - if (gardenSizeSliderOptions && gardenSizeMin && gardenSizeMax) { + if (gardenSizeSliderOptions && (gardenSizeMin || gardenSizeMax)) { gardenSizeSliderOptions.start = [gardenSizeMin, gardenSizeMax]; } @@ -62,7 +62,10 @@ const postFilters = async (req, res) => { searchRequest.sizeMin = sizeMin; searchRequest.sizeMax = sizeMax; - if (req.body.gardenSizeFilterMin && req.body.gardenSizeFilterMax) { + if ( + req.body.gardenSizeFilterMin !== undefined && + req.body.gardenSizeFilterMax !== undefined + ) { const gardenSizeMin = parseInt(req.body.gardenSizeFilterMin); const gardenSizeMax = parseInt(req.body.gardenSizeFilterMax); diff --git a/app/crawler/specific/olx.js b/app/crawler/specific/olx.js index 02bb330..526db05 100644 --- a/app/crawler/specific/olx.js +++ b/app/crawler/specific/olx.js @@ -24,10 +24,11 @@ const OLX_ENUMS = { OLX_AD_CATEGORY: { [AD_CATEGORY.FLAT.id]: "&kategorija=23", [AD_CATEGORY.HOUSE.id]: "&kategorija=24", - //[AD_CATEGORY.LAND.id]: "&kategorija=29", - //[AD_CATEGORY.OFFICE.id]: "&kategorija=25", - [AD_CATEGORY.APARTMENT.id]: "&kategorija=27" - //[AD_CATEGORY.CATEGORY_GARAGE.id]: "&kategorija=30" + [AD_CATEGORY.LAND.id]: "&kategorija=29", + [AD_CATEGORY.OFFICE.id]: "&kategorija=25", + [AD_CATEGORY.APARTMENT.id]: "&kategorija=27", + [AD_CATEGORY.GARAGE.id]: "&kategorija=30", + [AD_CATEGORY.COTTAGE.id]: "&kategorija=26" }, MAX_DETAIL_FIELDS: 30, OLX_PUBLISHED_DATE_FORMAT: "DD.MM.YYYY. u HH:mm", @@ -445,13 +446,17 @@ class OlxCrawler { case "Stanovi": return AD_CATEGORY.FLAT.id; case "Zemljišta": - return undefined; //AD_CATEGORY.LAND; + return AD_CATEGORY.LAND.id; case "Kuće": return AD_CATEGORY.HOUSE.id; case "Poslovni prostori": - return undefined; //AD_CATEGORY.OFFICE; + return AD_CATEGORY.OFFICE.id; case "Apartmani": return AD_CATEGORY.APARTMENT.id; + case "Garaže": + return AD_CATEGORY.GARAGE.id; + case "Vikendice": + return AD_CATEGORY.COTTAGE.id; default: return undefined; } diff --git a/app/views/queryReview.ejs b/app/views/queryReview.ejs index b587d41..8ecf222 100644 --- a/app/views/queryReview.ejs +++ b/app/views/queryReview.ejs @@ -14,13 +14,13 @@