\o/
This commit is contained in:
116
src/c/Borne.py
116
src/c/Borne.py
@@ -1,4 +1,4 @@
|
||||
from PyQt4 import QtGui
|
||||
from PyQt4 import QtGui, QtCore
|
||||
|
||||
from src.c.Teleporteur import Teleporteur
|
||||
from src.m.Parking import Placement
|
||||
@@ -18,9 +18,9 @@ class Borne:
|
||||
Controleur de la vue des bornes permettant l'accès au parking
|
||||
"""
|
||||
bornes = []
|
||||
|
||||
@staticmethod
|
||||
def MajBornes():
|
||||
print(Borne.bornes)
|
||||
for b in Borne.bornes:
|
||||
b.MajBorne()
|
||||
|
||||
@@ -28,9 +28,10 @@ class Borne:
|
||||
self.__ui.lcdNumber.display(self.__parking.nbPlacesLibresParking)
|
||||
|
||||
def __init__(self, main, parking):
|
||||
self.__nomBorne = "Borne " + str(len(self.bornes) + 1)
|
||||
self.__parking = parking
|
||||
self.__main = main
|
||||
self.__main.activity("Affichage Borne", self.__main.lvl.INFO)
|
||||
self.__main.activity("Affichage " + self.__nomBorne, self.__main.lvl.INFO)
|
||||
|
||||
self.__w = MyQWidget(self.__main)
|
||||
self.__ui = Ui_Borne()
|
||||
@@ -48,14 +49,18 @@ class Borne:
|
||||
|
||||
|
||||
# Validator
|
||||
|
||||
|
||||
validatorText = QtGui.QRegExpValidator(QtCore.QRegExp('^([a-zA-Z\'àâéèêôùûçñãõÀÂÉÈÔÙÛÑÃÕÇ\s-]{2,30})$'))
|
||||
validatorCB = QtGui.QRegExpValidator(QtCore.QRegExp('^([0-9]*)$'))
|
||||
self.__ui.nomLineEdit.setValidator(validatorText)
|
||||
self.__ui.prenomLineEdit.setValidator(validatorText)
|
||||
self.__ui.lieuLineEdit_2.setValidator(validatorText)
|
||||
self.__ui.numeroCarteLineEdit.setValidator(validatorCB)
|
||||
|
||||
self.__ui.label_aff.setStyleSheet("qproperty-alignment: AlignCenter; font-size: 28px")
|
||||
self.__ui.nomParking.setStyleSheet("qproperty-alignment: AlignCenter; font-size: 28px")
|
||||
self.nonVoiture()
|
||||
self.showWindow()
|
||||
self.__ui.nomParking.setText("Borne " + str(len(self.bornes)+1) + " - Parking : " +parking.nom)
|
||||
self.__ui.nomParking.setText(self.__nomBorne + " - Parking : " + parking.nom)
|
||||
Borne.bornes.append(self)
|
||||
Borne.MajBornes()
|
||||
|
||||
@@ -75,6 +80,7 @@ class Borne:
|
||||
Met en etat initial de départ sans voiture
|
||||
:return:
|
||||
"""
|
||||
self.__main.activity(self.__nomBorne + " : En Attente d'une voiture", self.__main.lvl.INFO)
|
||||
self.__ui.label_aff.setText("Dream park")
|
||||
self.__c = None
|
||||
self.__ui.box_abo.setDisabled(True)
|
||||
@@ -101,6 +107,7 @@ class Borne:
|
||||
"""
|
||||
self.__ui.btn_Voiture.setDisabled(True)
|
||||
self.__v_actuel = Camera.donnerVoiture()
|
||||
self.__main.activity(self.__nomBorne + " : Arrivee : " + str(self.__v_actuel), self.__main.lvl.INFO)
|
||||
self.__ui.box_abo.setDisabled(False)
|
||||
self.__ui.box_garer.setDisabled(False)
|
||||
self.__ui.box_id.setDisabled(False)
|
||||
@@ -113,16 +120,24 @@ class Borne:
|
||||
Gestion de l'identification a partir d'un abo a partir de son id (lineedit)
|
||||
:return:
|
||||
"""
|
||||
try :
|
||||
try:
|
||||
self.__c = Client(self.__ui.lineEdit_id.text())
|
||||
self.__ui.label_aff.setText("Bonjour " + str(self.__c.nom) + " " + str(self.__c.prenom))
|
||||
self.__ui.labIdClient.setText("Vous étes identifier")
|
||||
self.__ui.box_id.setDisabled(True)
|
||||
self.__ui.box_service.setDisabled(False)
|
||||
self.__ui.btn_desabo.setDisabled(False)
|
||||
except Exception :
|
||||
self.__v_actuel.setClient(self.__c)
|
||||
self.__main.activity(self.__nomBorne + " : Mise a jour : " + str(self.__v_actuel), self.__main.lvl.INFO)
|
||||
self.__main.activity(self.__nomBorne + " : Identification : " + str(self.__c), self.__main.lvl.INFO)
|
||||
except IndexError:
|
||||
self.__ui.label_aff.setText("Echec identification")
|
||||
self.__ui.labIdClient.setText("Non identifier")
|
||||
self.__main.activity(self.__nomBorne + " : Identifiant Invalide", self.__main.lvl.INFO)
|
||||
except Exception as e:
|
||||
self.error("Une erreur est survenu lors de votre identification")
|
||||
self.__main.activity(self.__nomBorne + " : Erreur lors de l'indentification " + str(e),
|
||||
self.__main.lvl.FAIL)
|
||||
|
||||
def abo(self):
|
||||
"""
|
||||
@@ -135,6 +150,7 @@ class Borne:
|
||||
"",
|
||||
TypeAbonnement.SUPER_ABONNE)
|
||||
self.__ui.label_aff.setText("Mise a jour de votre abonnement effectué")
|
||||
self.__main.activity(self.__nomBorne + " : Mise à jour : " + str(self.__c), self.__main.lvl.INFO)
|
||||
else:
|
||||
if self.__ui.checkBox.isChecked():
|
||||
self.__c = Client(None,
|
||||
@@ -148,16 +164,18 @@ class Borne:
|
||||
str(self.__ui.prenomLineEdit.text()),
|
||||
"",
|
||||
TypeAbonnement.ABONNE)
|
||||
self.__ui.label_aff.setText("Votre id membre est : " + self.__c.id)
|
||||
self.identification()
|
||||
self.__main.activity(self.__nomBorne + " : Ajout : " + str(self.__c), self.__main.lvl.INFO)
|
||||
self.__ui.label_aff.setText("Votre id membre est : " + self.__c.id)
|
||||
self.__ui.lineEdit_id.setText(self.__c.id)
|
||||
self.identification()
|
||||
|
||||
|
||||
def garer(self):
|
||||
"""
|
||||
Gestion de la validation de garer son vehicule
|
||||
:return:
|
||||
"""
|
||||
id = None
|
||||
placement = None
|
||||
if self.__c is None:
|
||||
p = self.__parking.recherchePlace(self.__v_actuel)
|
||||
if p is not None:
|
||||
@@ -165,21 +183,27 @@ class Borne:
|
||||
else:
|
||||
if self.__c.abonnement != TypeAbonnement.SUPER_ABONNE:
|
||||
p = self.__parking.recherchePlace(self.__v_actuel)
|
||||
if p is not None :
|
||||
if p is not None:
|
||||
placement = Teleporteur.teleporterVoiture(self.__v_actuel, p)
|
||||
if self.__ui.checkBox_Livraison_2.isChecked():
|
||||
Service(None, self.__c, placement, TypeService.LIVRAISON)
|
||||
s = Service(None, self.__c, placement, TypeService.LIVRAISON)
|
||||
self.__main.activity(self.__nomBorne + " : Nouveau : " + str(s), self.__main.lvl.INFO)
|
||||
if self.__ui.checkBox_Entretien_2.isChecked():
|
||||
Service(None, self.__c, placement, TypeService.ENTRETIEN)
|
||||
s = Service(None, self.__c, placement, TypeService.ENTRETIEN)
|
||||
self.__main.activity(self.__nomBorne + " : Nouveau : " + str(s), self.__main.lvl.INFO)
|
||||
if self.__ui.checkBox_Maintenance_2.isChecked():
|
||||
Service(None, self.__c, placement, TypeService.MAINTENANCE)
|
||||
s = Service(None, self.__c, placement, TypeService.MAINTENANCE)
|
||||
self.__main.activity(self.__nomBorne + " : Nouveau : " + str(s), self.__main.lvl.INFO)
|
||||
else:
|
||||
placement = Teleporteur.teleporterVoitureSuperAbonne(self.__v_actuel, self.__parking)
|
||||
if placement is not None:
|
||||
self.nonVoiture()
|
||||
self.ticketDepot(placement.id)
|
||||
self.__main.activity(self.__nomBorne + " : Nouveau : " + str(placement), self.__main.lvl.INFO)
|
||||
else:
|
||||
self.__ui.label_aff.setText("Aucune Place Correspondante. Devenez Super Abonné!")
|
||||
self.__main.activity(self.__nomBorne + " : Pas de place dispo pour " + str(self.__v_actuel),
|
||||
self.__main.lvl.INFO)
|
||||
|
||||
|
||||
def recuperer(self):
|
||||
@@ -187,26 +211,58 @@ class Borne:
|
||||
Essaie de recuperer une voiture avec le numero de ticket (lineedit)
|
||||
:return:
|
||||
"""
|
||||
try :
|
||||
p = Placement.get(self.__ui.numeroTicketLineEdit.text())
|
||||
Teleporteur.teleporterVersSortie(p)
|
||||
self.nonVoiture()
|
||||
self.ticketDepot(id)
|
||||
p = None
|
||||
try:
|
||||
p = Placement(self.__ui.numeroTicketLineEdit.text())
|
||||
except IndexError:
|
||||
self.__ui.label_aff.setText("Mauvais numero de ticket")
|
||||
self.__main.activity(self.__nomBorne + " : Mauvais numero de ticket", self.__main.lvl.INFO)
|
||||
try:
|
||||
Teleporteur.teleporterVersSortie(p)
|
||||
except Exception:
|
||||
self.__ui.label_aff.setText("Voiture déjà recuperé")
|
||||
self.__main.activity(self.__nomBorne + " : Recuperation déjà effectué : " + str(p), self.__main.lvl.INFO)
|
||||
if p is not None:
|
||||
self.nonVoiture()
|
||||
self.ticketRetrait(p, Service.getAllServicePlacement(p))
|
||||
self.__main.activity(self.__nomBorne + " : Recuperation : " + str(p), self.__main.lvl.INFO)
|
||||
|
||||
def ticketDepot(self, id):
|
||||
QtGui.QMessageBox.information(self.__w,
|
||||
"Ticket",
|
||||
"Votre numero ticket : " + str(id)
|
||||
"Ticket",
|
||||
"Votre numero ticket : " + str(id)
|
||||
)
|
||||
|
||||
def ticketRetrait(self):
|
||||
def ticketRetrait(self, placement, services):
|
||||
if placement.voiture.client == "NULL":
|
||||
prix = placement.place.typePlace.prix
|
||||
s = "Prix : " + str(prix) + "€" + \
|
||||
"\nMerci de votre confiance! Bonne journée !"
|
||||
else:
|
||||
prix = placement.place.typePlace.prix - placement.place.typePlace.prix * 10 / 100
|
||||
s = "Prix : " + str(placement.place.typePlace.prix) + "- 10% = " + \
|
||||
str(prix) + "€"
|
||||
for service in services:
|
||||
if service.typeService == TypeService.MAINTENANCE:
|
||||
name = "Maintenance"
|
||||
elif service.typeService == TypeService.ENTRETIEN:
|
||||
name = "Entretien"
|
||||
else:
|
||||
name = "Autre Service"
|
||||
|
||||
if service.estRealiser():
|
||||
s += "\nService : " + name + " + 2€"
|
||||
else:
|
||||
s += "\nNous n'avons pas pu réaliser le service" + name + "."
|
||||
s += "\nVeuillez nous excuser de la gène ocassionée."
|
||||
s += "Le Montant sera débiter automatiquement sur votre compte."
|
||||
s += "\nMerci de votre confiance! Bonne journée !"
|
||||
QtGui.QMessageBox.information(self.__w,
|
||||
"Ticket",
|
||||
"Merci de votre confiance! Bonne journée !"
|
||||
"Ticket",
|
||||
str(s)
|
||||
)
|
||||
|
||||
|
||||
def showWindow(self):
|
||||
"""
|
||||
Gestion affichage de la vue borne
|
||||
@@ -221,16 +277,16 @@ class Borne:
|
||||
Gestion de sortie de la vue borne
|
||||
:return:
|
||||
"""
|
||||
self.__main.activity(self.__nomBorne + " : Quitter", self.__main.lvl.INFO)
|
||||
self.__main.showWindow()
|
||||
|
||||
|
||||
def error(self):
|
||||
def error(self, msg):
|
||||
"""
|
||||
Qdialog message erreur
|
||||
:return:
|
||||
"""
|
||||
QtGui.QMessageBox.warning(self.__w,
|
||||
QtGui.QMessageBox.warning(self._w,
|
||||
"Erreur ...",
|
||||
"Une erreur est survenue ...")
|
||||
self.__w.hide()
|
||||
self.__main.showWindow()
|
||||
msg
|
||||
)
|
||||
Reference in New Issue
Block a user