diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-09-01 11:04:24 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-09-01 11:44:31 +0200 | 
| commit | d590f0f39f0fdb266cb597f4e504f96f88e055c1 (patch) | |
| tree | 8a4e539ccdf1ccce6fc4a807b2753a8dacdbaa3c /ishtar_common/models.py | |
| parent | ecd99323f6dc851d69020e4430e6edf0ba1bb8a0 (diff) | |
| download | Ishtar-d590f0f39f0fdb266cb597f4e504f96f88e055c1.tar.bz2 Ishtar-d590f0f39f0fdb266cb597f4e504f96f88e055c1.zip | |
Title types can be set in administration.
Diffstat (limited to 'ishtar_common/models.py')
| -rw-r--r-- | ishtar_common/models.py | 23 | 
1 files changed, 14 insertions, 9 deletions
| diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 7b448284e..47f2017f2 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -1848,6 +1848,7 @@ class TargetKey(models.Model):  TARGET_MODELS = [      ('OrganizationType', _(u"Organization type")), +    ('TitleType', _(u"Title")),      ('SourceType', _(u"Source type")),      ('AuthorType', _(u"Author type")),      ('Format', _(u"Format")), @@ -2222,6 +2223,13 @@ class PersonType(GeneralType):          ordering = ('label',) +class TitleType(GeneralType): +    class Meta: +        verbose_name = _(u"Title type") +        verbose_name_plural = _(u"Title types") +        ordering = ('label',) + +  class Person(Address, Merge, OwnPerms, ValueGetter):      _prefix = 'person_'      TYPE = ( @@ -2235,8 +2243,10 @@ class Person(Address, Merge, OwnPerms, ValueGetter):                    'attached_to')      SHOW_URL = 'show-person'      MODIFY_URL = 'person_modify' -    title = models.CharField(_(u"Title"), max_length=100, choices=TYPE, -                             blank=True, null=True) +    old_title = models.CharField(_(u"Title"), max_length=100, choices=TYPE, +                                 blank=True, null=True) +    title = models.ForeignKey(TitleType, verbose_name=_(u"Title"), +                              blank=True, null=True)      surname = models.CharField(_(u"Surname"), max_length=50, blank=True,                                 null=True)      name = models.CharField(_(u"Name"), max_length=200, blank=True, @@ -2283,11 +2293,6 @@ class Person(Address, Merge, OwnPerms, ValueGetter):      def get_values(self, prefix=''):          values = super(Person, self).get_values(prefix=prefix) -        title = '' -        TYPES = dict(self.TYPE) -        if self.title in TYPES: -            title = dict(self.TYPE)[self.title] -        values[prefix + 'title'] = title          if not self.attached_to:              values.update(                  Person.get_empty_values(prefix=prefix + 'attached_to_')) @@ -2354,7 +2359,7 @@ class Person(Address, Merge, OwnPerms, ValueGetter):      def full_label(self):          values = []          if self.title: -            values = [unicode(_(self.title))] +            values = [self.title.label]          values += [unicode(getattr(self, attr))                     for attr in ('surname', 'name') if getattr(self, attr)]          if not values and self.raw_name: @@ -2425,7 +2430,7 @@ class IshtarUser(User):          else:              person_type, created = PersonType.objects.get_or_create(                  txt_idx='public_access') -        person = Person.objects.create(title='Mr', surname=surname, +        person = Person.objects.create(surname=surname,                                         name=name, email=email,                                         history_modifier=user)          person.person_types.add(person_type) | 
