summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/administration.hpp129
-rw-r--r--src/administration.cpp130
-rw-r--r--src/ui/ui_contacts.cpp22
-rw-r--r--src/ui/ui_invoices.cpp48
-rw-r--r--src/ui/ui_main.cpp4
-rw-r--r--src/ui/ui_projects.cpp20
-rw-r--r--src/ui/ui_settings.cpp28
7 files changed, 203 insertions, 178 deletions
diff --git a/include/administration.hpp b/include/administration.hpp
index 96d528f..e7cb9b0 100644
--- a/include/administration.hpp
+++ b/include/administration.hpp
@@ -141,60 +141,85 @@ typedef struct
list_t cost_centers;
} administration;
+// Setup functions.
+// =======================
void administration_create();
void administration_destroy();
-char* administration_get_file_path();
-
-contact administration_get_company_info();
-void administration_set_company_info(contact data);
-
-bool administration_can_contact_be_deleted(contact data);
-bool administration_remove_contact(contact data);
-bool administration_create_contact(contact data);
-bool administration_update_contact(contact data);
-u32 administration_get_contact_count();
-u32 administration_get_contacts(u32 page_index, u32 page_size, contact* buffer);
-contact administration_create_empty_contact();
-bool administration_is_contact_valid(contact data);
-int administration_get_contact_recommendations(contact* buffer, int buf_size, char* name);
-
-void administration_cancel_project(project data);
-bool administration_remove_project(project data);
-bool administration_create_project(project data);
-bool administration_update_project(project data);
+// General functions.
+// =======================
+char* administration_file_path_get();
+contact administration_company_info_get();
+void administration_company_info_set(contact data);
+
+// Contact functions.
+// =======================
+u32 administration_contact_count();
+contact administration_contact_create_empty();
+bool administration_contact_add(contact data);
+bool administration_contact_update(contact data);
+bool administration_contact_remove(contact data);
+
+bool administration_contact_is_valid(contact data);
+bool administration_contact_can_be_deleted(contact data);
+
+int administration_contact_get_autocompletions(contact* buffer, int buf_size, char* name);
+u32 administration_contact_get_partial_list(u32 page_index, u32 page_size, contact* buffer);
+
+// Project functions.
+// =======================
+u32 administration_project_count();
+project administration_project_create_empty();
+bool administration_project_add(project data);
+bool administration_project_update(project data);
+bool administration_project_remove(project data);
+void administration_project_cancel(project data);
+
+bool administration_project_is_valid(project data);
+
char* administration_project_get_status_string(project data);
-u32 administration_get_project_count();
-u32 administration_get_projects(u32 page_index, u32 page_size, project* buffer);
-bool administration_is_project_valid(project data);
-project administration_create_empty_project();
-u32 administration_get_all_projects(project* buffer);
-
-u32 administration_get_tax_bracket_count();
-u32 administration_get_tax_brackets(country_tax_bracket* buffer);
-u32 administration_get_tax_brackets_for_country(country_tax_bracket* buffer, char* country_code);
-bool administration_add_tax_bracket(country_tax_bracket data);
-bool administration_update_tax_bracket(country_tax_bracket data);
-
-u32 administration_get_cost_center_count();
-u32 administration_get_cost_centers(cost_center* buffer);
-bool administration_verify_cost_center_code(char* code);
-bool administration_verify_cost_center_description(char* text);
-bool administration_add_cost_center(cost_center data);
-bool administration_update_cost_center(cost_center data);
-
-u32 administration_get_invoice_count();
-invoice administration_create_empty_invoice();
+u32 administration_project_get_all(project* buffer);
+u32 administration_project_get_partial_list(u32 page_index, u32 page_size, project* buffer);
+
+// Tax bracket functions.
+// =======================
+u32 administration_tax_bracket_count();
+bool administration_tax_bracket_add(country_tax_bracket data);
+bool administration_tax_bracket_update(country_tax_bracket data);
+
+u32 administration_tax_bracket_get_all(country_tax_bracket* buffer);
+u32 administration_tax_bracket_get_by_country(country_tax_bracket* buffer, char* country_code);
+
+// Cost center functions.
+// =======================
+u32 administration_cost_center_count();
+bool administration_cost_center_add(cost_center data);
+bool administration_cost_center_update(cost_center data);
+
+bool administration_cost_center_verify_code(char* code);
+bool administration_cost_center_verify_description(char* text);
+
+u32 administration_cost_center_get_all(cost_center* buffer);
+
+// Invoice functions.
+// =======================
+u32 administration_invoice_count();
+invoice administration_invoice_create_empty();
+bool administration_invoice_add(invoice* invoice);
+bool administration_invoice_update(invoice* invoice);
void administration_invoice_set_currency(invoice* invoice, char* currency);
-bool administration_is_invoice_valid(invoice* invoice);
-bool administration_add_invoice(invoice* invoice);
-bool administration_update_invoice(invoice* invoice);
-u32 administration_get_invoices(u32 page_index, u32 page_size, invoice* buffer);
-char* administration_get_invoice_status_string(invoice* invoice);
-
-billing_item administration_create_empty_billing_item();
-u32 administration_get_all_billing_items_for_invoice(invoice* invoice, billing_item* buffer);
-u32 administration_get_billing_items_count(invoice* invoice);
-bool administration_add_billing_item_to_invoice(invoice* invoice, billing_item item);
-bool administration_update_billing_item_of_invoice(invoice* invoice, billing_item item);
-bool administration_remove_billing_item_from_invoice(invoice* invoice, billing_item item); \ No newline at end of file
+
+bool administration_invoice_is_valid(invoice* invoice);
+
+char* administration_invoice_get_status_string(invoice* invoice);
+u32 administration_invoice_get_partial_list(u32 page_index, u32 page_size, invoice* buffer);
+
+// Billing item functions.
+// =======================
+u32 administration_billing_items_count(invoice* invoice);
+billing_item administration_billing_item_create_empty();
+bool administration_billing_item_add_to_invoice(invoice* invoice, billing_item item);
+bool administration_billing_item_update_in_invoice(invoice* invoice, billing_item item);
+bool administration_billing_item_remove_from_invoice(invoice* invoice, billing_item item);
+
+u32 administration_billing_item_get_all_for_invoice(invoice* invoice, billing_item* buffer); \ No newline at end of file
diff --git a/src/administration.cpp b/src/administration.cpp
index 95ae705..245809b 100644
--- a/src/administration.cpp
+++ b/src/administration.cpp
@@ -202,16 +202,16 @@ static void administration_create_default_cost_centers()
static void administration_create_debug_data()
{
#define ADD_CONSUMER(_name, _addr1, _addr2, _cc)\
- {contact _c = administration_create_empty_contact();\
+ {contact _c = administration_contact_create_empty();\
strops_copy(_c.name, _name, sizeof(_c.name));\
strops_copy(_c.address.address1, _addr1, sizeof(_c.address.address1));\
strops_copy(_c.address.address2, _addr2, sizeof(_c.address.address2));\
strops_copy(_c.address.country_code, _cc, sizeof(_c.address.country_code));\
_c.type = contact_type::CONTACT_CONSUMER;\
- administration_create_contact(_c);};
+ administration_contact_add(_c);};
#define ADD_BUSINESS(_name, _addr1, _addr2, _cc, _tc, _bc)\
- {contact _c = administration_create_empty_contact();\
+ {contact _c = administration_contact_create_empty();\
strops_copy(_c.name, _name, sizeof(_c.name));\
strops_copy(_c.address.address1, _addr1, sizeof(_c.address.address1));\
strops_copy(_c.address.address2, _addr2, sizeof(_c.address.address2));\
@@ -219,12 +219,12 @@ static void administration_create_debug_data()
strops_copy(_c.taxid, _tc, sizeof(_c.taxid));\
strops_copy(_c.businessid, _bc, sizeof(_c.businessid));\
_c.type = contact_type::CONTACT_BUSINESS;\
- administration_create_contact(_c);};
+ administration_contact_add(_c);};
#define ADD_PROJECT(_name)\
- {project _c = administration_create_empty_project();\
+ {project _c = administration_project_create_empty();\
strops_copy(_c.description, _name, sizeof(_c.description));\
- administration_create_project(_c);};
+ administration_project_add(_c);};
ADD_CONSUMER("Emma Müller", "Hauptstraße 12", "10115 Berlin", "DE");
ADD_CONSUMER("Luca Rossi", "Via Roma 45", "00184 Roma", "IT");
@@ -301,9 +301,9 @@ void administration_destroy()
list_destroy(&g_administration.cost_centers);
}
-bool administration_create_contact(contact data)
+bool administration_contact_add(contact data)
{
- if (!administration_is_contact_valid(data)) return false;
+ if (!administration_contact_is_valid(data)) return false;
contact* new_contact = (contact*)malloc(sizeof(contact));
memcpy((void*)new_contact, (void*)&data, sizeof(contact));
@@ -314,16 +314,16 @@ bool administration_create_contact(contact data)
return true;
}
-bool administration_can_contact_be_deleted(contact data)
+bool administration_contact_can_be_deleted(contact data)
{
(void)data;
// TODO
return true;
}
-bool administration_update_contact(contact data)
+bool administration_contact_update(contact data)
{
- if (!administration_is_contact_valid(data)) return false;
+ if (!administration_contact_is_valid(data)) return false;
list_iterator_start(&g_administration.contacts);
while (list_iterator_hasnext(&g_administration.contacts)) {
@@ -340,7 +340,7 @@ bool administration_update_contact(contact data)
return false;
}
-bool administration_remove_contact(contact data)
+bool administration_contact_remove(contact data)
{
list_iterator_start(&g_administration.contacts);
while (list_iterator_hasnext(&g_administration.contacts)) {
@@ -357,12 +357,12 @@ bool administration_remove_contact(contact data)
return false;
}
-u32 administration_get_contact_count()
+u32 administration_contact_count()
{
return list_size(&g_administration.contacts);
}
-u32 administration_get_contacts(u32 page_index, u32 page_size, contact* buffer)
+u32 administration_contact_get_partial_list(u32 page_index, u32 page_size, contact* buffer)
{
assert(buffer);
@@ -384,7 +384,7 @@ u32 administration_get_contacts(u32 page_index, u32 page_size, contact* buffer)
return write_cursor;
}
-int administration_get_contact_recommendations(contact* buffer, int buf_size, char* name)
+int administration_contact_get_autocompletions(contact* buffer, int buf_size, char* name)
{
int write_cursor = 0;
if (name[0] == '\0') return 0;
@@ -403,22 +403,22 @@ int administration_get_contact_recommendations(contact* buffer, int buf_size, ch
return write_cursor;
}
-char* administration_get_file_path()
+char* administration_file_path_get()
{
return g_administration.path;
}
-u32 administration_get_project_count()
+u32 administration_project_count()
{
return list_size(&g_administration.projects);
}
-u32 administration_get_billing_items_count(invoice* invoice)
+u32 administration_billing_items_count(invoice* invoice)
{
return list_size(&invoice->billing_items);
}
-u32 administration_get_all_billing_items_for_invoice(invoice* invoice, billing_item* buffer)
+u32 administration_billing_item_get_all_for_invoice(invoice* invoice, billing_item* buffer)
{
u32 write_cursor = 0;
@@ -432,7 +432,7 @@ u32 administration_get_all_billing_items_for_invoice(invoice* invoice, billing_i
return write_cursor;
}
-u32 administration_get_all_projects(project* buffer)
+u32 administration_project_get_all(project* buffer)
{
u32 write_cursor = 0;
@@ -446,7 +446,7 @@ u32 administration_get_all_projects(project* buffer)
return write_cursor;
}
-u32 administration_get_projects(u32 page_index, u32 page_size, project* buffer)
+u32 administration_project_get_partial_list(u32 page_index, u32 page_size, project* buffer)
{
assert(buffer);
@@ -468,19 +468,19 @@ u32 administration_get_projects(u32 page_index, u32 page_size, project* buffer)
return write_cursor;
}
-void administration_cancel_project(project data)
+void administration_project_cancel(project data)
{
data.end_date = time(NULL);
data.state = project_state::PROJECT_CANCELLED;
- administration_update_project(data);
+ administration_project_update(data);
}
-bool administration_is_project_valid(project data)
+bool administration_project_is_valid(project data)
{
return strlen(data.description) > 0;
}
-char* administration_get_invoice_status_string(invoice* invoice)
+char* administration_invoice_get_status_string(invoice* invoice)
{
switch(invoice->status)
{
@@ -509,9 +509,9 @@ char* administration_project_get_status_string(project data)
return "";
}
-bool administration_create_project(project data)
+bool administration_project_add(project data)
{
- if (!administration_is_project_valid(data)) return false;
+ if (!administration_project_is_valid(data)) return false;
data.state = project_state::PROJECT_RUNNING;
data.start_date = time(NULL);
@@ -525,9 +525,9 @@ bool administration_create_project(project data)
return true;
}
-bool administration_update_project(project data)
+bool administration_project_update(project data)
{
- if (!administration_is_project_valid(data)) return false;
+ if (!administration_project_is_valid(data)) return false;
list_iterator_start(&g_administration.projects);
while (list_iterator_hasnext(&g_administration.projects)) {
@@ -544,7 +544,7 @@ bool administration_update_project(project data)
return false;
}
-bool administration_remove_project(project data)
+bool administration_project_remove(project data)
{
list_iterator_start(&g_administration.projects);
while (list_iterator_hasnext(&g_administration.projects)) {
@@ -561,22 +561,22 @@ bool administration_remove_project(project data)
return false;
}
-contact administration_get_company_info()
+contact administration_company_info_get()
{
return g_administration.company_info;
}
-void administration_set_company_info(contact data)
+void administration_company_info_set(contact data)
{
g_administration.company_info = data;
}
-u32 administration_get_tax_bracket_count()
+u32 administration_tax_bracket_count()
{
return list_size(&g_administration.tax_brackets);
}
-bool administration_add_tax_bracket(country_tax_bracket data)
+bool administration_tax_bracket_add(country_tax_bracket data)
{
ADD_BRACKET(data.country_code, data.rate, "");
list_attributes_comparator(&g_administration.tax_brackets, compare_tax_countries);
@@ -584,7 +584,7 @@ bool administration_add_tax_bracket(country_tax_bracket data)
return true;
}
-u32 administration_get_tax_brackets_for_country(country_tax_bracket* buffer, char* country_code)
+u32 administration_tax_bracket_get_by_country(country_tax_bracket* buffer, char* country_code)
{
assert(buffer);
@@ -601,7 +601,7 @@ u32 administration_get_tax_brackets_for_country(country_tax_bracket* buffer, cha
return write_cursor;
}
-u32 administration_get_tax_brackets(country_tax_bracket* buffer)
+u32 administration_tax_bracket_get_all(country_tax_bracket* buffer)
{
assert(buffer);
@@ -617,7 +617,7 @@ u32 administration_get_tax_brackets(country_tax_bracket* buffer)
return write_cursor;
}
-bool administration_update_tax_bracket(country_tax_bracket data)
+bool administration_tax_bracket_update(country_tax_bracket data)
{
list_iterator_start(&g_administration.tax_brackets);
while (list_iterator_hasnext(&g_administration.tax_brackets)) {
@@ -634,12 +634,12 @@ bool administration_update_tax_bracket(country_tax_bracket data)
return false;
}
-u32 administration_get_cost_center_count()
+u32 administration_cost_center_count()
{
return list_size(&g_administration.cost_centers);
}
-u32 administration_get_cost_centers(cost_center* buffer)
+u32 administration_cost_center_get_all(cost_center* buffer)
{
assert(buffer);
@@ -672,12 +672,12 @@ static bool administration_get_cost_center_by_code(char* code, cost_center* buff
return result;
}
-bool administration_verify_cost_center_description(char* text)
+bool administration_cost_center_verify_description(char* text)
{
return strlen(text) != 0;
}
-bool administration_verify_cost_center_code(char* code)
+bool administration_cost_center_verify_code(char* code)
{
if (strlen(code) == 0) return false;
@@ -686,7 +686,7 @@ bool administration_verify_cost_center_code(char* code)
return !found;
}
-bool administration_add_cost_center(cost_center data)
+bool administration_cost_center_add(cost_center data)
{
cost_center cs;
bool found = administration_get_cost_center_by_code(data.code, &cs);
@@ -703,7 +703,7 @@ bool administration_add_cost_center(cost_center data)
return true;
}
-bool administration_update_cost_center(cost_center data)
+bool administration_cost_center_update(cost_center data)
{
list_iterator_start(&g_administration.cost_centers);
while (list_iterator_hasnext(&g_administration.cost_centers)) {
@@ -720,7 +720,7 @@ bool administration_update_cost_center(cost_center data)
return false;
}
-bool administration_is_contact_valid(contact data)
+bool administration_contact_is_valid(contact data)
{
if (data.type == contact_type::CONTACT_CONSUMER)
{
@@ -745,7 +745,7 @@ static time_t administration_get_default_invoice_expire_duration()
return (30 * 24 * 60 * 60); // 30 days
}
-billing_item administration_create_empty_billing_item()
+billing_item administration_billing_item_create_empty()
{
billing_item item;
memset(&item, 0, sizeof(billing_item));
@@ -753,7 +753,7 @@ billing_item administration_create_empty_billing_item()
return item;
}
-bool administration_add_billing_item_to_invoice(invoice* invoice, billing_item item)
+bool administration_billing_item_add_to_invoice(invoice* invoice, billing_item item)
{
billing_item* tb = (billing_item*)malloc(sizeof(billing_item));
memcpy(tb, &item, sizeof(billing_item));
@@ -807,7 +807,7 @@ static char* administration_get_default_currency_for_country(char* country_code)
return "EUR";
}
-invoice administration_create_empty_invoice()
+invoice administration_invoice_create_empty()
{
invoice result;
memset(&result, 0, sizeof(invoice));
@@ -821,7 +821,7 @@ invoice administration_create_empty_invoice()
return result;
}
-contact administration_create_empty_contact()
+contact administration_contact_create_empty()
{
contact result;
memset(&result, 0, sizeof(contact));
@@ -829,7 +829,7 @@ contact administration_create_empty_contact()
return result;
}
-project administration_create_empty_project()
+project administration_project_create_empty()
{
project result;
memset(&result, 0, sizeof(project));
@@ -905,7 +905,7 @@ static void administration_recalculate_billing_item_totals(billing_item* item)
item->total = item->net + item->tax;
}
-bool administration_remove_billing_item_from_invoice(invoice* invoice, billing_item item)
+bool administration_billing_item_remove_from_invoice(invoice* invoice, billing_item item)
{
list_iterator_start(&invoice->billing_items);
while (list_iterator_hasnext(&invoice->billing_items)) {
@@ -922,7 +922,7 @@ bool administration_remove_billing_item_from_invoice(invoice* invoice, billing_i
return false;
}
-bool administration_update_billing_item_of_invoice(invoice* invoice, billing_item item)
+bool administration_billing_item_update_in_invoice(invoice* invoice, billing_item item)
{
list_iterator_start(&invoice->billing_items);
while (list_iterator_hasnext(&invoice->billing_items)) {
@@ -955,29 +955,29 @@ void administration_invoice_set_currency(invoice* invoice, char* currency)
list_iterator_stop(&invoice->billing_items);
}
-bool administration_is_invoice_valid(invoice* invoice)
+bool administration_invoice_is_valid(invoice* invoice)
{
if (list_size(&invoice->billing_items) == 0) return false;
- if (invoice->is_triangulation && !administration_is_contact_valid(invoice->addressee)) return false;
- if (!administration_is_contact_valid(invoice->customer)) return false;
- if (!administration_is_contact_valid(invoice->supplier)) return false;
+ if (invoice->is_triangulation && !administration_contact_is_valid(invoice->addressee)) return false;
+ if (!administration_contact_is_valid(invoice->customer)) return false;
+ if (!administration_contact_is_valid(invoice->supplier)) return false;
return true;
}
-bool administration_update_invoice(invoice* inv)
+bool administration_invoice_update(invoice* inv)
{
- if (!administration_is_invoice_valid(inv)) return false;
+ if (!administration_invoice_is_valid(inv)) return false;
// Invoice is valid but customer id is unset means we need to register a new contact.
if (strcmp(inv->customer_id, "") == 0)
{
- contact new_contact = administration_create_empty_contact();
+ contact new_contact = administration_contact_create_empty();
strops_copy(inv->customer_id, new_contact.id, sizeof(new_contact.id));
strops_copy(inv->customer.id, new_contact.id, sizeof(new_contact.id));
memcpy(&new_contact, &inv->customer, sizeof(contact));
- administration_create_contact(new_contact);
+ administration_contact_add(new_contact);
inv->customer = new_contact;
}
@@ -1003,19 +1003,19 @@ bool administration_update_invoice(invoice* inv)
return false;
}
-bool administration_add_invoice(invoice* inv)
+bool administration_invoice_add(invoice* inv)
{
- if (!administration_is_invoice_valid(inv)) return false;
+ if (!administration_invoice_is_valid(inv)) return false;
// Invoice is valid but customer id is unset means we need to register a new contact.
if (strcmp(inv->customer_id, "") == 0)
{
- contact new_contact = administration_create_empty_contact();
+ contact new_contact = administration_contact_create_empty();
strops_copy(inv->customer_id, new_contact.id, sizeof(new_contact.id));
strops_copy(inv->customer.id, new_contact.id, sizeof(new_contact.id));
memcpy(&new_contact, &inv->customer, sizeof(contact));
- administration_create_contact(new_contact);
+ administration_contact_add(new_contact);
inv->customer = new_contact;
}
@@ -1039,12 +1039,12 @@ bool administration_add_invoice(invoice* inv)
return true;
}
-u32 administration_get_invoice_count()
+u32 administration_invoice_count()
{
return list_size(&g_administration.invoices);
}
-u32 administration_get_invoices(u32 page_index, u32 page_size, invoice* buffer)
+u32 administration_invoice_get_partial_list(u32 page_index, u32 page_size, invoice* buffer)
{
assert(buffer);
diff --git a/src/ui/ui_contacts.cpp b/src/ui/ui_contacts.cpp
index eca6ee3..87c021d 100644
--- a/src/ui/ui_contacts.cpp
+++ b/src/ui/ui_contacts.cpp
@@ -71,7 +71,7 @@ void ui_draw_address_form(address* buffer)
void ui_setup_contacts()
{
current_view_state = view_state::LIST;
- active_contact = active_contact = administration_create_empty_contact();
+ active_contact = active_contact = administration_contact_create_empty();
memset(&selected_for_removal, 0, sizeof(contact));
}
@@ -94,7 +94,7 @@ void draw_contact_form_ex(contact* buffer, bool viewing_only = false, bool with_
ImGui::SetNextItemWidth(widthAvailable*0.5f);
if (with_autocomplete) {
contact autocomplete_list[5];
- int autocomplete_count = administration_get_contact_recommendations(autocomplete_list, 5, buffer->name);
+ int autocomplete_count = administration_contact_get_autocompletions(autocomplete_list, 5, buffer->name);
char* autocomplete_strings[5];
for (int i = 0; i < autocomplete_count; i++)
@@ -167,14 +167,14 @@ static void draw_contact_list()
{
const u32 items_per_page = 50;
static s32 current_page = 0;
- s32 max_page = (administration_get_contact_count() + items_per_page - 1) / items_per_page;
+ s32 max_page = (administration_contact_count() + items_per_page - 1) / items_per_page;
if (max_page == 0) max_page = 1;
// Table header controls: create button and pagination.
if (ImGui::Button(localize("form.create")))
{
current_view_state = view_state::CREATE;
- active_contact = administration_create_empty_contact();
+ active_contact = administration_contact_create_empty();
}
if (current_page >= max_page-1) current_page = max_page-1;
@@ -208,7 +208,7 @@ static void draw_contact_list()
ImGui::TableHeadersRow();
contact contact_list[items_per_page];
- u32 contact_count = administration_get_contacts(current_page, items_per_page, contact_list);
+ u32 contact_count = administration_contact_get_partial_list(current_page, items_per_page, contact_list);
for (u32 i = 0; i < contact_count; i++) {
contact c = contact_list[i];
@@ -236,7 +236,7 @@ static void draw_contact_list()
}
ImGui::SameLine();
- if (administration_can_contact_be_deleted(c))
+ if (administration_contact_can_be_deleted(c))
{
snprintf(btn_name, sizeof(btn_name), "%s##%d", localize("form.delete"), i);
if (ImGui::Button(btn_name)) {
@@ -252,7 +252,7 @@ static void draw_contact_list()
ImGui::Separator();
if (ImGui::Button(localize("form.yes"), ImVec2(120, 0))) {
- administration_remove_contact(selected_for_removal);
+ administration_contact_remove(selected_for_removal);
ImGui::CloseCurrentPopup();
}
ImGui::SameLine();
@@ -274,12 +274,12 @@ static void ui_draw_contacts_create()
draw_contact_form(&active_contact);
- bool can_save = administration_is_contact_valid(active_contact);
+ bool can_save = administration_contact_is_valid(active_contact);
if (!can_save) ImGui::BeginDisabled();
// Save button
ImGui::Spacing();
if (ImGui::Button(localize("form.save"))) {
- administration_create_contact(active_contact);
+ administration_contact_add(active_contact);
current_view_state = view_state::LIST;
}
if (!can_save) ImGui::EndDisabled();
@@ -293,12 +293,12 @@ static void ui_draw_contacts_update()
draw_contact_form(&active_contact);
- bool can_save = administration_is_contact_valid(active_contact);
+ bool can_save = administration_contact_is_valid(active_contact);
if (!can_save) ImGui::BeginDisabled();
// Save button
ImGui::Spacing();
if (ImGui::Button(localize("form.save"))) {
- administration_update_contact(active_contact);
+ administration_contact_update(active_contact);
current_view_state = view_state::LIST;
}
if (!can_save) ImGui::EndDisabled();
diff --git a/src/ui/ui_invoices.cpp b/src/ui/ui_invoices.cpp
index 5d89479..acf0de7 100644
--- a/src/ui/ui_invoices.cpp
+++ b/src/ui/ui_invoices.cpp
@@ -30,12 +30,12 @@ void ui_destroy_invoices()
void ui_setup_invoices()
{
current_view_state = view_state::LIST;
- active_invoice = administration_create_empty_invoice();
+ active_invoice = administration_invoice_create_empty();
- u32 costcenter_count = administration_get_cost_center_count();
+ u32 costcenter_count = administration_cost_center_count();
cost_center_list_buffer = (cost_center*) malloc(sizeof(cost_center) * costcenter_count); // @leak
- u32 tax_bracket_count = administration_get_tax_bracket_count();
+ u32 tax_bracket_count = administration_tax_bracket_count();
tax_bracket_list_buffer = (country_tax_bracket*) malloc(sizeof(country_tax_bracket) * tax_bracket_count); // @leak
}
@@ -46,7 +46,7 @@ void draw_tax_bracket_selector(char* tax_bracket_id)
country_tax_bracket* selected_tax_bracket = NULL;
country_tax_bracket* buffer = tax_bracket_list_buffer;
- u32 tax_bracket_count = administration_get_tax_brackets_for_country(buffer, administration_get_company_info().address.country_code);
+ u32 tax_bracket_count = administration_tax_bracket_get_by_country(buffer, administration_company_info_get().address.country_code);
// Select tax bracket by given id.
if (strlen(tax_bracket_id) > 0)
@@ -151,7 +151,7 @@ void draw_costcenter_selector(char* costcenter_id)
cost_center* selected_costcenter = NULL;
cost_center* buffer = cost_center_list_buffer;
- u32 costcenter_count = administration_get_cost_centers(buffer);
+ u32 costcenter_count = administration_cost_center_get_all(buffer);
// Select cost center by given id.
if (strlen(costcenter_id) > 0)
@@ -188,9 +188,9 @@ void draw_project_selector(char* project_id)
{
project* selected_project = NULL;
- u32 project_count = administration_get_project_count();
+ u32 project_count = administration_project_count();
project* buffer = (project*) malloc(sizeof(project) * project_count);
- project_count = administration_get_all_projects(buffer);
+ project_count = administration_project_get_all(buffer);
// Select project by given id.
if (strlen(project_id) > 0)
@@ -227,9 +227,9 @@ void draw_project_selector(char* project_id)
static void draw_invoice_items_form(invoice* invoice)
{
- u32 invoice_items = administration_get_billing_items_count(invoice);
+ u32 invoice_items = administration_billing_items_count(invoice);
billing_item* buffer = (billing_item*)malloc(sizeof(billing_item) * invoice_items);
- administration_get_all_billing_items_for_invoice(invoice, buffer);
+ administration_billing_item_get_all_for_invoice(invoice, buffer);
if (ImGui::BeginTable("TableBillingItems", 9, ImGuiTableFlags_Borders | ImGuiTableFlags_RowBg)) {
@@ -257,7 +257,7 @@ static void draw_invoice_items_form(invoice* invoice)
ImGui::TableSetColumnIndex(0);
if (ImGui::Button("X"))
{
- administration_remove_billing_item_from_invoice(invoice, item);
+ administration_billing_item_remove_from_invoice(invoice, item);
}
ImGui::TableSetColumnIndex(1);
@@ -328,7 +328,7 @@ static void draw_invoice_items_form(invoice* invoice)
ImGui::PopID();
- administration_update_billing_item_of_invoice(invoice, item);
+ administration_billing_item_update_in_invoice(invoice, item);
}
ImGui::TableNextRow();
@@ -428,8 +428,8 @@ void draw_invoice_form(invoice* buffer, bool viewing_only = false)
// 11. New billing item button.
if (ImGui::Button(localize("+ Billing item")))
{
- billing_item item = administration_create_empty_billing_item();
- administration_add_billing_item_to_invoice(buffer, item);
+ billing_item item = administration_billing_item_create_empty();
+ administration_billing_item_add_to_invoice(buffer, item);
}
// 12. Dropdown for invoice currency.
@@ -451,15 +451,15 @@ void draw_invoices_list()
{
const u32 items_per_page = 50;
static s32 current_page = 0;
- s32 max_page = (administration_get_invoice_count() + items_per_page - 1) / items_per_page;
+ s32 max_page = (administration_invoice_count() + items_per_page - 1) / items_per_page;
if (max_page == 0) max_page = 1;
// Table header controls: create button and pagination.
if (ImGui::Button(localize("form.create")))
{
current_view_state = view_state::CREATE;
- active_invoice = administration_create_empty_invoice(); // @leak
- active_invoice.supplier = administration_get_company_info();
+ active_invoice = administration_invoice_create_empty(); // @leak
+ active_invoice.supplier = administration_company_info_get();
strops_copy(active_invoice.supplier_id, active_invoice.supplier.id, sizeof(active_invoice.supplier_id));
}
@@ -497,7 +497,7 @@ void draw_invoices_list()
ImGui::TableHeadersRow();
invoice invoice_list[items_per_page];
- u32 invoice_count = administration_get_invoices(current_page, items_per_page, invoice_list);
+ u32 invoice_count = administration_invoice_get_partial_list(current_page, items_per_page, invoice_list);
for (u32 i = 0; i < invoice_count; i++) {
invoice c = invoice_list[i];
@@ -513,7 +513,7 @@ void draw_invoices_list()
ImGui::TableSetColumnIndex(3); ImGui::Text(buf);
ImGui::TableSetColumnIndex(4); ImGui::Text("%.2f %s", c.total, c.currency);
- ImGui::TableSetColumnIndex(5); ImGui::Text("%s", localize(administration_get_invoice_status_string(&c)));
+ ImGui::TableSetColumnIndex(5); ImGui::Text("%s", localize(administration_invoice_get_status_string(&c)));
ImGui::TableSetColumnIndex(6);
char btn_name[20];
@@ -535,7 +535,7 @@ void draw_invoices_list()
}
// ImGui::SameLine();
- // if (administration_can_contact_be_deleted(c))
+ // if (administration_contact_can_be_deleted(c))
// {
// snprintf(btn_name, sizeof(btn_name), "%s##%d", localize("form.delete"), i);
// if (ImGui::Button(btn_name)) {
@@ -551,7 +551,7 @@ void draw_invoices_list()
// ImGui::Separator();
// if (ImGui::Button(localize("form.yes"), ImVec2(120, 0))) {
- // administration_remove_contact(selected_for_removal);
+ // administration_contact_remove(selected_for_removal);
// ImGui::CloseCurrentPopup();
// }
// ImGui::SameLine();
@@ -574,12 +574,12 @@ static void ui_draw_invoice_update()
draw_invoice_form(&active_invoice);
- bool can_save = administration_is_invoice_valid(&active_invoice);
+ bool can_save = administration_invoice_is_valid(&active_invoice);
if (!can_save) ImGui::BeginDisabled();
ImGui::Spacing();
if (ImGui::Button(localize("form.save"))) {
- administration_update_invoice(&active_invoice);
+ administration_invoice_update(&active_invoice);
current_view_state = view_state::LIST;
ui_destroy_invoices();
@@ -597,12 +597,12 @@ static void ui_draw_invoice_create()
draw_invoice_form(&active_invoice);
- bool can_save = administration_is_invoice_valid(&active_invoice);
+ bool can_save = administration_invoice_is_valid(&active_invoice);
if (!can_save) ImGui::BeginDisabled();
ImGui::Spacing();
if (ImGui::Button(localize("form.save"))) {
- administration_add_invoice(&active_invoice);
+ administration_invoice_add(&active_invoice);
current_view_state = view_state::LIST;
ui_destroy_invoices();
diff --git a/src/ui/ui_main.cpp b/src/ui/ui_main.cpp
index b4617d1..2d79129 100644
--- a/src/ui/ui_main.cpp
+++ b/src/ui/ui_main.cpp
@@ -125,12 +125,12 @@ void ui_draw_main()
ImGuiWindowFlags_NoBringToFrontOnFocus |
ImGuiWindowFlags_NoCollapse);
- char* path = administration_get_file_path();
+ char* path = administration_file_path_get();
if (strlen(path) == 0) {
ImGui::Text("%s: %s", localize("ui.workingOn"), localize("ui.unsavedProject"));
}
else {
- ImGui::Text("%s: %s", localize("ui.workingOn"), administration_get_file_path());
+ ImGui::Text("%s: %s", localize("ui.workingOn"), administration_file_path_get());
}
ImGui::End();
diff --git a/src/ui/ui_projects.cpp b/src/ui/ui_projects.cpp
index 3c550a2..8753a94 100644
--- a/src/ui/ui_projects.cpp
+++ b/src/ui/ui_projects.cpp
@@ -13,7 +13,7 @@ static project active_project;
void ui_setup_projects()
{
current_view_state = view_state::LIST;
- active_project = administration_create_empty_project();
+ active_project = administration_project_create_empty();
}
static void draw_project_form()
@@ -22,7 +22,7 @@ static void draw_project_form()
if (ImGui::Button(localize("form.back"))) {
current_view_state = view_state::LIST;
- active_project = administration_create_empty_project();
+ active_project = administration_project_create_empty();
selected_country = 0;
return;
}
@@ -45,21 +45,21 @@ static void draw_project_form()
if (viewing_only) ImGui::EndDisabled();
if (!viewing_only) {
- bool can_save = administration_is_project_valid(active_project);
+ bool can_save = administration_project_is_valid(active_project);
if (!can_save) ImGui::BeginDisabled();
// Save button
ImGui::Spacing();
if (ImGui::Button(localize("form.save"))) {
if (current_view_state == view_state::CREATE)
- administration_create_project(active_project);
+ administration_project_add(active_project);
else if (current_view_state == view_state::EDIT)
- administration_update_project(active_project);
+ administration_project_update(active_project);
current_view_state = view_state::LIST;
selected_country = 0;
- active_project = administration_create_empty_project();
+ active_project = administration_project_create_empty();
}
if (!can_save) ImGui::EndDisabled();
}
@@ -72,13 +72,13 @@ static void draw_project_list()
{
const u32 items_per_page = 50;
static s32 current_page = 0;
- s32 max_page = (administration_get_project_count() + items_per_page - 1) / items_per_page;
+ s32 max_page = (administration_project_count() + items_per_page - 1) / items_per_page;
if (max_page == 0) max_page = 1;
if (ImGui::Button(localize("form.create")))
{
current_view_state = view_state::CREATE;
- active_project = administration_create_empty_project();
+ active_project = administration_project_create_empty();
}
if (current_page >= max_page-1) current_page = max_page-1;
@@ -110,7 +110,7 @@ static void draw_project_list()
ImGui::TableHeadersRow();
project project_list[items_per_page];
- u32 project_count = administration_get_projects(current_page, items_per_page, project_list);
+ u32 project_count = administration_project_get_partial_list(current_page, items_per_page, project_list);
for (u32 i = 0; i < project_count; i++) {
project c = project_list[i];
@@ -152,7 +152,7 @@ static void draw_project_list()
ImGui::Separator();
if (ImGui::Button(localize("form.yes"), ImVec2(120, 0))) {
- administration_cancel_project(selected_for_cancellation);
+ administration_project_cancel(selected_for_cancellation);
ImGui::CloseCurrentPopup();
}
ImGui::SameLine();
diff --git a/src/ui/ui_settings.cpp b/src/ui/ui_settings.cpp
index c222dbb..a7759aa 100644
--- a/src/ui/ui_settings.cpp
+++ b/src/ui/ui_settings.cpp
@@ -25,15 +25,15 @@ void ui_destroy_settings()
void ui_setup_settings()
{
- company_info = administration_get_company_info();
+ company_info = administration_company_info_get();
- tax_bracket_count = administration_get_tax_bracket_count();
+ tax_bracket_count = administration_tax_bracket_count();
tax_brackets = (country_tax_bracket*)malloc(tax_bracket_count * sizeof(country_tax_bracket));
- administration_get_tax_brackets(tax_brackets);
+ administration_tax_bracket_get_all(tax_brackets);
- cost_center_count = administration_get_cost_center_count();
+ cost_center_count = administration_cost_center_count();
cost_centers = (cost_center*)malloc(cost_center_count * sizeof(cost_center));
- administration_get_cost_centers(cost_centers);
+ administration_cost_center_get_all(cost_centers);
}
static void ui_draw_vat_rates()
@@ -123,7 +123,7 @@ static void ui_draw_vat_rates()
is_editing_item = false;
is_adding_item = false;
- administration_update_tax_bracket(new_tax_bracket);
+ administration_tax_bracket_update(new_tax_bracket);
ui_destroy_settings();
ui_setup_settings();
@@ -169,7 +169,7 @@ static void ui_draw_vat_rates()
is_editing_item = false;
is_adding_item = false;
- administration_add_tax_bracket(new_tax_bracket);
+ administration_tax_bracket_add(new_tax_bracket);
ui_destroy_settings();
ui_setup_settings();
@@ -214,7 +214,7 @@ static void ui_draw_cost_centers()
ImGui::TableSetColumnIndex(1);
if (is_editing_item && editing_item_index == i)
{
- bool is_desc_valid = administration_verify_cost_center_description(new_cost_center.description);
+ bool is_desc_valid = administration_cost_center_verify_description(new_cost_center.description);
if (!is_desc_valid) ImGui::PushStyleColor(ImGuiCol_FrameBg, IM_COL32(105, 43, 43, 255));
ImGui::InputText("##Description", new_cost_center.description, IM_ARRAYSIZE(new_cost_center.description));
if (!is_desc_valid) ImGui::PopStyleColor();
@@ -225,7 +225,7 @@ static void ui_draw_cost_centers()
is_editing_item = false;
is_adding_item = false;
- administration_update_cost_center(new_cost_center);
+ administration_cost_center_update(new_cost_center);
memset(&new_cost_center, 0, sizeof(new_cost_center));
ui_destroy_settings();
@@ -260,13 +260,13 @@ static void ui_draw_cost_centers()
{
ImGui::TableNextRow();
- bool is_code_valid = administration_verify_cost_center_code(new_cost_center.code);
+ bool is_code_valid = administration_cost_center_verify_code(new_cost_center.code);
if (!is_code_valid) ImGui::PushStyleColor(ImGuiCol_FrameBg, IM_COL32(105, 43, 43, 255));
ImGui::TableSetColumnIndex(0); ImGui::InputText("##Code", new_cost_center.code, IM_ARRAYSIZE(new_cost_center.code),
ImGuiInputTextFlags_CharsUppercase|ImGuiInputTextFlags_CharsNoBlank);
if (!is_code_valid) ImGui::PopStyleColor();
- bool is_desc_valid = administration_verify_cost_center_description(new_cost_center.description);
+ bool is_desc_valid = administration_cost_center_verify_description(new_cost_center.description);
if (!is_desc_valid) ImGui::PushStyleColor(ImGuiCol_FrameBg, IM_COL32(105, 43, 43, 255));
ImGui::TableSetColumnIndex(1); ImGui::InputText("##Description", new_cost_center.description, IM_ARRAYSIZE(new_cost_center.description));
if (!is_desc_valid) ImGui::PopStyleColor();
@@ -279,7 +279,7 @@ static void ui_draw_cost_centers()
{
is_adding_item = false;
is_editing_item = false;
- administration_add_cost_center(new_cost_center);
+ administration_cost_center_add(new_cost_center);
ui_destroy_settings();
ui_setup_settings();
@@ -315,11 +315,11 @@ void ui_draw_settings()
draw_contact_form(&company_info);
// Save button.
- bool can_save = administration_is_contact_valid(company_info);
+ bool can_save = administration_contact_is_valid(company_info);
if (!can_save) ImGui::BeginDisabled();
ImGui::Spacing();
if (ImGui::Button(localize("form.save"))) {
- administration_set_company_info(company_info);
+ administration_company_info_set(company_info);
}
if (!can_save) ImGui::EndDisabled();