added urlified title in title_url

This commit is contained in:
2022-05-01 16:55:15 +02:00
parent 0a307fc953
commit 7c7a0c3a54
16 changed files with 884 additions and 144 deletions

View File

@@ -11,10 +11,13 @@ class BlogRecordService(object):
@classmethod
def by_topic(cls, request, topic):
query = request.dbsession.query(BlogRecord).join(Tags, Tags.topic == BlogRecord.topic, Tags.tag == BlogRecord.tag)
query = query.filter(BlogRecord.topic == topic)
query = query.order_by(BlogRecord.tag, BlogRecord.title).all()
return query
query = """SELECT entries.*, entries.slug, topics.topic_name, tags.tag_name FROM entries
JOIN topics ON topics.topic = entries.topic_id
JOIN tags ON tags.topic = entries.topic_id AND tags.tag = entries.tag
WHERE entries.topic_id = :topic ORDER BY tags.tag, entries.title
"""
results = request.dbsession.execute(query, {'topic': topic}).fetchall()
return results
@classmethod
def by_criteria(cls, request, criteria):
@@ -31,7 +34,7 @@ class BlogRecordService(object):
@classmethod
def get_last_five(cls, request):
# gest the last 5 items modified
query = request.dbsession.query(BlogRecord)
query = request.dbsession.query(BlogRecord.id, BlogRecord.title, BlogRecord.edited, Topics.topic_name).join(Topics, Topics.topic == BlogRecord.topic_id)
query = query.order_by(sa.desc(BlogRecord.edited)).limit(5).all()
return query
@@ -42,14 +45,15 @@ class BlogRecordService(object):
query = query.order_by(Tags.tag).all()
return query
@classmethod
def get_topic_name(cls, request, id):
# gest the last 5 items modified
query = request.dbsession.query(Topics).filter(Topics.topic == id).first()
return query.topic_name.upper()
@classmethod
def proc_after_create(cls, request, _id):
entry = request.dbsession.query(BlogRecord).get(_id)
# set default values
if entry.tag == '':
entry.tag = 'pyramid'
if entry.topic == '':
entry.topic = 'blog'
# convertir mardown en HTML
markdowner = Markdown()
entry.body_html = markdowner.convert(entry.body)
@@ -59,6 +63,7 @@ class BlogRecordService(object):
def proc_after_update(cls, request, _id):
entry = request.dbsession.query(BlogRecord).get(_id)
entry.edited = datetime.datetime.now()
entry.title_url = entry.slug
# convertir mardown en HTML
markdowner = Markdown()
entry.body_html = markdowner.convert(entry.body)