Ajout du répertoire extra pour deploiement en prod (et recette)
This commit is contained in:
parent
16f14b10c9
commit
ec8ca90833
|
@ -0,0 +1,17 @@
|
|||
"""
|
||||
Vérifie qu'il n'existe pas déja un formulaire soumis par l'utilisateur connecté ayant le meme dpap (numéro de dossier papier)
|
||||
"""
|
||||
# id du champ contenant le DPAP
|
||||
field_id = [x for x in form_objects.formdef.fields if x.varname == 'dpap'][0].id
|
||||
|
||||
noDuplicate = ''
|
||||
try:
|
||||
form_user_name_identifier_0
|
||||
except NameError:
|
||||
# Si user anonyme on le laisse passer
|
||||
noDuplicate = True
|
||||
else:
|
||||
# Si user connecté on check un eventuel doublon : False si doublon, True si pas doublon
|
||||
noDuplicate = bool(len([x for x in form_objects.formdef.data_class().select() if x.get_user() and x.data.get(field_id) == form_var_dpap and x.get_user().name_identifiers[0] == form_user_name_identifier_0 and not x.is_draft()]) == 0)
|
||||
|
||||
result = noDuplicate
|
|
@ -0,0 +1,332 @@
|
|||
/* Test suivi PH */
|
||||
.formdef-suivi-dossier-ph .steps-1,
|
||||
.formdef-suivi-dossier-ph div#rub_service div#receipt-intro,
|
||||
.formdef-suivi-dossier-ph div#rub_service .wait .evolution-metadata,
|
||||
.formdef-suivi-dossier-ph div#rub_service #evolutions.open::before,
|
||||
.formdef-suivi-dossier-ph ul#evolutions > li.detail ~ li.detail,
|
||||
.formdef-suivi-dossier-ph ul#evolutions > li.wait ~ li.wait,
|
||||
.formdef-suivi-dossier-ph ul#evolutions li span.item,
|
||||
.formdef-suivi-dossier-ph ul#evolutions li.None,
|
||||
.formdef-suivi-dossier-ph ul#evolutions > .detail .status,
|
||||
.formdef-suivi-dossier-ph ul#evolutions > .detail .time,
|
||||
.formdef-suivi-dossier-ph ul#evolutions > .detail .user,
|
||||
.formdef-suivi-dossier-ph ul#evolutions:after,
|
||||
.formdef-suivi-dossier-ph input.infoInput:checked ~ li div.commentaire,
|
||||
.formdef-suivi-dossier-ph input.infoInput:checked ~ li div.arrowUp,
|
||||
.formdef-suivi-dossier-ph input[name="etape"] {
|
||||
display: none;
|
||||
}
|
||||
.formdef-suivi-dossier-ph h2.foldable {
|
||||
display: none !important;
|
||||
}
|
||||
/* form */
|
||||
.formdef-suivi-dossier-ph div#rub_service form {
|
||||
padding: 0;
|
||||
}
|
||||
.formdef-suivi-dossier-ph div#rub_service h3 {
|
||||
padding: 20px 0 20px 25px;
|
||||
font-size: 1.3em;
|
||||
}
|
||||
.formdef-suivi-dossier-ph div.widget {
|
||||
padding: 0 25px;
|
||||
}
|
||||
.formdef-suivi-dossier-ph div.submit {
|
||||
height: 0;
|
||||
}
|
||||
.formdef-suivi-dossier-ph #var_dpap {
|
||||
margin-bottom: 0;
|
||||
padding: 5px 62px 30px 20px;
|
||||
}
|
||||
.formdef-suivi-dossier-ph .wrapperSearch {
|
||||
background-color: #E3E3E3;
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.formdef-suivi-dossier-ph h3.wrapperSearch {
|
||||
width: calc(100% - 25px);
|
||||
}
|
||||
.formdef-suivi-dossier-ph div#gauche + div#rub_service div.buttons .submit-button button {
|
||||
background: #DA0D02;
|
||||
color: white;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 27px;
|
||||
border-radius: 0 5px 5px 0;
|
||||
position: relative;
|
||||
top: -73px;
|
||||
text-indent: -55px;
|
||||
line-height: 0;
|
||||
}
|
||||
.formdef-suivi-dossier-ph div#gauche + div#rub_service div.buttons .submit-button button:after {
|
||||
font-family: FontAwesome;
|
||||
content: "\f002";
|
||||
padding: 0 1em;
|
||||
text-indent: 0;
|
||||
line-height: initial;
|
||||
}
|
||||
/* historique */
|
||||
@media screen and (min-width: 1000px) {
|
||||
.formdef-suivi-dossier-ph div#rub_service div.contact#receipt-intro {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -46px;
|
||||
left: 108%;
|
||||
width: 40%;
|
||||
background-color: #fff;
|
||||
padding: 10px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.formdef-suivi-dossier-ph div#rub_service div.colform#receipt-intro {
|
||||
position: relative;
|
||||
top: 1px;
|
||||
left: 104%;
|
||||
width: 35%;
|
||||
}
|
||||
}
|
||||
.formdef-suivi-dossier-ph div#rub_service div.contform {
|
||||
height: 0px;
|
||||
}
|
||||
.formdef-suivi-dossier-ph .detail {
|
||||
font-size: 1.1em;
|
||||
}
|
||||
.formdef-suivi-dossier-ph .emphasized {
|
||||
color: darkred;
|
||||
font-size: 1.15em;
|
||||
font-weight: bold;
|
||||
}
|
||||
.formdef-suivi-dossier-ph div#rub_service h3#procedure {
|
||||
position: relative;
|
||||
left: -40px;
|
||||
margin-bottom: 2.5ex;
|
||||
padding: 0;
|
||||
font-size: 1.35em;
|
||||
}
|
||||
.formdef-suivi-dossier-ph div#rub_service div.contact#receipt-intro h3 {
|
||||
margin: 0;
|
||||
padding: 10px 0;
|
||||
}
|
||||
.formdef-suivi-dossier-ph div#rub_service .wait {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions {
|
||||
overflow: visible;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions.open {
|
||||
margin-top:0 !important;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions ul.suivi {
|
||||
padding: 0 0 20px 0;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions ul.suivi li {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions ul.taches {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions ul.taches > li {
|
||||
margin: 0 0 15px 0;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions ul.demande li {
|
||||
margin: 0;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions span.step {
|
||||
box-sizing: border-box;
|
||||
position: absolute;
|
||||
left: -14px;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
border-radius: 20px;
|
||||
border: 1px solid #363636;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions span.enCours {
|
||||
color: #363636;
|
||||
background-color: #fff;
|
||||
margin-top: 3px;
|
||||
color: #fff;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions span.fini {
|
||||
background-color: #363636;
|
||||
color: #363636;
|
||||
margin-top: 6px;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions .etape {
|
||||
font-size: 1.2em;
|
||||
line-height: 1.8em;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions .currentStep {
|
||||
font-size: 1.25em;
|
||||
color: #98e478;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions li.listEtape:last-child::before {
|
||||
position: absolute;
|
||||
top: 25px;
|
||||
left: -8px;
|
||||
width: 3px;
|
||||
height: 100%;
|
||||
content: " ";
|
||||
background: #fff;
|
||||
}
|
||||
/* comments */
|
||||
.formdef-suivi-dossier-ph ul#evolutions div.commentaire {
|
||||
background-color: #E3E3E3;
|
||||
border-radius: 5px;
|
||||
padding: 15px;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions div.arrowUp {
|
||||
width: 0;
|
||||
height: 0;
|
||||
position: relative;
|
||||
left: 15px;
|
||||
border-left: 8px solid transparent;
|
||||
border-right: 8px solid transparent;
|
||||
border-bottom: 8px solid #E3E3E3;
|
||||
padding-top: 5px;
|
||||
}
|
||||
/* opinions */
|
||||
.formdef-suivi-dossier-ph ul#evolutions div.Accord, .formdef-suivi-dossier-ph ul#evolutions div.Rejet, .formdef-suivi-dossier-ph ul#evolutions div.Refus, .formdef-suivi-dossier-ph ul#evolutions div.suspension {
|
||||
width: 20px;
|
||||
height: 30px;
|
||||
float: left;
|
||||
line-height: 0;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions div.suspension {
|
||||
height: 15px;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions div.Rejet:before,
|
||||
.formdef-suivi-dossier-ph ul#evolutions div.Refus:before,
|
||||
.formdef-suivi-dossier-ph ul#evolutions div.suspension:before,
|
||||
.formdef-suivi-dossier-ph ul#evolutions div.Accord:before {
|
||||
content: "✖";
|
||||
margin: 0;
|
||||
border: none;
|
||||
width: 10px;
|
||||
height: 7px;
|
||||
border-radius: 100%;
|
||||
background-color: #961111;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
font-size: 0.81em;
|
||||
overflow: hidden;
|
||||
float: left;
|
||||
padding: 9px 4px 0 3px;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions div.Accord:before {
|
||||
content: "✔";
|
||||
background-color: #86bd3c;
|
||||
width: 11px;
|
||||
height: 8px;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions div.suspension:before,
|
||||
.formdef-suivi-dossier-ph ul#evolutions div.mais:before {
|
||||
content: "...";
|
||||
padding: 7px 4px 0 3px;
|
||||
height: 10px;
|
||||
background-color: #ff782a;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions span.noOpinion {
|
||||
width: 20px;
|
||||
height: 50px;
|
||||
float: left;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions #maj {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions .missing::before {
|
||||
content: "✖";
|
||||
color: darkred;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions .check::before {
|
||||
content: "✔";
|
||||
color: #86bd3c;
|
||||
}
|
||||
.formdef-suivi-dossier-ph ul#evolutions ul.suivi::before {
|
||||
position: absolute;
|
||||
/*top: 90px;*/
|
||||
left: 0;
|
||||
width: 1px;
|
||||
height: calc(100% - 120px);
|
||||
content: " ";
|
||||
background: #363636;
|
||||
}
|
||||
/* info button to display old comments */
|
||||
.formdef-suivi-dossier-ph .infoBt {
|
||||
visibility: hidden;
|
||||
cursor: pointer;
|
||||
font-weight: bold;
|
||||
font-size: 1.3em;
|
||||
color: #2f2f7b;
|
||||
float: right;
|
||||
}
|
||||
.formdef-suivi-dossier-ph input.infoInput {
|
||||
visibility: hidden;
|
||||
}
|
||||
.formdef-suivi-dossier-ph .comment ~ .infoBt {
|
||||
visibility: visible;
|
||||
}
|
||||
/* accordeon */
|
||||
.formdef-suivi-dossier-ph .suivi > li {
|
||||
position: relative;
|
||||
padding: 0 0 0 35px;
|
||||
border-bottom: 1px solid white;
|
||||
}
|
||||
.formdef-suivi-dossier-ph .suivi > li label#phase:after {
|
||||
content: "►";
|
||||
float: right;
|
||||
}
|
||||
.formdef-suivi-dossier-ph .suivi > li input:checked + label#phase:after {
|
||||
content: "▼";
|
||||
}
|
||||
.formdef-suivi-dossier-ph .suivi > li input + label#phase {
|
||||
cursor: pointer;
|
||||
border-radius: 3px;
|
||||
font-weight: bold;
|
||||
display: block;
|
||||
padding: 7.5px 15px;
|
||||
background-color: #2A2E4B;
|
||||
color: #fff;
|
||||
}
|
||||
.formdef-suivi-dossier-ph .suivi > li input ~ div {
|
||||
display: none;
|
||||
height: 0px;
|
||||
max-height: 0;
|
||||
padding: 0;
|
||||
opacity: 0;
|
||||
-webkit-transition: all 1s ease;
|
||||
transition: all 1s ease;
|
||||
}
|
||||
.formdef-suivi-dossier-ph .suivi > li input:checked + label#phase {
|
||||
background-color: #2A2E4B;
|
||||
color: #fff;
|
||||
}
|
||||
.formdef-suivi-dossier-ph .suivi > li input:checked ~ div {
|
||||
display: block;
|
||||
height: 100%;
|
||||
max-height: 1000px;
|
||||
opacity: 1;
|
||||
-webkit-transition: all 1s ease;
|
||||
transition: all 1s ease;
|
||||
}
|
||||
/* Bouton Grandlyon Connect */
|
||||
.formdef-suivi-dossier-ph div.connect-buttons a {
|
||||
background: #DA0D02;
|
||||
color: white;
|
||||
border-radius: 40px;
|
||||
display: block;
|
||||
max-width: 275px;
|
||||
padding: 0.5em;
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
}
|
||||
.formdef-suivi-dossier-ph div.connect-buttons::before {
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
left: -18px;
|
||||
width: 3px;
|
||||
height: 100%;
|
||||
content: " ";
|
||||
background: #fff;
|
||||
}
|
Binary file not shown.
Binary file not shown.
|
@ -94,14 +94,14 @@ class grandlyonIodas(BaseResource):
|
|||
# recupere la liste des droits en cours de toutes les procedures d'un individu
|
||||
droits = []
|
||||
if 'procedures' in data :
|
||||
for procedure in data['procedures']['procedures']['procedure'] :
|
||||
for etape in procedure['etapes']['etape'] :
|
||||
if 'taches' in etape :
|
||||
for tache in etape['taches']['tache'] :
|
||||
if tache['idtypetache'] == 2 and datetime.strptime(tache['datearret'], "%d/%m/%Y") > datetime.now():
|
||||
for nb in [3,6] :
|
||||
deltafindroit = nb if (datetime.strptime(tache['datearret'], "%d/%m/%Y") - dateutil.relativedelta.relativedelta(months=nb)) == datetime.now().replace(hour=0, minute=0, second=0, microsecond=0) else 0
|
||||
droits.append({"libl":tache['produit']['libl'], "dateproposition":tache['dateproposition'], "datearret":tache['datearret'], "dateeffet":tache['dateeffet'], "deltafindroit":deltafindroit})
|
||||
for procedure in data['procedures']['procedures']['procedure'] :
|
||||
for etape in procedure['etapes']['etape'] :
|
||||
if 'taches' in etape :
|
||||
for tache in etape['taches']['tache'] :
|
||||
if tache['idtypetache'] == 2 and datetime.strptime(tache['datearret'], "%d/%m/%Y") > datetime.now():
|
||||
for nb in [3,6] :
|
||||
deltafindroit = nb if (datetime.strptime(tache['datearret'], "%d/%m/%Y") - dateutil.relativedelta.relativedelta(months=nb)) == datetime.now().replace(hour=0, minute=0, second=0, microsecond=0) else 0
|
||||
droits.append({"libl":tache['produit']['libl'], "dateproposition":tache['dateproposition'], "datearret":tache['datearret'], "dateeffet":tache['dateeffet'], "deltafindroit":deltafindroit})
|
||||
|
||||
return {'hash': hashlib.sha224(json.dumps(data)).hexdigest(),
|
||||
'libl': data['procedures']['procedures']['procedure'][nbProc]['libl'] if 'procedures' in data else '',
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue