From f1287c3fad2ccf5296283cc42cfa12f571cbcc39 Mon Sep 17 00:00:00 2001 From: Phuoc CAO Date: Thu, 9 Feb 2023 21:53:51 +0100 Subject: [PATCH] added showing blogs by tag --- cao_blogr.sqlite | Bin 532480 -> 532480 bytes cao_blogr/routes.py | 1 + cao_blogr/services/blog_record.py | 16 +++++++++++---- cao_blogr/static/theme.css | 7 ++++++- cao_blogr/templates/blog_bytag.jinja2 | 26 ++++++++++++++++++++++++ cao_blogr/templates/blog_search.jinja2 | 10 +++++++-- cao_blogr/templates/home.jinja2 | 8 +++++--- cao_blogr/templates/layout.jinja2 | 10 +++------ cao_blogr/views/blog.py | 27 ++++++++++++++++++++++--- 9 files changed, 85 insertions(+), 20 deletions(-) create mode 100644 cao_blogr/templates/blog_bytag.jinja2 diff --git a/cao_blogr.sqlite b/cao_blogr.sqlite index 41b02abe419209eb902999776a762e4c73718aa8..ba07d9f0a1e09bc5fce5b6ef2bd581b261897c73 100644 GIT binary patch delta 644 zcmZoTpwMtYVS+U8IR*xXCLp#1VvdO#=8WeyCVcecGc>m{Ftai?&@(qSFfra7@4rZZ zg1iL1`3J6XX6u7b3Ch-F=TV51UH`ipN{PS$g*BJbnD<-oSD2wnr@jc^N z&o+t6fxn9XAlp0MX}rmk?F!TgL<%#!?~%)E4k6!p?Ph2qqrveeQd zZf)jh#_1md+0`d6E;iN$x=21OF*z|WIki~9$iT=b5-7qO67+EQ24@9l4=v_M#^6Ao z%#u`Nppnyi(%EGgV>c_5sBz1}E%Gld$;>HMNJ&MqvN^fFJ-MC{h?%A**E27XWd|CY z0>r66tPI3TK&%MFB|uyX^uZ$j_GA6b+mH3LSS#?dzGGl!ux8+R%wWxI4h%mnJ=S+j zt(Dx|4DMa(#^R3RlG1o>-!8e0WjT|Uk+H6Uk*fvJ_Tg`TOog{gsgK}KnQ zGB`Mj3QCi5G7qoZZoZjiI}-~71Jl>`Pg_}ln05Q7t!(^K{9Mfp%uI|7ybL^COpHv7 zK$m`GtQZI=4+fU zStD3NxPJ2f+AJurl!--yIh1kw+jMprUWMR5pUjd}<5+FxXvXOu0@>9kFD^C~6J%Cr z3`>xhjm709oeytO@XG*(J{M5T6VdX`4UmIlV#-{iB4Yybd[ retour ]

+ + + {% for entry in items %} + + + + {% if entry.status != 'publié' %} + + {% else %} + + {% endif%} + + {% else %} +

Aucun post trouvé !

+ {% endfor %} +
{{ entry.created.strftime("%d %b %y") }} + {{ entry.title }} + {{ entry.status }} 
+

[ {{nb_items}} billets ]

+ +{% endblock %} diff --git a/cao_blogr/templates/blog_search.jinja2 b/cao_blogr/templates/blog_search.jinja2 index 7fca9af..a823f07 100644 --- a/cao_blogr/templates/blog_search.jinja2 +++ b/cao_blogr/templates/blog_search.jinja2 @@ -46,6 +46,12 @@ {% endif %}
-
- +

Index

+

+ |  + {% for tag in tags %} + {{ tag.tag }} | + {% endfor %} +

+ {% endblock %} diff --git a/cao_blogr/templates/home.jinja2 b/cao_blogr/templates/home.jinja2 index d65cd44..990f383 100644 --- a/cao_blogr/templates/home.jinja2 +++ b/cao_blogr/templates/home.jinja2 @@ -10,11 +10,13 @@ {% for entry in last_ten %} - + - + {% if entry.status != 'publié' %} {% else %} @@ -25,5 +27,5 @@

Aucun post trouvé

{% endfor %}
{{ entry.created.strftime("%d.%m.%Y") }}{{ entry.created.strftime("%d %b %y") }} {{ entry.title }} {{ entry.tag }} + [ {{ entry.tag }} ] + {{ entry.status }}
- + {% endblock %} diff --git a/cao_blogr/templates/layout.jinja2 b/cao_blogr/templates/layout.jinja2 index 027dcca..93c28e8 100644 --- a/cao_blogr/templates/layout.jinja2 +++ b/cao_blogr/templates/layout.jinja2 @@ -29,7 +29,7 @@ - CAO Blogr + CAOTEK -{% if request.path == '/' %} - {# -- display carousel -- #} - {% block carousel %} - {% endblock carousel %} -{% endif %} -
+
+
{% if page_title %}

{{ page_title }}

diff --git a/cao_blogr/views/blog.py b/cao_blogr/views/blog.py index 22ef063..9864f5a 100644 --- a/cao_blogr/views/blog.py +++ b/cao_blogr/views/blog.py @@ -92,12 +92,32 @@ def blog_edit(request): 'blog_id': blog_id, 'entry': entry, } +@view_config(route_name='blog_bytag', renderer='cao_blogr:templates/blog_bytag.jinja2') +def blog_bytag(request): + # get tag parameters from request + tag = request.matchdict['tag'] + retour = request.matchdict['retour'] + url_retour = request.route_url(retour) -@view_config(route_name='blog_search', - renderer='cao_blogr:templates/blog_search.jinja2') + # get the posts by tag + items = BlogRecordService.by_tag(request, tag) + nb_items = len(items) + + return { + 'page_title': "Billets avec tag : " + tag, + 'items': items, + 'nb_items': nb_items, + 'url_retour': url_retour, + } + + +@view_config(route_name='blog_search', renderer='cao_blogr:templates/blog_search.jinja2') def blog_search(request): criteria = '' + # get the list of tags + tags = BlogRecordService.get_tags(request) + form = BlogSearchForm(request.POST) items = [] if 'form.submitted' in request.params and form.validate(): @@ -110,12 +130,13 @@ def blog_search(request): 'form': form, 'items': items, 'criteria': criteria, + 'tags': tags, } @view_config(route_name='tags', renderer='cao_blogr:templates/tags.jinja2', permission='view') def tags(request): - # get the list of tags of this topic + # get the list of tags tags = BlogRecordService.get_tags(request) return {