X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/e77f342a73c940f16c37f57ffa50edce9caef8f0..9249e6ddc35e7cc7077fa5035fbc27397fbb70a9:/apps/wiki/helpers.py?ds=inline diff --git a/apps/wiki/helpers.py b/apps/wiki/helpers.py index f072ef91..fe4b3b86 100644 --- a/apps/wiki/helpers.py +++ b/apps/wiki/helpers.py @@ -129,3 +129,42 @@ def recursive_groupby(iterable): grouper = None return list(_generator(iterable)) + + +def active_tab(tab): + """ + View decorator, which puts tab info on a request. + """ + def wrapper(f): + @wraps(f) + def wrapped(request, *args, **kwargs): + request.wiki_active_tab = tab + return f(request, *args, **kwargs) + return wrapped + return wrapper + + +class BookChunks(object): + """ + Yields the chunks of a book. + """ + + def __init__(self, book): + self.book = book + + @property + def chunks(self): + return self.book.chunk_set.all() + + +class ChoiceChunks(BookChunks): + """ + Associates the given chunks iterable for a book. + """ + + chunks = None + + def __init__(self, book, chunks): + self.book = book + self.chunks = chunks +