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 view_partner(db_id): partner = data_models.lookup_entity(db_id) supplier = data_models.get_parent(partner) model = data_models.Model(partner, None, db.Partner) form = PartnerForm(request.form, obj=partner) model.add_form(ACTION_UPDATE.name, form) return views.view_std_entity(model, 'Partner ' + partner.name, (name_field, ), (ACTION_UPDATE, ))
def view_fund(db_id): fund = data_models.lookup_entity(db_id) model = data_models.Model(fund, fund.committee, db.Fund) form = FundForm(request.form, fund) model.add_form(ACTION_UPDATE.name, form) property_list = (state_field, name_field, code_field, description_field) return views.view_std_entity(model, 'Fund ' + fund.name, property_list, [ACTION_UPDATE, ACTION_CLOSE], 1, link_pairs)
def view_user(db_id): user = data_models.lookup_entity(db_id) model = data_models.Model(user, None, db.User) form = UserForm(request.form, obj=user) model.add_form(ACTION_UPDATE.name, form) property_list = (name_field, email_field) return views.view_std_entity(model, 'User ' + user.name, property_list, (ACTION_UPDATE, ), 0, link_pairs)
def view_grant(db_id): grant = data_models.lookup_entity(db_id) fund = data_models.get_parent(grant) model = GrantModel(grant, fund.committee) add_grant_form(model, ACTION_UPDATE) title = 'Grant on ' + str(grant.target_date) property_list = (state_field, creator_field, transferred_amount_field, amount_field, project_field, target_date_field, foreign_transfer_field, description_field) return views.view_std_entity(model, title, property_list, action_list, num_wide=1)
def view_role(db_id): role = data_models.lookup_entity(db_id) model = data_models.Model(role, None) form = RoleForm(request.form, role) model.add_form(ACTION_UPDATE.name, form) property_list = map(properties.create_readonly_field, form._fields.keys(), form._fields.values()) return views.view_std_entity(model, 'Role', property_list, [ACTION_UPDATE, ACTION_DELETE])
def view_partner_list(db_id): supplier = data_models.lookup_entity(db_id) new_partner = db.Partner(parent=supplier.key) model = data_models.Model(new_partner, None, db.Partner) form = PartnerForm(request.form, obj=new_partner) model.add_form(ACTION_CREATE.name, form) partner_query = db.Partner.query(ancestor=supplier.key).order( db.Partner.name) return views.view_std_entity_list(model, 'Partner List', ACTION_CREATE, (name_field, ), partner_query, supplier)
def view_role_list(db_id): user = data_models.lookup_entity(db_id) new_role = db.Role(parent=user.key) model = data_models.Model(new_role) form = RoleForm(request.form, new_role) model.add_form(ACTION_CREATE.name, form) property_list = map(properties.create_readonly_field, form._fields.keys(), form._fields.values()) role_query = db.Role.query(ancestor=user.key) return views.view_std_entity_list(model, 'Role List', ACTION_CREATE, property_list, role_query, user)
def view_project_list(db_id): supplier = data_models.lookup_entity(db_id) new_project = db.Project(parent=supplier.key) model = data_models.Model(new_project, None, db.Project) form = create_project_form(new_project, supplier) model.add_form(ACTION_CREATE.name, form) property_list = (state_field, properties.StringProperty('name', 'Name')) project_query = db.Project.query(ancestor=supplier.key).order( -db.Project.state_index, db.Project.name) return views.view_std_entity_list(model, 'Project List', ACTION_CREATE, property_list, project_query, supplier)
def view_supplierfund_list(db_id): supplier = data_models.lookup_entity(db_id) new_fund = db.SupplierFund(parent=supplier.key) model = data_models.Model(new_fund, None, db.SupplierFund) form = SupplierFundForm(request.form, obj=new_fund) model.add_form(ACTION_CREATE.name, form) fund_query = db.SupplierFund.query(ancestor=supplier.key).order( db.SupplierFund.name) return views.view_std_entity_list(model, 'SupplierFund List', ACTION_CREATE, (name_field, ), fund_query, supplier)
def view_grant_list(db_id): fund = data_models.lookup_entity(db_id) new_grant = db.Grant(parent=fund.key) new_grant.target_date = date.today() + timedelta(30) model = GrantModel(new_grant, fund.committee, db.Grant) add_grant_form(model, ACTION_CREATE) property_list = (state_field, target_date_field, project_field, amount_field) grant_query = db.Grant.query(ancestor=fund.key).order(-db.Grant.state_index, db.Grant.target_date) return views.view_std_entity_list(model, 'Grant List', ACTION_CREATE, property_list, grant_query, fund)
def view_purchase_list(db_id): fund = data_models.lookup_entity(db_id) new_purchase = db.Purchase(parent=fund.key) model = PurchaseModel(new_purchase, fund.committee, db.Purchase) add_purchase_form(request.form, model, ACTION_CREATE) property_list = (state_field, po_number_field, supplier_field, properties.StringProperty('quote_amount')) purchase_query = db.Purchase.query(ancestor=fund.key).order( -db.Purchase.state_index, db.Purchase.po_number) return views.view_std_entity_list(model, 'Purchase List', ACTION_CREATE, property_list, purchase_query, fund)
def view_internaltransfer(db_id): transfer = data_models.lookup_entity(db_id) fund = data_models.get_parent(transfer) model = data_models.Model(transfer, fund.committee) add_transfer_form(request.form, model, ACTION_UPDATE) title = 'InternalTransfer to ' + transfer.dest_fund.get( ).name if transfer.dest_fund != None else "" property_list = (state_field, properties.KeyProperty('creator'), properties.KeyProperty('dest_fund'), properties.StringProperty('amount'), properties.StringProperty('description')) return views.view_std_entity(model, title, property_list, action_list)
def view_pledge_list(db_id): fund = data_models.lookup_entity(db_id) new_pledge = db.Pledge(parent=fund.key) model = data_models.Model(new_pledge, fund.committee, db.Pledge) form = PledgeForm(request.form, obj=new_pledge) model.add_form(ACTION_CREATE.name, form) property_list = (state_field, ref_id_field, properties.StringProperty('amount')) pledge_query = db.Pledge.query(ancestor=fund.key).order( -db.Pledge.state_index, db.Pledge.ref_id) return views.view_std_entity_list(model, 'Pledge List', ACTION_CREATE, property_list, pledge_query, fund)
def view_internaltransfer_list(db_id): fund = data_models.lookup_entity(db_id) new_transfer = db.InternalTransfer(parent=fund.key) model = data_models.Model(new_transfer, fund.committee, db.InternalTransfer) add_transfer_form(request.form, model, ACTION_CREATE) property_list = (state_field, properties.KeyProperty('dest_fund'), properties.StringProperty('amount')) transfer_query = db.InternalTransfer.query( ancestor=fund.key).order(-db.InternalTransfer.state_index) return views.view_std_entity_list(model, 'Internal Transfer List', ACTION_CREATE, property_list, transfer_query, fund)
def view_pledge(db_id): pledge = data_models.lookup_entity(db_id) fund = data_models.get_parent(pledge) model = data_models.Model(pledge, fund.committee) form = PledgeForm(request.form, obj=pledge) model.add_form(ACTION_UPDATE.name, form) title = 'Pledge ' + pledge.ref_id property_list = (ref_id_field, state_field, properties.KeyProperty('creator'), properties.StringProperty('amount'), properties.StringProperty('description')) return views.view_std_entity( model, title, property_list, (ACTION_UPDATE, ACTION_FULFILLED, ACTION_BOOKED))
def view_project(db_id): project = data_models.lookup_entity(db_id) supplier = data_models.get_parent(project) model = data_models.Model(project, None, db.Project) form = create_project_form(project, supplier) model.add_form(ACTION_UPDATE.name, form) property_list = [state_field] + map(properties.create_readonly_field, form._fields.keys(), form._fields.values()) return views.view_std_entity(model, 'Project ' + project.name, property_list, action_list, num_wide=1)
def view_supplierfund(db_id): fund = data_models.lookup_entity(db_id) supplier = data_models.get_parent(fund) model = data_models.Model(fund, None, db.SupplierFund) if request.form: form = SupplierFundForm(request.form) else: form = SupplierFundForm(obj=fund) model.add_form(ACTION_UPDATE.name, form) property_list = map(properties.create_readonly_field, form._fields.keys(), form._fields.values()) return views.view_std_entity(model, 'SupplierFund ' + fund.name, property_list, (ACTION_UPDATE, ), num_wide=1)
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 }