summaryrefslogtreecommitdiff
path: root/src/administration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/administration.cpp')
-rw-r--r--src/administration.cpp28
1 files changed, 22 insertions, 6 deletions
diff --git a/src/administration.cpp b/src/administration.cpp
index ab72647..d463cec 100644
--- a/src/administration.cpp
+++ b/src/administration.cpp
@@ -394,6 +394,18 @@ static s32 administration_create_sequence_number()
// Setup functions.
// =======================
+void administration_create_empty(char* save_file)
+{
+ strops_copy(g_administration.path, save_file, sizeof(g_administration.path));
+ strops_copy(g_administration.program_version, PROGRAM_VERSION, sizeof(g_administration.program_version));
+ administration_company_info_set(administration_contact_create_empty());
+
+ administration_create_default_tax_brackets();
+ administration_create_default_cost_centers();
+
+ //administration_create_debug_data();
+}
+
void administration_create()
{
STOPWATCH_START;
@@ -408,12 +420,6 @@ void administration_create()
list_init(&g_administration.cost_centers);
strops_copy(g_administration.path, "", sizeof(g_administration.path));
strops_copy(g_administration.program_version, PROGRAM_VERSION, sizeof(g_administration.program_version));
-
- administration_create_default_tax_brackets();
- administration_create_default_cost_centers();
-
- administration_create_debug_data();
-
//administration_writer_save_all_async();
log_add("Setup took %.3fms.", STOPWATCH_TIME);
@@ -441,6 +447,16 @@ void administration_destroy()
// Other functions.
// =======================
+bool administration_is_loaded()
+{
+ return strcmp(g_administration.path, "") != 0;
+}
+
+bool administration_can_create_invoices()
+{
+ return administration_contact_is_valid(g_administration.company_info);
+}
+
char* administration_get_default_currency()
{
return g_administration.default_currency;