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)
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)
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)
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), ])
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)
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 ), ]), ])
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"), ]), ])
def change_photo_fields(): """Return Change Photo Fields""" return f.Fields([ f.ImageField('Photo', v.required), ])
def snippet_fields(): """Return snippet fields""" return f.Fields( f.TextField('Name', required, maxlength=80), f.EditField('Body', required), )
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):