added replace slug by title urlified
This commit is contained in:
@@ -4,6 +4,8 @@ from sqlalchemy import text
|
||||
from .default import (
|
||||
execute_query,
|
||||
)
|
||||
from webhelpers2.text import urlify #<- will generate slugs
|
||||
|
||||
|
||||
def get_entries_by_topic(request, topic, tag):
|
||||
query = "SELECT *, strftime('%d/%m/%Y', created) AS create_date FROM entries WHERE topic_id = '{0}'".format(topic)
|
||||
@@ -196,3 +198,16 @@ def update_topic(request, topic, new_values):
|
||||
new_values['topic'] = topic
|
||||
query = "UPDATE topics SET %s WHERE topic = :topic;" % s
|
||||
execute_query(request, query, new_values)
|
||||
|
||||
def get_entries(request):
|
||||
query = """SELECT * FROM entries WHERE title_url IS NULL;"""
|
||||
results = request.dbsession.execute(text(query)).fetchall()
|
||||
return results
|
||||
|
||||
def update_entries_url(request):
|
||||
# lire tous les posts
|
||||
entries = get_entries(request)
|
||||
for entry in entries:
|
||||
slug = urlify(entry.title)
|
||||
query = "UPDATE entries SET title_url = :slug WHERE id = :id;"
|
||||
execute_query(request, query, {'id': entry.id, 'slug': slug})
|
||||
|
||||
@@ -8,10 +8,12 @@
|
||||
<form id="search-form" class="form-horizontal" role="form" action="/blog_search" method="post">
|
||||
|
||||
<div class="mb-3">
|
||||
<div class="input-group mb-3">
|
||||
<div class="input-group mb-3">
|
||||
<input type="text" class="form-control" name="criteria">
|
||||
<button class="btn btn-primary" type="submit" name="form.submitted">Rechercher</button>
|
||||
|
||||
</div>
|
||||
<button class="btn btn-warning" type="submit" name="form.replace">Remplacer title_url</button>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@@ -30,7 +32,7 @@
|
||||
{% for entry in items %}
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{{ request.route_url('blog', id=entry.id, slug='slug') }}">
|
||||
<a href="{{ request.route_url('blog', id=entry.id, slug=entry.title_url) }}">
|
||||
{{ entry.title }}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
<div class="card-body text-center p-3">
|
||||
{{ activity_col1 | safe }}
|
||||
{% if request.authenticated_userid %}
|
||||
<p class="text-left fs-2"> <a href="{{ request.route_url('blog', id=32, slug='slug') }}">[Modifier ce bloc]</a></p>
|
||||
<p class="text-left fs-2"> <a href="{{ request.route_url('blog', id=32, slug='activity_col1') }}">[Modifier ce bloc]</a></p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -101,7 +101,7 @@
|
||||
<div class="card-body text-center p-3">
|
||||
{{ activity_col2 | safe }}
|
||||
{% if request.authenticated_userid %}
|
||||
<p class="text-left fs-2"> <a href="{{ request.route_url('blog', id=40, slug='slug') }}">[Modifier ce bloc]</a></p>
|
||||
<p class="text-left fs-2"> <a href="{{ request.route_url('blog', id=40, slug='activity_col2') }}">[Modifier ce bloc]</a></p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -117,7 +117,7 @@
|
||||
<div class="card-body text-center p-3">
|
||||
{{ activity_col3 | safe }}
|
||||
{% if request.authenticated_userid %}
|
||||
<p class="text-left fs-2"> <a href="{{ request.route_url('blog', id=207, slug='slug') }}">[Modifier ce bloc]</a></p>
|
||||
<p class="text-left fs-2"> <a href="{{ request.route_url('blog', id=207, slug='activity_col3') }}">[Modifier ce bloc]</a></p>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
@@ -136,7 +136,7 @@
|
||||
<tr>
|
||||
<td>{{ entry.create_date }}</td>
|
||||
<td>
|
||||
<a href="{{ request.route_url('blog', id=entry.id, slug='slug') }}">{{ entry.title }}</a>
|
||||
<a href="{{ request.route_url('blog', id=entry.id, slug='entry.title_url') }}">{{ entry.title }}</a>
|
||||
</td>
|
||||
<td>{{ entry.author }}</td>
|
||||
{% if entry.status != 'publié' %}
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
<td>{{ entry.edit_date }}</td>
|
||||
<td>{{ entry.editor }}</td>
|
||||
<td>
|
||||
<a href="{{ request.route_url('blog', id=entry.id, slug='slug') }}">{{ entry.title }}</a>
|
||||
<a href="{{ request.route_url('blog', id=entry.id, slug='entry.title_url') }}">{{ entry.title }}</a>
|
||||
</td>
|
||||
<td>{{ entry.tag }}</td>
|
||||
{% if entry.status != 'publié' %}
|
||||
|
||||
@@ -111,8 +111,7 @@ def blog_edit(request):
|
||||
# lire les contenus correles
|
||||
relateds = get_entries_related(request, entry.id)
|
||||
page_title = 'Modifier : ' + entry.title
|
||||
entry_slug = urlify(entry.title)
|
||||
url_retour = request.route_url('blog', id=blog_id, slug=entry_slug)
|
||||
url_retour = request.route_url('blog', id=blog_id, slug=entry.title_url)
|
||||
|
||||
if 'form.submitted' in request.params:
|
||||
new_values = {}
|
||||
@@ -122,6 +121,7 @@ def blog_edit(request):
|
||||
if param == 'title':
|
||||
# interdire le car '/' dans le titre à cause du slug
|
||||
new_values['title'] = new_values['title'].replace('/','.')
|
||||
new_values['title_url'] = urlify(new_values['title'])
|
||||
elif param == 'body':
|
||||
new_values['body'] = new_values['body'].strip()
|
||||
elif param == 'source_link':
|
||||
@@ -175,9 +175,13 @@ def blog_search(request):
|
||||
criteria = request.params['criteria']
|
||||
# si afficher tous les fiches ?
|
||||
items = get_entries_by_criteria(request, criteria)
|
||||
|
||||
|
||||
if 'form.replace' in request.params:
|
||||
update_entries_url(request)
|
||||
request.session.flash("Le changement a été effectué avec succès !", 'success')
|
||||
|
||||
return {
|
||||
'page_title': "Rechercher interne",
|
||||
'page_title': "Recherche interne",
|
||||
'items': items,
|
||||
'criteria': criteria,
|
||||
}
|
||||
@@ -266,9 +270,8 @@ def topic(request):
|
||||
liste += '<div><table class="table table-sm ms-4 mb-4">'
|
||||
liste += '<tbody class="table-group-divider">'
|
||||
for item in items:
|
||||
item_slug = urlify(item.title)
|
||||
liste += '<tr>'
|
||||
liste += '<td><a href="%s">%s</a></td>' % (request.route_url('blog', id=item.id, slug=item_slug), item.title)
|
||||
liste += '<td><a href="%s">%s</a></td>' % (request.route_url('blog', id=item.id, slug=item.title_url), item.title)
|
||||
liste += '<td>%s</td>' % item.author
|
||||
liste += '<td>%s</td>' % item.create_date
|
||||
if item.status != 'publié':
|
||||
|
||||
Reference in New Issue
Block a user