ajout prototype page d'accueil dans paramètres
This commit is contained in:
@@ -1,96 +1,96 @@
|
||||
# -*- coding: utf8 -*-
|
||||
from sqlalchemy import text
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy.orm import (
|
||||
scoped_session,
|
||||
sessionmaker,
|
||||
)
|
||||
from zope.sqlalchemy import (
|
||||
ZopeTransactionExtension,
|
||||
mark_changed
|
||||
)
|
||||
|
||||
from datetime import *
|
||||
import dateutil.relativedelta
|
||||
import transaction
|
||||
|
||||
def execute_query(request, query, params):
|
||||
"""Execute query and mark session as changed"""
|
||||
request.dbsession.execute(query, params)
|
||||
mark_changed(request.dbsession)
|
||||
transaction.commit()
|
||||
|
||||
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 cd_uti = agenda 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;"
|
||||
results = request.dbsession.execute(query, {'user': user}).first()
|
||||
return results
|
||||
|
||||
def get_types_rdv(request):
|
||||
""" lire la liste des types de rendez-vous"""
|
||||
query = "SELECT * FROM p_types_rdv ORDER BY LIB;"
|
||||
results = request.dbsession.execute(query).fetchall()
|
||||
return results
|
||||
|
||||
def get_rendez_vous(request, itc):
|
||||
d = datetime.now()
|
||||
d = d - dateutil.relativedelta.relativedelta(months=3)
|
||||
# début du mois M-2
|
||||
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, 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
|
||||
"""
|
||||
results = request.dbsession.execute(query, {'datedeb': datedeb, 'itc': itc}).fetchall()
|
||||
return results
|
||||
|
||||
def delete_rdv(request, nodossier, nolig):
|
||||
societe = nodossier[0:2]
|
||||
no_id = nodossier[3:]
|
||||
|
||||
query = "DELETE FROM dem_lig where societe = '%s' and no_id=%s and nolig=%s;" % (societe, no_id, nolig)
|
||||
execute_query(request, query, {})
|
||||
|
||||
def update_rdv(request, nodossier, nolig, new_values):
|
||||
societe = nodossier[0:2]
|
||||
no_id = nodossier[3:]
|
||||
|
||||
# formater date et heure de visite
|
||||
if new_values['rdv_debut']:
|
||||
ddate = datetime.strptime(new_values['rdv_debut'], '%d-%m-%Y %H:%M')
|
||||
new_values['DATEVI'] = ddate.strftime("%Y-%m-%d")
|
||||
new_values['HEUREVI'] = ddate.strftime("%H:%M")
|
||||
|
||||
del new_values['rdv_debut']
|
||||
s = ''
|
||||
for param in new_values.keys():
|
||||
if s:
|
||||
s += ",%s=:%s" % (param, param)
|
||||
else:
|
||||
s = "%s=:%s" % (param, param)
|
||||
|
||||
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]
|
||||
no_id = nodossier[3:]
|
||||
|
||||
query = """
|
||||
INSERT INTO dem_lig (societe, NO_ID, DATE, COMMENT, DATEVI, HEUREVI, LISTE, USERMAJ) VALUES
|
||||
(:societe, :no_id, CURRENT_DATE, :type_rdv, :dateRDV, :heureRDV, :agenda, :logged_in) ;"""
|
||||
execute_query(request, query, {'societe': societe, 'no_id' :no_id, 'dateRDV': dateRDV, 'heureRDV': heureRDV, 'type_rdv': type_rdv, 'agenda': agenda, 'logged_in':logged_in})
|
||||
|
||||
# -*- coding: utf8 -*-
|
||||
from sqlalchemy import text
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy.orm import (
|
||||
scoped_session,
|
||||
sessionmaker,
|
||||
)
|
||||
from zope.sqlalchemy import (
|
||||
ZopeTransactionExtension,
|
||||
mark_changed
|
||||
)
|
||||
|
||||
from datetime import *
|
||||
import dateutil.relativedelta
|
||||
import transaction
|
||||
|
||||
def execute_query(request, query, params):
|
||||
"""Execute query and mark session as changed"""
|
||||
request.dbsession.execute(query, params)
|
||||
mark_changed(request.dbsession)
|
||||
transaction.commit()
|
||||
|
||||
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 cd_uti = agenda 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;"
|
||||
results = request.dbsession.execute(query, {'user': user}).first()
|
||||
return results
|
||||
|
||||
def get_types_rdv(request):
|
||||
""" lire la liste des types de rendez-vous"""
|
||||
query = "SELECT * FROM p_types_rdv ORDER BY LIB;"
|
||||
results = request.dbsession.execute(query).fetchall()
|
||||
return results
|
||||
|
||||
def get_rendez_vous(request, itc):
|
||||
d = datetime.now()
|
||||
d = d - dateutil.relativedelta.relativedelta(months=3)
|
||||
# début du mois M-2
|
||||
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, 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
|
||||
"""
|
||||
results = request.dbsession.execute(query, {'datedeb': datedeb, 'itc': itc}).fetchall()
|
||||
return results
|
||||
|
||||
def delete_rdv(request, nodossier, nolig):
|
||||
societe = nodossier[0:2]
|
||||
no_id = nodossier[3:]
|
||||
|
||||
query = "DELETE FROM dem_lig where societe = '%s' and no_id=%s and nolig=%s;" % (societe, no_id, nolig)
|
||||
execute_query(request, query, {})
|
||||
|
||||
def update_rdv(request, nodossier, nolig, new_values):
|
||||
societe = nodossier[0:2]
|
||||
no_id = nodossier[3:]
|
||||
|
||||
# formater date et heure de visite
|
||||
if new_values['rdv_debut']:
|
||||
ddate = datetime.strptime(new_values['rdv_debut'], '%d-%m-%Y %H:%M')
|
||||
new_values['DATEVI'] = ddate.strftime("%Y-%m-%d")
|
||||
new_values['HEUREVI'] = ddate.strftime("%H:%M")
|
||||
|
||||
del new_values['rdv_debut']
|
||||
s = ''
|
||||
for param in new_values.keys():
|
||||
if s:
|
||||
s += ",%s=:%s" % (param, param)
|
||||
else:
|
||||
s = "%s=:%s" % (param, param)
|
||||
|
||||
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]
|
||||
no_id = nodossier[3:]
|
||||
|
||||
query = """
|
||||
INSERT INTO dem_lig (societe, NO_ID, DATE, COMMENT, DATEVI, HEUREVI, LISTE, USERMAJ) VALUES
|
||||
(:societe, :no_id, CURRENT_DATE, :type_rdv, :dateRDV, :heureRDV, :agenda, :logged_in) ;"""
|
||||
execute_query(request, query, {'societe': societe, 'no_id' :no_id, 'dateRDV': dateRDV, 'heureRDV': heureRDV, 'type_rdv': type_rdv, 'agenda': agenda, 'logged_in':logged_in})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user