summaryrefslogtreecommitdiff
path: root/src/ui/ui_invoices.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/ui_invoices.cpp')
-rw-r--r--src/ui/ui_invoices.cpp14
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];