ajout bouton changement de statut pour dossier
This commit is contained in:
@@ -1,77 +0,0 @@
|
|||||||
###
|
|
||||||
# app configuration
|
|
||||||
# http://docs.pylonsproject.org/projects/pyramid/en/1.7-branch/narr/environment.html
|
|
||||||
###
|
|
||||||
|
|
||||||
[app:main]
|
|
||||||
use = egg:mondumas
|
|
||||||
|
|
||||||
pyramid.reload_templates = true
|
|
||||||
pyramid.debug_authorization = false
|
|
||||||
pyramid.debug_notfound = false
|
|
||||||
pyramid.debug_routematch = false
|
|
||||||
pyramid.default_locale_name = en
|
|
||||||
pyramid.includes =
|
|
||||||
pyramid_chameleon
|
|
||||||
pyramid_debugtoolbar
|
|
||||||
pyramid_layout
|
|
||||||
pyramid_mailer
|
|
||||||
pyramid_tm
|
|
||||||
|
|
||||||
|
|
||||||
sqlalchemy.url = mysql://phuoc:phuoc!@192.168.1.17/bddevfac?charset=utf8
|
|
||||||
# sqlalchemy.url = mysql://phuoc:phuoc!@192.168.0.31/bddevfac?charset=utf8
|
|
||||||
|
|
||||||
mondumas.admin_email = cao.thien-phuoc@orange.fr
|
|
||||||
mondumas.devfac_url = mondumas:static/DEVFAC/DOCS_ATTACHES/
|
|
||||||
mondumas.devfac_dir = /DEVFAC14/DOCS_ATTACHES
|
|
||||||
|
|
||||||
# Mailer configuration
|
|
||||||
mail.host = smtp.orange.fr
|
|
||||||
mail.port = 25
|
|
||||||
mail.username = cao.thien-phuoc@orange.fr
|
|
||||||
|
|
||||||
[server:main]
|
|
||||||
use = egg:waitress#main
|
|
||||||
host = 0.0.0.0
|
|
||||||
port = 9180
|
|
||||||
|
|
||||||
###
|
|
||||||
# logging configuration
|
|
||||||
# http://docs.pylonsproject.org/projects/pyramid/en/1.7-branch/narr/logging.html
|
|
||||||
###
|
|
||||||
|
|
||||||
[loggers]
|
|
||||||
keys = root, mondumas, sqlalchemy
|
|
||||||
|
|
||||||
[handlers]
|
|
||||||
keys = console
|
|
||||||
|
|
||||||
[formatters]
|
|
||||||
keys = generic
|
|
||||||
|
|
||||||
[logger_root]
|
|
||||||
level = INFO
|
|
||||||
handlers = console
|
|
||||||
|
|
||||||
[logger_mondumas]
|
|
||||||
level = DEBUG
|
|
||||||
handlers =
|
|
||||||
qualname = mondumas
|
|
||||||
|
|
||||||
[logger_sqlalchemy]
|
|
||||||
level = INFO
|
|
||||||
handlers =
|
|
||||||
qualname = sqlalchemy.engine
|
|
||||||
# "level = INFO" logs SQL queries.
|
|
||||||
# "level = DEBUG" logs SQL queries and results.
|
|
||||||
# "level = WARN" logs neither. (Recommended for production systems.)
|
|
||||||
|
|
||||||
[handler_console]
|
|
||||||
class = StreamHandler
|
|
||||||
args = (sys.stderr,)
|
|
||||||
level = NOTSET
|
|
||||||
formatter = generic
|
|
||||||
|
|
||||||
[formatter_generic]
|
|
||||||
format = %(asctime)s %(levelname)-5.5s [%(name)s:%(lineno)s][%(threadName)s] %(message)s
|
|
||||||
@@ -188,12 +188,12 @@ def update_dossier(request, nodossier, new_values):
|
|||||||
query = "CALL spUPD_CHANTIER_COORD(:societe, :nochantier);"
|
query = "CALL spUPD_CHANTIER_COORD(:societe, :nochantier);"
|
||||||
execute_query(request, query, {'societe': societe, 'nochantier': nochantier})
|
execute_query(request, query, {'societe': societe, 'nochantier': nochantier})
|
||||||
|
|
||||||
def update_dossier_cloture(request, nodossier, logged_in):
|
def update_dossier_cloture(request, nodossier, status, logged_in):
|
||||||
societe = nodossier[0:2]
|
societe = nodossier[0:2]
|
||||||
nochantier = int(nodossier[3:])
|
nochantier = int(nodossier[3:])
|
||||||
# met le montant regle à 1 centime pour terminé le dossier
|
# met le montant regle à 1 centime pour terminé le dossier
|
||||||
query = "UPDATE dem_devis SET STATUS = 'Annulée', USERMAJ = :logged_in WHERE societe=:societe AND no_id=:nochantier"
|
query = "UPDATE dem_devis SET STATUS = :status, USERMAJ = :logged_in WHERE societe=:societe AND no_id=:nochantier"
|
||||||
execute_query(request, query, {'societe': societe, 'nochantier': nochantier, 'logged_in': logged_in})
|
execute_query(request, query, {'societe': societe, 'nochantier': nochantier, 'status': status, 'logged_in': logged_in})
|
||||||
|
|
||||||
def insert_dossier_attaches(request, nodossier, norapport, origine, filename, filesize, user):
|
def insert_dossier_attaches(request, nodossier, norapport, origine, filename, filesize, user):
|
||||||
societe = nodossier[0:2]
|
societe = nodossier[0:2]
|
||||||
@@ -324,3 +324,8 @@ def get_log_demandes(request, ):
|
|||||||
FROM t_log_nuit WHERE proc = 'GENERER';"""
|
FROM t_log_nuit WHERE proc = 'GENERER';"""
|
||||||
results = request.dbsession.execute(query, )
|
results = request.dbsession.execute(query, )
|
||||||
return results.fetchall()
|
return results.fetchall()
|
||||||
|
|
||||||
|
def get_status_by_id(request, code):
|
||||||
|
query = """SELECT libelle FROM bddevfac.p_statuts WHERE code = :code"""
|
||||||
|
results = request.dbsession.execute(query, {'code': code})
|
||||||
|
return results.fetchall()
|
||||||
@@ -329,20 +329,30 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<p class="text-center"><b>Voulez-vous clôturer le dossier ?</b></p>
|
<p class="text-center"><b>Voulez-vous clôturer le dossier ?</b></p>
|
||||||
</div>
|
</div>
|
||||||
<label class="control-label col-xs-4">Sélectionner le type de clôture :</label>
|
<div class="row">
|
||||||
|
<label class="control-label col-xs-4" for="status">Sélectionner le statut :</label>
|
||||||
<div class="col-xs-8">
|
<div class="col-xs-8">
|
||||||
<label class="radio"><input type="radio" name="type_act" value="annulé" checked>Annulé</label>
|
<select class="form-control" id="status" name="status">
|
||||||
<label class="radio"><input type="radio" name="type_act" value="refusé">Refusé</label>
|
<div tal:repeat="item status">
|
||||||
<label class="radio"><input type="radio" name="type_act" value="en attente">En attente</label>
|
<option value="${item}" tal:attributes="selected dossier.STATUS==item[0] and 'selected' or None">${item}</option>
|
||||||
</div>
|
</div>
|
||||||
<label class="control-label col-xs-4">Motif :</label>
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
<div class="row">
|
||||||
|
<label class="control-label col-xs-4" for="motif">Motif :</label>
|
||||||
<div class="col-xs-8">
|
<div class="col-xs-8">
|
||||||
<input class="form-control" type="text" id="motif" name="motif" value=""
|
<input class="form-control" type="text" id="motif" name="motif" value=""
|
||||||
placeholder="65 caractères maximum"
|
placeholder="65 caractères maximum"
|
||||||
|
data-fv-notempty="true"
|
||||||
|
data-fv-notempty-message="Veuillez remplir un motif"
|
||||||
data-fv-stringlength="true"
|
data-fv-stringlength="true"
|
||||||
data-fv-stringlength-max="65"
|
data-fv-stringlength-max="65"
|
||||||
data-fv-stringlength-message="65 caractères maximum"/>
|
data-fv-stringlength-message="65 caractères maximum"/>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">Annuler</button>
|
<button type="button" class="btn btn-default" data-dismiss="modal">Annuler</button>
|
||||||
<button type="submit" class="btn btn-warning" name="form.close">Clôturer</button>
|
<button type="submit" class="btn btn-warning" name="form.close">Clôturer</button>
|
||||||
|
|||||||
@@ -126,15 +126,25 @@ def dossier_view(request):
|
|||||||
# select background color according to society
|
# select background color according to society
|
||||||
bg_color = "bg-%s" % societe
|
bg_color = "bg-%s" % societe
|
||||||
|
|
||||||
if 'form.close' in request.params:
|
status = ["0 | Non traité", "1 | Contact pris", "2 | RDV pris", "3 | Devis établi", "4 | Devis accepté", "5 | Trav. plan",
|
||||||
|
"6 | Facturé", "7 | Réglé part.", "8 | Réglé", "10 | Annulé", "11 | Refusé", "12 | Attente"]
|
||||||
|
|
||||||
action = request.params["type_act"]
|
if 'form.close' in request.params:
|
||||||
|
status = request.params["status"]
|
||||||
motif = request.params["motif"]
|
motif = request.params["motif"]
|
||||||
|
|
||||||
comment = 'Le dossier est' + action + 'car' + motif
|
code = status[:2].strip()
|
||||||
|
|
||||||
|
action = str(get_status_by_id(request, code)[0].libelle)
|
||||||
|
|
||||||
|
if int(code) < 10:
|
||||||
|
comment = action + " pour ce dossier car " + motif
|
||||||
|
else:
|
||||||
|
comment = 'Le dossier est ' + action + ' car ' + motif
|
||||||
|
|
||||||
insert_suivi(request, nodossier, comment)
|
insert_suivi(request, nodossier, comment)
|
||||||
|
|
||||||
update_dossier_cloture(request, nodossier, logged_in)
|
update_dossier_cloture(request, nodossier, code, logged_in)
|
||||||
request.session.flash(u"Le dossier a été cloturé avec succès.", 'success')
|
request.session.flash(u"Le dossier a été cloturé avec succès.", 'success')
|
||||||
return HTTPFound(url)
|
return HTTPFound(url)
|
||||||
|
|
||||||
@@ -153,6 +163,7 @@ def dossier_view(request):
|
|||||||
'docs_url': request.static_url(request.registry.settings['mondumas.devfac_url']),
|
'docs_url': request.static_url(request.registry.settings['mondumas.devfac_url']),
|
||||||
'bg_color': bg_color,
|
'bg_color': bg_color,
|
||||||
'access': access,
|
'access': access,
|
||||||
|
'status': status,
|
||||||
}
|
}
|
||||||
|
|
||||||
@view_config(route_name='dossier_selected', permission='view')
|
@view_config(route_name='dossier_selected', permission='view')
|
||||||
|
|||||||
Reference in New Issue
Block a user