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 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 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 get_site_settings_form(): form = zoom.forms.Form( f.Section('Site', [ f.TextField('Name', v.required), f.TextField('Owner Name'), f.EmailField('Owner Email'), f.URLField('Owner URL'), f.EmailField('Register Email'), f.EmailField('Support Email'), ]), f.ButtonField('Save') ) form.update(zoom.system.site.settings.site) return form
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 get_reset_password_form(key): reset_password_form = Form( f.TextField('New Password', v.required), f.CheckboxField('Email Password', value=True), f.ButtonField('Save Password', cancel='/admin/users/' + key), ) return reset_password_form
def get_mail_settings_form(): """Creates, initializes and returns the mail settings form""" form = zoom.forms.Form( f.Section('Mail', [ f.TextField('SMTP Host'), f.IntegerField('SMTP Port', size=4, default=3309), f.TextField('SMTP User'), f.TextField('SMTP Password', name='smtp_password'), f.URLField('Logo'), f.EmailField('From Address', name='from_addr'), f.TextField('From Name', name='from_name'), f.PulldownField('Delivery', options=['immediate', 'background']) ]), f.ButtonField('Save') ) form.update(zoom.system.site.settings.mail) return form
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 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 get_reset_password_form(key): reset_password_form = Form( f.TextField('New Password', v.required), f.ButtonField('Save Password', cancel='/admin/users/' + key)) return reset_password_form
import uuid from zoom.context import context from zoom.mvc import View, Controller from zoom.page import page from zoom.mail import get_mail_store, send from zoom.browse import browse import zoom.fields as f from zoom.forms import Form from zoom.components import success from zoom.tools import home mail_form = Form([ f.TextField('Recipient', size=60, maxlength=60, default=(context.user.email)), f.TextField('Subject', default='a subject ' + uuid.uuid4().hex), f.MemoField('Message', value='this is the message body\n' + uuid.uuid4().hex), # f.FileField('Attachment'), f.ButtonField('Send'), ]) class MyView(View): def index(self): actions = ['Compose'] content = '<h2>Waiting</h2>' + browse(get_mail_store(context.site)) return page(content, title='Mail', actions=actions)
import uuid import zoom from zoom.context import context from zoom.mvc import View, Controller from zoom.mail import get_mail_store, send, Attachment, send_as from zoom.browse import browse import zoom.fields as f from zoom.forms import Form from zoom.components import success from zoom.tools import home from zoom.alerts import success mail_form = Form([ f.TextField('From Name', size=60, maxlength=60, default=(zoom.system.site.mail_from_name)), f.TextField('From Email', size=60, maxlength=60, default=(zoom.system.site.mail_from_addr)), f.TextField('Recipient', size=60, maxlength=60, default=(context.user.email)), f.TextField('Subject', default='a subject ' + uuid.uuid4().hex), f.MemoField('Message', value='this is the message body\n' + uuid.uuid4().hex), # f.FileField('Attachment'), f.ButtonField('Send'), ])
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"""
""" import uuid from zoom.context import context from zoom.mvc import View, Controller from zoom.page import page from zoom.mail import get_mail_store, send from zoom.browse import browse import zoom.fields as f from zoom.forms import Form from zoom.components import success from zoom.tools import home mail_form = Form([ f.TextField('Recipient', size=60, maxlength=60, default='*****@*****.**'), f.TextField('Subject', default='a subject ' + uuid.uuid4().hex), f.MemoField('Message', value='this is the message body\n' + uuid.uuid4().hex), # f.FileField('Attachment'), f.ButtonField('Send'), ]) class MyView(View): def index(self): actions = ['Compose'] content = '<h2>Waiting</h2>' + browse(get_mail_store(context.site)) return page(content, title='Mail', actions=actions) def compose(self):