diff options
Diffstat (limited to 'src/administration.cpp')
| -rw-r--r-- | src/administration.cpp | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/src/administration.cpp b/src/administration.cpp index 30fbd76..90fc60a 100644 --- a/src/administration.cpp +++ b/src/administration.cpp @@ -513,9 +513,24 @@ void administration_create_default(char* save_file) // Other functions. // ======================= -bool administration_has_save_path() +void administration_set_next_id(s32 nr) { - return strcmp(g_administration.path, "") != 0; + g_administration.next_id = nr; +} + +void administration_set_next_sequence_number(s32 nr) +{ + g_administration.next_sequence_number = nr; +} + +s32 administration_get_next_id() +{ + return g_administration.next_id; +} + +s32 administration_get_next_sequence_number() +{ + return g_administration.next_sequence_number; } bool administration_can_create_invoices() @@ -528,7 +543,7 @@ char* administration_get_default_currency() return g_administration.default_currency; } -char* administration_get_currency_symbol_from_currency(char* code) +char* administration_get_currency_symbol_for_currency(char* code) { // Major European currencies if (strcmp(code, "EUR") == 0) return "€"; // Euro @@ -794,9 +809,9 @@ void administration_create_income_statement(income_statement* statement) log_add("Created income statement in %.3fms.", STOPWATCH_TIME); } -char* administration_file_path_get() +char* administration_get_file_path() { - return g_administration.path; + return strlen(g_administration.path) == 0 ? NULL : g_administration.path; } contact administration_company_info_get() @@ -820,11 +835,6 @@ void administration_company_info_set(contact data) if (data_changed_event_callback) data_changed_event_callback(); } -administration* administration_get() -{ - return &g_administration; -} - // Contact functions. // ======================= bool administration_contact_import(contact data) @@ -1124,10 +1134,6 @@ bool administration_project_import(project data) bool administration_project_add(project data) { if (!administration_project_is_valid(data)) return false; - - data.state = project_state::PROJECT_RUNNING; - data.start_date = time(NULL); - data.end_date = 0; project* new_project = (project*)malloc(sizeof(project)); memcpy((void*)new_project, (void*)&data, sizeof(project)); list_append(&g_administration.projects, new_project); @@ -1188,6 +1194,9 @@ project administration_project_create_empty() { project result; memset(&result, 0, sizeof(project)); + result.state = project_state::PROJECT_RUNNING; + result.start_date = time(NULL); + result.end_date = 0; snprintf(result.id, sizeof(result.id), "P/%d", administration_create_id()); return result; } |
