add size screen
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
const { currentRERequest } = require('../helpers/url');
|
const { currentRERequest } = require('../helpers/url');
|
||||||
const { getMunicipalitiesForRegion } = require('../helpers/codes');
|
const { getMunicipalitiesForRegion } = require('../helpers/codes');
|
||||||
|
|
||||||
const getMunicipality = async (req,res) => {
|
const getMunicipality = async (req,res) => {
|
||||||
@@ -12,10 +12,11 @@ const getMunicipality = async (req,res) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const postMunicipality = async (req, res) => {
|
const postMunicipality = async (req, res) => {
|
||||||
let request = await currentRERequest(req);
|
const request = await currentRERequest(req);
|
||||||
|
const nextStep = req.query.nextStep || `/povrsina/${request.uniqueId}`;
|
||||||
request.municipality = req.body.municipality;
|
request.municipality = req.body.municipality;
|
||||||
await request.save();
|
await request.save();
|
||||||
res.send("Result is " + JSON.stringify(request));
|
res.redirect(nextStep);
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|||||||
30
app/controllers/sizes.js
Normal file
30
app/controllers/sizes.js
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
const { currentRERequest } = require('../helpers/url');
|
||||||
|
|
||||||
|
const sizes = [
|
||||||
|
{ name: "do 50 m2", id: "50m2" },
|
||||||
|
{ name: "do 75 m2", id: "70m2" },
|
||||||
|
{ name: "do 100 m2", id: "100m2" },
|
||||||
|
{ name: "do 150 m2", id: "150m2" },
|
||||||
|
{ name: "do 200 m2", id: "200m2" },
|
||||||
|
{ name: "preko 200 m2", id: "moreThan200m2" }
|
||||||
|
];
|
||||||
|
|
||||||
|
const getSize = (req,res) => {
|
||||||
|
const nextStep = req.query.nextStep;
|
||||||
|
res.render('size', {
|
||||||
|
nextStep,
|
||||||
|
sizes
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const postSize = async (req, res) => {
|
||||||
|
const request = await currentRERequest(req);
|
||||||
|
request.size = req.body.size;
|
||||||
|
await request.save();
|
||||||
|
res.send("Result is " + JSON.stringify(request));
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
getSize,
|
||||||
|
postSize
|
||||||
|
};
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
up: (queryInterface, Sequelize) => {
|
||||||
|
return queryInterface.addColumn(
|
||||||
|
'RealEstateRequests',
|
||||||
|
'size',
|
||||||
|
{
|
||||||
|
type: Sequelize.ENUM,
|
||||||
|
values: ['50m2', '70m2', '100m2', '150m2', '200m2', 'moreThan200m2']
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
down: (queryInterface, Sequelize) => {
|
||||||
|
return queryInterface.removeColumn(
|
||||||
|
'RealEstateRequests',
|
||||||
|
'size'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -13,6 +13,10 @@ module.exports = (sequelize, DataTypes) => {
|
|||||||
email: DataTypes.STRING,
|
email: DataTypes.STRING,
|
||||||
region: DataTypes.STRING,
|
region: DataTypes.STRING,
|
||||||
municipality: DataTypes.STRING,
|
municipality: DataTypes.STRING,
|
||||||
|
size: {
|
||||||
|
type: DataTypes.ENUM,
|
||||||
|
values: ['50m2', '70m2', '100m2', '150m2', '200m2', 'moreThan200m2']
|
||||||
|
}
|
||||||
}, {});
|
}, {});
|
||||||
RealEstateRequest.associate = function(models) {
|
RealEstateRequest.associate = function(models) {
|
||||||
// associations can be defined here
|
// associations can be defined here
|
||||||
|
|||||||
32
app/views/size.ejs
Normal file
32
app/views/size.ejs
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<!--suppress HtmlUnknownAnchorTarget -->
|
||||||
|
<div class="row center-align">
|
||||||
|
<h2>Do koliko kvadrata tražite nekretninu ?</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form method="POST" id="form-size">
|
||||||
|
<div class="row center-align">
|
||||||
|
<ul class="collection with-header">
|
||||||
|
<% for(const size of sizes) { %>
|
||||||
|
<li class="collection-item" >
|
||||||
|
<div id="<%= size.id %>" ><%= size.name %>
|
||||||
|
<a href="#!" class="secondary-content">
|
||||||
|
<i class="material-icons">send</i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<% } %>
|
||||||
|
</ul>
|
||||||
|
<input type="hidden" name="size" id="size" />
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(document).ready( () => {
|
||||||
|
$(".collection-item").click( (e) => {
|
||||||
|
const clickedId = $(e.target).attr("id");
|
||||||
|
$("#size").val(clickedId);
|
||||||
|
$("#form-size").submit();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
4
index.js
4
index.js
@@ -2,6 +2,7 @@ const welcome = require('./app/controllers/welcome').getWelcome;
|
|||||||
const { getRealEstateTypes, postRealEstateTypes} = require('./app/controllers/realEstateTypes');
|
const { getRealEstateTypes, postRealEstateTypes} = require('./app/controllers/realEstateTypes');
|
||||||
const { getRegion, postRegion } = require('./app/controllers/regions');
|
const { getRegion, postRegion } = require('./app/controllers/regions');
|
||||||
const { getMunicipality, postMunicipality } = require('./app/controllers/municipalities');
|
const { getMunicipality, postMunicipality } = require('./app/controllers/municipalities');
|
||||||
|
const { getSize, postSize } = require('./app/controllers/sizes');
|
||||||
|
|
||||||
let express = require("express");
|
let express = require("express");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
@@ -121,6 +122,9 @@ app.post('/grad/:request_id', postRegion);
|
|||||||
app.get('/mjesto/:request_id', getMunicipality);
|
app.get('/mjesto/:request_id', getMunicipality);
|
||||||
app.post('/mjesto/:request_id', postMunicipality);
|
app.post('/mjesto/:request_id', postMunicipality);
|
||||||
|
|
||||||
|
app.get('/povrsina/:request_id', getSize);
|
||||||
|
app.post('/povrsina/:request_id', postSize);
|
||||||
|
|
||||||
|
|
||||||
app.use('/assets', express.static('./app/public'));
|
app.use('/assets', express.static('./app/public'));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user