forked from rc/aircox
add DiffusionManager, use it
This commit is contained in:
@ -147,7 +147,12 @@ class Post (models.Model, Routable):
|
||||
)
|
||||
title = models.CharField (
|
||||
_('title'),
|
||||
max_length = 64,
|
||||
)
|
||||
subtitle = models.CharField (
|
||||
_('subtitle'),
|
||||
max_length = 128,
|
||||
blank = True, null = True,
|
||||
)
|
||||
content = models.TextField (
|
||||
_('description'),
|
||||
@ -192,6 +197,8 @@ class Post (models.Model, Routable):
|
||||
"""
|
||||
Return an url to the post detail view.
|
||||
"""
|
||||
if not self.pk:
|
||||
return ''
|
||||
return self.reverse(
|
||||
routes.DetailRoute,
|
||||
pk = self.pk, slug = slugify(self.title)
|
||||
@ -437,11 +444,6 @@ class RelatedPost (Post, metaclass = RelatedMeta):
|
||||
|
||||
note: bound values can be any value, not only Django field.
|
||||
"""
|
||||
defaults = None
|
||||
"""
|
||||
dict of `post_attr: value` that gives default value for the given
|
||||
fields.
|
||||
"""
|
||||
post_to_rel = False
|
||||
"""
|
||||
update related object when the post is saved, using bindings
|
||||
|
@ -93,7 +93,7 @@ class DetailRoute(Route):
|
||||
@classmethod
|
||||
def get_object(cl, model, request, pk, **kwargs):
|
||||
"""
|
||||
* request is optional
|
||||
* request: optional
|
||||
"""
|
||||
return model.objects.get(pk = int(pk))
|
||||
|
||||
@ -107,7 +107,7 @@ class AllRoute(Route):
|
||||
@classmethod
|
||||
def get_queryset(cl, model, request, **kwargs):
|
||||
"""
|
||||
* request is optional
|
||||
* request: optional
|
||||
"""
|
||||
return model.objects.all()
|
||||
|
||||
@ -147,7 +147,7 @@ class ThreadRoute(Route):
|
||||
@classmethod
|
||||
def get_queryset(cl, model, request, thread_model, pk, **kwargs):
|
||||
"""
|
||||
* request is optional
|
||||
* request: optional
|
||||
"""
|
||||
thread = cl.get_thread(model, thread_model, pk)
|
||||
return model.get_siblings(thread_model = thread, thread_id = pk)
|
||||
@ -176,15 +176,17 @@ class DateRoute(Route):
|
||||
]
|
||||
|
||||
@classmethod
|
||||
def get_queryset(cl, model, request, year, month, day, **kwargs):
|
||||
def get_queryset(cl, model, request, year, month, day,
|
||||
attr='date', **kwargs):
|
||||
"""
|
||||
* request is optional
|
||||
* request: optional
|
||||
* attr: name of the attribute to check the date against
|
||||
"""
|
||||
return model.objects.filter(
|
||||
date__year = int(year),
|
||||
date__month = int(month),
|
||||
date__day = int(day),
|
||||
)
|
||||
return model.objects.filter(**{
|
||||
attr + '__year': int(year),
|
||||
attr + '__month': int(month),
|
||||
attr + '__day': int(day)
|
||||
})
|
||||
|
||||
@classmethod
|
||||
def get_title(cl, model, request, year, month, day, **kwargs):
|
||||
@ -208,7 +210,7 @@ class SearchRoute(Route):
|
||||
@classmethod
|
||||
def get_queryset(cl, model, request, q = None, **kwargs):
|
||||
"""
|
||||
* request is required if q is None
|
||||
* request: required if q is None
|
||||
"""
|
||||
q = request.GET.get('q') or q or ''
|
||||
qs = None
|
||||
|
@ -285,6 +285,7 @@ class ListItem:
|
||||
behaves like it.
|
||||
"""
|
||||
title = None
|
||||
subtitle = None
|
||||
content = None
|
||||
author = None
|
||||
date = None
|
||||
@ -332,7 +333,8 @@ class List(Section):
|
||||
"""
|
||||
paginate_by = 4
|
||||
|
||||
fields = [ 'date', 'time', 'image', 'title', 'content', 'info', 'actions' ]
|
||||
fields = [ 'date', 'time', 'image', 'title', 'subtitle', 'content', 'info',
|
||||
'actions' ]
|
||||
"""
|
||||
Fields that must be rendered.
|
||||
"""
|
||||
|
Reference in New Issue
Block a user