move email input to the review step
This commit is contained in:
@@ -1,15 +1,11 @@
|
||||
const { currentSearchRequest } = require("../helpers/url");
|
||||
const { isValidEmail } = require("../helpers/email");
|
||||
const {
|
||||
notifyForNewSearchRequest
|
||||
} = require("../services/notificationService");
|
||||
const { AD_CATEGORY } = require("../common/enums");
|
||||
|
||||
const getQueryReview = async (req, res) => {
|
||||
const title = "Da li je ovo to što ste tražili ?";
|
||||
const searchRequest = await currentSearchRequest(req);
|
||||
const nextStep = req.query.nextStep;
|
||||
|
||||
if (!searchRequest || !searchRequest.dataValues) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const getQueryReviewData = searchRequest => {
|
||||
const {
|
||||
id,
|
||||
realEstateType,
|
||||
@@ -39,7 +35,7 @@ const getQueryReview = async (req, res) => {
|
||||
const priceTitle =
|
||||
priceMin && priceMax ? `${priceMin} - ${priceMax} KM` : "-";
|
||||
|
||||
const queryReviewData = [
|
||||
return [
|
||||
{
|
||||
id: "realEstateType",
|
||||
title: realEstateTypeTitle,
|
||||
@@ -66,17 +62,66 @@ const getQueryReview = async (req, res) => {
|
||||
url: `/cijena/${id}?nextStep=pregled`
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
const getQueryReview = async (req, res) => {
|
||||
const searchRequest = await currentSearchRequest(req);
|
||||
|
||||
if (!searchRequest || !searchRequest.dataValues) {
|
||||
return null;
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
res.render("queryReview", {
|
||||
nextStep,
|
||||
queryReviewData,
|
||||
title
|
||||
title,
|
||||
error
|
||||
});
|
||||
};
|
||||
|
||||
const postQueryReview = async (req, res) => {
|
||||
const searchRequest = await currentSearchRequest(req);
|
||||
const nextStep = req.query.nextStep || `/posalji/${searchRequest.id}`;
|
||||
|
||||
if (!searchRequest || !searchRequest.dataValues) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const nextStep = req.query.nextStep || "/ponovo";
|
||||
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);
|
||||
|
||||
if (emailInput !== emailConfirmInput) {
|
||||
const error = "Greška ! Unešeni emailovi nisu isti";
|
||||
res.render("queryReview", {
|
||||
error,
|
||||
title,
|
||||
queryReviewData
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (!isValidEmail(emailInput)) {
|
||||
const error = "Greška ! Unesite validan email";
|
||||
res.render("queryReview", {
|
||||
error,
|
||||
title,
|
||||
queryReviewData
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
searchRequest.email = emailInput;
|
||||
searchRequest.subscribed = true;
|
||||
await searchRequest.save();
|
||||
|
||||
await notifyForNewSearchRequest(searchRequest);
|
||||
|
||||
res.redirect(nextStep);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user