diff --git a/mondumas/models/agenda.py b/mondumas/models/agenda.py index 53b5675..f8f9a9b 100644 --- a/mondumas/models/agenda.py +++ b/mondumas/models/agenda.py @@ -20,10 +20,15 @@ def execute_query(request, query, params): mark_changed(request.dbsession) transaction.commit() -def get_users_agenda(request): - """ lire la liste des users ayant un agenda""" - query = "SELECT * FROM p_users WHERE cd_uti != 'N' and agenda != 0 AND actif != 0 ORDER BY nom;" - results = request.dbsession.execute(query).fetchall() +def get_users_agenda(request, user): + if user == '': + """ lire la liste des users ayant un agenda""" + query = "SELECT * FROM p_users WHERE cd_uti != 'N' and agenda != 0 AND actif != 0 ORDER BY nom;" + results = request.dbsession.execute(query).fetchall() + else: + """ lire le user ayant un agenda""" + query = "SELECT * FROM p_users WHERE cd_uti = :user and agenda != 0 AND actif != 0 ORDER BY nom;" + results = request.dbsession.execute(query, {'user': user}).first() return results def get_types_rdv(request): @@ -39,7 +44,7 @@ def get_rendez_vous(request, itc): datedeb = d.strftime('%Y-%m-01') # lire les rdv de l'ITC - query = """SELECT CONCAT(l.societe,"-",l.no_id) as nodossier, l.nolig, l.rdv_debut, l.rdv_fin, e.c_qualite, e.c_nom, e.c_ville FROM dem_lig l + query = """SELECT CONCAT(l.societe,"-",l.no_id) as nodossier, l.nolig, l.rdv_debut, l.rdv_fin, e.c_qualite, e.c_nom, e.c_ville, e.c_cp FROM dem_lig l INNER JOIN dem_devis e ON l.societe=e.societe AND l.no_id=e.no_id WHERE l.datevi >= :datedeb AND l.liste=:itc ORDER BY l.datevi, l.heurevi """ diff --git a/mondumas/models/dossier.py b/mondumas/models/dossier.py index b03bdc9..a907564 100644 --- a/mondumas/models/dossier.py +++ b/mondumas/models/dossier.py @@ -145,3 +145,17 @@ def get_docs_attaches(request, nomrep, nodossier): return results +def update_dossier(request, nodossier, new_values): + societe = nodossier[0:2] + nochantier = int(nodossier[3:]) + + s = '' + for param in new_values.keys(): + if s: + s += ",%s=:%s" % (param, param) + else: + s = "%s=:%s" % (param, param) + new_values['societe'] = societe + new_values['nochantier'] = nochantier + query = u"UPDATE dem_devis SET %s WHERE societe=:societe AND no_id=:nochantier" % s + execute_query(request, query, new_values) diff --git a/mondumas/routes.py b/mondumas/routes.py index 0fc2c60..6c87e4a 100644 --- a/mondumas/routes.py +++ b/mondumas/routes.py @@ -13,6 +13,7 @@ def includeme(config): config.add_route('redefinir_mdp', '/redefinir_mdp/{lien}') config.add_route('suivi_edit','/suivi_edit/{nodossier}/{nolig}') # dossier + config.add_route('dossier_edit', '/dossier_edit/{nodossier}') config.add_route('dossier_lookup', '/chantier_lookup') config.add_route('dossier_select', '/dossier_select/{date}') config.add_route('dossier_selected', '/dossier_selected/{goto}/{date}/{nodossier}') diff --git a/mondumas/templates/agenda/agenda.pt b/mondumas/templates/agenda/agenda.pt index a531145..a8e2ac3 100644 --- a/mondumas/templates/agenda/agenda.pt +++ b/mondumas/templates/agenda/agenda.pt @@ -110,7 +110,7 @@ $(document).ready(function() { weekends: false, height: 'auto', minTime: "07:00:00", - maxTime: "21:00:00", + maxTime: "20:00:00", events:${fullcalendar_events}, eventRender: function(event, element){ element.find('.fc-title').append("
" + event.description); diff --git a/mondumas/templates/dossier/dossier_edit.pt b/mondumas/templates/dossier/dossier_edit.pt new file mode 100644 index 0000000..83cd68e --- /dev/null +++ b/mondumas/templates/dossier/dossier_edit.pt @@ -0,0 +1,103 @@ + +
+ +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ + Annuler + +
+
+
+
+
+
+ + + +
+
diff --git a/mondumas/templates/dossier/dossier_view.pt b/mondumas/templates/dossier/dossier_view.pt index 0c3769d..8ca39cb 100644 --- a/mondumas/templates/dossier/dossier_view.pt +++ b/mondumas/templates/dossier/dossier_view.pt @@ -7,7 +7,11 @@
- +

CHANTIER

+

CHANTIER

+ +  Modifier +

${dossier.C_QUALITE} ${dossier.C_NOM}

${dossier.C_ADR}
@@ -116,8 +120,12 @@
-

- Nouvelle ligne

+

+ + Nouvelle ligne + + Nouveau rendez-vous +

@@ -127,10 +135,14 @@ - + diff --git a/mondumas/views/agenda.py b/mondumas/views/agenda.py index 634c4e0..2c81e2c 100644 --- a/mondumas/views/agenda.py +++ b/mondumas/views/agenda.py @@ -27,9 +27,22 @@ from ..models.dossier import * @view_config(route_name='rdv_edit', renderer='../templates/agenda/rdv_edit.pt', permission='view') def rdv_edit(request): - logged_in = request.authenticated_userid + logged_in = request.authenticated_userid.upper() nodossier = request.matchdict['nodossier'] nolig = request.matchdict['nolig'] + + # creation d'un rdv ? + if nolig == '0': + # lire le user avec agenda + agenda = get_users_agenda(request, logged_in) + if agenda: + aujourdhui = datetime.now() + create_rdv(request, nodossier, aujourdhui.strftime("%Y-%m-%d"), aujourdhui.strftime("%H:00"), 'RDV DEVIS', logged_in, logged_in) + request.session.flash(u"Le rendez-vous a été CREE avec succès.", 'success') + else: + request.session.flash(u"Vous ne pouvez pas créer de rendez-vous.", 'danger') + return HTTPFound(location=request.route_url('dossier_view', nodossier=nodossier)) + url = request.route_url("rdv_edit", nodossier=nodossier, nolig=nolig) message = '' @@ -99,7 +112,7 @@ def agenda(request): type_rdv = u'RDV DEVIS' # liste des users avec agenda - agendas = get_users_agenda(request) + agendas = get_users_agenda(request, '') # le user a-t-il un agenda ? agenda = 'JMD' @@ -141,7 +154,7 @@ def agenda(request): json_event = { 'title': '%s %s' % (row.c_qualite, row.c_nom), - 'description': row.c_ville.capitalize(), + 'description': '%s %s' % (row.c_cp, row.c_ville.capitalize()), 'start': row.rdv_debut.strftime('%Y-%m-%d %H:%M:%S'), 'end': row.rdv_fin.strftime('%Y-%m-%d %H:%M:%S'), 'allDay': False, @@ -174,7 +187,7 @@ def planning(request): # {"id":"a","title":"Auditorium A"} ressources = [] # liste des users avec agenda - users = get_users_agenda(request) + users = get_users_agenda(request, '') for row in users: json_ressources = { 'id': row.CD_UTI, @@ -203,7 +216,7 @@ def planning(request): json_event = { 'resourceId': user.CD_UTI, 'title': row.c_nom, - 'description': row.c_ville.capitalize(), + 'description': '%s %s' % (row.c_cp, row.c_ville.capitalize()), 'start': row.rdv_debut.strftime('%Y-%m-%d %H:%M:%S'), 'end': row.rdv_fin.strftime('%Y-%m-%d %H:%M:%S'), 'allDay': False, diff --git a/mondumas/views/dossier.py b/mondumas/views/dossier.py index c14aa4d..b5a4cd9 100644 --- a/mondumas/views/dossier.py +++ b/mondumas/views/dossier.py @@ -218,3 +218,33 @@ def suivi_edit(request): 'suivi': suivi, 'message': message, } + +@view_config(route_name='dossier_edit', renderer='../templates/dossier/dossier_edit.pt', permission='view') +def dossier_edit(request): + logged_in = request.authenticated_userid + nodossier = request.matchdict['nodossier'] + url = request.route_url('dossier_edit', nodossier=nodossier) + + dossier = get_dossier_by_no(request, nodossier) + if not dossier: + request.session.flash(u"Le dossier no %s est introuvable" % (nodossier), 'danger') + return HTTPFound(location=request.route_url('dossier_lookup')) + + if 'form.submitted' in request.params: + new_values = {} + for param, db_value in dossier.items(): + if param in request.params and request.params[param] != db_value: + new_values[param] = request.params[param] + + if new_values: + update_dossier(request, nodossier, new_values) + request.session.flash(u"Le dossier a été mis à jour avec succès.", 'success') + return HTTPFound(location=request.route_url('dossier_view', nodossier=nodossier)) + + return { + 'page_title': u"Modifier le dossier : %s" % nodossier, + 'url': url, + 'dossier': dossier, + 'nodossier': nodossier, + } +
DatePar
+ ${detail.DATE.strftime('%d-%m-%Y')} + + ${detail.DATE.strftime('%d-%m-%Y')} + ${detail.COMMENT} ${detail.COMMENTVI}