You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.2 KiB
39 lines
1.2 KiB
''' 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)
|
|
|