Commit e1ee372a authored by Georges Gressot's avatar Georges Gressot 💬
Browse files

codage complet des alertes + modifs consécutives

parent 37490909
File added
......@@ -19,7 +19,7 @@ Voir une illustration : https://seafile.unistra.fr/f/163d60a568e2482092e3/
01. édition des candidats pour chaque bibliothèque participante,
02. formulaire de positionnement (ou de dérogation),
03. édition des ressources dont l'instruction de la résultante peut débuter,
04. alerte quand son tour est venu de poursuivre l'instruction de la résultante,
04. alertes possibles (positionnement, arbitrage, instruction, résultante),
05. formulaires d'instruction (ajout, suppression, modification, fin),
06. édition différenciée des résultantes (rapports soignés au format pdf),
07. contrôle de conformité à la fin de chaque cycle d'instruction,
......
......@@ -17,7 +17,7 @@ See illustration here : https://seafile.unistra.fr/f/163d60a568e2482092e3/
01. edition of the candidates for each taking part library,
02. positioning form (including derogations),
03. edition of the resources whose instruction of the resulting collection may begin,
04. alert when its turn came to continue the instruction of the resulting collection,
04. alerts may be activated (ranking, arbitration, instruction, edition),
05. instruction forms (add, delete, modify, end),
06. neat worked pdf reports,
07. conformity check at the end of each process cycle,
......
......@@ -28,16 +28,18 @@ Version 1.21 (~Berchilde) beta
Version 2.00 (Chimnechilde) 2021.07.09
Version 2.01 (~Bathilde) beta
Version 2.02 (Bilichilde) 2021.10.21
Version 2.03 (~Chrothildis) beta
(Next names following https://fr.wikipedia.org/wiki/Liste_des_reines_et_imp%C3%A9ratrices_de_France from Basina)
Nouveautés de la dernière version master (* = important) :
Dernières nouveautés (* = important) :
* export de principales listes au format csv
* export des principales listes au format csv
* instruction renseignée automatiquement quand l'instructeur passe son tour
* possibilité de s'abonner à des listes pour être tenu au courant
* routage de retour aux listes
* alertes possibles non seulement pour les instructions mais aussi pour le positionnement, les arbitrages et les résultantes
* mise à jour du manuel utilisateur
Version 2 : Version multi-projets (beta tant qu'elle n'est pas testée grandeur nature ...)
......
# epl_version ="v2.00 (Chimnechilde)"
# date_version ="July 9, 2021"
# epl_version ="v2.02 (Bilichilde)"
# date_version ="October 21, 2021"
# Mise au niveau de :
epl_version ="v2.01.6-beta (~Bathilde)"
date_version ="October 7, 2021"
epl_version ="v2.03.0 (~Chrothildis)"
date_version ="October 21, 2021"
#branche = multi
from django.shortcuts import render
......@@ -1470,84 +1470,51 @@ def takerank(request, bdd, sid, lid):
#Début codage alerte positionnement ou arbitrage
dest =[]
if Proj_setting.objects.using(bdd).all()[0].rkg:
try:
for itelmt in ItemRecord.objects.using(bdd).filter(sid =sid, rank =99):
if Library.objects.using(bdd).get(lid =itelmt.lid).contact not in dest:
dest.append(Library.objects.using(bdd).get(lid =itelmt.lid).contact)
try:
if Library.objects.using(bdd).get(lid =itelmt.lid).contact_bis not in dest:
dest.append(Library.objects.using(bdd).get(lid =itelmt.lid).contact_bis)
except:
pass
try:
if Library.objects.using(bdd).get(lid =itelmt.lid).contact_ter not in dest:
dest.append(Library.objects.using(bdd).get(lid =itelmt.lid).contact_ter)
except:
pass
#Message data :
subject = "eplouribousse / positionnement : " + bdd + " / " + str(sid) + " / " + str(itelmt.lid)
host = str(request.get_host())
message = _("Un nouveau positionnement a été enregistré pour le ppn ") + \
str(sid) + " : rang " + i.rank + " --> " + Library.objects.using(bdd).get(sid =sid, lid =itelmt.lid).name + \
"\n" + "Pour plus de détails et pour positionner votre collection" + \
" :\n" + "http://" + host + "/" + bdd + "/rk/" + str(sid) + '/' + str(itelmt.lid)
send_mail(subject, message, replymail, dest, fail_silently=True, )
except:
pass
if Proj_setting.objects.using(bdd).all()[0].rkg and len(ItemRecord.objects.using(bdd).filter(sid =sid, rank =99)):
for itelmt in ItemRecord.objects.using(bdd).filter(sid =sid, rank =99):
dest =[]
dest.append(Library.objects.using(bdd).get(lid =itelmt.lid).contact)
dest.append(Library.objects.using(bdd).get(lid =itelmt.lid).contact_bis)
dest.append(Library.objects.using(bdd).get(lid =itelmt.lid).contact_ter)
#Message data :
subject = "eplouribousse / positionnement : " + bdd + " / " + str(sid) + " / " + str(itelmt.lid)
host = str(request.get_host())
message = _("Un nouveau positionnement a été enregistré pour le ppn ") + \
str(sid) + " : rang " + str(i.rank) + " --> " + Library.objects.using(bdd).get(lid =lid).name + \
"\n" + "Pour plus de détails et pour positionner votre collection" + \
" :\n" + "http://" + host + "/" + bdd + "/rk/" + str(sid) + '/' + str(itelmt.lid)
send_mail(subject, message, replymail, dest, fail_silently=True, )
if Proj_setting.objects.using(bdd).all()[0].arb and len(ItemRecord.objects.using(bdd).filter(sid =sid, rank =1)) ==0 and \
len(ItemRecord.objects.using(bdd).filter(sid =sid, rank =99)) ==0 and \
len(ItemRecord.objects.using(bdd).filter(sid =sid).exclude(rank =0)) >1:
try:
for itelmt in ItemRecord.objects.using(bdd).filter(sid =sid):
if Library.objects.using(bdd).get(lid =itelmt.lid).contact not in dest:
dest.append(Library.objects.using(bdd).get(lid =itelmt.lid).contact)
try:
if Library.objects.using(bdd).get(lid =itelmt.lid).contact_bis not in dest:
dest.append(Library.objects.using(bdd).get(lid =itelmt.lid).contact_bis)
except:
pass
try:
if Library.objects.using(bdd).get(lid =itelmt.lid).contact_ter not in dest:
dest.append(Library.objects.using(bdd).get(lid =itelmt.lid).contact_ter)
except:
pass
#Message data :
subject = "eplouribousse / arbitrage (type ø) : " + bdd + " / " + str(sid) + " / " + str(itelmt.lid)
host = str(request.get_host())
message = _("Un nouvel arbitrage de type ø a été repéré pour le ppn ") + str(sid) + \
"\n" + "Pour plus de détails ou pour modifier le rang de votre collection" + \
" :\n" + "http://" + host + "/" + bdd + "/rk/" + str(sid) + '/' + str(itelmt.lid)
send_mail(subject, message, replymail, dest, fail_silently=True, )
except:
pass
for itelmt in ItemRecord.objects.using(bdd).filter(sid =sid):
dest =[]
dest.append(Library.objects.using(bdd).get(lid =itelmt.lid).contact)
dest.append(Library.objects.using(bdd).get(lid =itelmt.lid).contact_bis)
dest.append(Library.objects.using(bdd).get(lid =itelmt.lid).contact_ter)
#Message data :
subject = "eplouribousse / arbitrage (type 0) : " + bdd + " / " + str(sid) + " / " + str(itelmt.lid)
host = str(request.get_host())
message = _("Un nouvel arbitrage de type 0 a été repéré pour le ppn ") + str(sid) + \
"\n" + "Pour plus de détails ou pour modifier le rang de votre collection" + \
" :\n" + "http://" + host + "/" + bdd + "/rk/" + str(sid) + '/' + str(itelmt.lid)
send_mail(subject, message, replymail, dest, fail_silently=True, )
if Proj_setting.objects.using(bdd).all()[0].arb and len(ItemRecord.objects.using(bdd).filter(sid =sid, rank =1)) >1:
try:
for itelmt in ItemRecord.objects.using(bdd).filter(sid =sid, rank =1):
if Library.objects.using(bdd).get(lid =itelmt.lid).contact not in dest:
dest.append(Library.objects.using(bdd).get(lid =itelmt.lid).contact)
try:
if Library.objects.using(bdd).get(lid =itelmt.lid).contact_bis not in dest:
dest.append(Library.objects.using(bdd).get(lid =itelmt.lid).contact_bis)
except:
pass
try:
if Library.objects.using(bdd).get(lid =itelmt.lid).contact_ter not in dest:
dest.append(Library.objects.using(bdd).get(lid =itelmt.lid).contact_ter)
except:
pass
#Message data :
subject = "eplouribousse / arbitrage (type 1) : " + bdd + " / " + str(sid) + " / " + str(itelmt.lid)
host = str(request.get_host())
message = _("Un nouvel arbitrage de type 1 a été repéré pour le ppn ") + str(sid) + \
"\n" + "Pour plus de détails ou pour modifier le rang de votre collection" + \
" :\n" + "http://" + host + "/" + bdd + "/rk/" + str(sid) + '/' + str(itelmt.lid)
send_mail(subject, message, replymail, dest, fail_silently=True, )
except:
pass
for itelmt in ItemRecord.objects.using(bdd).filter(sid =sid, rank =1):
dest =[]
dest.append(Library.objects.using(bdd).get(lid =itelmt.lid).contact)
dest.append(Library.objects.using(bdd).get(lid =itelmt.lid).contact_bis)
dest.append(Library.objects.using(bdd).get(lid =itelmt.lid).contact_ter)
#Message data :
subject = "eplouribousse / arbitrage (type 1) : " + bdd + " / " + str(sid) + " / " + str(itelmt.lid)
host = str(request.get_host())
message = _("Un nouvel arbitrage de type 1 a été repéré pour le ppn ") + str(sid) + \
"\n" + "Pour plus de détails ou pour modifier le rang de votre collection" + \
" :\n" + "http://" + host + "/" + bdd + "/rk/" + str(sid) + '/' + str(itelmt.lid)
send_mail(subject, message, replymail, dest, fail_silently=True, )
#Fin codage alerte positionnement ou arbitrage
......@@ -2286,7 +2253,7 @@ def endinstr(request, bdd, sid, lid):
if Proj_setting.objects.using(bdd).all()[0].edi:
for librelmt in liblistrict:
#Message data :
subject = "eplouribousse / résultante : " + bdd + " / " + str(sid) + " / " + str(librelmt.lid)
subject = "eplouribousse / fiche : " + bdd + " / " + str(sid) + " / " + str(librelmt.lid)
host = str(request.get_host())
message = _("La résultante est désormais disponible pour le ppn ") + str(sid) +\
" :\n" + "http://" + host + "/" + bdd + "/ed/" + str(sid) + '/' + str(librelmt.lid)
......
......@@ -44,7 +44,7 @@ setup(
maintainer_email='gressot@unistra.fr',
url='',
download_url='',
license='PSF',
license='GPLv3',
keywords=['django', 'Université de Strasbourg'],
include_package_data=True,
)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment