Merge branch 'add-other-olx-real-estate-categories' into 'master'

Add other olx real estate categories

See merge request saburly/marketalarm/web!43
This commit was merged in pull request #43.
This commit is contained in:
Bilal Catic
2019-10-14 07:28:10 +00:00
5 changed files with 55 additions and 23 deletions

View File

@@ -53,17 +53,41 @@ const AD_CATEGORY = {
sizeSliderOptions: HOME_SIZE_SLIDER_OPTIONS, sizeSliderOptions: HOME_SIZE_SLIDER_OPTIONS,
gardenSizeSliderOptions: GARDEN_SIZE_SLIDER_OPTIONS gardenSizeSliderOptions: GARDEN_SIZE_SLIDER_OPTIONS
}, },
//OFFICE: { id: "OFFICE", title: "Kancelarija", hasGardenSize: false }, OFFICE: {
//LAND: { id: "LAND", title: "Zemljište", hasGardenSize: true }, 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: { APARTMENT: {
id: "APARTMENT", id: "APARTMENT",
title: "Apartman", title: "Apartman",
hasGardenSize: false, hasGardenSize: false,
priceSliderOptions: PRICE_SLIDER_OPTIONS, priceSliderOptions: PRICE_SLIDER_OPTIONS,
sizeSliderOptions: HOME_SIZE_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 = { const AD_STATUS = {

View File

@@ -27,13 +27,11 @@ const getQueryReviewData = searchRequest => {
: "-"; : "-";
const locationTitle = "Location description - PLACEHOLDER"; const locationTitle = "Location description - PLACEHOLDER";
const sizeTitle = sizeMin && sizeMax ? `${sizeMin} - ${sizeMax} m2` : "-"; const sizeTitle = `${sizeMin} - ${sizeMax} m2`;
const gardenSizeTitle = const gardenSizeTitle = enableGardenSizeEdit
enableGardenSizeEdit && gardenSizeMin && gardenSizeMax ? `${gardenSizeMin} - ${gardenSizeMax} m2`
? `${gardenSizeMin} - ${gardenSizeMax} m2` : "-";
: "-"; const priceTitle = `${priceMin} - ${priceMax} KM`;
const priceTitle =
priceMin && priceMax ? `${priceMin} - ${priceMax} KM` : "-";
return [ return [
{ {
@@ -75,11 +73,13 @@ const getQueryReview = async (req, res) => {
const nextStep = req.query.nextStep; const nextStep = req.query.nextStep;
const error = req.query.error; const error = req.query.error;
const queryReviewData = getQueryReviewData(searchRequest); const queryReviewData = getQueryReviewData(searchRequest);
const email = searchRequest.email;
res.render("queryReview", { res.render("queryReview", {
nextStep, nextStep,
queryReviewData, queryReviewData,
title, title,
email,
error error
}); });
}; };

View File

@@ -23,15 +23,15 @@ const getFilters = async (req, res) => {
gardenSizeSliderOptions gardenSizeSliderOptions
} = category; } = category;
if (priceMin && priceMax) { if (priceMin || priceMax) {
priceSliderOptions.start = [priceMin, priceMax]; priceSliderOptions.start = [priceMin, priceMax];
} }
if (sizeMin && sizeMax) { if (sizeMin || sizeMax) {
sizeSliderOptions.start = [sizeMin, sizeMax]; sizeSliderOptions.start = [sizeMin, sizeMax];
} }
if (gardenSizeSliderOptions && gardenSizeMin && gardenSizeMax) { if (gardenSizeSliderOptions && (gardenSizeMin || gardenSizeMax)) {
gardenSizeSliderOptions.start = [gardenSizeMin, gardenSizeMax]; gardenSizeSliderOptions.start = [gardenSizeMin, gardenSizeMax];
} }
@@ -62,7 +62,10 @@ const postFilters = async (req, res) => {
searchRequest.sizeMin = sizeMin; searchRequest.sizeMin = sizeMin;
searchRequest.sizeMax = sizeMax; 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 gardenSizeMin = parseInt(req.body.gardenSizeFilterMin);
const gardenSizeMax = parseInt(req.body.gardenSizeFilterMax); const gardenSizeMax = parseInt(req.body.gardenSizeFilterMax);

View File

@@ -24,10 +24,11 @@ const OLX_ENUMS = {
OLX_AD_CATEGORY: { OLX_AD_CATEGORY: {
[AD_CATEGORY.FLAT.id]: "&kategorija=23", [AD_CATEGORY.FLAT.id]: "&kategorija=23",
[AD_CATEGORY.HOUSE.id]: "&kategorija=24", [AD_CATEGORY.HOUSE.id]: "&kategorija=24",
//[AD_CATEGORY.LAND.id]: "&kategorija=29", [AD_CATEGORY.LAND.id]: "&kategorija=29",
//[AD_CATEGORY.OFFICE.id]: "&kategorija=25", [AD_CATEGORY.OFFICE.id]: "&kategorija=25",
[AD_CATEGORY.APARTMENT.id]: "&kategorija=27" [AD_CATEGORY.APARTMENT.id]: "&kategorija=27",
//[AD_CATEGORY.CATEGORY_GARAGE.id]: "&kategorija=30" [AD_CATEGORY.GARAGE.id]: "&kategorija=30",
[AD_CATEGORY.COTTAGE.id]: "&kategorija=26"
}, },
MAX_DETAIL_FIELDS: 30, MAX_DETAIL_FIELDS: 30,
OLX_PUBLISHED_DATE_FORMAT: "DD.MM.YYYY. u HH:mm", OLX_PUBLISHED_DATE_FORMAT: "DD.MM.YYYY. u HH:mm",
@@ -445,13 +446,17 @@ class OlxCrawler {
case "Stanovi": case "Stanovi":
return AD_CATEGORY.FLAT.id; return AD_CATEGORY.FLAT.id;
case "Zemljišta": case "Zemljišta":
return undefined; //AD_CATEGORY.LAND; return AD_CATEGORY.LAND.id;
case "Kuće": case "Kuće":
return AD_CATEGORY.HOUSE.id; return AD_CATEGORY.HOUSE.id;
case "Poslovni prostori": case "Poslovni prostori":
return undefined; //AD_CATEGORY.OFFICE; return AD_CATEGORY.OFFICE.id;
case "Apartmani": case "Apartmani":
return AD_CATEGORY.APARTMENT.id; return AD_CATEGORY.APARTMENT.id;
case "Garaže":
return AD_CATEGORY.GARAGE.id;
case "Vikendice":
return AD_CATEGORY.COTTAGE.id;
default: default:
return undefined; return undefined;
} }

View File

@@ -14,13 +14,13 @@
</div> </div>
<div class="row center-align"> <div class="row center-align">
<div class="col"> <div class="col">
<input id="email" name="email" type="email" placeholder="vas.email@mail.com" required size="250" /> <input id="email" name="email" type="email" placeholder="vas.email@mail.com" <% if (email) { %>value="<%= email %>" <% } %> required size="250" />
</div> </div>
</div> </div>
<div class="row center-align"> <div class="row center-align">
<div class="col"> <div class="col">
<input id="confirmEmail" name="confirmEmail" type="email" placeholder="potvrdite.email@mail.com" required size="250" /> <input id="confirmEmail" name="confirmEmail" type="email" placeholder="potvrdite.email@mail.com" <% if (email) { %>value="<%= email %>" <% } %> required size="250" />
</div> </div>
</div> </div>