diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-07-02 01:31:53 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-07-02 01:31:53 +0200 |
commit | ca39f96f904b9332179819e68011cf10572faf80 (patch) | |
tree | a2a4783a03c120df41bd4f45b207511039ec8cde /ishtar/ishtar_base/models.py | |
parent | e946d15e8532c40e9581b539691179e8b9dbfa9c (diff) | |
download | Ishtar-ca39f96f904b9332179819e68011cf10572faf80.tar.bz2 Ishtar-ca39f96f904b9332179819e68011cf10572faf80.zip |
Packaging of archaelogical items (closes #500)
Diffstat (limited to 'ishtar/ishtar_base/models.py')
-rw-r--r-- | ishtar/ishtar_base/models.py | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/ishtar/ishtar_base/models.py b/ishtar/ishtar_base/models.py index ee22b9973..af1d38f05 100644 --- a/ishtar/ishtar_base/models.py +++ b/ishtar/ishtar_base/models.py @@ -994,6 +994,18 @@ class Item(BaseHistorizedItem, OwnPerms): dating = models.ForeignKey(Dating, verbose_name=_(u"Dating")) history = HistoricalRecords() + def duplicate(self, user): + dct = dict([(attr, getattr(self, attr)) for attr in ('order', 'label', + 'description', 'material_type', 'volume', 'weight', + 'item_number', 'dating')]) + dct['order'] += 1 + dct['history_modifier'] = user + new = self.__class__(**dct) + new.save() + for base_item in self.base_items.all(): + new.base_items.add(base_item) + return new + class Meta: verbose_name = _(u"Item") verbose_name_plural = _(u"Items") @@ -1143,9 +1155,8 @@ class Container(LightHistorizedItem): verbose_name_plural = _(u"Containers") def __unicode__(self): - lbl = self.reference - lbl += u" - %s" % unicode(self.container_type) - lbl += u" (%s)" % unicode(self.location) + lbl = u" - ".join((self.reference, unicode(self.container_type), + unicode(self.location))) return lbl if settings.COUNTRY == 'fr': |