diff --git a/app/common/publishEnums.js b/app/common/publishEnums.js new file mode 100644 index 0000000..85988d5 --- /dev/null +++ b/app/common/publishEnums.js @@ -0,0 +1,486 @@ +const { + AD_CATEGORY, + ACCESS_ROAD_TYPE, + HEATING_TYPE, + FURNISHING_TYPE +} = require("./enums"); + +const BASIC_BOOLEAN_PUBLISH = [ + { + dbField: "balcony", + title: "Balkon", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE + ] + }, + { + dbField: "newBuilding", + title: "Novogradnja", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE, + AD_CATEGORY.GARAGE + ] + }, + { + dbField: "elevator", + title: "Lift", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.OFFICE + ] + }, + { + dbField: "recentlyAdapted", + title: "Nedavno adaptirano", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE + ] + } +]; + +const BASIC_INPUT_PUBLISH_NO = [ + { + dbField: "price", + title: "Cijena (KM)", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE, + AD_CATEGORY.LAND, + AD_CATEGORY.GARAGE + ] + }, + { + dbField: "area", + title: "Površina (m\xB2)", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE, + AD_CATEGORY.LAND, + AD_CATEGORY.GARAGE + ] + }, + { + dbField: "gardenSize", + title: "Površina okućnice (m\xB2)", + categoriesToShow: [AD_CATEGORY.HOUSE, AD_CATEGORY.COTTAGE] + }, + { + dbField: "numberOfRooms", + title: "Broj soba", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE + ] + }, + { + dbField: "numberOfFloors", + title: "Broj spratova", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE + ] + }, + { + dbField: "floor", + title: "Sprat", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.OFFICE + ] + } +]; + +const BASIC_INPUT_PUBLISH = [ + { + dbField: "title", + title: "Naslov", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE, + AD_CATEGORY.LAND, + AD_CATEGORY.GARAGE + ] + }, + { + dbField: "shortDescription", + title: "Opis", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE, + AD_CATEGORY.LAND, + AD_CATEGORY.GARAGE + ] + }, + { + dbField: "streetName", + title: "Adresa", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE, + AD_CATEGORY.LAND, + AD_CATEGORY.GARAGE + ] + } +]; + +const BASIC_SEGMENT_PUBLISH = [ + { + dbField: "furnishingType", + title: "Namješten?", + values: Object.keys(FURNISHING_TYPE).map(key => FURNISHING_TYPE[key]), + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE + ] + } +]; + +const ADDITIONAL_BOOLEAN_PUBLISH = [ + { + dbField: "water", + title: "Voda", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE + ] + }, + { + dbField: "electricity", + title: "Struja", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE, + AD_CATEGORY.GARAGE + ] + }, + { + dbField: "drainageSystem", + title: "Kanalizacija", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE + ] + }, + { + dbField: "registeredInZkBooks", + title: "Uknjiženo", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE, + AD_CATEGORY.LAND, + AD_CATEGORY.GARAGE + ] + }, + + { + dbField: "parking", + title: "Parking", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE + ] + }, + { + dbField: "garage", + title: "Garaža", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE + ] + }, + { + dbField: "gas", + title: "Plin", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE + ] + }, + { + dbField: "antiTheftDoor", + title: "Blindirana vrata", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE + ] + }, + { + dbField: "airCondition", + title: "Klimatizirano", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE + ] + }, + { + dbField: "phoneConnection", + title: "Telefon", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE + ] + }, + { + dbField: "cableTV", + title: "Kablovska", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE + ] + }, + { + dbField: "internet", + title: "Internet", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE + ] + }, + { + dbField: "basementAttic", + title: "Podrum-Tavan", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE + ] + }, + { + dbField: "storeRoom", + title: "Ostava", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE + ] + }, + { + dbField: "videoSurveillance", + title: "Video nadzor", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE, + AD_CATEGORY.GARAGE + ] + }, + { + dbField: "alarm", + title: "Alarm", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE, + AD_CATEGORY.GARAGE + ] + }, + { + dbField: "suitableForStudents", + title: "Za studente", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE + ] + }, + { + dbField: "includingBills", + title: "Uključen trošak režija", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE, + AD_CATEGORY.GARAGE + ] + }, + { + dbField: "animalsAllowed", + title: "Kućni ljubimci dozvoljeni", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE + ] + }, + { + dbField: "pool", + title: "Bazen", + categoriesToShow: [AD_CATEGORY.HOUSE, AD_CATEGORY.COTTAGE] + }, + { + dbField: "exchange", + title: "Zamjena", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE, + AD_CATEGORY.LAND, + AD_CATEGORY.GARAGE + ] + }, + { + dbField: "urbanPlanPermit", + title: "Urbanistička dozvola", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE, + AD_CATEGORY.LAND, + AD_CATEGORY.GARAGE + ] + }, + { + dbField: "buildingPermit", + title: "Građevinska dozvola", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE, + AD_CATEGORY.LAND, + AD_CATEGORY.GARAGE + ] + } +]; + +const ADDITIONAL_INPUT_PUBLISH = [ + { + dbField: "longDescription", + title: "Detaljan opis", + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE, + AD_CATEGORY.LAND, + AD_CATEGORY.GARAGE + ] + } +]; + +const ADDITIONAL_SEGMENT_PUBLISH = [ + { + dbField: "accessRoadType", + title: "Pristupni put", + values: Object.keys(ACCESS_ROAD_TYPE).map(key => ACCESS_ROAD_TYPE[key]), + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE, + AD_CATEGORY.LAND, + AD_CATEGORY.GARAGE + ] + }, + { + dbField: "heatingType", + title: "Grijanje", + values: Object.keys(HEATING_TYPE).map(key => HEATING_TYPE[key]), + categoriesToShow: [ + AD_CATEGORY.FLAT, + AD_CATEGORY.HOUSE, + AD_CATEGORY.APARTMENT, + AD_CATEGORY.COTTAGE, + AD_CATEGORY.OFFICE + ] + } +]; + +module.exports = { + BASIC_INPUT_PUBLISH, + BASIC_INPUT_PUBLISH_NO, + BASIC_SEGMENT_PUBLISH, + BASIC_BOOLEAN_PUBLISH, + ADDITIONAL_BOOLEAN_PUBLISH, + ADDITIONAL_INPUT_PUBLISH, + ADDITIONAL_SEGMENT_PUBLISH +}; diff --git a/app/views/publishAdditionalData.ejs b/app/views/publishAdditionalData.ejs new file mode 100644 index 0000000..b7b7b73 --- /dev/null +++ b/app/views/publishAdditionalData.ejs @@ -0,0 +1 @@ +Publish Additional Data \ No newline at end of file diff --git a/app/views/publishBasicData.ejs b/app/views/publishBasicData.ejs new file mode 100644 index 0000000..44618ee --- /dev/null +++ b/app/views/publishBasicData.ejs @@ -0,0 +1,2 @@ +
+Publish Basic Data \ No newline at end of file diff --git a/app/views/publishEnd.ejs b/app/views/publishEnd.ejs new file mode 100644 index 0000000..d751b37 --- /dev/null +++ b/app/views/publishEnd.ejs @@ -0,0 +1,5 @@ +
+
+ Vaš oglas je spreman za objavu. +
+
\ No newline at end of file diff --git a/app/views/publishPrice.ejs b/app/views/publishPrice.ejs new file mode 100644 index 0000000..34d2e61 --- /dev/null +++ b/app/views/publishPrice.ejs @@ -0,0 +1 @@ +Publish Price \ No newline at end of file diff --git a/app/views/publishRealEstate.ejs b/app/views/publishRealEstate.ejs index c47862c..587e88d 100644 --- a/app/views/publishRealEstate.ejs +++ b/app/views/publishRealEstate.ejs @@ -1,4 +1,39 @@
-
- Work in progres... -
\ No newline at end of file +
+
+ +
+ <%- include("./publishBasicData.ejs") %> +
+
+ <%- include("./publishAdditionalData.ejs") %> +
+
+ <%- include("./publishPrice.ejs") %> +
+
+ <%- include("./publishEnd.ejs") %> +
+ +
+
+
+ + +
+ + \ No newline at end of file