]> Softwares of Agnibho - medscript.git/commitdiff
Moved certificate to separate tab
authorAgnibho Mondal <mondal@agnibho.com>
Sun, 5 Nov 2023 20:19:57 +0000 (01:49 +0530)
committerAgnibho Mondal <mondal@agnibho.com>
Tue, 7 Nov 2023 20:11:15 +0000 (01:41 +0530)
config.py
data/preset/certificate.csv [new file with mode: 0644]
data/preset/certify.csv [deleted file]
editpreset.py
prescription.py
window.py

index f97cf81b749cfb8d15dfc7a37eec0138e55b96ac..61adb5d24158282218f2f856aeb0a1d7eb8175ce 100644 (file)
--- a/config.py
+++ b/config.py
@@ -88,8 +88,8 @@ if not os.path.exists(os.path.join(config["template_directory"], "default")):
     shutil.copytree(os.path.abspath(os.path.join(real_dir, "data", "template", "default")), os.path.join(config["template_directory"], "default"))
 if not os.path.exists(os.path.join(config["template_directory"], "medcert")):
     shutil.copytree(os.path.abspath(os.path.join(real_dir, "data", "template", "medcert")), os.path.join(config["template_directory"], "medcert"))
-if not os.path.exists(os.path.join(config["preset_directory"], "certify.csv")):
-    shutil.copyfile(os.path.abspath(os.path.join(real_dir, "data", "preset", "certify.csv")), os.path.join(config["preset_directory"], "certify.csv"))
+if not os.path.exists(os.path.join(config["preset_directory"], "certificate.csv")):
+    shutil.copyfile(os.path.abspath(os.path.join(real_dir, "data", "preset", "certificate.csv")), os.path.join(config["preset_directory"], "certificate.csv"))
 if not os.path.exists(os.path.join(config["preset_directory"], "note.csv")):
     shutil.copyfile(os.path.abspath(os.path.join(real_dir, "data", "preset", "note.csv")), os.path.join(config["preset_directory"], "note.csv"))
 if not os.path.exists(os.path.join(config["preset_directory"], "report.csv")):
diff --git a/data/preset/certificate.csv b/data/preset/certificate.csv
new file mode 100644 (file)
index 0000000..1e12011
--- /dev/null
@@ -0,0 +1 @@
+KEY,VALUE
diff --git a/data/preset/certify.csv b/data/preset/certify.csv
deleted file mode 100644 (file)
index 1e12011..0000000
+++ /dev/null
@@ -1 +0,0 @@
-KEY,VALUE
index 84e0630a0db061bff2d91ff6d3241bd9bd7a1a15..26289ada0c4c417bf1abde7ebf77895b0c2595a1 100644 (file)
@@ -26,7 +26,7 @@ class EditPreset(QMainWindow):
         self.table=QTableView()
         layout2=QHBoxLayout()
         self.input_file=QComboBox()
-        self.input_file.addItems(["note", "report", "advice", "investigation", "medication", "additional", "certify"])
+        self.input_file.addItems(["note", "report", "advice", "investigation", "medication", "additional", "certificate"])
         self.input_file.currentIndexChanged.connect(self.cmd_load)
         button_save=QPushButton("Save")
         button_save.clicked.connect(self.cmd_save)
index e09bfb4715b08e8b142999844d26dbb0d70e7ea1..3a2c901841a9a540cdc41cc9546b0bf6fe10c374 100644 (file)
@@ -39,14 +39,14 @@ class Prescription:
 
     file=""
 
-    def __init__(self, date="", id="", name="", dob="", age="", sex="", address="", contact="", extra="", mode="", daw="", diagnosis="", note="", report="", advice="", investigation="", medication="", additional="", prescriber=None):
-        self.set_data(date, name, dob, age, sex, address, contact, extra, mode, daw, diagnosis, note, report, advice, investigation, medication, additional)
+    def __init__(self, date="", id="", name="", dob="", age="", sex="", address="", contact="", extra="", mode="", daw="", diagnosis="", note="", report="", advice="", investigation="", medication="", additional="", certificate="", prescriber=None):
+        self.set_data(date, name, dob, age, sex, address, contact, extra, mode, daw, diagnosis, note, report, advice, investigation, medication, additional, certificate)
         if prescriber is None:
             self.prescriber = Prescriber()
         else:
             self.prescriber = prescriber
 
-    def set_data(self, date="", id="", name="", dob="", age="", sex="", address="", contact="", extra="", mode="", daw="", diagnosis="", note="", report="", advice="", investigation="", medication="", additional=""):
+    def set_data(self, date="", id="", name="", dob="", age="", sex="", address="", contact="", extra="", mode="", daw="", diagnosis="", note="", report="", advice="", investigation="", medication="", additional="", certificate=""):
         self.date = date
         self.id = id
         self.name = name
@@ -69,6 +69,7 @@ class Prescription:
         self.investigation = investigation
         self.medication = medication
         self.additional = additional
+        self.certificate = certificate
 
     def set_data_from_json(self, data):
         self.prescriber.set_data_from_json(data.get("prescriber"))
@@ -90,6 +91,7 @@ class Prescription:
         self.investigation = data.get("investigation")
         self.medication = data.get("medication")
         self.additional = data.get("additional")
+        self.certificate = data.get("certificate")
 
     def get_json(self):
         return(json.dumps(self, default=lambda o: o.__dict__, indent=4))
index 92a46914ffa6d3c0040a21061eba1c7cda7890c2..9c14cc72fc0e17e55cdc20ca521bbf39dbb93883 100644 (file)
--- a/window.py
+++ b/window.py
@@ -257,16 +257,6 @@ class MainWindow(QMainWindow):
     def show_update(self, message):
         QMessageBox.information(self, "Check update", message)
 
-    def insert_preset_extra(self):
-        try:
-            self.input_extra.insertPlainText(self.preset_extra.data[self.input_extra_preset.currentText()])
-        except KeyError:
-            self.input_extra.insertPlainText(self.input_extra_preset.currentText())
-        finally:
-            self.input_extra_preset.setCurrentIndex(-1)
-            if config["preset_newline"]:
-                self.input_extra.insertPlainText("\n")
-
     def insert_preset_note(self):
         try:
             self.input_note.insertPlainText(self.preset_note.data[self.input_note_preset.currentText()])
@@ -327,7 +317,17 @@ class MainWindow(QMainWindow):
             if config["preset_newline"]:
                 self.input_additional.insertPlainText("\n")
 
-    def load_interface(self, file="", date=None, id="", name="", dob="", age="", sex="", address="", contact="", extra="", mode="", daw="", diagnosis="", note="", report="", advice="", investigation="", medication="", additional=""):
+    def insert_preset_certificate(self):
+        try:
+            self.input_certificate.insertPlainText(self.preset_certificate.data[self.input_certificate_preset.currentText()])
+        except KeyError:
+            self.input_certificate.insertPlainText(self.input_certificate_preset.currentText())
+        finally:
+            self.input_certificate_preset.setCurrentIndex(-1)
+            if config["preset_newline"]:
+                self.input_certificate.insertPlainText("\n")
+
+    def load_interface(self, file="", date=None, id="", name="", dob="", age="", sex="", address="", contact="", extra="", mode="", daw="", diagnosis="", note="", report="", advice="", investigation="", medication="", additional="", certificate=""):
         try:
             file_msg=self.current_file.file if self.current_file.file else "New file"
             sign_msg="(signed)" if config["smime"] and self.current_file.is_signed() else ""
@@ -368,6 +368,7 @@ class MainWindow(QMainWindow):
             self.input_investigation.setText(investigation)
             self.input_medication.setText(medication)
             self.input_additional.setText(additional)
+            self.input_certificate.setText(certificate)
             self.label_prescriber.setText(self.prescription.prescriber.name)
         except Exception as e:
             QMessageBox.warning(self,"Failed to load", "Failed to load the data into the application.")
@@ -398,7 +399,8 @@ class MainWindow(QMainWindow):
                 advice=self.prescription.advice,
                 investigation=self.prescription.investigation,
                 medication=self.prescription.medication,
-                additional=self.prescription.additional
+                additional=self.prescription.additional,
+                certificate=self.prescription.certificate
                 )
 
     def update_instance(self):
@@ -421,7 +423,8 @@ class MainWindow(QMainWindow):
                     advice=self.input_advice.toPlainText(),
                     investigation=self.input_investigation.toPlainText(),
                     medication=self.input_medication.toPlainText(),
-                    additional=self.input_additional.toPlainText()
+                    additional=self.input_additional.toPlainText(),
+                    certificate=self.input_certificate.toPlainText()
                     )
         except Exception as e:
             QMessageBox.critical(self,"Failed", "Critical failure happned. Please check console for more info.")
@@ -504,13 +507,13 @@ class MainWindow(QMainWindow):
         icon_render=QIcon(os.path.join(config["resource"], "icon_render.svg"))
         icon_refresh=QIcon(os.path.join(config["resource"], "icon_refresh.svg"))
 
-        self.preset_extra=Preset(os.path.join(config["preset_directory"], "certify.csv"))
         self.preset_note=Preset(os.path.join(config["preset_directory"], "note.csv"))
         self.preset_report=Preset(os.path.join(config["preset_directory"], "report.csv"))
         self.preset_advice=Preset(os.path.join(config["preset_directory"], "advice.csv"))
         self.preset_investigation=Preset(os.path.join(config["preset_directory"], "investigation.csv"))
         self.preset_medication=Preset(os.path.join(config["preset_directory"], "medication.csv"), text_as_key=True)
         self.preset_additional=Preset(os.path.join(config["preset_directory"], "additional.csv"))
+        self.preset_certificate=Preset(os.path.join(config["preset_directory"], "certificate.csv"))
 
         action_new=QAction("New", self)
         action_new.setShortcut("Ctrl+N")
@@ -678,19 +681,8 @@ class MainWindow(QMainWindow):
         self.input_diagnosis=QLineEdit(self)
         layout_info.addRow("Diagnosis", self.input_diagnosis)
         self.input_extra=QTextEdit(self)
-        self.input_extra_preset=QComboBox(self)
-        self.input_extra_preset.addItems(self.preset_extra.data.keys())
-        self.input_extra_preset.setCurrentIndex(-1)
-        self.input_extra_preset.setEditable(True)
-        self.input_extra_preset.completer().setCompletionMode(QCompleter.CompletionMode.PopupCompletion)
-        self.input_extra_preset.completer().setFilterMode(Qt.MatchFlag.MatchContains)
-        self.input_extra_preset.setPlaceholderText("Select a preset")
         input_extra_preset_btn=QPushButton("Insert")
-        input_extra_preset_btn.clicked.connect(self.insert_preset_extra)
-        layout_info2.addWidget(self.input_extra_preset, 5)
-        layout_info2.addWidget(input_extra_preset_btn, 1)
-        layout_info.addRow("Certify\nPreset", layout_info2)
-        layout_info.addRow("Certify /\nExtra", self.input_extra)
+        layout_info.addRow("Extra", self.input_extra)
         self.input_mode=QComboBox(self)
         self.input_mode.addItems(["In-Person", "Tele-Consultation", "Other"])
         self.input_mode.setEditable(True)
@@ -824,6 +816,27 @@ class MainWindow(QMainWindow):
         layout_additional.addLayout(layout_additional2)
         layout_additional.addWidget(self.input_additional)
 
+        tab_certificate=QWidget(self)
+        layout_certificate=QVBoxLayout(tab_certificate)
+        layout_certificate2=QHBoxLayout()
+        label_certificate=QLabel("Certificate")
+        label_certificate.setProperty("class", "info_head")
+        self.input_certificate_preset=QComboBox(self)
+        self.input_certificate_preset.addItems(self.preset_certificate.data.keys())
+        self.input_certificate_preset.setCurrentIndex(-1)
+        self.input_certificate_preset.setEditable(True)
+        self.input_certificate_preset.completer().setCompletionMode(QCompleter.CompletionMode.PopupCompletion)
+        self.input_certificate_preset.completer().setFilterMode(Qt.MatchFlag.MatchContains)
+        self.input_certificate_preset.setPlaceholderText("Select a preset")
+        input_certificate_preset_btn=QPushButton("Insert")
+        input_certificate_preset_btn.clicked.connect(self.insert_preset_certificate)
+        layout_certificate2.addWidget(self.input_certificate_preset, 5)
+        layout_certificate2.addWidget(input_certificate_preset_btn, 1)
+        self.input_certificate=QTextEdit(self)
+        layout_certificate.addWidget(label_certificate)
+        layout_certificate.addLayout(layout_certificate2)
+        layout_certificate.addWidget(self.input_certificate)
+
         tab_attachment=QWidget(self)
         layout_attachment=QVBoxLayout(tab_attachment)
         layout_attachment2=QHBoxLayout()
@@ -851,6 +864,7 @@ class MainWindow(QMainWindow):
         tab.addTab(tab_investigation, "Investigation")
         tab.addTab(tab_medication, "Medication")
         tab.addTab(tab_additional, "Additional")
+        tab.addTab(tab_certificate, "Certificate")
         tab.addTab(tab_attachment, "Attachment")
 
         self.setCentralWidget(tab)