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