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 @@
+
+