Proper editing of person, name, surname; fixed default types
svn: r19544
This commit is contained in:
parent
ba4f791bb7
commit
82bcb4018c
@ -25,6 +25,9 @@
|
|||||||
{% for error in nameform.errors %}
|
{% for error in nameform.errors %}
|
||||||
Error in name: {{error}}<br>
|
Error in name: {{error}}<br>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
{% for error in surnameform.errors %}
|
||||||
|
Error in surname: {{error}}<br>
|
||||||
|
{% endfor %}
|
||||||
{% endifequal %}
|
{% endifequal %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<form method="post">{% csrf_token %}
|
<form method="post">{% csrf_token %}
|
||||||
@ -47,11 +50,11 @@
|
|||||||
<td class="ColumnValue" id="data">{% render nameform.suffix user action %}</td>
|
<td class="ColumnValue" id="data">{% render nameform.suffix user action %}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="ColumnAttribute" align="right">{{nameform.surname.label}}:</td>
|
<td class="ColumnAttribute" align="right">{{surnameform.surname.label}}:</td>
|
||||||
<td class="ColumnValue" id="data">{% render nameform.prefix user action %}</td>
|
<td class="ColumnValue" id="data">{% render surnameform.prefix user action %}</td>
|
||||||
<td class="ColumnValue" id="data" colspan="2">{% render nameform.surname user action %}</td>
|
<td class="ColumnValue" id="data" colspan="2">{% render surnameform.surname user action %}</td>
|
||||||
<td class="ColumnAttribute" align="right">{{nameform.name_origin_type.label}}:</td>
|
<td class="ColumnAttribute" align="right">{{surnameform.name_origin_type.label}}:</td>
|
||||||
<td class="ColumnValue" id="data" colspan="2">{% render nameform.name_origin_type user action %}</td>
|
<td class="ColumnValue" id="data" colspan="2">{% render surnameform.name_origin_type user action %}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="ColumnAttribute" align="right">{{personform.gender_type.label}}:</td>
|
<td class="ColumnAttribute" align="right">{{personform.gender_type.label}}:</td>
|
||||||
|
@ -33,7 +33,8 @@ import datetime
|
|||||||
class PersonForm(forms.ModelForm):
|
class PersonForm(forms.ModelForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Person
|
model = Person
|
||||||
exclude = ["death", "birth", "handle", "birth_ref_index", "death_ref_index"]
|
exclude = ["death", "birth", "handle", "birth_ref_index",
|
||||||
|
"death_ref_index"]
|
||||||
|
|
||||||
class NameForm(forms.ModelForm):
|
class NameForm(forms.ModelForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -47,14 +48,56 @@ class NameForm(forms.ModelForm):
|
|||||||
"sortval", "newyear", "person"]
|
"sortval", "newyear", "person"]
|
||||||
# Add these because they are TextFields, which render as
|
# Add these because they are TextFields, which render as
|
||||||
# Textareas:
|
# Textareas:
|
||||||
surname = forms.CharField(label="Surname",
|
|
||||||
required=False,
|
|
||||||
widget=TextInput(attrs={'size':'30'}))
|
|
||||||
first_name = forms.CharField(label="Given",
|
first_name = forms.CharField(label="Given",
|
||||||
required=False,
|
required=False,
|
||||||
widget=TextInput(attrs={'size':'60'}))
|
widget=TextInput(attrs={'size':'60'}))
|
||||||
title = forms.CharField(required=False,
|
title = forms.CharField(required=False,
|
||||||
widget=TextInput(attrs={'size':'15'}))
|
widget=TextInput(attrs={'size':'15'}))
|
||||||
|
call = forms.CharField(label="Call",
|
||||||
|
required=False,
|
||||||
|
widget=TextInput(attrs={'size':'15'}))
|
||||||
|
nick = forms.CharField(label="Nick",
|
||||||
|
required=False,
|
||||||
|
widget=TextInput(attrs={'size':'15'}))
|
||||||
|
suffix = forms.CharField(required=False,
|
||||||
|
initial=' suffix ',
|
||||||
|
widget=TextInput(attrs={'size':'15',
|
||||||
|
'style': 'font-style: italic; color: gray; ',
|
||||||
|
'onFocus': """if (this.value == ' suffix ') {
|
||||||
|
this.value = '';
|
||||||
|
}
|
||||||
|
this.style.color = "black";
|
||||||
|
this.style.fontStyle = 'normal';
|
||||||
|
""",
|
||||||
|
'onBlur': """if (this.value == '') {
|
||||||
|
this.value = ' suffix ';
|
||||||
|
this.style.color = "gray";
|
||||||
|
this.style.fontStyle = 'italic';
|
||||||
|
}
|
||||||
|
"""}))
|
||||||
|
|
||||||
|
class NameFormFromPerson(NameForm):
|
||||||
|
class Meta:
|
||||||
|
model = Name
|
||||||
|
# Exclude these, so they don't get checked:
|
||||||
|
# Excludes sort_as and display_as
|
||||||
|
exclude = ["order", "calendar", "modifier",
|
||||||
|
"quality",
|
||||||
|
#"quality_estimated", "quality_calculated",
|
||||||
|
#"quality_interpreted",
|
||||||
|
"year1", "day1", "month1",
|
||||||
|
"sortval", "newyear", "person",
|
||||||
|
"sort_as", "display_as"]
|
||||||
|
|
||||||
|
class SurnameForm(forms.ModelForm):
|
||||||
|
class Meta:
|
||||||
|
model = Surname
|
||||||
|
exclude = ['name']
|
||||||
|
|
||||||
|
surname = forms.CharField(label="Surname",
|
||||||
|
required=False,
|
||||||
|
widget=TextInput(attrs={'size':'30'}))
|
||||||
|
|
||||||
prefix = forms.CharField(label="Prefix",
|
prefix = forms.CharField(label="Prefix",
|
||||||
required=False,
|
required=False,
|
||||||
initial=' prefix ',
|
initial=' prefix ',
|
||||||
@ -72,41 +115,3 @@ class NameForm(forms.ModelForm):
|
|||||||
this.style.fontStyle = 'italic';
|
this.style.fontStyle = 'italic';
|
||||||
}
|
}
|
||||||
"""}))
|
"""}))
|
||||||
suffix = forms.CharField(required=False,
|
|
||||||
initial=' suffix ',
|
|
||||||
widget=TextInput(attrs={'size':'15',
|
|
||||||
'style': 'font-style: italic; color: gray; ',
|
|
||||||
'onFocus': """if (this.value == ' suffix ') {
|
|
||||||
this.value = '';
|
|
||||||
}
|
|
||||||
this.style.color = "black";
|
|
||||||
this.style.fontStyle = 'normal';
|
|
||||||
""",
|
|
||||||
'onBlur': """if (this.value == '') {
|
|
||||||
this.value = ' suffix ';
|
|
||||||
this.style.color = "gray";
|
|
||||||
this.style.fontStyle = 'italic';
|
|
||||||
}
|
|
||||||
"""}))
|
|
||||||
call = forms.CharField(label="Call",
|
|
||||||
required=False,
|
|
||||||
widget=TextInput(attrs={'size':'15'}))
|
|
||||||
nick = forms.CharField(label="Nick",
|
|
||||||
required=False,
|
|
||||||
widget=TextInput(attrs={'size':'15'}))
|
|
||||||
|
|
||||||
name_origin_type = forms.ChoiceField()
|
|
||||||
|
|
||||||
class NameFormFromPerson(NameForm):
|
|
||||||
class Meta:
|
|
||||||
model = Name
|
|
||||||
# Exclude these, so they don't get checked:
|
|
||||||
# Excludes sort_as and display_as
|
|
||||||
exclude = ["order", "calendar", "modifier",
|
|
||||||
"quality",
|
|
||||||
#"quality_estimated", "quality_calculated",
|
|
||||||
#"quality_interpreted",
|
|
||||||
"year1", "day1", "month1",
|
|
||||||
"sortval", "newyear", "person",
|
|
||||||
"sort_as", "display_as"]
|
|
||||||
|
|
||||||
|
@ -115,35 +115,35 @@ class NameType(mGrampsType):
|
|||||||
from gen.lib.nametype import NameType
|
from gen.lib.nametype import NameType
|
||||||
_DATAMAP = get_datamap(NameType)
|
_DATAMAP = get_datamap(NameType)
|
||||||
_CUSTOM = NameType._CUSTOM
|
_CUSTOM = NameType._CUSTOM
|
||||||
_DEFAULT = _DATAMAP[NameType._DEFAULT]
|
_DEFAULT = [x for x in _DATAMAP if x[0] == NameType._DEFAULT]
|
||||||
val = models.IntegerField('name type', choices=_DATAMAP, blank=False)
|
val = models.IntegerField('name type', choices=_DATAMAP, blank=False)
|
||||||
|
|
||||||
class NameOriginType(mGrampsType):
|
class NameOriginType(mGrampsType):
|
||||||
from gen.lib.nameorigintype import NameOriginType
|
from gen.lib.nameorigintype import NameOriginType
|
||||||
_DATAMAP = get_datamap(NameOriginType)
|
_DATAMAP = get_datamap(NameOriginType)
|
||||||
_CUSTOM = NameOriginType._CUSTOM
|
_CUSTOM = NameOriginType._CUSTOM
|
||||||
_DEFAULT = _DATAMAP[NameOriginType._DEFAULT]
|
_DEFAULT = [x for x in _DATAMAP if x[0] == NameOriginType._DEFAULT]
|
||||||
val = models.IntegerField('name origin type', choices=_DATAMAP, blank=False)
|
val = models.IntegerField('name origin type', choices=_DATAMAP, blank=False)
|
||||||
|
|
||||||
class AttributeType(mGrampsType):
|
class AttributeType(mGrampsType):
|
||||||
from gen.lib.attrtype import AttributeType
|
from gen.lib.attrtype import AttributeType
|
||||||
_DATAMAP = get_datamap(AttributeType)
|
_DATAMAP = get_datamap(AttributeType)
|
||||||
_CUSTOM = AttributeType._CUSTOM
|
_CUSTOM = AttributeType._CUSTOM
|
||||||
_DEFAULT = _DATAMAP[AttributeType._DEFAULT]
|
_DEFAULT = [x for x in _DATAMAP if x[0] == AttributeType._DEFAULT]
|
||||||
val = models.IntegerField('attribute type', choices=_DATAMAP, blank=False)
|
val = models.IntegerField('attribute type', choices=_DATAMAP, blank=False)
|
||||||
|
|
||||||
class UrlType(mGrampsType):
|
class UrlType(mGrampsType):
|
||||||
from gen.lib.urltype import UrlType
|
from gen.lib.urltype import UrlType
|
||||||
_DATAMAP = get_datamap(UrlType)
|
_DATAMAP = get_datamap(UrlType)
|
||||||
_CUSTOM = UrlType._CUSTOM
|
_CUSTOM = UrlType._CUSTOM
|
||||||
_DEFAULT = _DATAMAP[UrlType._DEFAULT]
|
_DEFAULT = [x for x in _DATAMAP if x[0] == UrlType._DEFAULT]
|
||||||
val = models.IntegerField('url type', choices=_DATAMAP, blank=False)
|
val = models.IntegerField('url type', choices=_DATAMAP, blank=False)
|
||||||
|
|
||||||
class ChildRefType(mGrampsType):
|
class ChildRefType(mGrampsType):
|
||||||
from gen.lib.childreftype import ChildRefType
|
from gen.lib.childreftype import ChildRefType
|
||||||
_DATAMAP = get_datamap(ChildRefType)
|
_DATAMAP = get_datamap(ChildRefType)
|
||||||
_CUSTOM = ChildRefType._CUSTOM
|
_CUSTOM = ChildRefType._CUSTOM
|
||||||
_DEFAULT = _DATAMAP[ChildRefType._DEFAULT]
|
_DEFAULT = [x for x in _DATAMAP if x[0] == ChildRefType._DEFAULT]
|
||||||
val = models.IntegerField('child reference type', choices=_DATAMAP,
|
val = models.IntegerField('child reference type', choices=_DATAMAP,
|
||||||
blank=False)
|
blank=False)
|
||||||
|
|
||||||
@ -151,14 +151,14 @@ class RepositoryType(mGrampsType):
|
|||||||
from gen.lib.repotype import RepositoryType
|
from gen.lib.repotype import RepositoryType
|
||||||
_DATAMAP = get_datamap(RepositoryType)
|
_DATAMAP = get_datamap(RepositoryType)
|
||||||
_CUSTOM = RepositoryType._CUSTOM
|
_CUSTOM = RepositoryType._CUSTOM
|
||||||
_DEFAULT = _DATAMAP[RepositoryType._DEFAULT]
|
_DEFAULT = [x for x in _DATAMAP if x[0] == RepositoryType._DEFAULT]
|
||||||
val = models.IntegerField('repository type', choices=_DATAMAP, blank=False)
|
val = models.IntegerField('repository type', choices=_DATAMAP, blank=False)
|
||||||
|
|
||||||
class EventType(mGrampsType):
|
class EventType(mGrampsType):
|
||||||
from gen.lib.eventtype import EventType
|
from gen.lib.eventtype import EventType
|
||||||
_DATAMAP = get_datamap(EventType)
|
_DATAMAP = get_datamap(EventType)
|
||||||
_CUSTOM = EventType._CUSTOM
|
_CUSTOM = EventType._CUSTOM
|
||||||
_DEFAULT = _DATAMAP[EventType._DEFAULT]
|
_DEFAULT = [x for x in _DATAMAP if x[0] == EventType._DEFAULT]
|
||||||
BIRTH = 12
|
BIRTH = 12
|
||||||
DEATH = 13
|
DEATH = 13
|
||||||
val = models.IntegerField('event type', choices=_DATAMAP, blank=False)
|
val = models.IntegerField('event type', choices=_DATAMAP, blank=False)
|
||||||
@ -167,7 +167,7 @@ class FamilyRelType(mGrampsType):
|
|||||||
from gen.lib.familyreltype import FamilyRelType
|
from gen.lib.familyreltype import FamilyRelType
|
||||||
_DATAMAP = get_datamap(FamilyRelType)
|
_DATAMAP = get_datamap(FamilyRelType)
|
||||||
_CUSTOM = FamilyRelType._CUSTOM
|
_CUSTOM = FamilyRelType._CUSTOM
|
||||||
_DEFAULT = _DATAMAP[FamilyRelType._DEFAULT]
|
_DEFAULT = [x for x in _DATAMAP if x[0] == FamilyRelType._DEFAULT]
|
||||||
val = models.IntegerField('family relation type', choices=_DATAMAP,
|
val = models.IntegerField('family relation type', choices=_DATAMAP,
|
||||||
blank=False)
|
blank=False)
|
||||||
|
|
||||||
@ -175,7 +175,7 @@ class SourceMediaType(mGrampsType):
|
|||||||
from gen.lib.srcmediatype import SourceMediaType
|
from gen.lib.srcmediatype import SourceMediaType
|
||||||
_DATAMAP = get_datamap(SourceMediaType)
|
_DATAMAP = get_datamap(SourceMediaType)
|
||||||
_CUSTOM = SourceMediaType._CUSTOM
|
_CUSTOM = SourceMediaType._CUSTOM
|
||||||
_DEFAULT = _DATAMAP[SourceMediaType._DEFAULT]
|
_DEFAULT = [x for x in _DATAMAP if x[0] == SourceMediaType._DEFAULT]
|
||||||
val = models.IntegerField('source medium type', choices=_DATAMAP,
|
val = models.IntegerField('source medium type', choices=_DATAMAP,
|
||||||
blank=False)
|
blank=False)
|
||||||
|
|
||||||
@ -183,14 +183,14 @@ class EventRoleType(mGrampsType):
|
|||||||
from gen.lib.eventroletype import EventRoleType
|
from gen.lib.eventroletype import EventRoleType
|
||||||
_DATAMAP = get_datamap(EventRoleType)
|
_DATAMAP = get_datamap(EventRoleType)
|
||||||
_CUSTOM = EventRoleType._CUSTOM
|
_CUSTOM = EventRoleType._CUSTOM
|
||||||
_DEFAULT = _DATAMAP[EventRoleType._DEFAULT]
|
_DEFAULT = [x for x in _DATAMAP if x[0] == EventRoleType._DEFAULT]
|
||||||
val = models.IntegerField('event role type', choices=_DATAMAP, blank=False)
|
val = models.IntegerField('event role type', choices=_DATAMAP, blank=False)
|
||||||
|
|
||||||
class NoteType(mGrampsType):
|
class NoteType(mGrampsType):
|
||||||
from gen.lib.notetype import NoteType
|
from gen.lib.notetype import NoteType
|
||||||
_DATAMAP = get_datamap(NoteType)
|
_DATAMAP = get_datamap(NoteType)
|
||||||
_CUSTOM = NoteType._CUSTOM
|
_CUSTOM = NoteType._CUSTOM
|
||||||
_DEFAULT = _DATAMAP[NoteType._DEFAULT]
|
_DEFAULT = [x for x in _DATAMAP if x[0] == NoteType._DEFAULT]
|
||||||
val = models.IntegerField('note type', choices=_DATAMAP, blank=False)
|
val = models.IntegerField('note type', choices=_DATAMAP, blank=False)
|
||||||
|
|
||||||
class MarkupType(mGrampsType):
|
class MarkupType(mGrampsType):
|
||||||
@ -257,7 +257,7 @@ class CalendarType(mGrampsType):
|
|||||||
(CAL_ISLAMIC, "Islamic"),
|
(CAL_ISLAMIC, "Islamic"),
|
||||||
(CAL_SWEDISH, "Swedish")]
|
(CAL_SWEDISH, "Swedish")]
|
||||||
|
|
||||||
_DEFAULT = _DATAMAP[CAL_GREGORIAN]
|
_DEFAULT = [x for x in _DATAMAP if x[0] == CAL_GREGORIAN]
|
||||||
val = models.IntegerField('Calendar', choices=_DATAMAP, blank=False)
|
val = models.IntegerField('Calendar', choices=_DATAMAP, blank=False)
|
||||||
|
|
||||||
class DateModifierType(mGrampsType):
|
class DateModifierType(mGrampsType):
|
||||||
@ -277,7 +277,7 @@ class DateModifierType(mGrampsType):
|
|||||||
(MOD_SPAN, "Span"),
|
(MOD_SPAN, "Span"),
|
||||||
(MOD_TEXTONLY, "Text only")]
|
(MOD_TEXTONLY, "Text only")]
|
||||||
|
|
||||||
_DEFAULT = _DATAMAP[MOD_NONE]
|
_DEFAULT = [x for x in _DATAMAP if x[0] == MOD_NONE]
|
||||||
val = models.IntegerField('Date modifier', choices=_DATAMAP, blank=False)
|
val = models.IntegerField('Date modifier', choices=_DATAMAP, blank=False)
|
||||||
|
|
||||||
class DateNewYearType(mGrampsType):
|
class DateNewYearType(mGrampsType):
|
||||||
@ -291,7 +291,7 @@ class DateNewYearType(mGrampsType):
|
|||||||
(NEWYEAR_MAR25, "March 25"),
|
(NEWYEAR_MAR25, "March 25"),
|
||||||
(NEWYEAR_SEP1, "September 1")]
|
(NEWYEAR_SEP1, "September 1")]
|
||||||
|
|
||||||
_DEFAULT = _DATAMAP[NEWYEAR_JAN1]
|
_DEFAULT = [x for x in _DATAMAP if x[0] == NEWYEAR_JAN1]
|
||||||
val = models.IntegerField('New Year start date', choices=_DATAMAP, blank=False)
|
val = models.IntegerField('New Year start date', choices=_DATAMAP, blank=False)
|
||||||
|
|
||||||
class ThemeType(mGrampsType):
|
class ThemeType(mGrampsType):
|
||||||
|
@ -495,7 +495,7 @@ def view_person_detail(request, view, handle, action="view"):
|
|||||||
action = request.POST.get("action")
|
action = request.POST.get("action")
|
||||||
if request.user.is_authenticated():
|
if request.user.is_authenticated():
|
||||||
if action == "edit":
|
if action == "edit":
|
||||||
pf, nf, person = get_person_forms(handle, empty=True)
|
pf, nf, sf, person = get_person_forms(handle, empty=True)
|
||||||
elif action == "add":
|
elif action == "add":
|
||||||
# make new data:
|
# make new data:
|
||||||
person = Person()
|
person = Person()
|
||||||
@ -530,16 +530,20 @@ def view_person_detail(request, view, handle, action="view"):
|
|||||||
pf.model = person
|
pf.model = person
|
||||||
nf = NameFormFromPerson(request.POST, instance=name)
|
nf = NameFormFromPerson(request.POST, instance=name)
|
||||||
nf.model = name
|
nf.model = name
|
||||||
if nf.is_valid() and pf.is_valid():
|
sf = SurnameForm(request.POST, instance=surname)
|
||||||
|
if nf.is_valid() and pf.is_valid() and sf.is_valid():
|
||||||
person = pf.save()
|
person = pf.save()
|
||||||
|
# Process data:
|
||||||
name = nf.save(commit=False)
|
name = nf.save(commit=False)
|
||||||
# Manually set any name data:
|
# Manually set any data:
|
||||||
|
name.suffix = nf.cleaned_data["suffix"] if nf.cleaned_data["suffix"] != " suffix " else ""
|
||||||
name.preferred = True # FIXME: why is this False?
|
name.preferred = True # FIXME: why is this False?
|
||||||
name.save()
|
name.save()
|
||||||
# Manually set surname data:
|
# Process data:
|
||||||
surname.surname = nf.cleaned_data["surname"]
|
surname = sf.save(commit=False)
|
||||||
surname.prefix = nf.cleaned_data["prefix"] if nf.cleaned_data["prefix"] != " prefix " else ""
|
# Manually set any data:
|
||||||
surname.name = name
|
surname.prefix = sf.cleaned_data["prefix"] if sf.cleaned_data["prefix"] != " prefix " else ""
|
||||||
|
surname.primary = True # FIXME: why is this False?
|
||||||
surname.save()
|
surname.save()
|
||||||
# FIXME: last_saved, last_changed, last_changed_by
|
# FIXME: last_saved, last_changed, last_changed_by
|
||||||
# FIXME: update cache
|
# FIXME: update cache
|
||||||
@ -548,7 +552,7 @@ def view_person_detail(request, view, handle, action="view"):
|
|||||||
else: # not valid, try again:
|
else: # not valid, try again:
|
||||||
action = "edit"
|
action = "edit"
|
||||||
else: # view
|
else: # view
|
||||||
pf, nf, person = get_person_forms(handle)
|
pf, nf, sf, person = get_person_forms(handle)
|
||||||
else: # view person detail
|
else: # view person detail
|
||||||
# BEGIN NON-AUTHENTICATED ACCESS
|
# BEGIN NON-AUTHENTICATED ACCESS
|
||||||
try:
|
try:
|
||||||
@ -557,13 +561,14 @@ def view_person_detail(request, view, handle, action="view"):
|
|||||||
raise Http404(_("Requested %s does not exist.") % view)
|
raise Http404(_("Requested %s does not exist.") % view)
|
||||||
if person.private:
|
if person.private:
|
||||||
raise Http404(_("Requested %s is not accessible.") % view)
|
raise Http404(_("Requested %s is not accessible.") % view)
|
||||||
pf, nf, person = get_person_forms(handle, protect=True)
|
pf, nf, sf, person = get_person_forms(handle, protect=True)
|
||||||
# END NON-AUTHENTICATED ACCESS
|
# END NON-AUTHENTICATED ACCESS
|
||||||
context["action"] = action
|
context["action"] = action
|
||||||
context["view"] = view
|
context["view"] = view
|
||||||
context["tview"] = _("Person")
|
context["tview"] = _("Person")
|
||||||
context["personform"] = pf
|
context["personform"] = pf
|
||||||
context["nameform"] = nf
|
context["nameform"] = nf
|
||||||
|
context["surnameform"] = sf
|
||||||
context["person"] = person
|
context["person"] = person
|
||||||
context["object"] = person
|
context["object"] = person
|
||||||
context["next"] = "/person/%s" % person.handle
|
context["next"] = "/person/%s" % person.handle
|
||||||
@ -577,26 +582,20 @@ def get_person_forms(handle, protect=False, empty=False):
|
|||||||
except:
|
except:
|
||||||
name = Name(person=person, preferred=True)
|
name = Name(person=person, preferred=True)
|
||||||
try:
|
try:
|
||||||
primary_surname = name.surname_set.get(primary=True)
|
surname = name.surname_set.get(primary=True)
|
||||||
except:
|
except:
|
||||||
primary_surname = Surname(name=name, primary=True)
|
surname = Surname(name=name, primary=True)
|
||||||
if protect and person.probably_alive:
|
if protect and person.probably_alive:
|
||||||
name.sanitize()
|
name.sanitize()
|
||||||
default_data = {"surname": primary_surname.surname,
|
|
||||||
"prefix": make_empty(empty, primary_surname.prefix, " prefix "),
|
|
||||||
"suffix": make_empty(empty, name.suffix, " suffix "),
|
|
||||||
"first_name": name.first_name,
|
|
||||||
"name_type": name.name_type,
|
|
||||||
"name_origin_type": primary_surname.name_origin_type,
|
|
||||||
"title": name.title,
|
|
||||||
"nick": name.nick,
|
|
||||||
"call": name.call,
|
|
||||||
}
|
|
||||||
pf = PersonForm(instance=person)
|
pf = PersonForm(instance=person)
|
||||||
pf.model = person
|
pf.model = person
|
||||||
nf = NameForm(default_data, instance=name)
|
name.suffix = make_empty(empty, name.suffix, " suffix ")
|
||||||
|
nf = NameForm(instance=name)
|
||||||
nf.model = name
|
nf.model = name
|
||||||
return pf, nf, person
|
surname.prefix = make_empty(empty, surname.prefix, " prefix ")
|
||||||
|
sf = SurnameForm(instance=surname)
|
||||||
|
sf.model = surname
|
||||||
|
return pf, nf, sf, person
|
||||||
|
|
||||||
def make_empty(empty, value, empty_value):
|
def make_empty(empty, value, empty_value):
|
||||||
if value:
|
if value:
|
||||||
|
Loading…
Reference in New Issue
Block a user