def create(cls, form=None, url=None, type=1, **kw): model = cls('registration', form=form, url=url, fields=[RestField('user', model='users')], **kw) model.type = type return model
def create(cls, exclude=None, fields=None, id_field='username', repr_field='full_name', authenticated=False, **kw): exclude = exclude or ('password', ) fields = list(fields or ()) fields.extend((full_name, RestField('groups', model='groups'))) model = cls('user', id_field=id_field, repr_field=repr_field, exclude=exclude, fields=fields, **kw) model.authenticated = authenticated return model
class CRUDTask(CRUD): model = RestModel( 'task', 'task', 'task', fields=[RestField('assigned', model='people', field='assigned_id')])
def create(cls): return cls('token', form='create-token', fields=[RestField('user', field='user_id', model='users')])
class UserCRUD(users.UserCRUD): """Override user CRUD for testing""" model = users.UserModel.create(updateform='user', fields=[RestField('email', type='email')])
def test_rest_column(self): col = RestField('bla', field='bla') info = col.tojson() self.assertEqual(info['name'], 'bla') self.assertEqual(info['field'], 'bla')
from pulsar import Http401, MethodNotAllowed from lux.core import route, GET_HEAD from lux.extensions.rest import RestRouter, RestField, user_permissions from lux.forms import get_form_class from . import RestModel full_name = RestField('full_name', displayName='Name', field=('first_name', 'last_name', 'username', 'email')) class UserModel(RestModel): authenticated = False @classmethod def create(cls, exclude=None, fields=None, id_field='username', repr_field='full_name', authenticated=False, **kw): exclude = exclude or ('password', ) fields = list(fields or ()) fields.extend((full_name, RestField('groups', model='groups'))) model = cls('user', id_field=id_field, repr_field=repr_field,
import os from pulsar import Http404 from lux.core import cached from lux.extensions.rest import DictModel, RestField, Query from lux.utils.files import skipfile from lux.utils.data import as_tuple from .contents import get_reader FIELDS = [ RestField('priority', sortable=True, type='int'), RestField('order', sortable=True, type='int'), RestField('slug', sortable=True), RestField('group', sortable=True), RestField('title'), RestField('description'), RestField('body') ] class ContentModel(DictModel): '''A Content model with file-system backend This model provide read-only operations ''' def __init__(self, location, name='content', fields=None, ext='md', **kw): if not os.path.isdir(location): os.makedirs(location)
class GroupCRUD(CRUD): model = RestModel('group', 'create-group', 'group', id_field='name', fields=[RestField('permissions', model='permissions')])
class MailingListCRUD(CRUD): model = RestModel( 'mailinglist', form='mailing-list', url='mailinglist', fields=[RestField('user', field='user_id', model='users')])