def my_consultant_data(worksheet, header_dict, registrations, dto): def add_column(value='', style='cell', write_type='write'): columns.append({'value': value, 'style': style, 'write_type': write_type}) for i, data in enumerate(registrations): columns = [] academic_period_year = data.academic_period.get_year() if data.academic_period else '' start_date = data.get_register_start_date() end_date = data.get_register_end_date() program_name = '' program_category = '' supervisor_full_name = '' if start_date: start_date = start_date.strftime('%d-%b-%Y') if end_date: end_date = end_date.strftime('%d-%b-%Y') if data.program: program_name = data.program.program_base.name program_category = data.program.program_base.category.name if data.consultant.consultantprofile.supervisor: supervisor_full_name = data.consultant.consultantprofile.supervisor.common_name notes = [] for note in data.note_set.all(): if note.description: notes.append(note.description) add_column(academic_period_year, 'cell_center') add_column(data.pk, 'cell_center') add_column(data.get_status_display(), 'cell_center') if data.created: add_column(data.created.replace(tzinfo=None), 'date_format', 'write_datetime') else: add_column() add_column(data.costumer.get_full_name()) add_column(data.nemonic or '') add_column(program_category) add_column(program_name) add_column(data.consultant.common_name) add_column(supervisor_full_name) add_column(data.get_duration_code()) add_column(start_date) add_column(end_date) add_column(' | '.join(notes)) create_row(columns, i, worksheet, header_dict)
def __data(worksheet, header_dict, registrations): def add_column(value='', style='cell', write_type='write'): columns.append({ 'value': value, 'style': style, 'write_type': write_type }) for i, data in enumerate(registrations): columns = [] academic_period_year = data.academic_period.get_year( ) if data.academic_period else '' program_name = '' program_category = '' supervisor_common_name = '' if data.program: program_name = data.program.program_base.name program_category = data.program.program_base.category.name if data.consultant.consultantprofile.supervisor: supervisor_common_name = data.consultant.consultantprofile.supervisor.common_name notes = [] for note in data.note_set.all(): if note.description: notes.append(note.description) add_column(data.consultant.consultantprofile.get_market_name(), 'cell_center') add_column(academic_period_year, 'cell_center') add_column(data.get_status_display(), 'cell_center') add_column(data.costumer.get_full_name()) add_column(program_category) add_column(program_name) add_column(data.get_duration_code()) add_column(data.consultant.common_name) add_column(supervisor_common_name) if data.helper_creator: add_column(data.helper_creator.common_name) else: add_column() create_row(columns, i, worksheet, header_dict)
def __data(worksheet, header_dict, registrations): def add_column(value='', style='cell', write_type='write'): columns.append({ 'value': value, 'style': style, 'write_type': write_type }) for i, data in enumerate(registrations): columns = [] program_name = '' program_category = '' birth_date = '' if data.program: program_name = data.program.program_base.name program_category = data.program.program_base.category.name notes = [] for note in data.note_set.all(): if note.description: notes.append(note.description) if data.costumer.profile.birth_date: if data.costumer.profile.birth_date.year >= 1900: birth_date = data.costumer.profile.birth_date.strftime( '%Y-%m-%d') add_column(data.consultant.consultantprofile.get_market_name(), 'cell_center') add_column(data.costumer.get_full_name()) add_column(birth_date, 'cell_center') add_column(program_category) add_column(program_name) add_column(data.consultant.common_name) add_column(data.get_referred_display()) add_column(data.recommender) add_column(data.costumer.email) for parent in data.tutors.all(): add_column(parent.email) create_row(columns, i, worksheet, header_dict)
def my_sales_data(worksheet, header_dict, registrations, dto): def add_column(value='', style='cell', write_type='write'): columns.append({ 'value': value, 'style': style, 'write_type': write_type }) for i, data in enumerate(registrations): columns = [] academic_period_year = data.academic_period.get_year( ) if data.academic_period else '' start_date = data.get_register_start_date() end_date = data.get_register_end_date() program_name = '' program_category = '' supervisor_full_name = '' if start_date: start_date = start_date.strftime('%d-%b-%Y') if end_date: end_date = end_date.strftime('%d-%b-%Y') if data.program: program_name = data.program.program_base.name program_category = data.program.program_base.category.name if data.consultant.consultantprofile.supervisor: supervisor_full_name = data.consultant.consultantprofile.supervisor.person.get_full_name( ) # region emergency contact ec_phone = [] try: ec_full_name = data.emergency_contact.get_full_name() ec_email = data.emergency_contact.email for phone in data.emergency_contact.profile.phone_set.all(): if phone.number: ec_phone.append(phone.number) except: ec_full_name = '' ec_email = '' # endregion notes = [] for note in data.note_set.all(): if note.description: notes.append(note.description) add_column(academic_period_year, 'cell_center') add_column(data.pk, 'cell_center') add_column(data.get_status_display(), 'cell_center') add_column(data.created.replace(tzinfo=None), 'date_format', 'write_datetime') add_column(data.costumer.get_full_name()) add_column(data.nemonic or '') add_column(program_category) add_column(program_name) add_column(data.consultant.person.get_full_name()) add_column(supervisor_full_name) add_column(data.get_duration_code()) add_column(start_date) add_column(end_date) add_column(data.costumer.profile.grade) if data.program: add_column(data.program.program_base.city.state.country.name) else: add_column() add_column(data.costumer.profile.get_returning_student_display()) add_column(data.costumer.profile.address.get_full_address()) for p in data.tutors.all(): parent_phone = [] for phone in p.profile.phone_set.all(): if phone.number: parent_phone.append(phone.number) add_column(p.get_full_name()) add_column(" / ".join(parent_phone)) add_column(p.email) if data.costumer.profile.birth_date: add_column(data.costumer.profile.birth_date, 'date_format', 'write_datetime') else: add_column() add_column(data.last_school) add_column(data.get_last_grade_display()) add_column(data.costumer.profile.get_tshirt_size_display()) add_column(data.costumer.email) add_column(ec_full_name) add_column(data.costumer.profile.emergency_contact_relationship) add_column(ec_email) add_column(' / '.join(ec_phone)) add_column(data.costumer.profile.allergies) add_column(' | '.join(notes)) create_row(columns, i, worksheet, header_dict)
def __reimbursement_draw(worksheet, header_dict, reimbursement): y_offset = 10 def add_column(value='', style='cell_center', write_type='write'): columns.append({'value': value, 'style': style, 'write_type': write_type}) vertical_titles = [ ['Complete Name:', reimbursement.creator.person.get_full_name()], ['Common Name:', reimbursement.creator.common_name], ['Location:', reimbursement.location], ['Bank:', reimbursement.bank], ['Account Number:', reimbursement.account_number], ['Swift:', reimbursement.swift], ['Clabe:', reimbursement.clabe], ['Description:', reimbursement.description] ] start_range = print_string(1) end_range = print_string(6) for i, data in enumerate(vertical_titles): row = i + 1 merge_range = '{}{}:{}{}'.format( start_range, row + 1, end_range, row + 1 ) worksheet.write(row, 0, data[0]) worksheet.merge_range(merge_range, data[1]) titles = [ {'title': "Date", 'style': 'student_header', 'width': 16}, {'title': "Type", 'style': 'student_header', 'width': 20}, {'title': "Item / Description", 'style': 'student_header', 'width': 40}, {'title': "Amount", 'style': 'student_header', 'width': 20}, {'title': "Currency", 'style': 'student_header', 'width': 13} ] if reimbursement.need_exchange: titles.append({'title': "Exchange Rate", 'style': 'student_header', 'width': 20}) titles.append({'title': "CAD Amount", 'style': 'student_header', 'width': 20}) create_titles(worksheet, titles, header_dict, y_offset=y_offset) amount_total = 0 total_total = 0 for i, item in enumerate(reimbursement.items.all()): columns = [] row_position = y_offset + i amount_total += item.amount total_total += item.total add_column(item.date.strftime("%Y-%b-%d")) add_column(item.type.name) add_column(item.description, 'cell') add_column(item.amount, 'number_format') add_column(item.currency.code) if reimbursement.need_exchange: add_column(item.exchange_rate, 'decimal_format') add_column(item.total, 'number_format') create_row(columns, row_position, worksheet, header_dict) row_position += 2 #15 if reimbursement.need_exchange: worksheet.merge_range('{}{}:{}{}'.format( print_string(0), row_position + 1, print_string(4), row_position + 1 ), '', header_dict['cell'] ) worksheet.write(row_position, 5, 'Total Amount', header_dict['cell_center_vc']) worksheet.write(row_position, 6, total_total, header_dict['number_format']) else: totals = reimbursement.get_items_totals() total_text = [] for total in totals: total_text.append('{} {}'.format(money_format(total['amount']), total['currency_code'])) total_text = "\n".join(total_text) worksheet.merge_range('{}{}:{}{}'.format( print_string(0), row_position + 1, print_string(1), row_position + 1 ), '', header_dict['cell'] ) worksheet.write(row_position, 2, 'Total Amount', header_dict['cell_center_vc']) worksheet.merge_range('{}{}:{}{}'.format( print_string(3), row_position + 1, print_string(4), row_position + 1 ), total_text, header_dict['cell_center'] ) worksheet.set_row(row_position, 15 * len(totals))