''' Resources (sub) package, used to connect URLs to views ''' import deform from pyramid.security import Allow, Everyone, DENY_ALL from ordr.schemas.account import RegistrationSchema from .helpers import BaseChildResource class RegistrationResource(BaseChildResource): ''' The resource for new user registration :param pyramid.request.Request request: the current request object :param str name: the name of the resource :param parent: the parent resouce ''' nav_active = 'registration' def __acl__(self): ''' access controll list for the resource ''' return [(Allow, Everyone, 'view'), DENY_ALL] def get_registration_form(self, **kwargs): ''' returns the registration form''' settings = { 'buttons': ( deform.Button(name='create', title='Create Account'), deform.Button( title='Cancel', type='link', value=self.request.resource_url(self.request.root), css_class='btn btn-secondary' ) ), } settings.update(kwargs) return self._prepare_form(RegistrationSchema, **settings)