fusionner monagenda.pt avec planning.pt
This commit is contained in:
@@ -22,7 +22,7 @@ def execute_query(request, query, params):
|
||||
|
||||
def get_agendas(request):
|
||||
""" lire la liste des personnes ayant un agenda"""
|
||||
query = "CALL spGET_AGENDAS('T')"
|
||||
query = "SELECT * FROM p_users WHERE agenda <> 0 AND actif <> 0 ORDER BY nom;"
|
||||
results = request.dbsession.execute(query).fetchall()
|
||||
return results
|
||||
|
||||
|
||||
@@ -10,6 +10,5 @@ def includeme(config):
|
||||
config.add_route('users_list', '/users_list')
|
||||
config.add_route('login', '/login')
|
||||
config.add_route('logout', '/logout')
|
||||
config.add_route('planning', '/planning')
|
||||
config.add_route('redefinir_mdp', '/redefinir_mdp/{lien}')
|
||||
|
||||
|
||||
@@ -4,16 +4,25 @@
|
||||
|
||||
<div class="form-group">
|
||||
<div class="row">
|
||||
<form method="POST" id="frm">
|
||||
<div class="col-md-2">
|
||||
<a class="btn btn-primary" role="button" href="/">
|
||||
<a class="btn btn-default" role="button" href="/">
|
||||
<span class="glyphicon glyphicon-chevron-left"></span> Retour</a>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<div class="col-md-4">
|
||||
<select class="form-control" id="agenda" name="agenda" onChange="$('#frm').submit()">
|
||||
<div tal:repeat="item agendas">
|
||||
<option value="${item.CD_UTI}" tal:attributes="selected agenda==item.CD_UTI and 'selected' or None">${item.NOM}</option>
|
||||
</div>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<p>
|
||||
<span class="label label-danger">RDV Peinture</span> <span class="label label-warning">RDV Menuiserie</span>
|
||||
<span class="label label-success">RDV Plomberiee</span> <span class="label label-info">RDV Polynet</span>
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -9,11 +9,6 @@
|
||||
<span class="glyphicon glyphicon-calendar logo-small"></span><br />
|
||||
<h4>MON AGENDA</h4></a>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<a href="${request.application_url}/planning">
|
||||
<span class="glyphicon glyphicon-calendar logo-small"></span><br />
|
||||
<h4>PLANNING</h4></a>
|
||||
</div>
|
||||
</div> <!-- row 1 -->
|
||||
<br />
|
||||
<div class="row well" tal:condition="layout.isAdmin">
|
||||
|
||||
@@ -93,68 +93,25 @@ def dossier_view(request):
|
||||
'details': details,
|
||||
}
|
||||
|
||||
|
||||
@view_config(route_name='agenda', renderer='../templates/agenda/agenda.pt', permission='view')
|
||||
def agenda(request):
|
||||
logged_in = request.authenticated_userid
|
||||
member = get_member_by_id(request, logged_in)
|
||||
if not member:
|
||||
request.session.flash(u"Identifiant %s introuvable" % (logged_in), 'danger')
|
||||
return HTTPFound(location=request.route_url("/home"))
|
||||
|
||||
rows = get_rendez_vous(request, logged_in)
|
||||
page_title = u"Agenda de %s" % member.NOM
|
||||
|
||||
# construire la liste des events
|
||||
events = []
|
||||
for row in rows:
|
||||
event_url = 'dossier_view/%s' % (row.nodossier)
|
||||
event_title = row.c_nom
|
||||
|
||||
# déterminer la couleur de l'event selon la societe
|
||||
societe = row.nodossier[0:2]
|
||||
if societe == "PE":
|
||||
color = "#d9534f" # rouge danger
|
||||
elif societe == "PL":
|
||||
color = "#5cb85c" # vert success
|
||||
elif societe == "PL":
|
||||
color = "#5bc0de" # bleu info
|
||||
else:
|
||||
color = "#f0ad4e" # orange warning
|
||||
|
||||
json_event = {
|
||||
'title': event_title,
|
||||
'start': row.rdv_debut.strftime('%Y-%m-%d %H:%M:%S'),
|
||||
'end': row.rdv_fin.strftime('%Y-%m-%d %H:%M:%S'),
|
||||
'allDay': False,
|
||||
'color': color,
|
||||
'url': event_url,
|
||||
}
|
||||
events.append(json_event)
|
||||
|
||||
|
||||
return {
|
||||
'page_title': page_title,
|
||||
'fullcalendar_events': json.dumps(events),
|
||||
}
|
||||
|
||||
@view_config(route_name='planning', renderer='../templates/agenda/planning.pt', permission='view')
|
||||
def planning(request):
|
||||
logged_in = request.authenticated_userid
|
||||
member = get_member_by_id(request, logged_in)
|
||||
if not member:
|
||||
request.session.flash(u"Identifiant %s introuvable" % (logged_in), 'danger')
|
||||
return HTTPFound(location=request.route_url("/home"))
|
||||
|
||||
# determiner le rôle du user
|
||||
access = member.access
|
||||
# liste des users avec agenda
|
||||
agendas = get_agendas(request)
|
||||
|
||||
# le user a-t-il un agenda ?
|
||||
agenda = 'JMD'
|
||||
for item in agendas:
|
||||
if item.CD_UTI == logged_in.upper():
|
||||
agenda = item.CD_UTI
|
||||
|
||||
|
||||
# prendre en compte les paramètres de saisie
|
||||
if 'agenda' in request.params:
|
||||
agenda = request.params["agenda"]
|
||||
|
||||
personne = get_member_by_id(request,agenda)
|
||||
rows = get_rendez_vous(request, agenda)
|
||||
|
||||
# construire la liste des events
|
||||
@@ -169,7 +126,7 @@ def planning(request):
|
||||
color = "#d9534f" # rouge danger
|
||||
elif societe == "PL":
|
||||
color = "#5cb85c" # vert success
|
||||
elif societe == "PL":
|
||||
elif societe == "PO":
|
||||
color = "#5bc0de" # bleu info
|
||||
else:
|
||||
color = "#f0ad4e" # orange warning
|
||||
@@ -190,6 +147,5 @@ def planning(request):
|
||||
'fullcalendar_events': json.dumps(events),
|
||||
'agendas': agendas,
|
||||
'agenda': agenda,
|
||||
'access': access,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user