Пример #1
0
def group_fields(request):

    user_groups = model.get_user_group_options(request.site)

    fields = f.Fields([
        f.TextField('Name', v.required, v.valid_name),
        f.TextField('Description', maxlength=60),
        f.PulldownField(
            'Administrators',
            default='administrators',
            name='admin_group_id',
            options=user_groups
        ),
    ])

    db = request.site.db
    admin = model.AdminModel(db)

    if len(request.route) > 2 and request.route[2] not in ['new', 'clear', 'reindex']:
        group_id = int(request.route[2])
    else:
        group_id = None

    include_fields = f.Section('Includes',[
        SelectionField('Subgroups', options=admin.get_subgroup_options(group_id)),
        SelectionField('Users', options=admin.get_user_options()),
    ])

    access_fields = f.Section('Accesses',[
        SelectionField('Roles', options=admin.get_role_options(group_id)),
        SelectionField('Apps', options=admin.get_app_options(group_id)),
    ])

    return f.Fields(fields, include_fields, access_fields)
Пример #2
0
def group_fields(request):

    fields = f.Fields([
        f.TextField('Name', v.required, v.valid_name),
        f.MemoField('Description'),
        f.PulldownField('Administrators', default='administrators', options=request.site.user_groups),
    ])
    personal_fields = f.Section('Includes',[
        # f.ChosenMultiselectField('Groups', options=request.site.user_groups),
        f.ChosenMultiselectField('Users', options=request.site.user_options),
    ])
    return f.Fields(fields, personal_fields)
Пример #3
0
def user_fields(request):
    # username_available = Validator('taken', valid_username(db))
    # not_registered = Validator('already registered', email_unknown_test)

    personal_fields = f.Section(
        'Personal',
        [
            f.TextField('First Name', v.required, v.valid_name),
            f.TextField('Last Name', v.required, v.valid_name),
            # f.TextField('Email', v.required, v.valid_email, not_registered(request)),
            f.EmailField('Email', v.required, v.valid_email),
            f.PhoneField('Phone', v.valid_phone, hint='optional'),
        ])

    account_fields = f.Section(
        'Account',
        [
            # f.TextField('Username', v.required, v.valid_username, username_available(request)),
            f.TextField('Username', v.required, v.valid_username),
        ])

    security_fields = f.Section('Security', [
        UserGroupsField('Groups',
                        default=['2'],
                        options=model.get_user_group_options(request.site))
    ])

    return f.Fields(personal_fields, account_fields, security_fields)
Пример #4
0
def change_password_fields():
    """Return Change Password Fields"""
    return f.Fields([
        f.PasswordField('Old Password', v.required),
        f.PasswordField('New Password', v.required),
        f.PasswordField('Confirm New Password', v.required),
    ])
Пример #5
0
def user_fields(request):
    """Return user fields"""
    # username_available = Validator('taken', valid_username(db))
    # not_registered = Validator('already registered', email_unknown_test)

    personal_fields = f.Section(
        'Personal',
        [
            f.TextField('First Name', v.required, v.valid_name),
            f.TextField('Last Name', v.required, v.valid_name),
            # f.TextField('Email', v.required, v.valid_email, not_registered(request)),
            f.EmailField('Email', v.required, v.valid_email),
            f.PhoneField('Phone', v.valid_phone, hint='optional'),
        ])

    if request.route[-1] == 'new':
        account_fields = f.Section('Account', [
            f.TextField('Username', v.required, v.valid_username),
            f.CheckboxField('Send invitation'),
        ])
    else:
        account_fields = f.Section('Account', [
            f.TextField('Username', v.required, v.valid_username),
        ])

    security_fields = f.Section('Security', [
        UserGroupsField('Groups',
                        name='memberships',
                        default=[2],
                        options=model.get_user_group_options(request.site))
    ])

    return f.Fields(personal_fields, account_fields, security_fields)
Пример #6
0
def get_fields():
    """Return registration form fields"""
    return f.Fields([
        f.Section('First, the basics', [
            f.TextField(
                'First Name',
                v.required,
                v.valid_name,
                maxlength=40,
                placeholder='First Name'
            ),
            f.TextField(
                'Last Name',
                v.required,
                maxlength=40,
                placeholder="Last Name"
            ),
            f.EmailField(
                'Email',
                v.required,
                v.valid_email,
                maxlength=60,
                placeholder='Email'
            ),
        ]),
        f.Section('Next, choose a username and password', [
            f.TextField(
                'Username',
                v.required,
                v.valid_username,
                # v.name_available,
                maxlength=50,
                size=30
            ),
            f.PasswordField(
                'Password',
                v.required,
                v.valid_password,
                maxlength=16,
                size=20
            ),
            f.PasswordField(
                'Confirm',
                v.required,
                maxlength=16,
                size=20
            ),
        ]),
    ])
Пример #7
0
def profile_fields():
    """Return Profile Fields"""
    return f.Fields([
        f.Section('Basic', [
            f.TextField('First Name', v.required),
            f.TextField('Last Name', v.required),
            f.TextField('Username', v.required, size=15),
            f.EmailField('Email'),
            f.PhoneField('Phone'),
            f.TextField('City', size=20),
            f.BasicImageField('Photo'),
        ]),
        f.Section('Locale', [
            f.TimezoneField('Timezone', default='Canada/Pacific'),
        ]),
        f.Section('Social', [
            f.TextField('Web'),
            f.TextField('Blog'),
            f.TextField('Twitter',size=20),
        ]),
        f.Section('Bio', [
            f.MemoField('About You', cols=40, name="about"),
        ]),
    ])
Пример #8
0
def change_photo_fields():
    """Return Change Photo Fields"""
    return f.Fields([
        f.ImageField('Photo', v.required),
    ])
Пример #9
0
def snippet_fields():
    """Return snippet fields"""
    return f.Fields(
            f.TextField('Name', required, maxlength=80),
            f.EditField('Body', required),
    )
Пример #10
0
from zoom import __version__
from zoom.mvc import View
from zoom.page import page
from zoom.tools import load_content
from zoom.browse import browse
import zoom.fields as f
from zoom.validators import required

import widgets

my_form = f.Fields(
    f.Section('Personal', [
        f.TextField(
            'Name', required, size=20, value='John Doe',
            hint='this is a hint'),
        f.MemoField('Notes', hint='this is a hint'),
    ]),
    f.Section('Social', [
        f.TextField('Twitter', size=15, value='jdoe', hint='optional'),
    ]),
    f.ButtonField('Save'),
)

small_form = f.Fields(
    f.TextField("Name", size=20),
    f.TextField("Address"),
)


class MyView(View):
    """main application view"""
    def index(self):