Ejemplo n.º 1
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)
Ejemplo n.º 2
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)
Ejemplo n.º 3
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)
Ejemplo n.º 4
0
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
Ejemplo n.º 5
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
            ),
        ]),
    ])
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
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
Ejemplo n.º 8
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)
Ejemplo n.º 9
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"),
        ]),
    ])
Ejemplo n.º 10
0
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
Ejemplo n.º 11
0
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)
Ejemplo n.º 12
0
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'),
])
Ejemplo n.º 13
0
def snippet_fields():
    """Return snippet fields"""
    return f.Fields(
            f.TextField('Name', required, maxlength=80),
            f.EditField('Body', required),
    )
Ejemplo n.º 14
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"""
Ejemplo n.º 15
0
"""

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):