Beispiel #1
0
def view_std_entity(model,
                    title,
                    property_list,
                    action_list=[],
                    num_wide=0,
                    link_pairs=[]):
    if request.method == 'POST' and handle_post(model, action_list):
        return redirect(redirect_url(model))
    entity = model.entity
    links = view_links(entity, *link_pairs)
    buttons = view_actions(action_list, model)
    errors = view_errors(model)
    breadcrumbs = view_breadcrumbs_list(entity)
    grid = view_entity(entity, property_list, num_wide)
    history = view_entity_history(entity.key)
    content = renderers.render_div(grid, history)
    user_controls = view_user_controls(model)
    return render_template('layout.html',
                           title=title,
                           breadcrumbs=breadcrumbs,
                           user=user_controls,
                           links=links,
                           buttons=buttons,
                           errors=errors,
                           content=content)
Beispiel #2
0
def view_purchase(db_id):
    purchase = data_models.lookup_entity(db_id)
    model = load_purchase_model(purchase, request.form)
    action_list = [
        ACTION_UPDATE, ACTION_CHECKED, ACTION_ORDERED, ACTION_ADVANCE,
        ACTION_INVOICE, ACTION_CANCEL
    ]
    if request.method == 'POST' and views.handle_post(
            model, action_list + [ACTION_ADVANCE_PAID, ACTION_INVOICE_PAID]):
        return redirect(request.base_url)
    purchase = model.entity
    breadcrumbs = views.view_breadcrumbs_list(purchase)
    property_list = [
        po_number_field, state_field, quote_amount_field, creator_field,
        supplier_field, description_field
    ]
    content_list = [views.view_entity(purchase, property_list, 1)]
    content_list += show_payment(purchase.advance, ACTION_ADVANCE_PAID, model)
    content_list += show_payment(purchase.invoice, ACTION_INVOICE_PAID, model)
    content_list.append(views.view_entity_history(purchase.key))
    title = 'Purchase ' + purchase.po_number if purchase.po_number is not None else ""
    buttons = views.view_actions(action_list, model)
    user_controls = views.view_user_controls(model)
    content = renderers.render_div(*content_list)
    return render_template('layout.html',
                           title=title,
                           breadcrumbs=breadcrumbs,
                           user=user_controls,
                           buttons=buttons,
                           content=content)
Beispiel #3
0
def close_fund(model, action_name):
    model.perform_close(action_name)
    fund = model.entity
    users = model.lookup_users_with_role(RoleType.FUND_ADMIN)
    to_addresses = map(lambda u: u.email, users)
    entity_ref = renderers.render_link(
        fund.name, urls.url_for_entity(fund, external=True))
    content = renderers.render_div('Fund closed ', entity_ref,
                                   ' code=%s' % fund.code)
    mailer.send_email('Workbench Fund Closed', content, to_addresses)
Beispiel #4
0
def home():
    model = data_models.Model(None)
    links = views.view_links(None, ('Committee', 'Show Committees'),
                             ('Supplier', 'Show Suppliers'),
                             ('User', 'Show Users'))
    audit_list = db.AuditRecord.query(db.AuditRecord.parent == None).order(
        -db.AuditRecord.timestamp).fetch(10)
    sub_heading = renderers.sub_heading('Recent Activity')
    table = views.view_entity_list(audit_list,
                                   audit_fields,
                                   selectable=False,
                                   no_links=False)
    content = renderers.render_div(sub_heading, table)
    return render_template('layout.html',
                           title='DashBoard',
                           user=views.view_user_controls(model),
                           links=links,
                           content=content)
def process_supplier(db_id):
    supplier = data_models.lookup_entity(db_id)
    if request.method == 'POST':
        form = SupplierForm(request.form)
    else:
        form = SupplierForm(obj=supplier)
    model = data_models.Model(supplier, None, db.Supplier)
    model.add_form('update', form)
    valid_actions = [ACTION_UPDATE]
    if not supplier.paid_in_sterling:
        valid_actions.append(ACTION_TRANSFER_START)
    if request.method == 'POST' and views.handle_post(model, valid_actions):
        return redirect_url(model)
    breadcrumbs = views.view_breadcrumbs_list(supplier)
    links = views.view_links(supplier, *get_link_pairs(supplier))
    fields = (properties.StringProperty('name'), )
    grid = views.view_entity(supplier, fields)
    title = 'Supplier ' + supplier.name
    purchase_payments = render_purchase_payments_list(supplier)
    content_list = [grid, purchase_payments]
    if supplier.receives_grants:
        grant_payments = render_grants_due_list(supplier)
        content_list.append(grant_payments)
    content_list.append(views.view_entity_history(supplier.key))
    buttons = views.view_actions(valid_actions, model)
    errors = views.view_errors(model)
    content = renderers.render_div(*content_list)
    user_controls = views.view_user_controls(model)
    return {
        'title': title,
        'breadcrumbs': breadcrumbs,
        'user': user_controls,
        'links': links,
        'buttons': buttons,
        'errors': errors,
        'content': content
    }
Beispiel #6
0
def view_breadcrumbs_list(entity):
    breadcrumbs = create_breadcrumbs_list(entity)
    return renderers.render_div(*breadcrumbs)