mirror of
https://github.com/Steffo99/estus.git
synced 2024-11-21 23:24:18 +00:00
Add Network Table and Network field in Device table
This commit is contained in:
parent
bcabb2b83c
commit
508b428c30
7 changed files with 135 additions and 3 deletions
57
server.py
57
server.py
|
@ -84,14 +84,17 @@ class Dispositivo(db.Model):
|
||||||
inv_ced = db.Column(db.String(8))
|
inv_ced = db.Column(db.String(8))
|
||||||
inv_ente = db.Column(db.String(8))
|
inv_ente = db.Column(db.String(8))
|
||||||
fornitore = db.Column(db.String(64))
|
fornitore = db.Column(db.String(64))
|
||||||
|
nid = db.Column(db.Integer, db.ForeignKey('network.nid'))
|
||||||
|
rete = db.relationship("Network", backref='dispositivo')
|
||||||
|
|
||||||
def __init__(self, tipo, marca, modello, inv_ced, inv_ente, fornitore):
|
def __init__(self, tipo, marca, modello, inv_ced, inv_ente, fornitore, nid):
|
||||||
self.tipo = tipo
|
self.tipo = tipo
|
||||||
self.marca = marca
|
self.marca = marca
|
||||||
self.modello = modello
|
self.modello = modello
|
||||||
self.inv_ced = inv_ced
|
self.inv_ced = inv_ced
|
||||||
self.inv_ente = inv_ente
|
self.inv_ente = inv_ente
|
||||||
self.fornitore = fornitore
|
self.fornitore = fornitore
|
||||||
|
self.nid = nid
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "<Dispositivo {}>".format(self.inv_ced)
|
return "<Dispositivo {}>".format(self.inv_ced)
|
||||||
|
@ -109,6 +112,19 @@ class Accesso(db.Model):
|
||||||
return "<Accesso {} su {}>".format(self.iid, self.did)
|
return "<Accesso {} su {}>".format(self.iid, self.did)
|
||||||
|
|
||||||
|
|
||||||
|
class Network(db.Model):
|
||||||
|
nid = db.Column(db.Integer, primary_key=True)
|
||||||
|
nome = db.Column(db.String(80))
|
||||||
|
ip = db.Column(db.String(20))
|
||||||
|
|
||||||
|
def __init__(self, nome, ip):
|
||||||
|
self.nome=nome
|
||||||
|
self.ip=ip
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return "<Rete {},{}>".format(self.nid, self.nome)
|
||||||
|
|
||||||
|
|
||||||
class FakeAccesso:
|
class FakeAccesso:
|
||||||
def __init__(self, dispositivo):
|
def __init__(self, dispositivo):
|
||||||
self.did = dispositivo.did
|
self.did = dispositivo.did
|
||||||
|
@ -356,13 +372,14 @@ def page_disp_add():
|
||||||
if request.method == 'GET':
|
if request.method == 'GET':
|
||||||
opzioni = ["Centralino", "Dispositivo generico di rete", "Marcatempo", "PC", "Portatile", "POS", "Router",
|
opzioni = ["Centralino", "Dispositivo generico di rete", "Marcatempo", "PC", "Portatile", "POS", "Router",
|
||||||
"Server", "Stampante di rete", "Switch", "Telefono IP", "Monitor", "Scanner", "Stampante locale"]
|
"Server", "Stampante di rete", "Switch", "Telefono IP", "Monitor", "Scanner", "Stampante locale"]
|
||||||
|
reti = Network.query.all()
|
||||||
impiegati = Impiegato.query.all()
|
impiegati = Impiegato.query.all()
|
||||||
css = url_for("static", filename="style.css")
|
css = url_for("static", filename="style.css")
|
||||||
return render_template("dispositivo/add.htm", css=css, impiegati=impiegati, opzioni=opzioni, type="dev",
|
return render_template("dispositivo/add.htm", css=css, impiegati=impiegati, opzioni=opzioni, reti=reti, type="dev",
|
||||||
user=session["username"])
|
user=session["username"])
|
||||||
else:
|
else:
|
||||||
nuovodisp = Dispositivo(request.form['tipo'], request.form['marca'], request.form['modello'],
|
nuovodisp = Dispositivo(request.form['tipo'], request.form['marca'], request.form['modello'],
|
||||||
request.form['inv_ced'], request.form['inv_ente'], request.form['fornitore'])
|
request.form['inv_ced'], request.form['inv_ente'], request.form['fornitore'], request.form['rete'])
|
||||||
db.session.add(nuovodisp)
|
db.session.add(nuovodisp)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
# Trova tutti gli utenti, edizione sporco hack in html
|
# Trova tutti gli utenti, edizione sporco hack in html
|
||||||
|
@ -427,6 +444,40 @@ def page_details_imp(iid):
|
||||||
css = url_for("static", filename="style.css")
|
css = url_for("static", filename="style.css")
|
||||||
return render_template("impiegato/details.htm", css=css, imp=impiegato, type="imp",user=session["username"])
|
return render_template("impiegato/details.htm", css=css, imp=impiegato, type="imp",user=session["username"])
|
||||||
|
|
||||||
|
|
||||||
|
@app.route('/net_add', methods=['GET', 'POST'])
|
||||||
|
def page_net_add():
|
||||||
|
if 'username' not in session:
|
||||||
|
return redirect(url_for('page_login'))
|
||||||
|
if request.method == 'GET':
|
||||||
|
css = url_for("static", filename="style.css")
|
||||||
|
return render_template("net/add.htm", css=css, type="net", user=session["username"])
|
||||||
|
else:
|
||||||
|
nuovonet = Network(request.form['nomerete'], request.form['ip'])
|
||||||
|
db.session.add(nuovonet)
|
||||||
|
db.session.commit()
|
||||||
|
return redirect(url_for('page_net_list'))
|
||||||
|
|
||||||
|
|
||||||
|
@app.route('/net_del/<int:nid>')
|
||||||
|
def page_ned_del(nid):
|
||||||
|
if 'username' not in session:
|
||||||
|
return redirect(url_for('page_login'))
|
||||||
|
rete = Network.query.get(nid)
|
||||||
|
db.session.delete(rete)
|
||||||
|
db.session.commit()
|
||||||
|
return redirect(url_for('page_net_list'))
|
||||||
|
|
||||||
|
|
||||||
|
@app.route('/net_list')
|
||||||
|
def page_net_list():
|
||||||
|
if 'username' not in session:
|
||||||
|
return redirect(url_for('page_login'))
|
||||||
|
reti = Network.query.all()
|
||||||
|
css = url_for("static", filename="style.css")
|
||||||
|
return render_template("net/list.htm", css=css, reti=reti, type="net", user=session["username"])
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
#db.create_all()
|
#db.create_all()
|
||||||
#p = b"admin"
|
#p = b"admin"
|
||||||
|
|
|
@ -78,6 +78,16 @@
|
||||||
<input id="form-fornitore" class="form-control" type="text" placeholder="Fornitore" name="fornitore">
|
<input id="form-fornitore" class="form-control" type="text" placeholder="Fornitore" name="fornitore">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-xs-2" for="">Rete</label>
|
||||||
|
<div class="col-xs-10">
|
||||||
|
<select id="form-rete" class="form-control" name="rete">
|
||||||
|
{% for rete in reti %}
|
||||||
|
<option value="{{ rete.nid }}">{{ rete.nome }} - {{ rete.ip }}</option>
|
||||||
|
{% endfor %}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-xs-2" for="form-control"></label>
|
<label class="col-xs-2" for="form-control"></label>
|
||||||
<div class="col-xs-10">
|
<div class="col-xs-10">
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
<td>{{ d[0].dispositivo.marca }}</td>
|
<td>{{ d[0].dispositivo.marca }}</td>
|
||||||
<td>{{ d[0].dispositivo.modello }}</td>
|
<td>{{ d[0].dispositivo.modello }}</td>
|
||||||
<td>{{ d[0].dispositivo.fornitore }}</td>
|
<td>{{ d[0].dispositivo.fornitore }}</td>
|
||||||
|
<td>{{ d[0].dispositivo.rete.nome }}</td>
|
||||||
<td><a href="/disp_details/{{ d[0].did }}"><span class="glyphicon glyphicon-list-alt"></span></a></td>
|
<td><a href="/disp_details/{{ d[0].did }}"><span class="glyphicon glyphicon-list-alt"></span></a></td>
|
||||||
<td><a href="/disp_del/{{ d[0].did }}"><span class="glyphicon glyphicon-remove"></span></a></td>
|
<td><a href="/disp_del/{{ d[0].did }}"><span class="glyphicon glyphicon-remove"></span></a></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
<li class="{% if type is equalto "serv" %}active{% endif %}"><a href="/serv_list">Servizi</a></li>
|
<li class="{% if type is equalto "serv" %}active{% endif %}"><a href="/serv_list">Servizi</a></li>
|
||||||
<li class="{% if type is equalto "imp" %}active{% endif %}"><a href="/imp_list">Impiegati</a></li>
|
<li class="{% if type is equalto "imp" %}active{% endif %}"><a href="/imp_list">Impiegati</a></li>
|
||||||
<li class="{% if type is equalto "disp" %}active{% endif %}"><a href="/disp_list">Dispositivi</a></li>
|
<li class="{% if type is equalto "disp" %}active{% endif %}"><a href="/disp_list">Dispositivi</a></li>
|
||||||
|
<li class="{% if type is equalto "net" %}active{% endif %}"><a href="/net_list">Reti</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="nav navbar-nav navbar-right">
|
<ul class="nav navbar-nav navbar-right">
|
||||||
<p class="navbar-text">
|
<p class="navbar-text">
|
||||||
|
|
11
templates/net/add.htm
Normal file
11
templates/net/add.htm
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{% extends "base.htm" %}
|
||||||
|
{% block content %}
|
||||||
|
<h1>
|
||||||
|
Aggiunta nuova rete
|
||||||
|
</h1>
|
||||||
|
<form class="form-inline" action="/net_add" method="post">
|
||||||
|
<input class="form-control" type="text" placeholder="Nome rete" name="nomerete">
|
||||||
|
<input class="form-control" type="text" placeholder="Set IP" name="ip">
|
||||||
|
<input class="btn btn-primary" type="submit">
|
||||||
|
</form>
|
||||||
|
{% endblock %}
|
33
templates/net/details.htm
Normal file
33
templates/net/details.htm
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
{% extends "base.htm" %}
|
||||||
|
{% block title %}Dettagli Impiegato{% endblock %}
|
||||||
|
{% block content %}
|
||||||
|
<h1>
|
||||||
|
Ispeziona Rete
|
||||||
|
</h1>
|
||||||
|
<ul class="list-group">
|
||||||
|
<li class="list-group-item">
|
||||||
|
<h4 class="list-group-item-heading">
|
||||||
|
Nome Rete
|
||||||
|
</h4>
|
||||||
|
<div class="list-group-item-text">
|
||||||
|
{{ imp.nomeimpiegato }}
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="list-group-item">
|
||||||
|
<h4 class="list-group-item-heading">
|
||||||
|
IP
|
||||||
|
</h4>
|
||||||
|
<div class="list-group-item-text">
|
||||||
|
{{ imp.username }}
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="list-group-item">
|
||||||
|
<h4 class="list-group-item-heading">
|
||||||
|
Dispositivi
|
||||||
|
</h4>
|
||||||
|
<div class="list-group-item-text">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
{% endblock %}
|
25
templates/net/list.htm
Normal file
25
templates/net/list.htm
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{% extends "base.htm" %}
|
||||||
|
{% block content %}
|
||||||
|
<h1>
|
||||||
|
Reti esistenti
|
||||||
|
</h1>
|
||||||
|
<table class="table table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Nome Rete</th>
|
||||||
|
<th>IP</th>
|
||||||
|
<th>Ispeziona</th>
|
||||||
|
<th>Elimina</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tr>
|
||||||
|
{% for rete in reti %}
|
||||||
|
<td>{{ rete.nome }}</td>
|
||||||
|
<td>{{ rete.ip }}</td>
|
||||||
|
<td><a href="/disp_details/{{ rete.nid }}"><span class="glyphicon glyphicon-list-alt"></span></a></td>
|
||||||
|
<td><a href="/net_del/{{ rete.nid }}"><span class="glyphicon glyphicon-remove"></span></a></td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
<a class="btn btn-success" href="/net_add">Aggiungi</a>
|
||||||
|
{% endblock %}
|
Loading…
Reference in a new issue