diff --git a/mondumas/models/agenda.py b/mondumas/models/agenda.py index 530b3dc..232e38b 100644 --- a/mondumas/models/agenda.py +++ b/mondumas/models/agenda.py @@ -76,11 +76,14 @@ def update_rdv(request, nodossier, nolig, new_values): else: s = "%s=:%s" % (param, param) - new_values['societe'] = societe - new_values['no_id'] = no_id - new_values['nolig'] = nolig - query = "UPDATE dem_lig SET %s WHERE societe = :societe AND NO_ID = :no_id AND NOLIG = :nolig ;" % s - execute_query(request, query, new_values) + if nolig == '0': + create_rdv(request, nodossier, new_values['DATEVI'], new_values['HEUREVI'], new_values['COMMENT'], new_values['LISTE'], new_values['USERMAJ']) + else: + new_values['societe'] = societe + new_values['no_id'] = no_id + new_values['nolig'] = nolig + query = "UPDATE dem_lig SET %s WHERE societe = :societe AND NO_ID = :no_id AND NOLIG = :nolig ;" % s + execute_query(request, query, new_values) def create_rdv(request, nodossier, dateRDV, heureRDV, type_rdv, agenda, logged_in): societe = nodossier[0:2] diff --git a/mondumas/routes.py b/mondumas/routes.py index dca6069..b7e5cb9 100644 --- a/mondumas/routes.py +++ b/mondumas/routes.py @@ -8,6 +8,7 @@ def includeme(config): config.add_route('home', '/') config.add_route('affiche_message','/affiche_message/{login}') config.add_route('ajax_codepostal', '/ajax_codepostal') + config.add_route('ajax_lookup', '/ajax_lookup') config.add_route('changer_mdp', '/changer_mdp') config.add_route('envoyer_mdp', '/envoyer_mdp') config.add_route('login', '/login') diff --git a/mondumas/templates/agenda/agenda.pt b/mondumas/templates/agenda/agenda.pt index 46568ae..58a9e87 100644 --- a/mondumas/templates/agenda/agenda.pt +++ b/mondumas/templates/agenda/agenda.pt @@ -14,16 +14,6 @@ - -
-
- -
- - -
-
-
@@ -57,19 +47,30 @@ data-fv-icon-validating="glyphicon glyphicon-refresh">

- Voulez-vous créer un rendez-vous avec :
+ Voulez-vous créer un rendez-vous :

+
+ le date
+
+

pour la société

-
-

${mem_nodossier} - ${mem_nomdossier}

-

le date

+
+ + + + +
- -
-
- + +
+ +
+
+
+ +
+ +
- +
@@ -92,11 +94,15 @@
+
+
+ +
diff --git a/mondumas/templates/agenda/rdv_edit.pt b/mondumas/templates/agenda/rdv_edit.pt index f5dc847..86342fb 100644 --- a/mondumas/templates/agenda/rdv_edit.pt +++ b/mondumas/templates/agenda/rdv_edit.pt @@ -13,7 +13,7 @@
- ${nodossier}  |  ${rdv.C_QUALITE} ${rdv.C_NOM} +

${nodossier}  |  ${rdv.C_QUALITE} ${rdv.C_NOM}

@@ -29,18 +29,25 @@
- - +
- +
- + +
+
+
+ +
+
diff --git a/mondumas/views/agenda.py b/mondumas/views/agenda.py index 0f35acd..b35aa5f 100644 --- a/mondumas/views/agenda.py +++ b/mondumas/views/agenda.py @@ -29,32 +29,34 @@ def rdv_edit(request): logged_in = request.authenticated_userid.upper() nodossier = request.matchdict['nodossier'] nolig = request.matchdict['nolig'] + url = request.route_url("rdv_edit", nodossier=nodossier, nolig=nolig) + message = '' + + # lire la liste des users avec agenda + agendas = get_users_agenda(request, '') + # liste des types de rdv + types_rdv = get_types_rdv(request) # 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 = '' - # lire le rendez-vous - rdv = get_dossier_rdv_by_no(request, nodossier, nolig) - if not rdv: - request.session.flash(u"Rendez-vous non trouvé : %s" % nodossier, 'warning') - return HTTPFound(location=request.route_url('agenda', date='today')) - - # memorize nodossier et nom dossier - request.session['mem_nodossier'] = nodossier - request.session['mem_nomdossier'] = '%s %s' % (rdv.C_QUALITE, rdv.C_NOM) - page_title= "Modification du rdv du %s" % (rdv.rdv_debut.strftime('%d-%m-%Y %H:%M')) + # nouveau + rdv = {} + rdv['C_QUALITE'] = '' + rdv['C_NOM'] = '' + rdv['rdv_debut'] = datetime.today() + rdv['COMMENT'] = 'RDV DEVIS' + rdv['LISTE'] = logged_in + rdv['DATEMAJ'] = date.today() + rdv['USERMAJ'] = logged_in + page_title = "Nouveau rendez-vous" + else: + # lire le rendez-vous + rdv = get_dossier_rdv_by_no(request, nodossier, nolig) + if not rdv: + request.session.flash(u"Rendez-vous non trouvé : %s" % nodossier, 'warning') + return HTTPFound(location=request.route_url('agenda', date='today')) + + page_title= "Modification du rdv du %s" % (rdv.rdv_debut.strftime('%d-%m-%Y %H:%M')) if 'form.submitted' in request.params: new_values = {} @@ -64,11 +66,11 @@ def rdv_edit(request): if new_values: new_values['USERMAJ'] = logged_in.upper() - + ddate = datetime.strptime(new_values['rdv_debut'], '%d-%m-%Y %H:%M') + import pdb;pdb.set_trace() update_rdv(request, nodossier, nolig, new_values) request.session.flash(u"Le rendez-vous a été mis à jour avec succès.", 'success') - - return HTTPFound(location=request.route_url('agenda', date=rdv.rdv_debut.strftime('%Y-%m-%d'))) + return HTTPFound(location=request.route_url('agenda', date=ddate.strftime('%Y-%m-%d'))) if 'form.deleted' in request.params: delete_rdv(request, nodossier, nolig) @@ -81,6 +83,8 @@ def rdv_edit(request): 'logged_in': logged_in, 'nodossier': nodossier, 'nolig': nolig, + 'types_rdv': types_rdv, + 'agendas': agendas, 'rdv': rdv, 'message': message, } @@ -98,14 +102,6 @@ def agenda(request): url = request.route_url('agenda', date=datePlan) url_select = request.route_url('dossier_select', date=datePlan) - # recall code et nom élève - if 'mem_nodossier' in request.session: - mem_nodossier = request.session['mem_nodossier'] - mem_nomdossier = request.session['mem_nomdossier'] - else: - mem_nodossier = 'Aucun' - mem_nomdossier = 'dossier sélectionné' - # liste des types de rdv types_rdv = get_types_rdv(request) type_rdv = 'RDV DEVIS' @@ -126,13 +122,17 @@ def agenda(request): agenda = request.params["agenda"] # -- CREER un rendez-vous - if 'form.submitted' in request.params and mem_nodossier != 'Aucun': + if 'form.submitted' in request.params: dateRDV = request.params['dateRDV'] heureRDV = request.params['heureRDV'] type_rdv = request.params['type_rdv'] - create_rdv(request, mem_nodossier, dateRDV, heureRDV, type_rdv, agenda, logged_in.upper()) + societe = request.params['societe'] + name = request.params['name'].split(' | ') + create_rdv(request, name[1], dateRDV, heureRDV, type_rdv, agenda, logged_in.upper()) request.session.flash(u"Le rendez-vous a été CREE avec succès.", 'success') + # position le planning à le date de crétaion du RDV + datePlan = dateRDV rows = get_rendez_vous(request, agenda) @@ -174,8 +174,6 @@ def agenda(request): 'types_rdv': types_rdv, 'type_rdv': type_rdv, 'message': message, - 'mem_nodossier': mem_nodossier, - 'mem_nomdossier': mem_nomdossier, 'url': url, 'url_select': url_select, 'datePlan': datePlan, diff --git a/mondumas/views/default.py b/mondumas/views/default.py index 5a58308..1476520 100644 --- a/mondumas/views/default.py +++ b/mondumas/views/default.py @@ -26,6 +26,9 @@ import json from ..models.default import * from ..models.agenda import * +from ..models.dossier import ( + get_chantiers_byName +) def to_decimal(x): import decimal @@ -277,4 +280,19 @@ def ajax_codepostal(request): return Response(json.dumps(liste)) +@view_config(route_name='ajax_lookup') +def ajax_lookup(request): + recherche = request.GET['recherche'] + societe = recherche[:2] # 1er car. + name = recherche[2:] + + # lire les chantiers + chantiers = get_chantiers_byName(request, societe, name) + liste=[] + for row in chantiers: + d = "%s | %s-%s"% (row.chantier, societe, row.numero) + liste.append(d) + + return Response(json.dumps(liste)) + diff --git a/mondumas/views/dossier.py b/mondumas/views/dossier.py index 02f685f..f2f7db8 100644 --- a/mondumas/views/dossier.py +++ b/mondumas/views/dossier.py @@ -185,9 +185,6 @@ def dossier_selected(request): # fiche dossier dossier = get_dossier_by_no(request, nodossier) - # memorize nodossier et nom dossier - request.session['mem_nodossier'] = nodossier - request.session['mem_nomdossier'] = '%s %s' % (dossier.C_QUALITE, dossier.C_NOM) if goto == 'dossier_view': return HTTPFound(location=request.route_url('dossier_view', nodossier=nodossier)) else: