diff options
Diffstat (limited to 'src/ui/ui_invoices.cpp')
| -rw-r--r-- | src/ui/ui_invoices.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/ui/ui_invoices.cpp b/src/ui/ui_invoices.cpp index 04b0da4..2ae0aae 100644 --- a/src/ui/ui_invoices.cpp +++ b/src/ui/ui_invoices.cpp @@ -324,6 +324,7 @@ static void draw_invoice_form(invoice* buffer, bool viewing_only = false) if (!administration_contact_equals(lookup_buffer, buffer->customer)) { buffer->customer_id[0] = '\0'; + buffer->customer.id[0] = '\0'; } } @@ -369,7 +370,11 @@ static void ui_draw_invoices_list() { const u32 items_per_page = 50; static s32 current_page = 0; - s32 max_page = (administration_invoice_count() + items_per_page - 1) / items_per_page; + + invoice invoice_list[items_per_page]; + u32 invoice_count = administration_invoice_get_partial_list_outgoing(current_page, items_per_page, invoice_list); + + s32 max_page = (invoice_count + items_per_page - 1) / items_per_page; if (max_page == 0) max_page = 1; // Table header controls: create button and pagination. @@ -378,6 +383,8 @@ static void ui_draw_invoices_list() current_view_state = view_state::CREATE; active_invoice = administration_invoice_create_empty(); // @leak active_invoice.supplier = administration_company_info_get(); + active_invoice.is_outgoing = 1; + active_invoice.status = invoice_status::INVOICE_CONCEPT; strops_copy(active_invoice.supplier_id, active_invoice.supplier.id, sizeof(active_invoice.supplier_id)); } @@ -412,10 +419,7 @@ static void ui_draw_invoices_list() ImGui::TableSetupColumn(localize("invoice.table.total")); ImGui::TableSetupColumn(localize("invoice.table.status")); ImGui::TableSetupColumn(""); - ImGui::TableHeadersRow(); - - invoice invoice_list[items_per_page]; - u32 invoice_count = administration_invoice_get_partial_list(current_page, items_per_page, invoice_list); + ImGui::TableHeadersRow(); for (u32 i = 0; i < invoice_count; i++) { invoice c = invoice_list[i]; |
