add price screen

This commit is contained in:
Bilal Catic
2019-05-17 11:32:41 +02:00
parent b15295bfe6
commit c652a306db
6 changed files with 93 additions and 1 deletions

View File

@@ -19,9 +19,10 @@ const getGardenSize = (req,res) => {
const postGardenSize = async (req, res) => {
const request = await currentRERequest(req);
const nextStep = req.query.nextStep || `/cijena/${request.uniqueId}`;
request.gardenSize = req.body.gardensize;
await request.save();
res.send("Result is " + JSON.stringify(request));
res.redirect(nextStep);
};
module.exports = {

30
app/controllers/prices.js Normal file
View File

@@ -0,0 +1,30 @@
const { currentRERequest } = require('../helpers/url');
const prices = [
{ name: "do 50 000 KM", id: "50kKM" },
{ name: "do 100 000 KM", id: "100kKM" },
{ name: "do 150 000 KM", id: "150kKM" },
{ name: "do 200 000 KM", id: "200kKM" },
{ name: "do 250 000 KM", id: "250kKM" },
{ name: "preko 250 000 KM", id: "moreThan250kKM" }
];
const getPrice = (req,res) => {
const nextStep = req.query.nextStep;
res.render('price', {
nextStep,
prices
});
};
const postPrice = async (req, res) => {
const request = await currentRERequest(req);
request.price = req.body.price;
await request.save();
res.send("Result is " + JSON.stringify(request));
};
module.exports = {
getPrice,
postPrice
};

View File

@@ -0,0 +1,21 @@
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.addColumn(
'RealEstateRequests',
'price',
{
type: Sequelize.ENUM,
values: ['50kKM', '100kKM', '150kKM', '200kKM', '250kKM', 'moreThan250kKM']
}
);
},
down: (queryInterface, Sequelize) => {
return queryInterface.removeColumn(
'RealEstateRequests',
'price'
);
}
};

View File

@@ -20,6 +20,10 @@ module.exports = (sequelize, DataTypes) => {
gardenSize: {
type: DataTypes.ENUM,
values: ['100m2', '500m2', '1000m2', '2000m2', '3000m2', 'moreThan3000m2']
},
price: {
type: DataTypes.ENUM,
values: ['50kKM', '100kKM', '150kKM', '200kKM', '250kKM', 'moreThan250kKM']
}
}, {});
RealEstateRequest.associate = function(models) {

32
app/views/price.ejs Normal file
View File

@@ -0,0 +1,32 @@
<!--suppress HtmlUnknownAnchorTarget -->
<div class="row center-align">
<h2>Koja Vam okvirna cijena odgovara ?</h2>
</div>
<form method="POST" id="form-price">
<div class="row center-align">
<ul class="collection with-header">
<% for(const price of prices) { %>
<li class="collection-item" >
<div id="<%= price.id %>" ><%= price.name %>
<a href="#!" class="secondary-content">
<i class="material-icons">send</i>
</a>
</div>
</li>
<% } %>
</ul>
<input type="hidden" name="price" id="price" />
</div>
</form>
<script>
$(document).ready( () => {
$(".collection-item").click( (e) => {
const clickedId = $(e.target).attr("id");
$("#price").val(clickedId);
$("#form-price").submit();
});
});
</script>

View File

@@ -4,6 +4,7 @@ const { getRegion, postRegion } = require('./app/controllers/regions');
const { getMunicipality, postMunicipality } = require('./app/controllers/municipalities');
const { getSize, postSize } = require('./app/controllers/sizes');
const { getGardenSize, postGardenSize } = require('./app/controllers/gardenSizes');
const { getPrice, postPrice } = require('./app/controllers/prices');
let express = require("express");
const path = require("path");
@@ -129,6 +130,9 @@ app.post('/povrsina/:request_id', postSize);
app.get('/okucnica/:request_id', getGardenSize);
app.post('/okucnica/:request_id', postGardenSize);
app.get('/cijena/:request_id', getPrice);
app.post('/cijena/:request_id', postPrice);
app.use('/assets', express.static('./app/public'));