summaryrefslogtreecommitdiff
path: root/ishtar_common/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r--ishtar_common/models.py23
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)