ajout des tags dans doc
This commit is contained in:
@@ -36,6 +36,11 @@ def get_docs_bytheme(request, theme):
|
|||||||
results = request.dbsession.execute(query, {'theme': theme}).fetchall()
|
results = request.dbsession.execute(query, {'theme': theme}).fetchall()
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
def get_docs_tags(request):
|
||||||
|
query = "SELECT * FROM docs_tags;"
|
||||||
|
results = request.dbsession.execute(query).fetchall()
|
||||||
|
return results
|
||||||
|
|
||||||
def get_docs_themes(request):
|
def get_docs_themes(request):
|
||||||
query = "SELECT * FROM docs_themes;"
|
query = "SELECT * FROM docs_themes;"
|
||||||
results = request.dbsession.execute(query).fetchall()
|
results = request.dbsession.execute(query).fetchall()
|
||||||
|
|||||||
@@ -58,6 +58,9 @@
|
|||||||
.container h2{
|
.container h2{
|
||||||
color: crimson !important;
|
color: crimson !important;
|
||||||
}
|
}
|
||||||
|
.container h3{
|
||||||
|
color: crimson !important;
|
||||||
|
}
|
||||||
|
|
||||||
.container-fluid {
|
.container-fluid {
|
||||||
padding-top: 2em;
|
padding-top: 2em;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="control-label col-xs-2" for="intitule">Intitulé</label>
|
<label class="control-label col-xs-2" for="intitule">Intitulé</label>
|
||||||
<div class="col-xs-10">
|
<div class="col-xs-10">
|
||||||
<input class="form-control" type="text" id="intitule" name="intitule" value="${intitule}"
|
<input class="form-control" type="text" id="intitule" name="intitule" value="${doc.intitule}"
|
||||||
data-fv-notempty="true"
|
data-fv-notempty="true"
|
||||||
data-fv-notempty-message="L'intitule est obligatoire"
|
data-fv-notempty-message="L'intitule est obligatoire"
|
||||||
data-fv-stringlength="true"
|
data-fv-stringlength="true"
|
||||||
@@ -21,20 +21,35 @@
|
|||||||
<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="texte">${texte}</textarea>
|
<textarea class="form-control monospace-font" rows="15" cols="40" id="texte" name="doc.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="theme">
|
<select class="form-control" id="theme" name="doc.theme">
|
||||||
<div tal:repeat="item themes">
|
<div tal:repeat="item themes">
|
||||||
<option value="${item.theme}" tal:attributes="selected 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>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="control-label col-xs-2" for="tag1">Tag 1</label>
|
||||||
|
<div class="col-xs-6">
|
||||||
|
<select class="form-control" id="tag1" name="doc.tag1">
|
||||||
|
<div tal:repeat="item tags">
|
||||||
|
<option value="${item.tag}" tal:attributes="selected doc.tag1==item.tag and 'selected' or None">${item.tag}</option>
|
||||||
|
</div>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="control-label col-xs-2" for="tag2">Tag 2</label>
|
||||||
|
<div class="col-xs-6">
|
||||||
|
<input type="text" class="form-control" name="doc.tag2" value="${doc.tag2}" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-sm-offset-2 col-sm-10">
|
<div class="col-sm-offset-2 col-sm-10">
|
||||||
|
|||||||
@@ -10,7 +10,9 @@
|
|||||||
Page text goes here.
|
Page text goes here.
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
Dernière modification le ${modif_le}
|
Dernière modification le ${modif_le}<br />
|
||||||
|
Tags : ${tags}
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
|
|||||||
@@ -103,32 +103,33 @@ def doc_edit(request):
|
|||||||
|
|
||||||
message = ""
|
message = ""
|
||||||
themes = get_docs_themes(request)
|
themes = get_docs_themes(request)
|
||||||
|
tags = get_docs_tags(request)
|
||||||
|
|
||||||
if doc_id == '0':
|
if doc_id == '0':
|
||||||
titre = "Nouveau doc"
|
titre = "Nouveau doc"
|
||||||
intitule = ""
|
# nouveau
|
||||||
texte = ""
|
doc = {}
|
||||||
theme = ""
|
doc['intitule'] = ''
|
||||||
|
doc['texte'] = ''
|
||||||
|
doc['theme'] = ''
|
||||||
|
doc['tag1'] = ''
|
||||||
|
doc['tag2'] = ''
|
||||||
else:
|
else:
|
||||||
titre = "Modifier : %s" % str(doc_id)
|
titre = "Modifier : %s" % str(doc_id)
|
||||||
doc = get_docs(request, doc_id)
|
doc = get_docs(request, doc_id)
|
||||||
intitule = doc.intitule
|
|
||||||
texte = doc.texte
|
|
||||||
theme = doc.theme
|
|
||||||
|
|
||||||
if 'form.submitted' in request.params:
|
if 'form.submitted' in request.params:
|
||||||
intitule = request.params["intitule"]
|
new_values = {}
|
||||||
texte = request.params["texte"]
|
for param, db_value in doc.items():
|
||||||
theme = request.params["theme"]
|
if param in request.params and request.params[param] != db_value:
|
||||||
|
new_values[param] = request.params[param]
|
||||||
if len(intitule) > 0 and len(texte) > 0:
|
|
||||||
|
if new_values:
|
||||||
update_doc(request, doc_id, intitule, texte, theme)
|
update_doc(request, doc_id, intitule, texte, theme)
|
||||||
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=theme))
|
||||||
else:
|
|
||||||
message = "Veuillez saisir un intitule et un texte."
|
|
||||||
|
|
||||||
if 'form.deleted' in request.params:
|
if 'form.deleted' in request.params:
|
||||||
if doc_id != '0':
|
if doc_id != '0':
|
||||||
@@ -141,10 +142,9 @@ def doc_edit(request):
|
|||||||
'url': url,
|
'url': url,
|
||||||
'message': message,
|
'message': message,
|
||||||
'doc_id': doc_id,
|
'doc_id': doc_id,
|
||||||
'intitule': intitule,
|
'doc': doc,
|
||||||
'texte': texte,
|
|
||||||
'theme': theme,
|
|
||||||
'themes': themes,
|
'themes': themes,
|
||||||
|
'tags': tags,
|
||||||
}
|
}
|
||||||
|
|
||||||
@view_config(route_name='doc_search', renderer='../templates/doc_search.pt')
|
@view_config(route_name='doc_search', renderer='../templates/doc_search.pt')
|
||||||
@@ -184,8 +184,10 @@ def doc_view(request):
|
|||||||
# si anonyme, interdire de voir les memo
|
# si anonyme, interdire de voir les memo
|
||||||
return HTTPFound(location=request.route_url('home'))
|
return HTTPFound(location=request.route_url('home'))
|
||||||
|
|
||||||
intitule = doc.intitule
|
|
||||||
url_retour = request.route_url('archives',theme=doc.theme)
|
url_retour = request.route_url('archives',theme=doc.theme)
|
||||||
|
tags = doc.tag1
|
||||||
|
if doc.tag2:
|
||||||
|
tags += ', ' + doc.tag2
|
||||||
|
|
||||||
# insèrer le path de static/img
|
# insèrer le path de static/img
|
||||||
texte = doc.texte.replace('static/img/', "%s/static/img/" % request.application_url)
|
texte = doc.texte.replace('static/img/', "%s/static/img/" % request.application_url)
|
||||||
@@ -199,10 +201,11 @@ def doc_view(request):
|
|||||||
texte = markdowner.convert(texte)
|
texte = markdowner.convert(texte)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'page_title': intitule,
|
'page_title': doc.intitule,
|
||||||
|
'doc_id': doc_id,
|
||||||
'texte': texte,
|
'texte': texte,
|
||||||
'modif_le': doc.modif_le.strftime('%d/%m/%Y'),
|
'modif_le': doc.modif_le.strftime('%d/%m/%Y'),
|
||||||
'doc_id': doc_id,
|
'tags': tags,
|
||||||
'url_retour':url_retour
|
'url_retour':url_retour
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user