diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-08-11 18:24:26 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-08-20 10:05:01 +0200 |
commit | 1339e13329ae36e1e8cc02c95dea0b6a1e5370b8 (patch) | |
tree | 40f7ab52e43fbe902359ae6ad6479678fc09f49e /ishtar_common/models.py | |
parent | a9505657720e0617dc744a314379d2512fb8b3e0 (diff) | |
download | Ishtar-1339e13329ae36e1e8cc02c95dea0b6a1e5370b8.tar.bz2 Ishtar-1339e13329ae36e1e8cc02c95dea0b6a1e5370b8.zip |
✨ templates - get a text file when VALUES is used
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r-- | ishtar_common/models.py | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 00c3b49ce..715a3063f 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -2330,6 +2330,11 @@ class DocumentTemplate(models.Model): ] def publish(self, c_object): + filtr = self.get_filter(self.template, self.BASE_RE) + get_values = "VALUES" in filtr + if get_values: + filtr = [] + extension = "txt" if get_values else self.template.name.split(".")[-1] tempdir = tempfile.mkdtemp("-ishtardocs") output_name = ( tempdir @@ -2338,14 +2343,10 @@ class DocumentTemplate(models.Model): + "-" + datetime.date.today().strftime("%Y-%m-%d") + "." - + self.template.name.split(".")[-1] + + extension ) - filtr = self.get_filter(self.template, self.BASE_RE) - # values = c_object.get_values(filtr=[]) - if "VALUES" in filtr: - filtr = [] values = c_object.get_values(filtr=filtr) - if not filtr or "VALUES" in filtr: + if not filtr: for k in values: if k in JSON_SERIALIZATION: values[k] = JSON_SERIALIZATION[k](values[k]) @@ -2365,6 +2366,10 @@ class DocumentTemplate(models.Model): for k in filtr: if k not in values: values[k] = "" + if get_values: # only return values + with open(output_name, "w") as output: + output.write(values["VALUES"]) + return output_name engine = IshtarSecretaryRenderer() try: result = engine.render(self.template, **values) |