added topic listing
This commit is contained in:
@@ -3,16 +3,18 @@ import datetime #<- will be used to set default dates on models
|
||||
|
||||
from sqlalchemy import or_
|
||||
from paginate_sqlalchemy import SqlalchemyOrmPage #<- provides pagination
|
||||
from ..models.blog_record import BlogRecord
|
||||
from ..models.blog_record import BlogRecord, Topics, Tags
|
||||
from markdown2 import Markdown
|
||||
|
||||
|
||||
class BlogRecordService(object):
|
||||
|
||||
@classmethod
|
||||
def all(cls, request):
|
||||
query = request.dbsession.query(BlogRecord)
|
||||
return query.order_by(sa.desc(BlogRecord.created))
|
||||
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
|
||||
|
||||
@classmethod
|
||||
def by_criteria(cls, request, criteria):
|
||||
@@ -27,18 +29,18 @@ class BlogRecordService(object):
|
||||
return query.get(_id)
|
||||
|
||||
@classmethod
|
||||
def get_paginator(cls, request, page=1):
|
||||
def get_last_five(cls, request):
|
||||
# gest the last 5 items modified
|
||||
query = request.dbsession.query(BlogRecord)
|
||||
query = query.order_by(sa.desc(BlogRecord.created))
|
||||
query_params = request.GET.mixed()
|
||||
query = query.order_by(sa.desc(BlogRecord.edited)).limit(5).all()
|
||||
return query
|
||||
|
||||
def url_maker(link_page):
|
||||
# replace page param with values generated by paginator
|
||||
query_params['page'] = link_page
|
||||
return request.current_route_url(_query=query_params)
|
||||
|
||||
return SqlalchemyOrmPage(query, page, items_per_page=5,
|
||||
url_maker=url_maker)
|
||||
@classmethod
|
||||
def get_tags_byTopic(cls, request, topic):
|
||||
# gest the last 5 items modified
|
||||
query = request.dbsession.query(Tags).filter(Tags.topic == topic)
|
||||
query = query.order_by(Tags.tag).all()
|
||||
return query
|
||||
|
||||
@classmethod
|
||||
def proc_after_create(cls, request, _id):
|
||||
|
||||
Reference in New Issue
Block a user