1
Fork 0
mirror of https://github.com/Steffo99/estus.git synced 2024-11-21 23:24:18 +00:00

Add & patch stuff

This commit is contained in:
Lorenzo 2017-09-19 10:29:57 +02:00 committed by Stefano
parent 073f85b571
commit 7e716c05fd
3 changed files with 48 additions and 10 deletions

View file

@ -124,8 +124,9 @@ class Dispositivo(db.Model):
rete = db.relationship("Rete", backref='dispositivi') rete = db.relationship("Rete", backref='dispositivi')
hostname = db.Column(db.String, unique=True) hostname = db.Column(db.String, unique=True)
so = db.Column(db.String) so = db.Column(db.String)
oid = db.Column(db.Integer, db.ForeignKey('ordini.oid'))
def __init__(self, tipo, marca, modello, inv_ced, inv_ente, fornitore, nid, seriale, ip, hostname, so): def __init__(self, tipo, marca, modello, inv_ced, inv_ente, fornitore, nid, seriale, ip, hostname, so, oid):
self.tipo = tipo self.tipo = tipo
self.marca = marca self.marca = marca
self.modello = modello self.modello = modello
@ -137,6 +138,7 @@ class Dispositivo(db.Model):
self.ip = ip self.ip = ip
self.hostname = hostname self.hostname = hostname
self.so = so self.so = so
self.oid = oid
def __str__(self): def __str__(self):
if self.marca != "" and self.modello != "": if self.marca != "" and self.modello != "":
@ -199,6 +201,8 @@ class Ordine(db.Model):
oid = db.Column(db.Integer, primary_key=True) oid = db.Column(db.Integer, primary_key=True)
data = db.Column(db.Date) data = db.Column(db.Date)
numero_ordine = db.Column(db.String) numero_ordine = db.Column(db.String)
garanzia = db.Column(db.Date)
dispositivo = db.relationship("Dispositivo", backref='ordine', lazy='dynamic', cascade="delete")
def __str__(self): def __str__(self):
if self.numero_ordine is not None: if self.numero_ordine is not None:
@ -524,8 +528,10 @@ def page_disp_add():
"Server", "Stampante di rete", "Switch", "Telefono IP", "Monitor", "Scanner", "Stampante locale"] "Server", "Stampante di rete", "Switch", "Telefono IP", "Monitor", "Scanner", "Stampante locale"]
reti = Rete.query.order_by(Rete.nome).all() reti = Rete.query.order_by(Rete.nome).all()
impiegati = Impiegato.query.order_by(Impiegato.nomeimpiegato).all() impiegati = Impiegato.query.order_by(Impiegato.nomeimpiegato).all()
ordini = Ordine.query.order_by(Ordine.data).all()
return render_template("dispositivo/show.htm", action="add", impiegati=impiegati, opzioni=opzioni, reti=reti, return render_template("dispositivo/show.htm", action="add", impiegati=impiegati, opzioni=opzioni, reti=reti,
pagetype="dev", user=session.get("username"), serial=serial, sistemi=sistemioperativi) pagetype="dev", user=session.get("username"), serial=serial, sistemi=sistemioperativi,
ordini=ordini)
else: else:
if request.form["inv_ced"]: if request.form["inv_ced"]:
try: try:
@ -541,7 +547,8 @@ def page_disp_add():
int(request.form['inv_ced']) if request.form['inv_ced'] else None, int(request.form['inv_ced']) if request.form['inv_ced'] else None,
int(request.form['inv_ente']) if request.form['inv_ente'] else None, int(request.form['inv_ente']) if request.form['inv_ente'] else None,
request.form['fornitore'], request.form['rete'], request.form['seriale'], request.form['fornitore'], request.form['rete'], request.form['seriale'],
request.form['ip'], request.form['hostname'], request.form['so']) request.form['ip'], request.form['hostname'] if request.form['hostname'] else None, request.form['so'],
int(request.form['ordine']) if request.form['ordine'] else None)
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
@ -610,12 +617,13 @@ def page_disp_show(did):
disp = Dispositivo.query.get_or_404(did) disp = Dispositivo.query.get_or_404(did)
accessi = Accesso.query.filter_by(did=did).all() accessi = Accesso.query.filter_by(did=did).all()
impiegati = Impiegato.query.order_by(Impiegato.nomeimpiegato).all() impiegati = Impiegato.query.order_by(Impiegato.nomeimpiegato).all()
ordini = Ordine.query.order_by(Ordine.data).all()
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 = Rete.query.order_by(Rete.nome).all() reti = Rete.query.order_by(Rete.nome).all()
return render_template("dispositivo/show.htm", action="show", dispositivo=disp, accessi=accessi, return render_template("dispositivo/show.htm", action="show", dispositivo=disp, accessi=accessi,
impiegati=impiegati, pagetype="disp", user=session.get("username"), opzioni=opzioni, impiegati=impiegati, pagetype="disp", user=session.get("username"), opzioni=opzioni,
reti=reti, sistemi=sistemioperativi) reti=reti, sistemi=sistemioperativi, ordini=ordini)
else: else:
disp = Dispositivo.query.get_or_404(did) disp = Dispositivo.query.get_or_404(did)
accessi = Accesso.query.filter_by(did=did).all() accessi = Accesso.query.filter_by(did=did).all()
@ -639,8 +647,9 @@ def page_disp_show(did):
disp.fornitore = request.form['fornitore'] disp.fornitore = request.form['fornitore']
disp.nid = int(request.form['rete']) disp.nid = int(request.form['rete'])
disp.ip = request.form['ip'] disp.ip = request.form['ip']
disp.hostname = request.form['hostname'] disp.hostname = request.form['hostname'] if request.form['hostname'] else None
disp.so = request.form['so'] disp.so = request.form['so']
disp.oid = int(request.form['ordine']) if request.form['ordine'] else None
# Trova tutti gli utenti, edizione sporco hack in html # Trova tutti gli utenti, edizione sporco hack in html
users = list() users = list()
while True: while True:
@ -669,10 +678,11 @@ def page_disp_clone(did):
impiegati = Impiegato.query.order_by(Impiegato.nomeimpiegato).all() impiegati = Impiegato.query.order_by(Impiegato.nomeimpiegato).all()
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"]
ordini = Ordine.query.order_by(Ordine.data).all()
reti = Rete.query.order_by(Rete.nome).all() reti = Rete.query.order_by(Rete.nome).all()
return render_template("dispositivo/show.htm", action="clone", dispositivo=disp, accessi=accessi, return render_template("dispositivo/show.htm", action="clone", dispositivo=disp, accessi=accessi,
impiegati=impiegati, pagetype="disp", user=session.get("username"), opzioni=opzioni, impiegati=impiegati, pagetype="disp", user=session.get("username"), opzioni=opzioni,
reti=reti, sistemi=sistemioperativi) reti=reti, sistemi=sistemioperativi, ordini=ordini)
else: else:
if request.form["inv_ced"]: if request.form["inv_ced"]:
try: try:
@ -688,7 +698,8 @@ def page_disp_clone(did):
int(request.form['inv_ced']) if request.form['inv_ced'] else None, int(request.form['inv_ced']) if request.form['inv_ced'] else None,
int(request.form['inv_ente']) if request.form['inv_ente'] else None, int(request.form['inv_ente']) if request.form['inv_ente'] else None,
request.form['fornitore'], request.form['rete'], request.form['seriale'], request.form['fornitore'], request.form['rete'], request.form['seriale'],
request.form['ip'], request.form['hostname'], request.form['so']) request.form['ip'], request.form['hostname'] if request.form['hostname'] else None, request.form['so'],
int(request.form['ordine']) if request.form['ordine'] else None)
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
@ -855,7 +866,12 @@ def page_order_add():
data = datetime.date(int(yyyy), int(mm), int(dd)) data = datetime.date(int(yyyy), int(mm), int(dd))
else: else:
data = None data = None
nuovoordine = Ordine(data=data, numero_ordine=request.form["numero_ordine"]) if request.form["garanzia"] != "":
yyyy, mm, dd = request.form["garanzia"].split("-", 2)
garanzia = datetime.date(int(yyyy), int(mm), int(dd))
else:
garanzia = None
nuovoordine = Ordine(data=data, numero_ordine=request.form["numero_ordine"], garanzia=garanzia)
db.session.add(nuovoordine) db.session.add(nuovoordine)
db.session.commit() db.session.commit()
return redirect(url_for("page_order_list")) return redirect(url_for("page_order_list"))
@ -877,6 +893,11 @@ def page_order_show(oid):
order.data = datetime.date(int(yyyy), int(mm), int(dd)) order.data = datetime.date(int(yyyy), int(mm), int(dd))
else: else:
order.data = None order.data = None
if request.form["garanzia"] != "":
yyyy, mm, dd = request.form["garanzia"].split("-", 2)
order.garanzia = datetime.date(int(yyyy), int(mm), int(dd))
else:
order.garanzia = None
order.numero_ordine = request.form["numero_ordine"] order.numero_ordine = request.form["numero_ordine"]
db.session.commit() db.session.commit()
return redirect(url_for("page_order_list")) return redirect(url_for("page_order_list"))

View file

@ -27,14 +27,19 @@
function calchostname() { function calchostname() {
var comune = prompt("Inserisci le due lettere corrispondenti al comune in cui verrà collocato il dispositivo. (Es: VG)"); var comune = prompt("Inserisci le due lettere corrispondenti al comune in cui verrà collocato il dispositivo. (Es: VG)");
var anno = prompt("Inserisci le ultime due cifre dell'anno di acquisto di questo dispositivo. (Es: 17)"); var anno = $("#form-ordine").find(":selected").text().substring(2,4);
if(anno === "")
{
anno = prompt("Inserisci l'anno d'acquisto del dispositivo. (Es: 17)")
}
var servizio = prompt("Inserisci le tre lettere corrispondenti al servizio di destinazione del dispositivo. (Es. SCU)");
var inv = $("#form-ced").val(); var inv = $("#form-ced").val();
if(inv === "") if(inv === "")
{ {
inv = prompt("Inserisci il numero dell'inventario del dispositivo. (Es: 0351)"); inv = prompt("Inserisci il numero dell'inventario del dispositivo. (Es: 0351)");
} }
var proprietario = prompt("Inserisci la lettera corrispondente al proprietario del dispositivo. (Es: U)"); var proprietario = prompt("Inserisci la lettera corrispondente al proprietario del dispositivo. (Es: U)");
$("#form-hostname").val(comune + anno + inv + proprietario); $("#form-hostname").val(comune + anno + servizio + inv.padStart(4, "0") + proprietario);
} }
{% if dispositivo %} {% if dispositivo %}
@ -69,6 +74,17 @@
</select> </select>
</div> </div>
</div> </div>
<div class="form-group">
<label class="col-xs-2" for="form-ordine">Ordine di appartenenza</label>
<div class="col-xs-10">
<select id="form-ordine" class="form-control" name="ordine">
<option value=""></option>
{% for ordine in ordini %}
<option value="{{ ordine.oid }}" {% if dispositivo and ordine.oid == dispositivo.oid %}selected{% endif %}>{{ ordine.data }} #{{ ordine.numero_ordine }}</option>
{% endfor %}
</select>
</div>
</div>
<div class="form-group"> <div class="form-group">
<label class="col-xs-2" for="form-so">Sistema operativo</label> <label class="col-xs-2" for="form-so">Sistema operativo</label>
<div class="col-xs-10"> <div class="col-xs-10">

View file

@ -14,6 +14,7 @@
<form class="form-inline" {% if order %}action="/order_show/{{ order.oid }}"{% endif %} method="post"> <form class="form-inline" {% if order %}action="/order_show/{{ order.oid }}"{% endif %} method="post">
<input class="form-control" type="date" placeholder="yyyy-mm-dd" pattern="[0-9]{4}-[0-9]{2}-[0-9]{2}" name="data" {% if order %}value="{{ order.data }}"{% endif %}> <input class="form-control" type="date" placeholder="yyyy-mm-dd" pattern="[0-9]{4}-[0-9]{2}-[0-9]{2}" name="data" {% if order %}value="{{ order.data }}"{% endif %}>
<input class="form-control" type="text" placeholder="Numero ordine" name="numero_ordine" {% if order %}value="{{ order.numero_ordine }}"{% endif %}> <input class="form-control" type="text" placeholder="Numero ordine" name="numero_ordine" {% if order %}value="{{ order.numero_ordine }}"{% endif %}>
<input class="form-control" type="date" placeholder="yyyy-mm-dd" pattern="[0-9]{4}-[0-9]{2}-[0-9]{2}" name="garanzia" {% if order %}value="{{ order.garanzia }}"{% endif %}>
<input class="btn btn-primary" type="submit"> <input class="btn btn-primary" type="submit">
</form> </form>
{% endblock %} {% endblock %}