diff --git a/cao_blogr/models/blog_record.py b/cao_blogr/models/blog_record.py index aab046f..7aefbcf 100644 --- a/cao_blogr/models/blog_record.py +++ b/cao_blogr/models/blog_record.py @@ -13,7 +13,7 @@ from sqlalchemy.orm import relationship from webhelpers2.text import urlify #<- will generate slugs from webhelpers2.date import distance_of_time_in_words #<- human friendly dates - +import unidecode class BlogRecord(Base): __tablename__ = 'entries' @@ -30,7 +30,9 @@ class BlogRecord(Base): @property def slug(self): - return urlify(self.title) + # remove ascents + title = unidecode.unidecode(self.title) + return urlify(title) @property def created_in_words(self): diff --git a/cao_blogr/routes.py b/cao_blogr/routes.py index b27ece8..f8a23a1 100644 --- a/cao_blogr/routes.py +++ b/cao_blogr/routes.py @@ -3,6 +3,7 @@ def includeme(config): config.add_route('home', '/') config.add_route('apropos', '/apropos') config.add_route('blog', '/blog/{id:\d+}/{slug}') + config.add_route('blog_copy', '/blog_copy/{topic}/{id}') config.add_route('blog_edit', '/blog_edit/{topic}/{id}') config.add_route('blog_search', '/blog_search') config.add_route('login', '/login') diff --git a/cao_blogr/services/blog_record.py b/cao_blogr/services/blog_record.py index 3482766..7484f69 100644 --- a/cao_blogr/services/blog_record.py +++ b/cao_blogr/services/blog_record.py @@ -14,6 +14,9 @@ class BlogRecordService(object): if request.authenticated_userid == None: # if user is anonym, display only published posts query = query.filter(BlogRecord.status == 'publié') + if request.authenticated_userid != 'admin': + # if user is not 'admin', hide admin posts + query = query.filter(BlogRecord.tag != 'admin') if tag != '': query = query.filter(BlogRecord.tag == tag) query = query.order_by(BlogRecord.tag, BlogRecord.title).all() @@ -44,7 +47,7 @@ class BlogRecordService(object): @classmethod def get_activities(cls, request): # gest the Activities section - query = request.dbsession.query(BlogRecord).filter(BlogRecord.topic_id == 'ADM' and BlogRecord.tag == 'Activities') + query = request.dbsession.query(BlogRecord).filter(BlogRecord.topic_id == 'ADM' and BlogRecord.tag == 'activities') query = query.order_by(sa.desc(BlogRecord.created)).first() return query diff --git a/cao_blogr/static/img/Nhu-That.jpg b/cao_blogr/static/img/Nhu-That.jpg new file mode 100644 index 0000000..6dc0dd9 Binary files /dev/null and b/cao_blogr/static/img/Nhu-That.jpg differ diff --git a/cao_blogr/static/img/Nhu-Vay.jpg b/cao_blogr/static/img/Nhu-Vay.jpg new file mode 100644 index 0000000..e12f7b5 Binary files /dev/null and b/cao_blogr/static/img/Nhu-Vay.jpg differ diff --git a/cao_blogr/static/img/nhu-that-nhu-vay-1.jpg b/cao_blogr/static/img/nhu-that-nhu-vay-1.jpg new file mode 100644 index 0000000..c42d188 Binary files /dev/null and b/cao_blogr/static/img/nhu-that-nhu-vay-1.jpg differ diff --git a/cao_blogr/static/img/nhu-that-nhu-vay-2.jpg b/cao_blogr/static/img/nhu-that-nhu-vay-2.jpg new file mode 100644 index 0000000..86c571d Binary files /dev/null and b/cao_blogr/static/img/nhu-that-nhu-vay-2.jpg differ diff --git a/cao_blogr/static/img/nhu-that-nhu-vay-3.jpg b/cao_blogr/static/img/nhu-that-nhu-vay-3.jpg new file mode 100644 index 0000000..a24e36f Binary files /dev/null and b/cao_blogr/static/img/nhu-that-nhu-vay-3.jpg differ diff --git a/cao_blogr/templates/blog.jinja2 b/cao_blogr/templates/blog.jinja2 index 02c5261..d5bcd25 100644 --- a/cao_blogr/templates/blog.jinja2 +++ b/cao_blogr/templates/blog.jinja2 @@ -8,7 +8,9 @@ Retour Modifier -

+ + Duppliquer +

{% endif %} @@ -18,6 +20,9 @@

Auteur : {{ entry.author }}
Publié le : {{ entry.created.strftime("%d-%m-%Y - %H:%M") }}
+ {% if request.authenticated_userid %} + Topic - Tag : {{ entry.topic_id }} - {{ entry.tag }} + {% endif %}

{% endblock %} diff --git a/cao_blogr/templates/home.jinja2 b/cao_blogr/templates/home.jinja2 index c053b13..be2c33f 100644 --- a/cao_blogr/templates/home.jinja2 +++ b/cao_blogr/templates/home.jinja2 @@ -73,7 +73,7 @@

- + Médiation Sunyata
La Méditation SUNYATA
@@ -82,7 +82,7 @@

- + Maître Thông Triêt
Le Maître Fondateur
@@ -91,10 +91,11 @@ Il s'est ensuite établi aux Etats Unis et a commencé à enseigner en 1995 dans l'Oregon.

- +

+ Khong Noi +
La technique « PARLE PAS »
-

La technique « PARLE PAS »

Depuis 2016, la technique PARLE PAS (ou KHÔNG NÓI) est devenu la pierre angulaire de la pratique de la méditation SUNYATA. Cette technique conduit le méditant vers la maîtrise de ses pensées à travers un processus graduel d'extinction des murmures mentaux.

diff --git a/cao_blogr/templates/layout.jinja2 b/cao_blogr/templates/layout.jinja2 index dd3c9ea..d97bbe0 100644 --- a/cao_blogr/templates/layout.jinja2 +++ b/cao_blogr/templates/layout.jinja2 @@ -111,7 +111,7 @@

© 2022 - Méditation SUNYATA Paris -  | Mentions légales +  | Mentions légales  | A propos

diff --git a/cao_blogr/templates/settings.jinja2 b/cao_blogr/templates/settings.jinja2 index bae12ac..580739c 100644 --- a/cao_blogr/templates/settings.jinja2 +++ b/cao_blogr/templates/settings.jinja2 @@ -3,7 +3,7 @@ {% block content %}
- {% if request.authenticated_userid %} + {% if request.authenticated_userid == 'admin' %}
-

Pages internes

- {% if request.authenticated_userid %} + {% if request.authenticated_userid == 'admin' %}

Nouveau @@ -39,7 +38,7 @@ {% if entry.status == 'brouillon' %} {{ entry.status }} {% else %} - td> + {% endif %} diff --git a/cao_blogr/views/blog.py b/cao_blogr/views/blog.py index 931b49d..6751d7f 100644 --- a/cao_blogr/views/blog.py +++ b/cao_blogr/views/blog.py @@ -31,6 +31,35 @@ def blog(request): } +@view_config(route_name='blog_copy', + renderer='cao_blogr:templates/blog_copy.jinja2', permission='view') +def blog_copy(request): + # get post parameters from request + topic = request.matchdict['topic'] + blog_id = request.matchdict['id'] + + # get the post + entry = BlogRecordService.by_id(request, blog_id) + if not entry: + request.session.flash("Page non trouvée : %s" % blog_id, 'warning') + return HTTPFound(location=request.route_url('topic', topic=topic)) + + # create a new post + dup_entry = BlogRecord() + dup_entry.title = entry.title + ' - copie' + dup_entry.body = entry.body + dup_entry.topic_id = entry.topic_id + dup_entry.tag = entry.tag + dup_entry.author = entry.author + dup_entry.status = entry.status + request.dbsession.add(dup_entry) + + request.session.flash("La page a été duppliquée avec succès", 'success') + return HTTPFound(location=request.route_url('topic', topic=topic)) + + + + @view_config(route_name='blog_edit', renderer='cao_blogr:templates/blog_edit.jinja2', permission='view') def blog_edit(request): @@ -54,8 +83,8 @@ def blog_edit(request): # modify post entry = BlogRecordService.by_id(request, blog_id) if not entry: - request.session.flash(u"Page non trouvée : %s" % blog_id, 'warning') - return HTTPFound(location=request.route_url('home')) + request.session.flash("Page non trouvée : %s" % blog_id, 'warning') + return HTTPFound(location=request.route_url('topic', topic=topic)) form = BlogUpdateForm(request.POST, entry) form.tag.choices = [(row.tag, row.tag_name) for row in tags] page_title = 'Modifier : ' + entry.title diff --git a/cao_blogr/views/default.py b/cao_blogr/views/default.py index 7bda6ff..0f4ce14 100644 --- a/cao_blogr/views/default.py +++ b/cao_blogr/views/default.py @@ -83,7 +83,7 @@ Le site "meditation-sunyata.paris" } -@view_config(route_name='settings', renderer='cao_blogr:templates/settings.jinja2', permission='manage') +@view_config(route_name='settings', renderer='cao_blogr:templates/settings.jinja2', permission='view') def settings(request): # lire toutes les docs du topic @@ -196,7 +196,7 @@ def user_pwd(request): } @view_config(route_name='topics', - renderer='cao_blogr:templates/topics.jinja2', permission='manage') + renderer='cao_blogr:templates/topics.jinja2', permission='view') def topics(request): # get all topics topics = BlogRecordService.get_topics(request) @@ -206,7 +206,7 @@ def topics(request): } @view_config(route_name='topic_edit', - renderer='cao_blogr:templates/topic_edit.jinja2', permission='manage') + renderer='cao_blogr:templates/topic_edit.jinja2', permission='view') def topic_edit(request): # get topic parameters from request topic = request.matchdict['topic'] @@ -254,7 +254,7 @@ def topic_edit(request): } @view_config(route_name='tag_edit', - renderer='cao_blogr:templates/tag_edit.jinja2', permission='manage') + renderer='cao_blogr:templates/tag_edit.jinja2', permission='view') def tag_edit(request): # get tag parameters from request topic = request.matchdict['topic']