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.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/ui/ui_invoices.cpp b/src/ui/ui_invoices.cpp
index 6db7054..5ec9297 100644
--- a/src/ui/ui_invoices.cpp
+++ b/src/ui/ui_invoices.cpp
@@ -47,10 +47,11 @@ void ui_setup_invoices()
project_list_buffer = (project*) malloc(sizeof(project) * project_count);
}
-void draw_tax_rate_selector(char* tax_rate_id, tax_rate* buffer, char* country_code)
+void draw_tax_rate_selector(char* tax_rate_id, tax_rate* buffer, char* orig_country, char* dest_country)
{
tax_rate* selected_tax_rate = NULL;
- u32 tax_rate_count = administration_tax_rate_get_by_country(buffer, country_code);
+ char* country_codes[2] = {orig_country, dest_country};
+ u32 tax_rate_count = administration_tax_rate_get_by_country(buffer, 2, country_codes);
// Select tax rate by given id.
if (strlen(tax_rate_id) > 0)
@@ -158,7 +159,7 @@ bool draw_currency_selector(char* currency)
return result;
}
-static void draw_invoice_items_form(invoice* invoice)
+void draw_invoice_items_form(invoice* invoice, bool is_outgoing)
{
billing_item* buffer = invoice_items_buffer;
u32 invoice_items = administration_billing_item_get_all_for_invoice(invoice, buffer);
@@ -248,7 +249,9 @@ static void draw_invoice_items_form(invoice* invoice)
ImGui::TableSetColumnIndex(6);
ImGui::PushItemWidth(-1);
- draw_tax_rate_selector(item.tax_rate_id, tax_rate_list_buffer, administration_company_info_get().address.country_code);
+ draw_tax_rate_selector(item.tax_rate_id, tax_rate_list_buffer,
+ administration_company_info_get().address.country_code,
+ is_outgoing ? invoice->customer.address.country_code : invoice->supplier.address.country_code);
ImGui::PopItemWidth();
ImGui::TableSetColumnIndex(7);
@@ -390,7 +393,7 @@ static void draw_invoice_form(invoice* buffer, bool viewing_only = false)
}
// 13. Invoice items form
- draw_invoice_items_form(buffer);
+ draw_invoice_items_form(buffer, true);
if (viewing_only) ImGui::EndDisabled();
}