bug creation doc

This commit is contained in:
2020-05-06 14:43:02 +02:00
parent a0678fd949
commit 44986cd5f4
3 changed files with 22 additions and 13 deletions

View File

@@ -51,14 +51,22 @@ def get_docs_bycritere(request, critere):
results = request.dbsession.execute(query, {'critere': '%' + critere + '%'}).fetchall() results = request.dbsession.execute(query, {'critere': '%' + critere + '%'}).fetchall()
return results return results
def update_doc(request, doc_id, intitule, texte, theme): def update_doc(request, doc_id, new_values):
"""créér ou modifier le doc""" """créér ou modifier le doc"""
# formater les champs
s = ''
for param in new_values.keys():
if s:
s += ",%s=:%s" % (param, param)
else:
s = "%s=:%s" % (param, param)
if doc_id == '0': if doc_id == '0':
query = "INSERT INTO docs (intitule, texte, theme) VALUES(:intitule, :texte, :theme);" query = "INSERT INTO docs SET %s;" % s
execute_query(request, query, {'intitule': intitule, 'texte': texte, 'theme': theme})
else: else:
query = "update docs set intitule=:intitule, texte=:texte, theme=:theme where doc_id = :doc_id;" new_values['doc_id'] = doc_id
execute_query(request, query, {'doc_id': doc_id, 'intitule': intitule, 'texte': texte, 'theme': theme}) query = "update docs SET %s WHERE doc_id = :doc_id;" % s
execute_query(request, query, new_values)
def delete_doc(request, doc_id): def delete_doc(request, doc_id):
"""supprimer la doc""" """supprimer la doc"""

View File

@@ -21,13 +21,13 @@
<div class="form-group"> <div class="form-group">
<label class="control-label col-xs-2" for="texte">Texte</label> <label class="control-label col-xs-2" for="texte">Texte</label>
<div class="col-xs-10"> <div class="col-xs-10">
<textarea class="form-control monospace-font" rows="15" cols="40" id="texte" name="doc.texte">${doc.texte}</textarea> <textarea class="form-control monospace-font" rows="15" cols="40" id="texte" name="texte">${doc.texte}</textarea>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="control-label col-xs-2" for="theme">Thème</label> <label class="control-label col-xs-2" for="theme">Thème</label>
<div class="col-xs-6"> <div class="col-xs-6">
<select class="form-control" id="theme" name="doc.theme"> <select class="form-control" id="theme" name="theme">
<div tal:repeat="item themes"> <div tal:repeat="item themes">
<option value="${item.theme}" tal:attributes="selected doc.theme==item.theme and 'selected' or None">${item.theme}</option> <option value="${item.theme}" tal:attributes="selected doc.theme==item.theme and 'selected' or None">${item.theme}</option>
</div> </div>
@@ -37,7 +37,7 @@
<div class="form-group"> <div class="form-group">
<label class="control-label col-xs-2" for="tag1">Tag 1</label> <label class="control-label col-xs-2" for="tag1">Tag 1</label>
<div class="col-xs-6"> <div class="col-xs-6">
<select class="form-control" id="tag1" name="doc.tag1"> <select class="form-control" id="tag1" name="tag1">
<div tal:repeat="item tags"> <div tal:repeat="item tags">
<option value="${item.tag}" tal:attributes="selected doc.tag1==item.tag and 'selected' or None">${item.tag}</option> <option value="${item.tag}" tal:attributes="selected doc.tag1==item.tag and 'selected' or None">${item.tag}</option>
</div> </div>
@@ -47,7 +47,7 @@
<div class="form-group"> <div class="form-group">
<label class="control-label col-xs-2" for="tag2">Tag 2</label> <label class="control-label col-xs-2" for="tag2">Tag 2</label>
<div class="col-xs-6"> <div class="col-xs-6">
<input type="text" class="form-control" name="doc.tag2" value="${doc.tag2}" /> <input type="text" class="form-control" name="tag2" value="${doc.tag2}" />
</div> </div>
</div> </div>

View File

@@ -125,11 +125,12 @@ def doc_edit(request):
new_values[param] = request.params[param] new_values[param] = request.params[param]
if new_values: if new_values:
update_doc(request, doc_id, intitule, texte, theme) import pdb;pdb.set_trace()
update_doc(request, doc_id, new_values)
if doc_id != '0': if doc_id != '0':
return HTTPFound(location=request.route_url('doc_view', doc_id=doc_id)) return HTTPFound(location=request.route_url('doc_view', doc_id=doc_id))
else: else:
return HTTPFound(location=request.route_url('archives',theme=theme)) return HTTPFound(location=request.route_url('archives',theme=request.params['theme']))
if 'form.deleted' in request.params: if 'form.deleted' in request.params:
if doc_id != '0': if doc_id != '0':