aboutsummaryrefslogtreecommitdiff
path: root/logic
diff options
context:
space:
mode:
authordam <dam@gudinoff>2022-01-04 22:34:48 +0000
committerdam <dam@gudinoff>2022-01-04 22:34:48 +0000
commit06b2f34ba64726028f494060376044531d763668 (patch)
tree414d171e5b73c916eadfdd753a1c1b1eac38713e /logic
parent73f2cf39d5514fab4ee994f303e250ce2b27307c (diff)
downloadsurgery-log-06b2f34ba64726028f494060376044531d763668.tar.zst
surgery-log-06b2f34ba64726028f494060376044531d763668.zip
Implement clear and export data actions.
Merge and reuse modal dialogs.
Diffstat (limited to 'logic')
-rw-r--r--logic/database.gd19
-rw-r--r--logic/stage.gd6
2 files changed, 17 insertions, 8 deletions
diff --git a/logic/database.gd b/logic/database.gd
index 438a2dd..2285470 100644
--- a/logic/database.gd
+++ b/logic/database.gd
@@ -12,7 +12,7 @@ const ENTRY_PROTOTYPE: Dictionary = {
"date_year": 0,
"date_month": 0,
"date_day": 0,
- "anesthetic": "",
+ "anesthesia": "",
"first_assistant": "",
"type": "",
"sub_type": "",
@@ -195,6 +195,14 @@ func store_database(file_path: String = DATABASE_FILE_PATH):
file.close()
+func clear_database(save_changes: bool = false):
+ clear_selection()
+ self.clear()
+ db.resize(0)
+ if save_changes:
+ store_database()
+
+
static func instance_entry(params: Dictionary = {}) -> Dictionary:
var new_entry := ENTRY_PROTOTYPE.duplicate(true)
new_entry.process_id = params.get("process_id", "")
@@ -207,7 +215,7 @@ static func instance_entry(params: Dictionary = {}) -> Dictionary:
new_entry.date_day = params.get("date_day", today.day)
new_entry.date = params.get("date", get_entry_date(new_entry)) # @DAM We should store only one version of the date.
- new_entry.anesthetic = params.get("anesthetic", "")
+ new_entry.anesthesia = params.get("anesthesia", "")
new_entry.first_assistant = params.get("first_assistant", "")
new_entry.type = params.get("type", "")
new_entry.sub_type = params.get("sub_type", "")
@@ -234,9 +242,8 @@ static func set_entry_date(entry: Dictionary, date: String):
entry.date_day = int(date.substr(month_day_idx + 1))
-func fake_database():
- self.clear()
- db.resize(0)
+func fake_database(save_changes: bool = false):
+ clear_database()
for idx in range(500):
var date_year = 1 + int(float(idx) / 365.0)
var date_month = idx % 12
@@ -248,6 +255,8 @@ func fake_database():
})
db.append(fake_entry)
self.add_item(get_entry_view(fake_entry))
+ if save_changes:
+ store_database()
func pointer_input_handler(pointer: PointerInputSensor.PointerInputData):
diff --git a/logic/stage.gd b/logic/stage.gd
index 27962c6..73d905e 100644
--- a/logic/stage.gd
+++ b/logic/stage.gd
@@ -13,7 +13,7 @@ onready var process_id: LineEdit = get_node("controls/process_id")
onready var surgery_id: LineEdit = get_node("controls/surgery_id")
onready var date: DatePicker = get_node("controls/date_picker")
onready var place: LineEdit = get_node("controls/place")
-onready var anesthetic: LineEdit = get_node("controls/anesthetic")
+onready var anesthesia: LineEdit = get_node("controls/anesthesia")
onready var first_assistant: LineEdit = get_node("controls/first_assistant")
onready var type: LineEdit = get_node("controls/type")
onready var sub_type: LineEdit = get_node("controls/sub_type")
@@ -81,7 +81,7 @@ func set_stage(entry: Dictionary):
surgery_id.text = entry.surgery_id
date.set_date(entry.date_year, entry.date_month, entry.date_day)
place.text = entry.place
- anesthetic.text = entry.anesthetic
+ anesthesia.text = entry.anesthesia
first_assistant.text = entry.first_assistant
type.text = entry.type
sub_type.text = entry.sub_type
@@ -102,7 +102,7 @@ func get_stage() -> Dictionary:
"date_month": date.get_month(),
"date_day": date.get_day(),
"place": place.text,
- "anesthetic": anesthetic.text,
+ "anesthesia": anesthesia.text,
"first_assistant": first_assistant.text,
"type": type.text,
"sub_type": sub_type.text,