summaryrefslogtreecommitdiff
path: root/src/administration_writer.cpp
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrikboy@gmail.com>2025-10-05 14:37:11 +0200
committerAldrik Ramaekers <aldrikboy@gmail.com>2025-10-05 14:37:11 +0200
commit0a2b0e347d926ac0f29c9dd0f49e00634e822d0e (patch)
treef84ecc1e559227b1435f6647b36d150f4b101585 /src/administration_writer.cpp
parentcd827834f9ee329c27b82d987f0d1d48a854a954 (diff)
namespace administration
Diffstat (limited to 'src/administration_writer.cpp')
-rw-r--r--src/administration_writer.cpp64
1 files changed, 32 insertions, 32 deletions
diff --git a/src/administration_writer.cpp b/src/administration_writer.cpp
index d08db2b..b6dbb8c 100644
--- a/src/administration_writer.cpp
+++ b/src/administration_writer.cpp
@@ -74,13 +74,13 @@ static void on_project_changed_changed(project* project)
bool administration_writer::create()
{
- administration_set_data_changed_event_callback(on_administration_data_changed);
- administration_set_data_deleted_event_callback(on_administration_data_deleted);
- administration_set_invoice_changed_event_callback(on_invoice_changed);
- administration_set_contact_changed_event_callback(on_contact_changed_changed);
- administration_set_taxrate_changed_event_callback(on_taxrate_changed_changed);
- administration_set_costcenter_changed_event_callback(on_costcenter_changed_changed);
- administration_set_project_changed_event_callback(on_project_changed_changed);
+ administration::set_data_changed_event_callback(on_administration_data_changed);
+ administration::set_data_deleted_event_callback(on_administration_data_deleted);
+ administration::set_invoice_changed_event_callback(on_invoice_changed);
+ administration::set_contact_changed_event_callback(on_contact_changed_changed);
+ administration::set_taxrate_changed_event_callback(on_taxrate_changed_changed);
+ administration::set_costcenter_changed_event_callback(on_costcenter_changed_changed);
+ administration::set_project_changed_event_callback(on_project_changed_changed);
return mtx_init(&_save_file_mutex, mtx_plain) == thrd_success;
}
@@ -103,7 +103,7 @@ static char* copy_template(const char* template_str, int* buf_size)
static bool zip_entry_exists(char* entry)
{
- struct zip_t *zip_read = zip_open(administration_get_file_path(), 0, 'r');
+ struct zip_t *zip_read = zip_open(administration::get_file_path(), 0, 'r');
int result = zip_entry_open(zip_read, entry);
zip_close(zip_read);
@@ -115,8 +115,8 @@ static bool delete_entry_by_name(char* entry)
STOPWATCH_START;
bool result = 1;
- struct zip_t *zip_write = zip_open(administration_get_file_path(), 0, 'a');
- if (!zip_write) zip_write = zip_open(administration_get_file_path(), 0, 'w');
+ struct zip_t *zip_write = zip_open(administration::get_file_path(), 0, 'a');
+ if (!zip_write) zip_write = zip_open(administration::get_file_path(), 0, 'w');
char* indices[1] = {entry};
if (zip_entries_delete(zip_write, indices, 1) < 0) result = 0;
@@ -142,8 +142,8 @@ static bool write_to_zip(char* entry_to_replace, char* orig_content, int final_l
bool entry_exists = zip_entry_exists(entry_to_replace);
if (entry_exists) delete_entry_by_name(entry_to_replace);
- struct zip_t *zip_write = zip_open(administration_get_file_path(), 0, 'a');
- if (!zip_write) zip_write = zip_open(administration_get_file_path(), 0, 'w');
+ struct zip_t *zip_write = zip_open(administration::get_file_path(), 0, 'a');
+ if (!zip_write) zip_write = zip_open(administration::get_file_path(), 0, 'w');
zip_entry_open(zip_write, entry_to_replace);
if (zip_entry_write(zip_write, orig_content, final_length) < 0) result = 0;
@@ -409,8 +409,8 @@ bool administration_writer::save_invoice_blocking(invoice inv)
// Tax breakdown
strops::replace_float(file_content, buf_length, "{{TOTAL_TAX_AMOUNT}}", inv.tax, 2);
{ // Create tax subtotal list.
- tax_rate* tax_rate_buffer = (tax_rate*)malloc(sizeof(tax_rate)*administration_billing_item_count(&inv));
- u32 tax_rate_count = administration_invoice_get_tax_rates(&inv, tax_rate_buffer);
+ tax_rate* tax_rate_buffer = (tax_rate*)malloc(sizeof(tax_rate)*administration::billing_item_count(&inv));
+ u32 tax_rate_count = administration::invoice_get_tax_rates(&inv, tax_rate_buffer);
u32 tax_subtotal_list_buffer_size = (u32)strlen(file_template::peppol_invoice_tax_subtotal_template) * 2 * tax_rate_count; // Ballpark list size.
char* tax_subtotal_list_buffer = (char*)malloc(tax_subtotal_list_buffer_size);
@@ -423,7 +423,7 @@ bool administration_writer::save_invoice_blocking(invoice inv)
char* tax_entry_file_content = copy_template(file_template::peppol_invoice_tax_subtotal_template, &tax_entry_buf_length);
tax_subtotal subtotal;
- administration_invoice_get_subtotal_for_tax_rate(&inv, tax_rate_buffer[i], &subtotal);
+ administration::invoice_get_subtotal_for_tax_rate(&inv, tax_rate_buffer[i], &subtotal);
strops::replace(tax_entry_file_content, tax_entry_buf_length, "{{CURRENCY}}", inv.currency);
strops::replace_float(tax_entry_file_content, tax_entry_buf_length, "{{TAXABLE_AMOUNT}}", subtotal.net, 2);
@@ -452,8 +452,8 @@ bool administration_writer::save_invoice_blocking(invoice inv)
// Invoice lines
{
- billing_item* billing_item_buffer = (billing_item*)malloc(sizeof(billing_item) * administration_billing_item_count(&inv));
- u32 billing_item_count = administration_billing_item_get_all_for_invoice(&inv, billing_item_buffer);
+ billing_item* billing_item_buffer = (billing_item*)malloc(sizeof(billing_item) * administration::billing_item_count(&inv));
+ u32 billing_item_count = administration::billing_item_get_all_for_invoice(&inv, billing_item_buffer);
u32 billing_item_list_buffer_size = (u32)strlen(file_template::peppol_invoice_line_template) * 2 * billing_item_count; // Ballpark list size.
char* billing_item_list_buffer = (char*)malloc(billing_item_list_buffer_size);
@@ -467,7 +467,7 @@ bool administration_writer::save_invoice_blocking(invoice inv)
billing_item bi = billing_item_buffer[i];
tax_rate rate;
- administration_tax_rate_get_by_id(&rate, bi.tax_rate_id);
+ administration::tax_rate_get_by_id(&rate, bi.tax_rate_id);
strops::replace(billing_item_file_content, billing_item_buf_length, "{{CURRENCY}}", bi.currency);
strops::replace(billing_item_file_content, billing_item_buf_length, "{{LINE_ID}}", bi.id);
@@ -534,10 +534,10 @@ bool administration_writer::save_invoice_blocking(invoice inv)
static bool save_all_invoices_blocking()
{
bool result = 1;
- u32 num_invoices = administration_invoice_count();
+ u32 num_invoices = administration::invoice_count();
u32 buffer_size = sizeof(invoice) * num_invoices;
invoice* invoice_buffer = (invoice*)malloc(buffer_size);
- num_invoices = administration_invoice_get_all(invoice_buffer);
+ num_invoices = administration::invoice_get_all(invoice_buffer);
for (u32 i = 0; i < num_invoices; i++) {
invoice c = invoice_buffer[i];
@@ -593,10 +593,10 @@ bool administration_writer::save_project_blocking(project project)
static bool save_all_projects_blocking()
{
bool result = 1;
- u32 num_projects = administration_project_count();
+ u32 num_projects = administration::project_count();
u32 buffer_size = sizeof(project) * num_projects;
project* project_buffer = (project*)malloc(buffer_size);
- num_projects = administration_project_get_all(project_buffer);
+ num_projects = administration::project_get_all(project_buffer);
for (u32 i = 0; i < num_projects; i++) {
project c = project_buffer[i];
@@ -641,10 +641,10 @@ bool administration_writer::save_cost_center_blocking(cost_center cost)
bool administration_writer::save_all_cost_centers_blocking()
{
bool result = 1;
- u32 num_costcenters = administration_cost_center_count();
+ u32 num_costcenters = administration::cost_center_count();
u32 buffer_size = sizeof(cost_center) * num_costcenters;
cost_center* costcenter_buffer = (cost_center*)malloc(buffer_size);
- num_costcenters = administration_cost_center_get_all(costcenter_buffer);
+ num_costcenters = administration::cost_center_get_all(costcenter_buffer);
for (u32 i = 0; i < num_costcenters; i++) {
cost_center c = costcenter_buffer[i];
@@ -690,10 +690,10 @@ bool administration_writer::save_tax_rate_blocking(tax_rate rate)
bool administration_writer::save_all_tax_rates_blocking()
{
//// Get all data.
- u32 num_rates = administration_tax_rate_count();
+ u32 num_rates = administration::tax_rate_count();
u32 buffer_size = sizeof(tax_rate) * num_rates;
tax_rate* rate_buffer = (tax_rate*)malloc(buffer_size);
- num_rates = administration_tax_rate_get_all(rate_buffer);
+ num_rates = administration::tax_rate_get_all(rate_buffer);
bool result = 1;
@@ -750,15 +750,15 @@ bool administration_writer::save_contact_blocking(contact c)
static bool save_all_contacts_blocking()
{
//// Get all data.
- u32 num_contacts = administration_contact_count();
+ u32 num_contacts = administration::contact_count();
u32 buffer_size = sizeof(contact) * num_contacts;
contact* contact_buffer = (contact*)malloc(buffer_size);
- num_contacts = administration_contact_get_all(contact_buffer);
+ num_contacts = administration::contact_get_all(contact_buffer);
bool result = 1;
// Save company info.
- if (!administration_writer::save_contact_blocking(administration_company_info_get())) result = 0;
+ if (!administration_writer::save_contact_blocking(administration::company_info_get())) result = 0;
// Save contacts.
for (u32 i = 0; i < num_contacts; i++) {
@@ -781,11 +781,11 @@ bool administration_writer::save_all_administration_info_blocking()
int buf_length = 0;
char* file_content = copy_template(file_template::administration_save_template, &buf_length);
- strops::replace_int32(file_content, buf_length, "{{NEXT_ID}}", administration_get_next_id());
- strops::replace_int32(file_content, buf_length, "{{NEXT_SEQUENCE_NUMBER}}", administration_get_next_sequence_number());
+ strops::replace_int32(file_content, buf_length, "{{NEXT_ID}}", administration::get_next_id());
+ strops::replace_int32(file_content, buf_length, "{{NEXT_SEQUENCE_NUMBER}}", administration::get_next_sequence_number());
strops::replace(file_content, buf_length, "{{PROGRAM_VERSION}}", config::PROGRAM_VERSION);
- ai_service ai_service = administration_get_ai_service();
+ ai_service ai_service = administration::get_ai_service();
strops::replace_int32(file_content, buf_length, "{{AI_SERVICE_PROVIDER}}", (s32)ai_service.provider);
strops::replace(file_content, buf_length, "{{AI_SERVICE_PUBLIC_KEY}}", ai_service.api_key_public);