diff options
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/models.py | 29 | ||||
-rw-r--r-- | ishtar_common/utils_secretary.py | 4 |
2 files changed, 20 insertions, 13 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index e78e18704..612b57b03 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -120,14 +120,16 @@ class ValueGetter(object): if not hasattr(self, 'documents'): return values values[prefix + "documents"] = [ - doc.get_values(prefix=prefix) for doc in self.documents.all() + doc.get_values(no_values=True) + for doc in self.documents.all() ] if hasattr(self, "main_image") and self.main_image and hasattr( self.main_image, "get_values"): - values[prefix + "main_image"] = self.main_image.get_values() + values[prefix + "main_image"] = self.main_image.get_values( + no_values=True) return values - def get_values(self, prefix=''): + def get_values(self, prefix='', no_values=False): if not prefix: prefix = self._prefix values = {} @@ -154,20 +156,27 @@ class ValueGetter(object): if val.endswith('.None'): val = '' values[key] = val - if prefix and prefix != self._prefix: + if (prefix and prefix != self._prefix) or no_values: # do not provide KEYS and VALUES for sub-items return values - values['KEYS'] = u'\n'.join(values.keys()) value_list = [] for key in values.keys(): if key in ('KEYS', 'VALUES'): continue value_list.append((key, unicode(values[key]))) + """ values['VALUES'] = u'\n'.join( [u"%s: %s" % (k, v) for k, v in sorted(value_list, key=lambda x: x[0])]) + """ for global_var in GlobalVar.objects.all(): values[global_var.slug] = global_var.value or "" + values['VALUES'] = json.dumps( + values, indent=4, sort_keys=True, + skipkeys=True, ensure_ascii=False, + separators=("", " : "), + ).replace(" " * 4, "\t") + return values @classmethod @@ -3780,8 +3789,9 @@ class Person(Address, Merge, OwnPerms, ValueGetter): values.append(attached_to) return u" ".join(values) - def get_values(self, prefix=''): - values = super(Person, self).get_values(prefix=prefix) + def get_values(self, prefix='', no_values=False): + values = super(Person, self).get_values(prefix=prefix, + no_values=no_values) if not self.attached_to: values.update( Person.get_empty_values(prefix=prefix + 'attached_to_')) @@ -4629,8 +4639,9 @@ class Document(BaseHistorizedItem, OwnPerms, ImageModel, ValueGetter): return "" return self.image.path - def get_values(self, prefix=""): - values = super(Document, self).get_values(prefix=prefix) + def get_values(self, prefix="", no_values=False): + values = super(Document, self).get_values(prefix=prefix, + no_values=no_values) values[prefix + "image_path"] = self.image_path return values diff --git a/ishtar_common/utils_secretary.py b/ishtar_common/utils_secretary.py index 6f605590e..15fb69a2d 100644 --- a/ishtar_common/utils_secretary.py +++ b/ishtar_common/utils_secretary.py @@ -25,10 +25,6 @@ class IshtarSecretaryRenderer(Renderer): # self.environment.filters['pad'] = pad_string def ishtar_media_loader(self, media, *args, **kwargs): - """Loads a file from the file system. - :param media: A file object or a relative or absolute path of a file. - :type media: unicode - """ image_file, mime = self.fs_loader(media, *args, **kwargs) if "width" in kwargs: kwargs['frame_attrs']['svg:width'] = kwargs["width"] |