Beispiel #1
0
def zip_code(zip_code_id):
    db.zip_code.id.readable = False
    db.zip_code.id.writable = False

    db.zip_code.zip_type.requires = IS_IN_SET([
        x.zip_type for x in db(
            db.zip_code.id > 0).select(db.zip_code.zip_type, distinct=True)
    ])
    db.zip_code.state.requires = IS_IN_SET([
        x.state for x in db(
            db.zip_code.id > 0).select(db.zip_code.state, distinct=True)
    ])
    db.zip_code.timezone.requires = IS_IN_SET([
        x.timezone for x in db(
            db.zip_code.id > 0).select(db.zip_code.timezone, distinct=True)
    ])

    form = Form(db.zip_code,
                record=zip_code_id,
                formstyle=FormStyleSimpleTable)

    if form.accepted:
        redirect(URL('datatables'))

    return dict(form=form, id=zip_code_id)
Beispiel #2
0
def zip_codes(path=None):
    fields = [db.zip_code.id,
              db.zip_code.zip_code,
              db.zip_code.zip_type,
              db.zip_code.state,
              db.zip_code.county,
              db.zip_code.primary_city]

    #  build the search form
    zip_type_requires = IS_NULL_OR(IS_IN_SET([x.zip_type for x in db(db.zip_code.id > 0).select(db.zip_code.zip_type,
                                                                                                orderby=db.zip_code.zip_type,
                                                                                                distinct=True)]))
    zip_state_requires = IS_NULL_OR(IS_IN_SET([x.state for x in db(db.zip_code.id > 0).select(db.zip_code.state,
                                                                                              orderby=db.zip_code.state,
                                                                                              distinct=True)]))
    queries = [(db.zip_code.id > 0)]

    orderby = [~db.zip_code.state, db.zip_code.county, db.zip_code.primary_city]

    search_queries = [['Search by State', lambda val: db.zip_code.state == val,
                       zip_state_requires],
                      ['Search by Type', lambda val: db.zip_code.zip_type == val,
                       zip_type_requires],
                      ['Search by Name', lambda val: db.zip_code.zip_code.contains(val) |
                                                     db.zip_code.zip_type.contains(val) |
                                                     db.zip_code.primary_city.contains(val) |
                                                     db.zip_code.county.contains(val) |
                                                     db.zip_code.state.contains(val)]]

    search = GridSearch(search_queries, queries)

    zip_type_requires = IS_IN_SET([x.zip_type for x in db(db.zip_code.id > 0).select(db.zip_code.zip_type,
                                                                                     orderby=db.zip_code.zip_type,
                                                                                     distinct=True)])
    zip_state_requires = IS_IN_SET([x.state for x in db(db.zip_code.id > 0).select(db.zip_code.state,
                                                                                   orderby=db.zip_code.state,
                                                                                   distinct=True)])
    zip_timezone_requires = IS_IN_SET([x.timezone for x in db(db.zip_code.id > 0).select(db.zip_code.timezone,
                                                                                         distinct=True)])

    grid = Grid(path,
                search.query,
                fields=fields,
                search_form=search.search_form,
                orderby=orderby,
                create=True,
                details=True,
                editable=True,
                deletable=True,
                **GRID_DEFAULTS)

    return dict(grid=grid)
Beispiel #3
0
def multiple_form_example():
    name = Field('name', requires=IS_NOT_EMPTY())
    forms = [
        Form([Field('name', requires=IS_NOT_EMPTY())],
             form_name='1', formstyle=FormStyleBulma),
        Form([Field('name', requires=IS_NOT_EMPTY())],
             form_name='2', keep_values=True, formstyle=FormStyleBulma),
        Form([Field('name', requires=IS_NOT_EMPTY()),
              Field('age','integer')], 
             form_name='3', formstyle=FormStyleBulma),
        Form([Field('name', requires=IS_NOT_EMPTY()),
              Field('insane','boolean')], 
             form_name='4', formstyle=FormStyleBulma),
        Form([Field('name', requires=IS_NOT_EMPTY()),
              Field('color',requires=IS_IN_SET(['red','blue','gree']))], 
             form_name='5', formstyle=FormStyleBulma),
        Form([Field('name', requires=IS_NOT_EMPTY()),
              Field('favorite_thing', requires=IS_IN_DB(db, 'thing.id', 'thing.name'))], 
             form_name='6', formstyle=FormStyleBulma)]
    messages = []
    for form in forms:
        if form.accepted:
            messages.append('form %s accepted with: %s ' % (form.form_name, form.vars))
        elif form.errors:
            messages.append('form %s has errors: %s ' % (form.form_name, form.errors))
    return dict(forms=forms, messages=messages)
Beispiel #4
0
def insertt():
    c = []
    for i in db(db.company).select():
        c.append(i.IAN_FULL_NAME)
    form = Form(
        [Field('company', requires=IS_IN_SET(c)),
         Field('file', 'upload')],
        validation=func,
        formstyle=FormStyleBulma)
    return dict(form=form)
def example_multiple_forms():
    name = Field("name", requires=IS_NOT_EMPTY())
    forms = [
        Form(
            [Field("name", requires=IS_NOT_EMPTY())],
            form_name="1",
            formstyle=FormStyleDefault,
        ),
        Form(
            [Field("name", requires=IS_NOT_EMPTY())],
            form_name="2",
            keep_values=True,
            formstyle=FormStyleDefault,
        ),
        Form(
            [Field("name", requires=IS_NOT_EMPTY()),
             Field("age", "integer")],
            form_name="3",
            formstyle=FormStyleDefault,
        ),
        Form(
            [
                Field("name", requires=IS_NOT_EMPTY()),
                Field("insane", "boolean")
            ],
            form_name="4",
            formstyle=FormStyleDefault,
        ),
        Form(
            [
                Field("name", requires=IS_NOT_EMPTY()),
                Field("color", requires=IS_IN_SET(["red", "blue", "green"])),
            ],
            form_name="5",
            formstyle=FormStyleDefault,
        ),
        Form(
            [
                Field("name", requires=IS_NOT_EMPTY()),
                Field("favorite_hero",
                      requires=IS_IN_DB(db, "person.id", "person.name")),
            ],
            form_name="6",
            formstyle=FormStyleDefault,
        ),
    ]
    messages = []
    for form in forms:
        if form.accepted:
            messages.append("form %s accepted with: %s " %
                            (form.form_name, form.vars))
        elif form.errors:
            messages.append("form %s has errors: %s " %
                            (form.form_name, form.errors))
    return dict(forms=forms, messages=messages)
Beispiel #6
0
def zip_codes(action=None, tablename=None, record_id=None):
    fields = [
        db.zip_code.id, db.zip_code.zip_code, db.zip_code.zip_type,
        db.zip_code.state, db.zip_code.county, db.zip_code.primary_city
    ]

    #  check session to see if we've saved a default value
    user_signature = get_signature()
    search_state = get_storage_value(user_signature, 'search_state', None)
    search_type = get_storage_value(user_signature, 'search_type', None)
    search_filter = get_storage_value(user_signature, 'search_filter', None)

    #  build the search form
    zip_type_requires = IS_NULL_OR(
        IS_IN_SET([
            x.zip_type for x in db(
                db.zip_code.id > 0).select(db.zip_code.zip_type,
                                           orderby=db.zip_code.zip_type,
                                           distinct=True)
        ]))
    zip_state_requires = IS_NULL_OR(
        IS_IN_SET([
            x.state for x in db(db.zip_code.id > 0).select(
                db.zip_code.state, orderby=db.zip_code.state, distinct=True)
        ]))
    search_form = Form(
        [
            Field('state',
                  length=20,
                  requires=zip_state_requires,
                  default=search_state,
                  _title='Filter by State'),
            Field('zip_type',
                  length=20,
                  requires=zip_type_requires,
                  default=search_type,
                  _title='Select Filter by ZIP Type'),
            Field('search',
                  length=50,
                  default=search_filter,
                  _placeholder='...search text...',
                  _title='Enter search text and click on Filter')
        ],
        keep_values=True,
        formstyle=FormStyleSimpleTable,
    )

    if search_form.accepted:
        search_state = search_form.vars['state']
        search_type = search_form.vars['zip_type']
        search_filter = search_form.vars['search']

    queries = [(db.zip_code.id > 0)]
    if search_filter:
        queries.append((db.zip_code.zip_code.contains(search_filter))
                       | (db.zip_code.zip_type.contains(search_filter))
                       | (db.zip_code.primary_city.contains(search_filter))
                       | (db.zip_code.county.contains(search_filter))
                       | (db.zip_code.state.contains(search_filter)))
    if search_state:
        queries.append(db.zip_code.state == search_state)

    if search_type:
        queries.append(db.zip_code.zip_type == search_type)

    orderby = [
        ~db.zip_code.state, db.zip_code.county, db.zip_code.primary_city
    ]

    zip_type_requires = IS_IN_SET([
        x.zip_type for x in db(db.zip_code.id > 0).select(
            db.zip_code.zip_type, orderby=db.zip_code.zip_type, distinct=True)
    ])
    zip_state_requires = IS_IN_SET([
        x.state for x in db(db.zip_code.id > 0).select(
            db.zip_code.state, orderby=db.zip_code.state, distinct=True)
    ])
    zip_timezone_requires = IS_IN_SET([
        x.timezone for x in db(
            db.zip_code.id > 0).select(db.zip_code.timezone, distinct=True)
    ])
    requires = {
        'zip_code.zip_type': zip_type_requires,
        'zip_code.state': zip_state_requires,
        'zip_code.timezone': zip_timezone_requires
    }

    grid = SimpleTable(queries,
                       fields=fields,
                       search_form=search_form,
                       storage_values=dict(search_state=search_state,
                                           search_type=search_type,
                                           search_filter=search_filter),
                       orderby=orderby,
                       create=True,
                       details=True,
                       editable=True,
                       deletable=True,
                       search_button='Filter',
                       user_signature=user_signature,
                       requires=requires,
                       pre_action_buttons=[
                           ActionButton(URL('copy'),
                                        'Copy',
                                        icon='fa-copy',
                                        append_id=True,
                                        append_signature=True,
                                        append_page=True),
                           ActionButton(URL('to_excel'),
                                        'Export',
                                        icon='fa-file-excel',
                                        append_id=True,
                                        append_signature=True,
                                        append_page=True)
                       ])

    return dict(grid=grid)