summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ishtar_common/models.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index 6fbb0f313..4165128f6 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -3169,6 +3169,7 @@ class DocumentTemplate(models.Model):
datetime.datetime.now().strftime('%Y-%m-%d-%H%M%S')
suffix = "." + self.template.name.split('.')[-1]
len_objects = len(objects)
+ names = []
for idx in range(int(len(objects) / self.label_per_page) + 1):
if idx * self.label_per_page >= len_objects:
break
@@ -3184,11 +3185,28 @@ class DocumentTemplate(models.Model):
result = engine.render(self.template, **values)
except TemplateSyntaxError as e:
raise TemplateSyntaxError(str(e), e.lineno)
- output_name = main_output_name + "-" + str(idx + 1) + suffix
+ output_name = main_output_name + "-" + str(idx) + suffix
+ names.append(output_name)
output = open(output_name, 'wb')
output.write(result)
- # output_name = main_output_name + suffix
+ output_name = main_output_name + suffix
# TODO: merge docs - return the last for now
+ from ooopy.OOoPy import OOoPy
+ from ooopy.Transformer import Transformer
+ import ooopy.Transforms as Transforms
+ o = OOoPy(infile=names[0], outfile=output_name)
+ if len(names) > 1:
+ t = Transformer(
+ o.mimetype,
+ Transforms.get_meta(o.mimetype),
+ Transforms.Concatenate(*(names[1:])),
+ Transforms.renumber_all(o.mimetype),
+ Transforms.set_meta(o.mimetype),
+ Transforms.Fix_OOo_Tag(),
+ Transforms.Manifest_Append()
+ )
+ t.transform (o)
+ o.close()
return output_name