autoriser les personnes autres que les tech à valider les RDF

This commit is contained in:
2020-04-24 14:29:29 +02:00
parent 0547979dd2
commit 9693c53ded
6 changed files with 17 additions and 12 deletions

View File

@@ -11,8 +11,8 @@ Elle est développée avec les composants open source suivants :
- [Python](https://www.python.org/downloads/) 3.7 - [Python](https://www.python.org/downloads/) 3.7
- [Pyramid web framework](https://trypyramid.com/) 1.10 - [Pyramid web framework](https://trypyramid.com/) 1.10
- [MySQL server](https://mysql.com/) 8.0 - [MySQL server](https://mysql.com/) 5.7 sur Windows Server 2008 R2 Standard
- [Apache web server](https://apache.org/) - [Apache web server](https://apache.org/) 2.4 sur Debian GNU/Linux 9 (stretch)
## Frontend ## Frontend

View File

@@ -19,6 +19,13 @@ def execute_query(request, query, params):
mark_changed(request.dbsession) mark_changed(request.dbsession)
transaction.commit() transaction.commit()
def get_userAccess(request, logged_in):
member = get_member_by_id(request, logged_in)
if member:
return member.access
else:
return 0
def get_codespostaux(request, code): def get_codespostaux(request, code):
query = "SELECT * FROM p_codespostaux WHERE code_postal like :code;" query = "SELECT * FROM p_codespostaux WHERE code_postal like :code;"
results = request.dbsession.execute(query, {'code': code + "%"}) results = request.dbsession.execute(query, {'code': code + "%"})

View File

@@ -8,7 +8,7 @@
<form method="POST" id="frm" class="form-horizontal"> <form method="POST" id="frm" class="form-horizontal">
<div class="form-group"> <div class="form-group">
<div class="col-xs-4"> <div class="col-xs-4">
<select class="form-control" id="agenda" name="agenda" onChange="$('#frm').submit()" tal:condition="isCommercial==False"> <select class="form-control" id="agenda" name="agenda" onChange="$('#frm').submit()" tal:condition="access > 0">
<div tal:repeat="item agendas"> <div tal:repeat="item agendas">
<option value="${item.CD_UTI}" tal:attributes="selected agenda==item.CD_UTI and 'selected' or None">${item.NOM}</option> <option value="${item.CD_UTI}" tal:attributes="selected agenda==item.CD_UTI and 'selected' or None">${item.NOM}</option>
</div> </div>

View File

@@ -358,9 +358,9 @@
<span class="glyphicon glyphicon-pencil"></span> Modifier</a> <span class="glyphicon glyphicon-pencil"></span> Modifier</a>
<button class="btn btn-danger" type="submit" name="form.delete" tal:condition="not rapport.signature_svg and date_relu==''"> <button class="btn btn-danger" type="submit" name="form.delete" tal:condition="not rapport.signature_svg and date_relu==''">
<span class="glyphicon glyphicon-remove"></span> Supprimer</button> <span class="glyphicon glyphicon-remove"></span> Supprimer</button>
<button class="btn btn-success" type="submit" name="form.validate" tal:condition="(logged_in=='JMP' or logged_in=='CAO') and date_relu==''"> <button class="btn btn-success" type="submit" name="form.validate" tal:condition="access > 0 and date_relu==''">
<span class="glyphicon glyphicon-ok"></span> Valider</button> <span class="glyphicon glyphicon-ok"></span> Valider</button>
<div tal:condition="(logged_in=='MD' or logged_in=='CAO') and date_relu!=''"> <div tal:condition="access > 0 and date_relu!=''">
<br /> <br />
<a class="btn btn-default" href="/rdf_rapport/${rapport.no_id}"> <a class="btn btn-default" href="/rdf_rapport/${rapport.no_id}">
<span class="glyphicon glyphicon-file"></span> Aperçu PDF</a> <span class="glyphicon glyphicon-file"></span> Aperçu PDF</a>

View File

@@ -108,12 +108,8 @@ def agenda(request):
# liste des users avec agenda # liste des users avec agenda
agendas = get_users_agenda(request, '') agendas = get_users_agenda(request, '')
# le user est-il un commercial ?
member = get_member_by_id(request, logged_in) member = get_member_by_id(request, logged_in)
if member.access == 0: access = member.access
isCommercial = True
else:
isCommercial = False
agenda = member.agenda agenda = member.agenda
# prendre en compte les paramètres de saisie # prendre en compte les paramètres de saisie
@@ -169,7 +165,7 @@ def agenda(request):
'calendar_events': json.dumps(events), 'calendar_events': json.dumps(events),
'agendas': agendas, 'agendas': agendas,
'agenda': agenda, 'agenda': agenda,
'isCommercial': isCommercial, 'access': access,
'types_rdv': types_rdv, 'types_rdv': types_rdv,
'type_rdv': type_rdv, 'type_rdv': type_rdv,
'message': message, 'message': message,

View File

@@ -543,6 +543,8 @@ def rdf_list(request):
@view_config(route_name='rdf_view', renderer='../templates/dossier/rdf_view.pt', permission='view') @view_config(route_name='rdf_view', renderer='../templates/dossier/rdf_view.pt', permission='view')
def rdf_view(request): def rdf_view(request):
logged_in = request.authenticated_userid.upper() logged_in = request.authenticated_userid.upper()
# lire code accès du user
access = get_userAccess(request, logged_in)
norapport = request.matchdict['no_id'] norapport = request.matchdict['no_id']
url = request.route_url('rdf_view', no_id=norapport) url = request.route_url('rdf_view', no_id=norapport)
@@ -610,7 +612,7 @@ def rdf_view(request):
'page_title': "Rapport no %s du %s" % (norapport, rapport.date_inter.strftime('%d-%m-%Y')), 'page_title': "Rapport no %s du %s" % (norapport, rapport.date_inter.strftime('%d-%m-%Y')),
'url': url, 'url': url,
'pt_name': 'rdf_view', 'pt_name': 'rdf_view',
'logged_in': logged_in, 'access': access,
'rapport': rapport, 'rapport': rapport,
'nodossier': nodossier, 'nodossier': nodossier,
'nochantier': rapport.nochantier, 'nochantier': rapport.nochantier,