diff options
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) | 
