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);"
|
||||
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]
|
||||
nochantier = int(nodossier[3:])
|
||||
# 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"
|
||||
execute_query(request, query, {'societe': societe, 'nochantier': nochantier, 'logged_in': logged_in})
|
||||
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, 'status': status, 'logged_in': logged_in})
|
||||
|
||||
def insert_dossier_attaches(request, nodossier, norapport, origine, filename, filesize, user):
|
||||
societe = nodossier[0:2]
|
||||
@@ -324,3 +324,8 @@ def get_log_demandes(request, ):
|
||||
FROM t_log_nuit WHERE proc = 'GENERER';"""
|
||||
results = request.dbsession.execute(query, )
|
||||
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">
|
||||
<p class="text-center"><b>Voulez-vous clôturer le dossier ?</b></p>
|
||||
</div>
|
||||
<label class="control-label col-xs-4">Sélectionner le type de clôture :</label>
|
||||
<div class="col-xs-8">
|
||||
<label class="radio"><input type="radio" name="type_act" value="annulé" checked>Annulé</label>
|
||||
<label class="radio"><input type="radio" name="type_act" value="refusé">Refusé</label>
|
||||
<label class="radio"><input type="radio" name="type_act" value="en attente">En attente</label>
|
||||
<div class="row">
|
||||
<label class="control-label col-xs-4" for="status">Sélectionner le statut :</label>
|
||||
<div class="col-xs-8">
|
||||
<select class="form-control" id="status" name="status">
|
||||
<div tal:repeat="item status">
|
||||
<option value="${item}" tal:attributes="selected dossier.STATUS==item[0] and 'selected' or None">${item}</option>
|
||||
</div>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<label class="control-label col-xs-4">Motif :</label>
|
||||
<div class="col-xs-8">
|
||||
<input class="form-control" type="text" id="motif" name="motif" value=""
|
||||
placeholder="65 caractères maximum"
|
||||
data-fv-stringlength="true"
|
||||
data-fv-stringlength-max="65"
|
||||
data-fv-stringlength-message="65 caractères maximum"/>
|
||||
<br>
|
||||
<div class="row">
|
||||
<label class="control-label col-xs-4" for="motif">Motif :</label>
|
||||
<div class="col-xs-8">
|
||||
<input class="form-control" type="text" id="motif" name="motif" value=""
|
||||
placeholder="65 caractères maximum"
|
||||
data-fv-notempty="true"
|
||||
data-fv-notempty-message="Veuillez remplir un motif"
|
||||
data-fv-stringlength="true"
|
||||
data-fv-stringlength-max="65"
|
||||
data-fv-stringlength-message="65 caractères maximum"/>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="modal-footer">
|
||||
<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>
|
||||
|
||||
@@ -126,15 +126,25 @@ def dossier_view(request):
|
||||
# select background color according to society
|
||||
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"]
|
||||
|
||||
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)
|
||||
|
||||
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')
|
||||
return HTTPFound(url)
|
||||
|
||||
@@ -153,6 +163,7 @@ def dossier_view(request):
|
||||
'docs_url': request.static_url(request.registry.settings['mondumas.devfac_url']),
|
||||
'bg_color': bg_color,
|
||||
'access': access,
|
||||
'status': status,
|
||||
}
|
||||
|
||||
@view_config(route_name='dossier_selected', permission='view')
|
||||
|
||||
Reference in New Issue
Block a user