Beispiel #1
0
def handle_uploaded_purchase(request, permanences, file_to_import, *args):
    error = False
    error_msg = None
    wb = load_workbook(file_to_import)
    # dict for performance optimisation purpose : read the DB only once
    customer_buyinggroup_id, customer_2_id_dict = get_customer_2_id_dict()
    producer_buyinggroup_id, producer_2_id_dict = get_producer_2_id_dict()
    if customer_buyinggroup_id is None:
        error = True
        error_msg = _("At least one customer must represent the buying group.")
    else:
        if producer_buyinggroup_id is None:
            error = True
            error_msg = _("At least one producer must represent the buying group.")

    if not error:
        permanence = permanences.first()
        if permanence is not None:
            if permanence.status == PERMANENCE_SEND:
                ws = wb.get_sheet_by_name(format_worksheet_title(permanence))
                error, error_msg = import_purchase_sheet(
                    ws, permanence=permanence,
                    customer_2_id_dict=customer_2_id_dict,
                    producer_2_id_dict=producer_2_id_dict
                )
                if error:
                    error_msg = format_worksheet_title(permanence) + " > " + error_msg
            else:
                error = True
                error_msg = _("The permanence has already been invoiced.")
        else:
            error = True
            error_msg = _("The permanence doesn't exists.")
    return error, error_msg
Beispiel #2
0
def handle_uploaded_purchase(request, permanence, file_to_import, *args):
    error = False
    error_msg = None
    wb = load_workbook(file_to_import)
    # dict for performance optimisation purpose : read the DB only once
    customer_buyinggroup_id, customer_2_id_dict = get_customer_2_id_dict()
    producer_buyinggroup_id, producer_2_id_dict = get_producer_2_id_dict()
    if customer_buyinggroup_id is None:
        error = True
        error_msg = _("At least one customer must represent the buying group.")
    else:
        if producer_buyinggroup_id is None:
            error = True
            error_msg = _(
                "At least one producer must represent the buying group.")

    if not error:
        if permanence is not None:
            if permanence.status == PERMANENCE_SEND:
                ws = wb.get_sheet_by_name(format_worksheet_title(permanence))
                error, error_msg = import_purchase_sheet(
                    ws,
                    permanence=permanence,
                    customer_2_id_dict=customer_2_id_dict,
                    producer_2_id_dict=producer_2_id_dict)
                if error:
                    error_msg = format_worksheet_title(
                        permanence) + " > " + error_msg
            else:
                error = True
                error_msg = _("The permanence has already been invoiced.")
        else:
            error = True
            error_msg = _("The permanence doesn't exists.")
    return error, error_msg
Beispiel #3
0
def handle_uploaded_stock(request, producers, file_to_import, *args):
    error = False
    error_msg = None
    wb = load_workbook(file_to_import)
    if wb is not None:
        ws = wb.get_sheet_by_name(format_worksheet_title(_('Inventory')))
        if ws is not None:
            error, error_msg = import_producer_stock(ws, producers=producers)
            if error:
                error_msg = format_worksheet_title(
                    _('Inventory')) + " > " + error_msg
    return error, error_msg
Beispiel #4
0
def handle_uploaded_stock(request, producers, file_to_import, *args):
    error = False
    error_msg = None
    wb = load_workbook(file_to_import)
    if wb is not None:
        ws = wb.get_sheet_by_name(format_worksheet_title(_('Inventory')))
        if ws is not None:
            error, error_msg = import_producer_stock(
                ws,
                producers=producers
            )
            if error:
                error_msg = format_worksheet_title(_('Inventory')) + " > " + error_msg
    return error, error_msg
Beispiel #5
0
def handle_uploaded_invoice(request, permanences, file_to_import, producer, invoice_reference):
    if producer is None:
        error = True
        error_msg = _("A producer must be given.")
    else:
        wb = load_workbook(file_to_import)
        # dict for performance optimisation purpose : read the DB only once
        customer_2_id_dict = get_customer_email_2_id_dict()
        ws = wb.worksheets[0]
        error, error_msg = import_invoice_sheet(
            ws, invoice_reference=invoice_reference,
            customer_2_id_dict=customer_2_id_dict,
            producer=producer
        )
    return error, error_msg
Beispiel #6
0
def handle_uploaded_invoice(request, permanences, file_to_import, producer, invoice_reference):
    if producer is None:
        error = True
        error_msg = _("A producer must be given.")
    else:
        wb = load_workbook(file_to_import)
        # dict for performance optimisation purpose : read the DB only once
        customer_2_id_dict = get_customer_email_2_id_dict()
        ws = wb.worksheets[0]
        error, error_msg = import_invoice_sheet(
            ws, invoice_reference=invoice_reference,
            customer_2_id_dict=customer_2_id_dict,
            producer=producer
        )
    return error, error_msg
Beispiel #7
0
    def create_dataset(self, in_stream, **kwargs):
        """
        Create dataset from first sheet.
        """
        assert XLSX_IMPORT
        from io import BytesIO
        xlsx_book = openpyxl_1_8_6.load_workbook(BytesIO(in_stream))

        dataset = tablib.Dataset()
        sheet = xlsx_book.active

        dataset.headers = [cell.value for cell in sheet.rows[0]]
        for i in moves.range(1, len(sheet.rows)):
            row_values = [cell.value for cell in sheet.rows[i]]
            dataset.append(row_values)
        return dataset