vérification heures avant enregistrement tache + ajout vue à barreoutils
This commit is contained in:
parent
b13d2577ca
commit
88dc5cbf56
|
@ -25,7 +25,6 @@ class TasksController:
|
|||
self.task = Task(heure_debut=heured, heure_fin=heuref, commentaire=comm,
|
||||
id_util=Auth.current_user_id, id_proj=idpro, desc=descr, date=day,
|
||||
id_type=idty)
|
||||
print(day)
|
||||
self.task.register()
|
||||
|
||||
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import sys
|
||||
import os
|
||||
DOSSIER_COURRANT = os.path.dirname(os.path.abspath(__file__))
|
||||
DOSSIER_PARENT = os.path.dirname(DOSSIER_COURRANT)
|
||||
sys.path.append(DOSSIER_PARENT)
|
||||
from tkinter import *
|
||||
from tkinter.messagebox import *
|
||||
from PIL import Image, ImageTk
|
||||
DOSSIER_COURRANT = os.path.dirname(os.path.abspath(__file__))
|
||||
DOSSIER_PARENT = os.path.dirname(DOSSIER_COURRANT)
|
||||
sys.path.append(DOSSIER_PARENT)
|
||||
from Views.quickTask import QuickTask
|
||||
|
||||
|
||||
|
||||
class BarreOutils():
|
||||
|
@ -81,41 +83,31 @@ class BarreOutils():
|
|||
self.bouton_deconnexion.grid(row=7,column=1)
|
||||
self.bouton_deconnexion.image = photo
|
||||
################################################################################################################
|
||||
def deconnexion(self,*args):
|
||||
def deconnexion(self, *args):
|
||||
"""L'utilisateur veut fermer le programme et se deconnecter"""
|
||||
self.callback()
|
||||
if self.fermer == True:
|
||||
self.fenetre.destroy()
|
||||
def open_taches_rapides(self,*args):
|
||||
def open_taches_rapides(self, *args):
|
||||
"""L'utilisateur veut ouvrir la fenetre des taches rapides"""
|
||||
toplevel = Toplevel(self.fenetre)
|
||||
toplevel.title('Subroot')
|
||||
QuickTask(mother=self.fenetre)
|
||||
# TODO : ouvrir la fenetre des taches rapides
|
||||
def open_nouveau_projet(self,*args):
|
||||
def open_nouveau_projet(self, *args):
|
||||
"""L'utilisateur veut ouvrir la fenetre des nouveaux projets"""
|
||||
# TODO : ouvrir la fenetre des nouveaux projets
|
||||
def open_rapports(self,*args):
|
||||
def open_rapports(self, *args):
|
||||
"""L'utilisateur veut ouvrir la fenetre des rapports"""
|
||||
# TODO : ouvrir la fenetre des rapports
|
||||
def naviguer(self,*args):
|
||||
def naviguer(self, *args):
|
||||
"""L'utilisateur veut ouvrir la fenetre des rapports"""
|
||||
# TODO : ouvrir la fenetre de navigation
|
||||
self.fenetre.state('iconic')
|
||||
|
||||
def geoliste(self,g):
|
||||
def geoliste(self, g):
|
||||
r=[i for i in range(0,len(g)) if not g[i].isdigit()]
|
||||
return [int(g[0:r[0]]),int(g[r[0]+1:r[1]]),int(g[r[1]+1:r[2]]),int(g[r[2]+1:])]
|
||||
|
||||
def callback(self):
|
||||
if askyesno('Deconnexion', 'Êtes-vous sûr de vouloir vous deconnecter ?'):
|
||||
self.fermer = True
|
||||
else:
|
||||
self.fermer = askyesno('Deconnexion', 'Êtes-vous sûr de vouloir vous deconnecter ?')
|
||||
#showinfo('Titre 3', 'Vous avez peur!')
|
||||
#showerror("Titre 4", "Aha")
|
||||
self.fermer = False
|
||||
|
||||
b = BarreOutils()
|
||||
print(b.fenetre.geometry())
|
||||
print(b.largeurBoutons)
|
||||
print(b.hauteurBoutons)
|
||||
b.fenetre.mainloop()
|
||||
|
|
|
@ -92,8 +92,6 @@ class Task:
|
|||
query = "INSERT INTO dates \
|
||||
SET LaDate = (%s)"
|
||||
result = link.commit(query, [self.date, ])
|
||||
print(result.lastrowid)
|
||||
|
||||
#Récupération de l'ID
|
||||
self.id_date = result.lastrowid
|
||||
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
# -*-coding:utf8 -*
|
||||
"""Fenêtre de rapide : Vue"""
|
||||
#TODO: Rajouter une checkbox pour ajout d'une entrée de temps manuel (sans chrono)
|
||||
#TODO: Passer toutes les vérifications des champs dans le controleur
|
||||
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
@ -17,12 +19,12 @@ from Controllers.TasksController import TasksController as TasksCont
|
|||
class QuickTask:
|
||||
"""Fenêtre d'ajout rapide de tâche"""
|
||||
|
||||
def __init__(self, project_name='Sélectionner...', activate=False):
|
||||
def __init__(self, mother, project_name='Sélectionner...', activate=False):
|
||||
#Initialisation des variables
|
||||
QuickTask.activate = activate
|
||||
link = db() #On aura besoin de la BDD pour récupérer projets et types
|
||||
|
||||
QuickTask.fenetre = Tk()
|
||||
QuickTask.fenetre = Toplevel(mother)
|
||||
QuickTask.fenetre.title("Tâche rapide")
|
||||
|
||||
###Titre
|
||||
|
@ -121,11 +123,19 @@ class QuickTask:
|
|||
if QuickTask.project.get() != 'Sélectionner...' \
|
||||
and QuickTask.type_value.get() != 'Sélectionner...' \
|
||||
and QuickTask.input_desc.get() != '':
|
||||
#Oui ? ok on va pour enregistrer
|
||||
#On gère l'heure de fin
|
||||
QuickTask.h_fin_value = datetime.now() - timedelta(minutes=decalage)
|
||||
#Et on vérifie que l'heure de début est inférieure à celle de fin
|
||||
ecart_temps = QuickTask.h_fin_value - QuickTask.h_debut_value
|
||||
|
||||
if QuickTask.h_fin_value > QuickTask.h_debut_value \
|
||||
and ecart_temps.seconds > 60:
|
||||
#tout est ok ? on va enregistrer
|
||||
#On modifie le champ d'heure de fin
|
||||
QuickTask.heure_fin['state'] = NORMAL
|
||||
QuickTask.heure_fin.insert(0, QuickTask.h_fin_value.strftime('%H:%M'))
|
||||
QuickTask.heure_fin['state'] = DISABLED
|
||||
#Et les labels
|
||||
QuickTask.start_stop['text'] = "Démarrer"
|
||||
self.min_label['text'] = "Tâche commencée il y a "
|
||||
# appel à la fonction controleur enregistrant la tâche en BDD
|
||||
|
@ -153,6 +163,8 @@ class QuickTask:
|
|||
|
||||
#On affiche un message disant OK
|
||||
self.msg['text'] = "Tâche enregistrée"
|
||||
else:
|
||||
self.msg['text'] = "L'heure de fin doit être supérieure ou égale à l'heure de début"
|
||||
|
||||
else:
|
||||
#non ? on affiche un message et on valide rien du tout, namého
|
||||
|
@ -174,13 +186,3 @@ class QuickTask:
|
|||
|
||||
#AFfichage du message
|
||||
self.msg['text'] = "Enregistrement de la tâche annulé"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#Test de la fenêtre
|
||||
fen = QuickTask()
|
||||
fen.fenetre.mainloop()
|
||||
|
|
Loading…
Reference in a new issue