##// END OF EJS Templates
Made quote button actually button so it is impossible to accidentally quote its text
Made quote button actually button so it is impossible to accidentally quote its text

File last commit:

r1854:b4c06973 default
r1909:004a4ff8 default
Show More
mixins.py
61 lines | 1.6 KiB | text/x-python | PythonLexer
import boards
PARAM_NEXT = 'next'
PARAMETER_METHOD = 'method'
PARAMETER_CURRENT_PAGE = 'current_page'
PARAMETER_PAGINATOR = 'paginator'
PARAMETER_PREV_LINK = 'prev_page_link'
PARAMETER_NEXT_LINK = 'next_page_link'
class DispatcherMixin:
"""
This class contains a dispather method that can run a method specified by
'method' request parameter.
"""
def __init__(self):
self.user = None
def dispatch_method(self, *args, **kwargs):
request = args[0]
self.user = request.user
method_name = None
if PARAMETER_METHOD in request.GET:
method_name = request.GET[PARAMETER_METHOD]
elif PARAMETER_METHOD in request.POST:
method_name = request.POST[PARAMETER_METHOD]
if method_name:
return getattr(self, method_name)(*args, **kwargs)
class FileUploadMixin:
def get_max_upload_size(self):
return boards.settings.get_int('Forms', 'MaxFileSize')
class PaginatedMixin:
def get_page_context(self, paginator, page):
"""
Get pagination context variables
"""
params = {}
params[PARAMETER_PAGINATOR] = paginator
current_page = paginator.page(int(page))
params[PARAMETER_CURRENT_PAGE] = current_page
if current_page.has_previous():
params[PARAMETER_PREV_LINK] = paginator.get_page_url(
current_page.previous_page_number())
if current_page.has_next():
params[PARAMETER_NEXT_LINK] = paginator.get_page_url(
current_page.next_page_number())
return params