summaryrefslogtreecommitdiff
path: root/ishtar_common/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r--ishtar_common/models.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index cda01a048..d4cac83df 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -2396,6 +2396,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
@@ -2404,14 +2409,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])
@@ -2431,6 +2432,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)