diff --git a/ephetienn/.idea/dataSources.xml b/ephetienn/.idea/dataSources.xml
index 0ef0a93..0563c94 100644
--- a/ephetienn/.idea/dataSources.xml
+++ b/ephetienn/.idea/dataSources.xml
@@ -7,5 +7,11 @@
org.sqlite.JDBC
jdbc:sqlite:C:\Users\Simon\Documents\GitHub\devWeb\ephetienn\db.sqlite3
+
+ sqlite.xerial
+ true
+ org.sqlite.JDBC
+ jdbc:sqlite:C:\Users\François\Documents\GitHub\devWeb\ephetienn\db.sqlite3
+
\ No newline at end of file
diff --git a/ephetienn/menu/__pycache__/db_param.cpython-38.pyc b/ephetienn/menu/__pycache__/db_param.cpython-38.pyc
index d51da86..2a1713e 100644
Binary files a/ephetienn/menu/__pycache__/db_param.cpython-38.pyc and b/ephetienn/menu/__pycache__/db_param.cpython-38.pyc differ
diff --git a/ephetienn/menu/__pycache__/envoiemail.cpython-38.pyc b/ephetienn/menu/__pycache__/envoiemail.cpython-38.pyc
index 0a53056..e185676 100644
Binary files a/ephetienn/menu/__pycache__/envoiemail.cpython-38.pyc and b/ephetienn/menu/__pycache__/envoiemail.cpython-38.pyc differ
diff --git a/ephetienn/menu/__pycache__/forms.cpython-38.pyc b/ephetienn/menu/__pycache__/forms.cpython-38.pyc
index aab182d..cda431f 100644
Binary files a/ephetienn/menu/__pycache__/forms.cpython-38.pyc and b/ephetienn/menu/__pycache__/forms.cpython-38.pyc differ
diff --git a/ephetienn/menu/__pycache__/urls.cpython-38.pyc b/ephetienn/menu/__pycache__/urls.cpython-38.pyc
index d7b1cab..7e2f948 100644
Binary files a/ephetienn/menu/__pycache__/urls.cpython-38.pyc and b/ephetienn/menu/__pycache__/urls.cpython-38.pyc differ
diff --git a/ephetienn/menu/__pycache__/views.cpython-38.pyc b/ephetienn/menu/__pycache__/views.cpython-38.pyc
index a1755ed..1d545e7 100644
Binary files a/ephetienn/menu/__pycache__/views.cpython-38.pyc and b/ephetienn/menu/__pycache__/views.cpython-38.pyc differ
diff --git a/ephetienn/menu/db_param.py b/ephetienn/menu/db_param.py
index 447aec9..b92a143 100644
--- a/ephetienn/menu/db_param.py
+++ b/ephetienn/menu/db_param.py
@@ -4,13 +4,14 @@
host="localhost",
user="root",
passwd="root",
- database="db_ephetienn"
+ database="ephetienne"
)
mycursor = mydb.cursor()
def afficherInfoDb(nomDb):
+ element = []
sql = ("Select * from {0}").format(nomDb)
mycursor.execute(sql)
@@ -18,11 +19,14 @@ def afficherInfoDb(nomDb):
myresult = mycursor.fetchall()
for x in myresult:
- print(x)
+ element = myresult
+
+
+ return element
def insertUser(nom, mdp):
- sql = "INSERT INTO user (name, pswd) VALUES (%s, %s)"
+ sql = "INSERT INTO user (userName, userPswd) VALUES (%s, %s)"
val = (nom, mdp)
mycursor.execute(sql, val)
@@ -31,8 +35,8 @@ def insertUser(nom, mdp):
print(mycursor.rowcount, "record inserted.")
-def insertEvent(date, event, description):
- sql = ("INSERT INTO event (dateEvent, nameEvent, descEvent) VALUES ('{0}', '{1}', '{2}')").format(date, event, description)
+def insertEvent(event, date, description):
+ sql = ("INSERT INTO event (eventName, eventDate, eventDesc) VALUES ('{0}', '{1}', '{2}')").format(date, event, description)
# date au format '2020-03-11'
@@ -44,7 +48,7 @@ def insertEvent(date, event, description):
print(mycursor.rowcount, "record inserted.")
def insertInscription(nom, prenom, dateNaiss, numTel, emailParent, remarques):
- sql = ("INSERT INTO inscrits (nom, prenom, dateNaiss, numTel, emailParent, remarques) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}')").format(nom, prenom,dateNaiss, numTel, emailParent, remarques)
+ sql = ("INSERT INTO membre (membreNom, membrePrenom, dateNaiss, telParent, emailParent, remarques) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}')").format(nom, prenom, dateNaiss, numTel, emailParent, remarques)
# date au format '2020-03-11'
print(sql)
@@ -55,8 +59,6 @@ def insertInscription(nom, prenom, dateNaiss, numTel, emailParent, remarques):
-
-
def updateUser(id):
sql = ("UPDATE user SET name = 'Canyon' WHERE id = {0}").format(id)
@@ -67,8 +69,8 @@ def updateUser(id):
print(mycursor.rowcount, "record(s) affected")
-def deleteData(nomDb, id):
- sql = ("DELETE FROM {0} WHERE id = {1}").format(nomDb, id)
+def deleteMembre(id):
+ sql = ("DELETE FROM membre WHERE idmembre = {0}").format(id)
mycursor.execute(sql)
@@ -76,5 +78,66 @@ def deleteData(nomDb, id):
print(mycursor.rowcount, "record(s) deleted")
+def selectUser(user, mdp):
+ sql = ("Select * from user")
+
+ mycursor.execute(sql)
+
+ myresult = mycursor.fetchall()
+
+ for x in myresult:
+ print(x[1], x[2])
+ if user == x[1] and mdp == x[2]:
+ return True
+
+def modifMembreDb(id):
+ sql = ("Select * from membre where idmembre = {0}").format(id)
+ mycursor.execute(sql)
+
+ myresult = mycursor.fetchall()
+
+ #debug
+ print(myresult)
+
+ #debug
+ print(sql)
+
+ return myresult
+
+def supEventDb(nom, date):
+
+ sql = ("Delete from event Where eventName = '{0}' and eventDate = '{1}' ").format(nom, date)
+ mycursor.execute(sql)
+ print(sql)
+
+ mydb.commit()
+
+ print("effacement réussi")
+
+
+def selectMembre(id):
+ sql = ("Select * from membre where idmembre = {0}").format(id)
+ mycursor.execute(sql)
+
+ myresult = mycursor.fetchall()
+
+ # debug
+ print(myresult)
+
+ # debug
+ print(sql)
+
+ return myresult
+
+def updateMembre(id, nom, prenom, dateNaiss, numTel, email, rem):
+ sql = ("UPDATE membre set membreNom = '{1}', membrePrenom = '{2}', dateNaiss= '{3}', telParent = '{4}', emailParent = '{5}', remarques = '{6}' where idmembre = {0}").format(id, nom, prenom, dateNaiss, numTel, email, rem)
+
+ print(sql)
+ mycursor.execute(sql)
+
+ mydb.commit()
+
+
+
diff --git a/ephetienn/menu/envoiemail.py b/ephetienn/menu/envoiemail.py
index 94c7eca..65bec92 100644
--- a/ephetienn/menu/envoiemail.py
+++ b/ephetienn/menu/envoiemail.py
@@ -23,7 +23,7 @@ def envoiCopie(to, subject, message):
msg['From'] = 'ephetiennetest@gmail.com'
msg['To'] = to
msg['Subject'] = 'copie de votre message - ' + subject
- msg.attach(MIMEText(message))
+ msg.attach(MIMEText("Voici la copie du message que vous nous avez envoyé: \n" + message))
mailserver = smtplib.SMTP('smtp.gmail.com', 587)
mailserver.ehlo()
mailserver.starttls()
@@ -33,4 +33,16 @@ def envoiCopie(to, subject, message):
mailserver.quit()
-
+def confirmInscription(to, nom, prenom):
+ msg = MIMEMultipart()
+ msg['From'] = 'ephetiennetest@gmail.com'
+ msg['To'] = to
+ msg['Subject'] = 'confirmation inscritpion - ' + nom + ' ' + prenom
+ msg.attach(MIMEText("nous avons bien reçu l'inscription de votre enfant"))
+ mailserver = smtplib.SMTP('smtp.gmail.com', 587)
+ mailserver.ehlo()
+ mailserver.starttls()
+ mailserver.ehlo()
+ mailserver.login('ephetiennetest@gmail.com', 'Ephet_RP003')
+ mailserver.sendmail('ephetiennetest@gmail.com', to, msg.as_string())
+ mailserver.quit()
\ No newline at end of file
diff --git a/ephetienn/menu/forms.py b/ephetienn/menu/forms.py
index 890fc74..77279a2 100644
--- a/ephetienn/menu/forms.py
+++ b/ephetienn/menu/forms.py
@@ -4,14 +4,14 @@
class formInscription(forms.Form):
nom = forms.CharField(max_length=100)
prenom = forms.CharField(max_length=100)
- dateNaiss = forms.DateField(label="format 2020-03-21")
- numeroTel = forms.CharField(label="numer telephone")
+ dateNaiss = forms.DateField(label="Date de Naissance (format 2020-03-21)")
+ numeroTel = forms.CharField(label="numero telephone")
emailParents = forms.EmailField(label="Votre adresse e-mail")
remarques = forms.CharField(max_length=1000)
class formEvent(forms.Form):
- date = forms.DateField(label="date de l'évenement")
+ date = forms.DateField(label="Date")
nom = forms.CharField(max_length=45)
description = forms.CharField(widget=forms.Textarea)
@@ -21,3 +21,20 @@ class ContactForm(forms.Form):
subject = forms.CharField(required=True)
message = forms.CharField(widget=forms.Textarea, required=True)
renvoi = forms.BooleanField(help_text="Cochez si vous souhaitez obtenir une copie du mail envoyé.", required=False)
+
+class connexion(forms.Form):
+ user = forms.CharField(required=True)
+ mdp = forms.CharField(max_length=32, widget=forms.PasswordInput)
+
+class formSupEvent(forms.Form):
+ nom = forms.CharField(required=True)
+ date = forms.DateField(label="format 2020-03-21")
+
+class modifierMembre(forms.Form):
+ id = forms.IntegerField(required=True)
+ nom = forms.CharField(max_length=100)
+ prenom = forms.CharField(max_length=100)
+ dateNaiss = forms.DateField(label="Date de Naissance: (format 2020-03-21)")
+ numeroTel = forms.CharField(label="numero telephone")
+ emailParents = forms.EmailField(label="Votre adresse e-mail")
+ remarques = forms.CharField(max_length=1000)
\ No newline at end of file
diff --git a/ephetienn/menu/urls.py b/ephetienn/menu/urls.py
index f84ead5..5abf391 100644
--- a/ephetienn/menu/urls.py
+++ b/ephetienn/menu/urls.py
@@ -1,13 +1,19 @@
from . import views
from django.urls import path
-from .views import emailView, successView
urlpatterns = [
path('inscription/', views.inscription, name='inscription'),
path('insertEvent/', views.event, name='insertEvent'),
+ path('supEvent/', views.supEvent, name='supEvent'),
path('acceuil/', views.home, name='acceuil'),
- path('contact/', emailView, name='contact'),
- path('success/', successView, name='success'),
+ path('contact/', views.emailView, name='contact'),
+ path('success/', views.successView, name='success'),
+ path('admin/', views.admin, name='admin'),
+ path('membre/', views.affMembre, name='membre'),
+ path('modifierMembre/', views.modifMembre, name="modifierMembre"),
+ path('supMembre/', views.supMembre, name='supMembre'),
+ path('affEvent/', views.affEvent, name='affEvent'),
+
]
diff --git a/ephetienn/menu/views.py b/ephetienn/menu/views.py
index db41a95..c8aa3c3 100644
--- a/ephetienn/menu/views.py
+++ b/ephetienn/menu/views.py
@@ -1,12 +1,11 @@
-from .db_param import insertEvent
-from .forms import formInscription
-from .db_param import insertInscription
-from .forms import formEvent
+from .db_param import insertEvent, supEventDb
+from .db_param import insertInscription, deleteMembre, updateMembre
+from.db_param import afficherInfoDb, selectUser, modifMembreDb, updateUser, selectMembre
from django.shortcuts import render, redirect
-from .forms import ContactForm
from django.core.mail import send_mail, BadHeaderError
from django.http import HttpResponse
-from .envoiemail import envoi, envoiCopie
+from .envoiemail import envoi, envoiCopie, confirmInscription
+from . import forms
@@ -14,11 +13,13 @@ def home(request):
return render(request, 'menu/acceuil.html')
+
def inscription(request):
+
# Construire le formulaire, soit avec les données postées,
# soit vide si l'utilisateur accède pour la première fois
# à la page.
- form = formInscription(request.POST or None)
+ form = forms.formInscription(request.POST or None)
# Nous vérifions que les données envoyées sont valides
# Cette méthode renvoie False s'il n'y a pas de données
# dans le formulaire ou qu'il contient des erreurs.
@@ -33,19 +34,19 @@ def inscription(request):
#envoie des donnees du formulaire vers la base de données
insertInscription(nom, prenom, dateNaiss, numeroTel, emailParents, remarques)
+ confirmInscription(emailParents, nom, prenom)
- # Nous pourrions ici envoyer l'e-mail grâce aux données
- # que nous venons de récupérer
envoi = True
# Quoiqu'il arrive, on affiche la page du formulaire.
+
return render(request, 'menu/inscription.html', locals())
def event(request):
# Construire le formulaire, soit avec les données postées,
# soit vide si l'utilisateur accède pour la première fois
# à la page.
- form = formEvent(request.POST or None)
+ form = forms.formEvent(request.POST or None)
# Nous vérifions que les données envoyées sont valides
# Cette méthode renvoie False s'il n'y a pas de données
# dans le formulaire ou qu'il contient des erreurs.
@@ -58,8 +59,7 @@ def event(request):
# envoie des donnees du formulaire vers la base de données
insertEvent(date, nom, description)
- # Nous pourrions ici envoyer l'e-mail grâce aux données
- # que nous venons de récupérer
+
envoi = True
# Quoiqu'il arrive, on affiche la page du formulaire.
@@ -68,9 +68,9 @@ def event(request):
def emailView(request):
if request.method == 'GET':
- form = ContactForm()
+ form = forms.ContactForm()
else:
- form = ContactForm(request.POST)
+ form = forms.ContactForm(request.POST)
if form.is_valid():
subject = form.cleaned_data['subject']
from_email = form.cleaned_data['from_email']
@@ -90,3 +90,150 @@ def successView(request):
return HttpResponse('Success! Thank you for your message.')
+def admin(request):
+
+ form = forms.connexion(request.POST or None)
+ # Nous vérifions que les données envoyées sont valides
+ # Cette méthode renvoie False s'il n'y a pas de données
+ # dans le formulaire ou qu'il contient des erreurs.
+ if form.is_valid():
+ user = form.cleaned_data['user']
+ mdp = form.cleaned_data['mdp']
+ redirect = selectUser(user, mdp)
+ print(redirect)
+
+ envoi = True
+
+ if redirect == True:
+ return render(request, 'menu/admin.html', locals())
+
+ else :
+ return render(request, 'menu/acceuil.html', locals())
+
+ return render(request, 'menu/acceuil.html', locals())
+
+def supEvent(request):
+ form = forms.formSupEvent(request.POST or None)
+ # Nous vérifions que les données envoyées sont valides
+ # Cette méthode renvoie False s'il n'y a pas de données
+ # dans le formulaire ou qu'il contient des erreurs.
+ if form.is_valid():
+ nom = form.cleaned_data['nom']
+ date = form.cleaned_data['date']
+
+ supEventDb(nom, date)
+
+ envoi = True
+
+ return render(request, "menu/supEvent.html", locals())
+
+def supMembre(request):
+ form = forms.modifierMembre(request.POST or None)
+ # Nous vérifions que les données envoyées sont valides
+ # Cette méthode renvoie False s'il n'y a pas de données
+ # dans le formulaire ou qu'il contient des erreurs.
+ if form.is_valid():
+ id = form.cleaned_data['id']
+
+
+ deleteMembre(id)
+
+ envoi = True
+
+ return render(request, "menu/supMembre.html", locals())
+
+def affMembre(request):
+
+ afficher = affichageMembres()
+
+
+ return render(request, "menu/membre.html", locals())
+
+def modifMembre(request):
+
+ answer=[]
+ form = forms.modifierMembre(request.POST or None)
+ # Nous vérifions que les données envoyées sont valides
+ # Cette méthode renvoie False s'il n'y a pas de données
+ # dans le formulaire ou qu'il contient des erreurs.
+ if form.is_valid():
+ id = form.cleaned_data['id']
+ nom = form.cleaned_data['nom']
+ prenom = form.cleaned_data['prenom']
+ dateNaiss = form.cleaned_data['dateNaiss']
+ numeroTel = form.cleaned_data['numeroTel']
+ emailParents = form.cleaned_data['emailParents']
+ remarques = form.cleaned_data['remarques']
+
+ answer = selectMembre(id)
+ print("answer: ", answer)
+ updateMembre(id, nom, prenom, dateNaiss, numeroTel, emailParents, remarques)
+ envoi = True
+
+ afficher = answer
+
+
+ return render(request, "menu/modifierMembre.html", locals())
+
+def affichageMembres():
+ liste = []
+ afficher= " "
+
+
+
+ membres = afficherInfoDb('membre')
+ print(type(membres))
+ print(membres)
+
+ i = 0
+ while i < len(membres):
+ print(membres[i][0])
+ liste += [[membres[i][0], membres[i][1], membres[i][2]]]
+ i += 1
+
+ print(liste)
+ print(type(liste))
+
+ print("résultat désirer: ")
+ for id, nom, prenom in liste:
+ print("id: {} nom: {} prenom : {}".format(id, nom, prenom))
+ afficher += ("id: {} nom: {} prenom : {} \n ".format(id, nom, prenom))
+ print("test: ", afficher)
+
+
+
+ return liste
+
+def affichageEvent():
+
+ #Print utiliser pour debug
+ eventAvenir = []
+ afficher = " "
+
+ events = afficherInfoDb('event')
+ print(type(events))
+ print(events)
+
+ i = 0
+ while i < len(events):
+ print(events[i][0])
+ eventAvenir += [[events[i][0], events[i][1], events[i][2]]]
+ i += 1
+
+ print("eventAvenir:", eventAvenir)
+ print(type(eventAvenir))
+
+
+ print("résultat désirer: ")
+ for nom, date, description in eventAvenir:
+ afficher += ("nom: {} date: {} description : {} \n".format(nom, date, description))
+ print("test: ", afficher)
+
+ return eventAvenir
+
+def affEvent(request):
+
+ eventAvenir = affichageEvent()
+
+ return render(request, "menu/affEvent.html", locals())
+
diff --git a/ephetienn/templates/menu/acceuil.html b/ephetienn/templates/menu/acceuil.html
index 34ec423..0950e55 100644
--- a/ephetienn/templates/menu/acceuil.html
+++ b/ephetienn/templates/menu/acceuil.html
@@ -9,14 +9,23 @@
Bienvenue sur le site Ephetienne Rhode-Saint-Genè
paragraphe test
-
-
+
+
+
+
+ espace admin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ephetienn/templates/menu/admin.html b/ephetienn/templates/menu/admin.html
new file mode 100644
index 0000000..691e5b3
--- /dev/null
+++ b/ephetienn/templates/menu/admin.html
@@ -0,0 +1,20 @@
+
+
+