diff --git a/app/common/enums.js b/app/common/enums.js index efdbe28..942fb47 100644 --- a/app/common/enums.js +++ b/app/common/enums.js @@ -174,10 +174,24 @@ const CRAWLER_AD_TYPE = { ONLY_REQUEST: 4 }; +const EMAIL_FREQUENCY = { + ASAP: { + id: 1, + stringId: "ASAP", + title: "Odmah" + }, + DAILY: { + id: 2, + stringId: "DAILY", + title: "Jednom dnevno" + } +}; + module.exports = { AD_TYPE, AD_CATEGORY, AD_STATUS, AD_AGENCY, - CRAWLER_AD_TYPE + CRAWLER_AD_TYPE, + EMAIL_FREQUENCY }; diff --git a/app/controllers/queryReview.js b/app/controllers/queryReview.js index 2b08d82..da2f42a 100644 --- a/app/controllers/queryReview.js +++ b/app/controllers/queryReview.js @@ -3,9 +3,9 @@ const { isValidEmail } = require("../helpers/email"); const { notifyForNewSearchRequest } = require("../services/notificationService"); -const { AD_CATEGORY, AD_TYPE } = require("../common/enums"); +const { AD_CATEGORY, AD_TYPE, EMAIL_FREQUENCY } = require("../common/enums"); -const getQueryReviewData = searchRequest => { +const getQueryReviewTableData = searchRequest => { const { id, adType, @@ -87,15 +87,26 @@ const getQueryReview = async (req, res) => { const title = "Da li je ovo to što ste tražili ?"; const nextStep = req.query.nextStep; const error = req.query.error; - const queryReviewData = getQueryReviewData(searchRequest); + const queryReviewTableData = getQueryReviewTableData(searchRequest); const email = searchRequest.email; + let selectedEmailFrequency; + switch (searchRequest.emailFrequency) { + case EMAIL_FREQUENCY.ASAP.stringId: + selectedEmailFrequency = EMAIL_FREQUENCY.ASAP.id; + break; + case EMAIL_FREQUENCY.DAILY.stringId: + selectedEmailFrequency = EMAIL_FREQUENCY.DAILY.id; + break; + } res.render("queryReview", { nextStep, - queryReviewData, + queryReviewTableData, title, email, - error + selectedEmailFrequency, + error, + EMAIL_FREQUENCY }); }; @@ -107,17 +118,26 @@ const postQueryReview = async (req, res) => { } const nextStep = req.query.nextStep || "/ponovo"; + const emailFrequency = + parseInt(req.body.emailFrequency) || EMAIL_FREQUENCY.ASAP.id; const emailInput = req.body.email; const emailConfirmInput = req.body.confirmEmail; const title = "Da li je ovo to što ste tražili ?"; - const queryReviewData = getQueryReviewData(searchRequest); + const queryReviewTableData = getQueryReviewTableData(searchRequest); + + let emailFrequencyStringId = EMAIL_FREQUENCY.ASAP.stringId; + if (emailFrequency === EMAIL_FREQUENCY.DAILY.id) { + emailFrequencyStringId = EMAIL_FREQUENCY.DAILY.stringId; + } + + searchRequest.emailFrequency = emailFrequencyStringId; if (emailInput !== emailConfirmInput) { const error = "Greška ! Unešeni emailovi nisu isti"; res.render("queryReview", { error, title, - queryReviewData, + queryReviewTableData, email: "" }); return; @@ -128,7 +148,7 @@ const postQueryReview = async (req, res) => { res.render("queryReview", { error, title, - queryReviewData, + queryReviewTableData, email: "" }); return; @@ -147,7 +167,7 @@ const postQueryReview = async (req, res) => { res.render("queryReview", { error, title, - queryReviewData, + queryReviewTableData, email: "" }); return; @@ -164,7 +184,7 @@ const postQueryReview = async (req, res) => { res.render("queryReview", { error, title, - queryReviewData, + queryReviewTableData, email: "" }); return; diff --git a/app/views/queryReview.ejs b/app/views/queryReview.ejs index 115b067..7e0f6e4 100644 --- a/app/views/queryReview.ejs +++ b/app/views/queryReview.ejs @@ -2,7 +2,7 @@
+
+
Slanje obavještenja
+ + + + + +
value="<%= email %>" <% } %> required size="250" /> @@ -47,6 +67,7 @@