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)
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)
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)
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 }
def view_breadcrumbs_list(entity): breadcrumbs = create_breadcrumbs_list(entity) return renderers.render_div(*breadcrumbs)