def payment_travel_edit(): """ Add travel allowance for a teacher """ from openstudio.os_customer import Customer from openstudio.os_forms import OsForms teID = request.vars['teID'] tpfrtID = request.vars['tpfrtID'] customer = Customer(teID) response.title = customer.get_name() response.subtitle = T("Edit travel allowance") response.view = 'general/only_content.html' return_url = payment_travel_return_url(teID) os_forms = OsForms() result = os_forms.get_crud_form_update( db.teachers_payment_travel, return_url, tpfrtID ) form = result['form'] back = os_gui.get_button('back', return_url) return dict(content=form, save=result['submit'], back=back)
def payment_fixed_rate_class(): """ Add default fixed rate for this teacher """ from openstudio.os_customer import Customer from openstudio.os_teacher import Teacher from openstudio.os_forms import OsForms teID = request.vars['teID'] clsID = request.vars['clsID'] response.view = 'general/only_content.html' customer = Customer(teID) response.title = customer.get_name() response.subtitle = T("Set class rate") record = db.classes(clsID) location = db.school_locations[record.school_locations_id].Name classtype = db.school_classtypes[record.school_classtypes_id].Name class_name = NRtoDay(record.Week_day) + ' ' + \ record.Starttime.strftime(TIME_FORMAT) + ' - ' + \ classtype + ', ' + location os_forms = OsForms() return_url = payment_fixed_rate_default_return_url(teID) db.teachers_payment_fixed_rate_class.auth_teacher_id.default = teID db.teachers_payment_fixed_rate_class.classes_id.default = clsID teacher = Teacher(teID) payment = db.teachers_payment_fixed_rate_class( classes_id = clsID, auth_teacher_id = teID ) if payment: title = H4(T('Edit class rate for'), ' ', class_name) result = os_forms.get_crud_form_update( db.teachers_payment_fixed_rate_class, return_url, payment.id ) else: title = H4(T('Add class rate for'), ' ', class_name) result = os_forms.get_crud_form_create( db.teachers_payment_fixed_rate_class, return_url, ) form = result['form'] content = DIV( title, form ) back = os_gui.get_button('back', return_url) return dict(content=content, back=back, save=result['submit'])
def payment_fixed_rate(): """ Configure fixed rate payments for this teacher """ from openstudio.os_customer import Customer from openstudio.os_teacher import Teacher teID = request.vars['teID'] response.view = 'general/only_content.html' customer = Customer(teID) response.title = customer.get_name() response.subtitle = T("Payments") teacher = Teacher(teID) content = DIV( teacher.get_payment_fixed_rate_default_display(), teacher.get_payment_fixed_rate_classes_display() ) back = back_index() return dict(content=content, #menu=menu, back=back)
def payment_travel(): """ Configure travel allowance for teachers """ from openstudio.os_customer import Customer from openstudio.os_teacher import Teacher teID = request.vars['teID'] response.view = 'general/only_content.html' customer = Customer(teID) response.title = customer.get_name() response.subtitle = T("Travel allowance") teacher = Teacher(teID) content = teacher.get_payment_travel_display() add = os_gui.get_button('add', URL('teachers', 'payment_travel_add', vars={'teID': teID}), _class='pull-right') back = back_index() return dict(content=content, header_tools=add, back=back)
def payment_fixed_rate_class_add(): """ Add customers to attendance for a class """ from openstudio.os_customer import Customer from openstudio.os_customers import Customers from general_helpers import datestr_to_python response.view = 'general/only_content.html' teID = request.vars['teID'] customer = Customer(teID) response.title = customer.get_name() response.subtitle = T("Add class payment rate") if 'date' in request.vars: date = datestr_to_python(DATE_FORMAT, request.vars['date']) else: date = TODAY_LOCAL customers = Customers() result = customers.classes_add_get_form_date(teID, date) form = result['form'] form_date = result['form_styled'] db.classes.id.readable = False # list of classes grid = customers.classes_add_get_list(date, 'tp_fixed_rate', teID=teID) back = os_gui.get_button('back', URL('payment_fixed_rate', vars={'teID': teID}), _class='left') return dict(content=DIV(form_date, grid), back=back)
def payment_fixed_rate_default(): """ Add default fixed rate for this teacher """ from openstudio.os_customer import Customer from openstudio.os_teacher import Teacher from openstudio.os_forms import OsForms teID = request.vars['teID'] response.view = 'general/only_content.html' customer = Customer(teID) response.title = customer.get_name() response.subtitle = T("Teacher profile") os_forms = OsForms() return_url = payment_fixed_rate_default_return_url(teID) db.teachers_payment_fixed_rate_default.auth_teacher_id.default = teID teacher = Teacher(teID) default_payments = teacher.get_payment_fixed_rate_default() if default_payments: title = H4(T('Edit default rate')) result = os_forms.get_crud_form_update( db.teachers_payment_fixed_rate_default, return_url, default_payments.first().id ) else: title = H4(T('Add default rate')) result = os_forms.get_crud_form_create( db.teachers_payment_fixed_rate_default, return_url, ) form = result['form'] content = DIV( title, form ) back = os_gui.get_button('back', return_url) return dict(content=content, #menu=menu, back=back, save=result['submit'])
def edit(): """ :return: shows order """ response.title = T('Order #') + request.vars['coID'] response.subtitle = T('Edit') response.view = 'general/only_content.html' coID = request.vars['coID'] order = Order(coID) cuID = order.order.auth_customer_id customer = Customer(cuID) # Info table info = TABLE(THEAD( TR( TH(T('Customer')), TH(T('Ordered on')), TH(T('Status')), )), _class='table') # Display status for field in db.customers_orders: field.readable = False field.writable = False db.customers_orders.Status.readable = True db.customers_orders.Status.writable = True crud.messages.record_updated = T('Saved') form = crud.update(db.customers_orders, coID) result = set_form_id_and_get_submit_button(form, 'MainForm') form = result['form'] submit = result['submit'] form = DIV( XML('<form id="MainForm" action="#" enctype="multipart/form-data" method="post">' ), form.custom.widget.Status, form.custom.end) #status = form # status = represent_customers_orders_status(order.order.Status, order.order) # Display ordered on ordered_on = represent_datetime(order.order.DateCreated, order.order) customer_link = A(customer.get_name(), _href=URL('customers', 'edit', args=customer.row.id)) info.append(TR(TD(customer_link), TD(ordered_on), TD(form))) # Info content content = DIV(DIV(info, _class='col-md-8 no-padding-left')) # Display items rows = order.get_order_items_rows() header = THEAD( TR( TH(T('Product')), TH(T('Description')), TH(SPAN(T('Amount incl. VAT'), _class='right')), TH(T("G/L Account")), TH(T("Cost center")), TH(), )) table = TABLE(header, _class='table table-striped table-hover order-items') for i, row in enumerate(rows): repr_row = list(rows[i:i + 1].render())[0] table.append( TR( TD(repr_row.customers_orders_items.ProductName), TD(repr_row.customers_orders_items.Description), TD( SPAN(repr_row.customers_orders_items.TotalPriceVAT, _class='right')), TD(repr_row.customers_orders_items.accounting_glaccounts_id), TD(repr_row.customers_orders_items.accounting_costcenters_id), TD(), )) # Display totals amounts = order.get_amounts() footer = TFOOT( TR( TD(), TD(B(T('Subtotal'))), TD( SPAN(CURRSYM, ' ', format(amounts.TotalPrice, '.2f'), _class='bold right')), TD()), TR( TD(), TD(B(T('VAT'))), TD( SPAN(CURRSYM, ' ', format(amounts.VAT, '.2f'), _class='bold right')), TD()), TR( TD(), TD(B(T('Total'))), TD( SPAN(CURRSYM, ' ', format(amounts.TotalPriceVAT, '.2f'), _class='bold right')), TD())) table.append(footer) content.append(table) # Customer message customer_message = '' if order.order.CustomerNote: customer_message = DIV( B(T('Customer message')), BR(), BR(), XML(order.order.CustomerNote.replace("\n", "<br>")), ) content.append(customer_message) back = os_gui.get_button('back', edit_get_return_url(cuID)) return dict(content=content, back=back, save=submit)