move email input to the review step

This commit is contained in:
Bilal Catic
2019-10-08 20:42:43 +02:00
parent 615aed65b6
commit 72864f3a37
5 changed files with 100 additions and 167 deletions

View File

@@ -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);
};

View File

@@ -1,58 +0,0 @@
const { currentSearchRequest } = require("../helpers/url");
const { isValidEmail } = require("../helpers/email");
const {
notifyForNewSearchRequest
} = require("../services/notificationService");
const getQuerySubmit = async (req, res) => {
const title = "Upišite vaš e-mail";
const nextStep = req.query.nextStep;
const error = req.query.error;
res.render("querySubmit", {
nextStep,
error,
title
});
};
const postQuerySubmit = async (req, res) => {
const searchRequest = await currentSearchRequest(req);
const nextStep = req.query.nextStep || "/ponovo";
const emailInput = req.body.email;
const emailConfirmInput = req.body.confirm;
const title = "Upišite vaš e-mail";
let error = "Greška ! Unesite validan email";
if (emailInput !== emailConfirmInput) {
error = "Greška ! Unešeni emailovi nisu isti";
res.render("querySubmit", {
error,
title
});
return;
}
if (!isValidEmail(emailInput)) {
error = "Greška ! Unesite validan email";
res.render("querySubmit", {
error,
title
});
return;
}
searchRequest.email = emailInput;
searchRequest.subscribed = true;
await searchRequest.save();
await notifyForNewSearchRequest(searchRequest);
res.redirect(nextStep);
};
module.exports = {
getQuerySubmit,
postQuerySubmit
};