add garden size screen
This commit is contained in:
30
app/controllers/gardenSizes.js
Normal file
30
app/controllers/gardenSizes.js
Normal file
@@ -0,0 +1,30 @@
|
||||
const { currentRERequest } = require('../helpers/url');
|
||||
|
||||
const gardenSizes = [
|
||||
{ name: "do 100 m2", id: "100m2" },
|
||||
{ name: "do 500 m2", id: "500m2" },
|
||||
{ name: "do 1 dunum", id: "1000m2" },
|
||||
{ name: "do 2 dunuma", id: "2000m2" },
|
||||
{ name: "do 3 dunuma", id: "3000m2" },
|
||||
{ name: "preko 3 dunuma", id: "moreThan3000m2" }
|
||||
];
|
||||
|
||||
const getGardenSize = (req,res) => {
|
||||
const nextStep = req.query.nextStep;
|
||||
res.render('gardenSize', {
|
||||
nextStep,
|
||||
gardenSizes
|
||||
});
|
||||
};
|
||||
|
||||
const postGardenSize = async (req, res) => {
|
||||
const request = await currentRERequest(req);
|
||||
request.gardenSize = req.body.gardensize;
|
||||
await request.save();
|
||||
res.send("Result is " + JSON.stringify(request));
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
getGardenSize,
|
||||
postGardenSize
|
||||
};
|
||||
@@ -19,9 +19,10 @@ const getSize = (req,res) => {
|
||||
|
||||
const postSize = async (req, res) => {
|
||||
const request = await currentRERequest(req);
|
||||
const nextStep = req.query.nextStep || `/okucnica/${request.uniqueId}`;
|
||||
request.size = req.body.size;
|
||||
await request.save();
|
||||
res.send("Result is " + JSON.stringify(request));
|
||||
res.redirect(nextStep);
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
up: (queryInterface, Sequelize) => {
|
||||
return queryInterface.addColumn(
|
||||
'RealEstateRequests',
|
||||
'gardenSize',
|
||||
{
|
||||
type: Sequelize.ENUM,
|
||||
values: ['100m2', '500m2', '1000m2', '2000m2', '3000m2', 'moreThan3000m2']
|
||||
}
|
||||
);
|
||||
},
|
||||
|
||||
down: (queryInterface, Sequelize) => {
|
||||
return queryInterface.removeColumn(
|
||||
'RealEstateRequests',
|
||||
'gardenSize'
|
||||
);
|
||||
}
|
||||
};
|
||||
@@ -16,6 +16,10 @@ module.exports = (sequelize, DataTypes) => {
|
||||
size: {
|
||||
type: DataTypes.ENUM,
|
||||
values: ['50m2', '70m2', '100m2', '150m2', '200m2', 'moreThan200m2']
|
||||
},
|
||||
gardenSize: {
|
||||
type: DataTypes.ENUM,
|
||||
values: ['100m2', '500m2', '1000m2', '2000m2', '3000m2', 'moreThan3000m2']
|
||||
}
|
||||
}, {});
|
||||
RealEstateRequest.associate = function(models) {
|
||||
|
||||
32
app/views/gardenSize.ejs
Normal file
32
app/views/gardenSize.ejs
Normal file
@@ -0,0 +1,32 @@
|
||||
<!--suppress HtmlUnknownAnchorTarget -->
|
||||
<div class="row center-align">
|
||||
<h2>Koliko okućnice tražite ?</h2>
|
||||
</div>
|
||||
|
||||
<form method="POST" id="form-gardensize">
|
||||
<div class="row center-align">
|
||||
<ul class="collection with-header">
|
||||
<% for(const gardenSize of gardenSizes) { %>
|
||||
<li class="collection-item" >
|
||||
<div id="<%= gardenSize.id %>" ><%= gardenSize.name %>
|
||||
<a href="#!" class="secondary-content">
|
||||
<i class="material-icons">send</i>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
<% } %>
|
||||
</ul>
|
||||
<input type="hidden" name="gardensize" id="gardensize" />
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script>
|
||||
$(document).ready( () => {
|
||||
$(".collection-item").click( (e) => {
|
||||
const clickedId = $(e.target).attr("id");
|
||||
$("#gardensize").val(clickedId);
|
||||
$("#form-gardensize").submit();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
4
index.js
4
index.js
@@ -3,6 +3,7 @@ const { getRealEstateTypes, postRealEstateTypes} = require('./app/controllers/re
|
||||
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');
|
||||
|
||||
let express = require("express");
|
||||
const path = require("path");
|
||||
@@ -125,6 +126,9 @@ app.post('/mjesto/:request_id', postMunicipality);
|
||||
app.get('/povrsina/:request_id', getSize);
|
||||
app.post('/povrsina/:request_id', postSize);
|
||||
|
||||
app.get('/okucnica/:request_id', getGardenSize);
|
||||
app.post('/okucnica/:request_id', postGardenSize);
|
||||
|
||||
|
||||
app.use('/assets', express.static('./app/public'));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user