added replace slug by title urlified
This commit is contained in:
@@ -4,6 +4,8 @@ from sqlalchemy import text
|
|||||||
from .default import (
|
from .default import (
|
||||||
execute_query,
|
execute_query,
|
||||||
)
|
)
|
||||||
|
from webhelpers2.text import urlify #<- will generate slugs
|
||||||
|
|
||||||
|
|
||||||
def get_entries_by_topic(request, topic, tag):
|
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)
|
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
|
new_values['topic'] = topic
|
||||||
query = "UPDATE topics SET %s WHERE topic = :topic;" % s
|
query = "UPDATE topics SET %s WHERE topic = :topic;" % s
|
||||||
execute_query(request, query, new_values)
|
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})
|
||||||
|
|||||||
@@ -11,6 +11,8 @@
|
|||||||
<div class="input-group mb-3">
|
<div class="input-group mb-3">
|
||||||
<input type="text" class="form-control" name="criteria">
|
<input type="text" class="form-control" name="criteria">
|
||||||
<button class="btn btn-primary" type="submit" name="form.submitted">Rechercher</button>
|
<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>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
@@ -30,7 +32,7 @@
|
|||||||
{% for entry in items %}
|
{% for entry in items %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<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 }}
|
{{ entry.title }}
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@@ -85,7 +85,7 @@
|
|||||||
<div class="card-body text-center p-3">
|
<div class="card-body text-center p-3">
|
||||||
{{ activity_col1 | safe }}
|
{{ activity_col1 | safe }}
|
||||||
{% if request.authenticated_userid %}
|
{% 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 %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
<div class="card-body text-center p-3">
|
<div class="card-body text-center p-3">
|
||||||
{{ activity_col2 | safe }}
|
{{ activity_col2 | safe }}
|
||||||
{% if request.authenticated_userid %}
|
{% 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 %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -117,7 +117,7 @@
|
|||||||
<div class="card-body text-center p-3">
|
<div class="card-body text-center p-3">
|
||||||
{{ activity_col3 | safe }}
|
{{ activity_col3 | safe }}
|
||||||
{% if request.authenticated_userid %}
|
{% 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 %}
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -136,7 +136,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>{{ entry.create_date }}</td>
|
<td>{{ entry.create_date }}</td>
|
||||||
<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>
|
||||||
<td>{{ entry.author }}</td>
|
<td>{{ entry.author }}</td>
|
||||||
{% if entry.status != 'publié' %}
|
{% if entry.status != 'publié' %}
|
||||||
|
|||||||
@@ -71,7 +71,7 @@
|
|||||||
<td>{{ entry.edit_date }}</td>
|
<td>{{ entry.edit_date }}</td>
|
||||||
<td>{{ entry.editor }}</td>
|
<td>{{ entry.editor }}</td>
|
||||||
<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>
|
||||||
<td>{{ entry.tag }}</td>
|
<td>{{ entry.tag }}</td>
|
||||||
{% if entry.status != 'publié' %}
|
{% if entry.status != 'publié' %}
|
||||||
|
|||||||
@@ -111,8 +111,7 @@ def blog_edit(request):
|
|||||||
# lire les contenus correles
|
# lire les contenus correles
|
||||||
relateds = get_entries_related(request, entry.id)
|
relateds = get_entries_related(request, entry.id)
|
||||||
page_title = 'Modifier : ' + entry.title
|
page_title = 'Modifier : ' + entry.title
|
||||||
entry_slug = urlify(entry.title)
|
url_retour = request.route_url('blog', id=blog_id, slug=entry.title_url)
|
||||||
url_retour = request.route_url('blog', id=blog_id, slug=entry_slug)
|
|
||||||
|
|
||||||
if 'form.submitted' in request.params:
|
if 'form.submitted' in request.params:
|
||||||
new_values = {}
|
new_values = {}
|
||||||
@@ -122,6 +121,7 @@ def blog_edit(request):
|
|||||||
if param == 'title':
|
if param == 'title':
|
||||||
# interdire le car '/' dans le titre à cause du slug
|
# interdire le car '/' dans le titre à cause du slug
|
||||||
new_values['title'] = new_values['title'].replace('/','.')
|
new_values['title'] = new_values['title'].replace('/','.')
|
||||||
|
new_values['title_url'] = urlify(new_values['title'])
|
||||||
elif param == 'body':
|
elif param == 'body':
|
||||||
new_values['body'] = new_values['body'].strip()
|
new_values['body'] = new_values['body'].strip()
|
||||||
elif param == 'source_link':
|
elif param == 'source_link':
|
||||||
@@ -176,8 +176,12 @@ def blog_search(request):
|
|||||||
# si afficher tous les fiches ?
|
# si afficher tous les fiches ?
|
||||||
items = get_entries_by_criteria(request, criteria)
|
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 {
|
return {
|
||||||
'page_title': "Rechercher interne",
|
'page_title': "Recherche interne",
|
||||||
'items': items,
|
'items': items,
|
||||||
'criteria': criteria,
|
'criteria': criteria,
|
||||||
}
|
}
|
||||||
@@ -266,9 +270,8 @@ def topic(request):
|
|||||||
liste += '<div><table class="table table-sm ms-4 mb-4">'
|
liste += '<div><table class="table table-sm ms-4 mb-4">'
|
||||||
liste += '<tbody class="table-group-divider">'
|
liste += '<tbody class="table-group-divider">'
|
||||||
for item in items:
|
for item in items:
|
||||||
item_slug = urlify(item.title)
|
|
||||||
liste += '<tr>'
|
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.author
|
||||||
liste += '<td>%s</td>' % item.create_date
|
liste += '<td>%s</td>' % item.create_date
|
||||||
if item.status != 'publié':
|
if item.status != 'publié':
|
||||||
|
|||||||
Reference in New Issue
Block a user