diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-05-17 18:41:23 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-05-17 18:41:23 +0200 | 
| commit | f959740157de109de0363a501d06ca53dd5deba6 (patch) | |
| tree | 1cf16c92643680c90104923b8a9f9cc603eb635d /ishtar_common/models.py | |
| parent | 9fcd741b87f511d1dd46f2af909191d584e4b46a (diff) | |
| download | Ishtar-f959740157de109de0363a501d06ca53dd5deba6.tar.bz2 Ishtar-f959740157de109de0363a501d06ca53dd5deba6.zip | |
Good bye oook_replace (snif). Hello secretary library!
Diffstat (limited to 'ishtar_common/models.py')
| -rw-r--r-- | ishtar_common/models.py | 19 | 
1 files changed, 15 insertions, 4 deletions
| diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 775bff363..83127f2f0 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -1,6 +1,6 @@  #!/usr/bin/env python  # -*- coding: utf-8 -*- -# Copyright (C) 2010-2016 Étienne Loks  <etienne.loks_AT_peacefrogsDOTnet> +# Copyright (C) 2010-2017 Étienne Loks  <etienne.loks_AT_peacefrogsDOTnet>  # This program is free software: you can redistribute it and/or modify  # it under the terms of the GNU Affero General Public License as @@ -29,6 +29,7 @@ from importlib import import_module  import logging  import os  import re +from secretary import Renderer as SecretaryRenderer  import shutil  import tempfile  import time @@ -61,14 +62,12 @@ from django.contrib.gis.db import models  from simple_history.models import HistoricalRecords as BaseHistoricalRecords -from ishtar_common.ooo_replace import ooo_replace  from ishtar_common.model_merging import merge_model_objects  from ishtar_common.utils import get_cache, disable_for_loaddata  from ishtar_common.data_importer import Importer, ImportFormater, \      IntegerFormater, FloatFormater, UnicodeFormater, DateFormater, \      TypeFormater, YearFormater, StrToBoolean, FileFormater -  logger = logging.getLogger(__name__) @@ -150,6 +149,15 @@ class ValueGetter(object):                  values[prefix + field_name] = value          for extra_field in self.GET_VALUES_EXTRA:              values[prefix + extra_field] = getattr(self, extra_field) or '' +        for key in values.keys(): +            val = values[key] +            if val is None: +                val = '' +            else: +                val = unicode(val) +            if val.endswith('.None'): +                val = '' +            values[key] = val          values['KEYS'] = u'\n'.join(values.keys())          value_list = []          for key in values.keys(): @@ -1601,7 +1609,10 @@ class DocumentTemplate(models.Model):              datetime.date.today().strftime('%Y-%m-%d') +\              u"." + self.template.name.split('.')[-1]          values = c_object.get_values() -        ooo_replace(self.template, output_name, values) +        engine = SecretaryRenderer() +        result = engine.render(self.template, **values) +        output = open(output_name, 'wb') +        output.write(result)          return output_name | 
