Editing of Person, Family, and Event main data complete
svn: r19652
This commit is contained in:
		| @@ -17,27 +17,30 @@ | |||||||
| <div id="summaryarea"> | <div id="summaryarea"> | ||||||
| <table class="infolist" style="width:90%;">  | <table class="infolist" style="width:90%;">  | ||||||
| <trbody> | <trbody> | ||||||
|  |   {% if eventform.errors %} | ||||||
|  |     <hr> | ||||||
|  |     <p id="error">The following fields have errors. Please correct and try again.</p> | ||||||
|  |     <div id="error">{{eventform.errors}}</div> | ||||||
|  |     <hr> | ||||||
|  |   {% endif %} | ||||||
|  | <form method="post">{% csrf_token %} | ||||||
| <tr> | <tr> | ||||||
| <td class="ColumnAttribute">Event type:</td> | <td class="ColumnAttribute">{{eventform.event_type.label}}:</td> | ||||||
| <td class="ColumnValue" id="data"> {{event.event_type|escape}}</td> | <td class="ColumnValue" id="data"> {% render eventform.event_type user action %}</td> | ||||||
| <td class="ColumnAttribute">Date:</td> | <td class="ColumnAttribute">Date:</td> | ||||||
| <td class="ColumnValue" id="data">{{event|display_date}}</td> | <td class="ColumnValue" id="data">{% render eventform.date user action %}</td> | ||||||
| </tr> | </tr> | ||||||
| <tr> | <tr> | ||||||
| <td class="ColumnAttribute">Description:</td> | <td class="ColumnAttribute">Description:</td> | ||||||
| {% if user.is_authenticated %} | <td  class="ColumnValue" id="data" colspan="3">{% render eventform.description user action %}</td> | ||||||
| <td  class="ColumnValue" id="data" colspan="3">{{event.description|escape}}</td> |  | ||||||
| {% else %} |  | ||||||
| <td  class="ColumnValue" id="data" colspan="3">[Private]</td> |  | ||||||
| {% endif %} |  | ||||||
| </tr> | </tr> | ||||||
| <tr> | <tr> | ||||||
| <td class="ColumnAttribute">ID:</td> | <td class="ColumnAttribute">ID:</td> | ||||||
| <td  class="ColumnValue" id="data" colspan="3">{{event.gramps_id|escape}}</td> | <td  class="ColumnValue" id="data" colspan="3">{% render eventform.gramps_id user action %}</td> | ||||||
| </tr> | </tr> | ||||||
| <tr> | <tr> | ||||||
| <td class="ColumnAttribute">Place:</td> | <td class="ColumnAttribute">Place:</td> | ||||||
| <td  class="ColumnValue" id="data" colspan="3">{{event.place.title|escape}} [{{event.place.gramps_id}}]</td> | <td  class="ColumnValue" id="data" colspan="3">{% render eventform.place user action %}</td> | ||||||
| </tr> | </tr> | ||||||
| </table> | </table> | ||||||
| </div> | </div> | ||||||
| @@ -64,6 +67,25 @@ | |||||||
|   </div> |   </div> | ||||||
| </div> | </div> | ||||||
|  |  | ||||||
|  | {% if user.is_superuser %} | ||||||
|  |   {% if action == "edit" %} | ||||||
|  |     {% make_button "Back to Event" "/event/%s" event.handle %} | ||||||
|  |     <input type="hidden" name="action" value="save"/> | ||||||
|  |     <input type="submit" value="Save"/> | ||||||
|  |   {% else %} | ||||||
|  |     {% ifequal action "add" %} | ||||||
|  |       {% make_button "Cancel" "/event/" %} | ||||||
|  |       <input type="hidden" name="action" value="create"/> | ||||||
|  |       <input type="submit" value="Create"/> | ||||||
|  |     {% else %} | ||||||
|  |       {% make_button "Back to Families" "/event" %} | ||||||
|  |       {% make_button "Add Event" "/event/add" %} | ||||||
|  |       {% make_button "Edit Event" "/event/%s/edit" event.handle %} | ||||||
|  |       {% make_button "Delete Event" "/event/%s/delete" event.handle %} | ||||||
|  |     {% endifequal %} | ||||||
|  |   {% endif %} | ||||||
|  | {% else %} | ||||||
|  | {% endif %} | ||||||
|  | </form> | ||||||
| {% endblock %} | {% endblock %} | ||||||
|  |  | ||||||
|   | |||||||
| @@ -25,7 +25,7 @@ | |||||||
|  |  | ||||||
|     <td><a href="/{{view}}/{{event.handle|escape}}">{{event.event_type|nbsp}}</a> |     <td><a href="/{{view}}/{{event.handle|escape}}">{{event.event_type|nbsp}}</a> | ||||||
|     <td><a href="/{{view}}/{{event.handle|escape}}">{{event.description|nbsp}}</a> |     <td><a href="/{{view}}/{{event.handle|escape}}">{{event.description|nbsp}}</a> | ||||||
|     <td><a href="/{{view}}/{{event.handle|escape}}">{{event|render_date:user}}</a> |     <td><a href="/{{view}}/{{event.handle|escape}}">{{event|date_as_text:user}}</a> | ||||||
|     <td><a href="/{{view}}/{{event.handle|escape}}">{{event.place.title|nbsp}}</a> |     <td><a href="/{{view}}/{{event.handle|escape}}">{{event.place.title|nbsp}}</a> | ||||||
|  |  | ||||||
|     {% else %} |     {% else %} | ||||||
|   | |||||||
| @@ -19,9 +19,12 @@ | |||||||
| <div id="summaryarea"> | <div id="summaryarea"> | ||||||
| <table class="infolist" style="width:90%;"> {% comment %} 4 cols {% endcomment %} | <table class="infolist" style="width:90%;"> {% comment %} 4 cols {% endcomment %} | ||||||
| <tbody> | <tbody> | ||||||
|     {% for error in familyform.errors %} |   {% if familyform.errors %} | ||||||
|        <p id="error">Error in family: {{error}}</p> |     <hr> | ||||||
|     {% endfor %} |     <p id="error">The following fields have errors. Please correct and try again.</p> | ||||||
|  |     <div id="error">{{familyform.errors}}</div> | ||||||
|  |     <hr> | ||||||
|  |   {% endif %} | ||||||
| <form method="post">{% csrf_token %} | <form method="post">{% csrf_token %} | ||||||
| <tr> | <tr> | ||||||
| <th colspan="2">Father</th> | <th colspan="2">Father</th> | ||||||
| @@ -36,23 +39,23 @@ | |||||||
| {% if user.is_authenticated or not familyform.father.probably_alive %} | {% if user.is_authenticated or not familyform.father.probably_alive %} | ||||||
| <tr> | <tr> | ||||||
|  <td class="ColumnAttribute">Birth:</td> |  <td class="ColumnAttribute">Birth:</td> | ||||||
|  <td class="ColumnValue" id="data">{{familyform.father.birth|render_date:user}}</td> |  <td class="ColumnValue" id="data">{{familyform.father.birth|date_as_text:user}}</td> | ||||||
|  <td class="ColumnAttribute">Birth:</td> |  <td class="ColumnAttribute">Birth:</td> | ||||||
|  <td class="ColumnValue" id="data">{{familyform.mother.birth|render_date:user}}</td> |  <td class="ColumnValue" id="data">{{familyform.mother.birth|date_as_text:user}}</td> | ||||||
| </tr> | </tr> | ||||||
| {% else %} | {% else %} | ||||||
| <tr> | <tr> | ||||||
|  <td class="ColumnAttribute">Death:</td> |  <td class="ColumnAttribute">Death:</td> | ||||||
|  <td class="ColumnValue" id="data">{{familyform.father.death|render_date:user}}</td> |  <td class="ColumnValue" id="data">{{familyform.father.death|date_as_text:user}}</td> | ||||||
|  <td class="ColumnAttribute">Death:</td> |  <td class="ColumnAttribute">Death:</td> | ||||||
|  <td class="ColumnValue" id="data">{{familyform.mother.death|render_date:user}}</td> |  <td class="ColumnValue" id="data">{{familyform.mother.death|date_as_text:user}}</td> | ||||||
| </tr> | </tr> | ||||||
| {% endif %} | {% endif %} | ||||||
| <tr> | <tr> | ||||||
|  <td class="ColumnAttribute">Death:</td> |  <td class="ColumnAttribute">Death:</td> | ||||||
|  <td class="ColumnValue" id="data">{{familyform.father.death|render_date:user}}</td> |  <td class="ColumnValue" id="data">{{familyform.father.death|date_as_text:user}}</td> | ||||||
|  <td class="ColumnAttribute">Death:</td> |  <td class="ColumnAttribute">Death:</td> | ||||||
|  <td class="ColumnValue" id="data">{{familyform.mother.death|render_date:user}}</td> |  <td class="ColumnValue" id="data">{{familyform.mother.death|date_as_text:user}}</td> | ||||||
| </tr> | </tr> | ||||||
| </tbody> | </tbody> | ||||||
| </table> | </table> | ||||||
|   | |||||||
| @@ -24,8 +24,8 @@ | |||||||
|     </td> |     </td> | ||||||
|     <td><a href="{{name.person.handle}}/" class="grampsid">[{{name.person.gramps_id}}]</a></td> |     <td><a href="{{name.person.handle}}/" class="grampsid">[{{name.person.gramps_id}}]</a></td> | ||||||
|     <td><a href="{{name.person.handle}}/" class="noThumb">{{name.person.gender_type}}</a></td> |     <td><a href="{{name.person.handle}}/" class="noThumb">{{name.person.gender_type}}</a></td> | ||||||
|     <td><a href="{{name.person.handle}}/" class="noThumb">{{name.person.birth|render_date:user}}</a></td> |     <td><a href="{{name.person.handle}}/" class="noThumb">{{name.person.birth|date_as_text:user}}</a></td> | ||||||
|     <td><a href="{{name.person.handle}}/" class="noThumb">{{name.person.death|render_date:user}}</a></td> |     <td><a href="{{name.person.handle}}/" class="noThumb">{{name.person.death|date_as_text:user}}</a></td> | ||||||
|     {% endif %} |     {% endif %} | ||||||
|   </tr> |   </tr> | ||||||
|   {% endfor %} |   {% endfor %} | ||||||
|   | |||||||
| @@ -17,15 +17,16 @@ | |||||||
| <div id="summaryarea"> | <div id="summaryarea"> | ||||||
| <table class="infolist" style="width:90%;"> {% comment %} 5 cols {% endcomment %} | <table class="infolist" style="width:90%;"> {% comment %} 5 cols {% endcomment %} | ||||||
| <tbody> | <tbody> | ||||||
|     {% for error in personform.errors %} |   {% if personform.errors or nameform.errors or surnameform.errors %} | ||||||
|        <p id="error">Error in person: {{error}}</p> |     <hr> | ||||||
|     {% endfor %} |     <p id="error">The following fields have errors. Please correct and try again.</p> | ||||||
|     {% for error in nameform.errors %} |     <div id="error"> | ||||||
|        <p id="error">Error in name: {{error}}</p> |        {{personform.errors}} | ||||||
|     {% endfor %} |        {{nameform.errors}} | ||||||
|     {% for error in surnameform.errors %} |        {{surnameform.errors}} | ||||||
|        <p id="error">Error in surname: {{error}}</p> |     </div> | ||||||
|     {% endfor %} |     <hr> | ||||||
|  |   {% endif %} | ||||||
| <form method="post">{% csrf_token %} | <form method="post">{% csrf_token %} | ||||||
| <tr> | <tr> | ||||||
|  <td colspan="4" id="subtitle">{{nameform|render_name:user}}</td> |  <td colspan="4" id="subtitle">{{nameform|render_name:user}}</td> | ||||||
|   | |||||||
| @@ -126,3 +126,51 @@ class FamilyForm(forms.ModelForm): | |||||||
|     class Meta: |     class Meta: | ||||||
|         model = Family |         model = Family | ||||||
|         exclude = ["handle"]  |         exclude = ["handle"]  | ||||||
|  |  | ||||||
|  | class EventForm(forms.ModelForm): | ||||||
|  |     class Meta: | ||||||
|  |         model = Event | ||||||
|  |         exclude = ["handle", "sortval", "month1", "year1", "day1", | ||||||
|  |                    "newyear", "calendar", "modifier", "quality"] | ||||||
|  |  | ||||||
|  |     def __init__(self, *args, **kwargs): | ||||||
|  |         from webapp.utils import display_date | ||||||
|  |         super(EventForm, self).__init__(*args, **kwargs) | ||||||
|  |   | ||||||
|  |         # Set the form fields based on the model object | ||||||
|  |         if kwargs.has_key('instance'): | ||||||
|  |             instance = kwargs['instance'] | ||||||
|  |             sdate = display_date(instance) | ||||||
|  |             if sdate != "0000-00-00": | ||||||
|  |                 self.initial['date'] = sdate | ||||||
|  |                 try: | ||||||
|  |                     self.data['date'] = self.initial['date'] | ||||||
|  |                 except: | ||||||
|  |                     pass | ||||||
|  |  | ||||||
|  |     def clean(self): | ||||||
|  |         from webapp.utils import dp | ||||||
|  |         data = super(EventForm, self).clean() | ||||||
|  |         dobj = dp(data.get('date')) | ||||||
|  |         if not dobj.is_valid(): | ||||||
|  |             msg = u"Invalid date format" | ||||||
|  |             self._errors["date"] = self.error_class([msg]) | ||||||
|  |             del data["date"] | ||||||
|  |         else: | ||||||
|  |             data["date"] = str(dobj) | ||||||
|  |         return data | ||||||
|  |   | ||||||
|  |     def save(self, commit=True): | ||||||
|  |         from webapp.utils import dp | ||||||
|  |         from webapp.libdjango import DjangoInterface | ||||||
|  |         dji = DjangoInterface() | ||||||
|  |         model = super(EventForm, self).save(commit=False) | ||||||
|  |         dobj = dp(self.cleaned_data['date']) | ||||||
|  |         dji.add_date(model, dobj.serialize()) | ||||||
|  |         if commit: | ||||||
|  |             model.save() | ||||||
|  |         return model | ||||||
|  |  | ||||||
|  |     date = forms.CharField(label="Date",  | ||||||
|  |                            required=False,  | ||||||
|  |                            widget=TextInput(attrs={'size':'30'})) | ||||||
|   | |||||||
| @@ -517,7 +517,7 @@ class Source(PrimaryObject): | |||||||
| class Event(DateObject, PrimaryObject): | class Event(DateObject, PrimaryObject): | ||||||
|     event_type = models.ForeignKey('EventType') |     event_type = models.ForeignKey('EventType') | ||||||
|     description = models.CharField('description', max_length=50, blank=True) |     description = models.CharField('description', max_length=50, blank=True) | ||||||
|     place = models.ForeignKey('Place', null=True) |     place = models.ForeignKey('Place', null=True, blank=True) | ||||||
|     references = generic.GenericRelation('EventRef', related_name="refs", |     references = generic.GenericRelation('EventRef', related_name="refs", | ||||||
|                                          content_type_field="object_type", |                                          content_type_field="object_type", | ||||||
|                                          object_id_field="object_id") |                                          object_id_field="object_id") | ||||||
|   | |||||||
| @@ -22,10 +22,11 @@ | |||||||
| """ Views for Person, Name, and Surname """ | """ Views for Person, Name, and Surname """ | ||||||
|  |  | ||||||
| ## Gramps Modules | ## Gramps Modules | ||||||
| from webapp.utils import _, boolean | from webapp.utils import _, boolean, update_last_changed | ||||||
| from webapp.grampsdb.models import Event | from webapp.grampsdb.models import Event | ||||||
| from webapp.grampsdb.forms import * | from webapp.grampsdb.forms import * | ||||||
| from webapp.libdjango import DjangoInterface | from webapp.libdjango import DjangoInterface | ||||||
|  | import DateHandler | ||||||
|  |  | ||||||
| ## Django Modules | ## Django Modules | ||||||
| from django.shortcuts import get_object_or_404, render_to_response, redirect | from django.shortcuts import get_object_or_404, render_to_response, redirect | ||||||
| @@ -33,6 +34,8 @@ from django.template import Context, RequestContext | |||||||
|  |  | ||||||
| ## Globals | ## Globals | ||||||
| dji = DjangoInterface() | dji = DjangoInterface() | ||||||
|  | dd = DateHandler.displayer.display | ||||||
|  | dp = DateHandler.parser.parse | ||||||
|  |  | ||||||
| def process_event(request, context, handle, action): # view, edit, save | def process_event(request, context, handle, action): # view, edit, save | ||||||
|     """ |     """ | ||||||
| @@ -41,89 +44,54 @@ def process_event(request, context, handle, action): # view, edit, save | |||||||
|     context["tview"] = _("Event") |     context["tview"] = _("Event") | ||||||
|     context["tviews"] = _("Events") |     context["tviews"] = _("Events") | ||||||
|     context["action"] = "view" |     context["action"] = "view" | ||||||
|     context["event"] = Event() |  | ||||||
|     context["object"] = Event() |  | ||||||
|     view_template = "view_event_detail.html" |     view_template = "view_event_detail.html" | ||||||
|  |  | ||||||
|     return render_to_response(view_template, context) |     if handle == "add": | ||||||
|     if request.user.is_authenticated(): |         action = "add" | ||||||
|         if action in ["edit", "view"]: |     if request.POST.has_key("action"): | ||||||
|             pf, nf, sf, person = get_person_forms(handle, empty=False) |         action = request.POST.get("action") | ||||||
|         elif action == "add": |  | ||||||
|             pf, nf, sf, person = get_person_forms(handle=None, protect=False, empty=True) |     # Handle: edit, view, add, create, save, delete | ||||||
|         elif action == "delete": |     if action == "add": | ||||||
|             pf, nf, sf, person = get_person_forms(handle, protect=False, empty=True) |         event = Event() | ||||||
|             person.delete() |         eventform = EventForm(instance=event) | ||||||
|             return redirect("/person/") |         eventform.model = event | ||||||
|         elif action in ["save", "create"]: # could be create a new person |     elif action in ["view", "edit"]:  | ||||||
|             # look up old data, if any: |         event = Event.objects.get(handle=handle) | ||||||
|             if handle: |         eventform = EventForm(instance=event) | ||||||
|                 person = Person.objects.get(handle=handle) |         eventform.model = event | ||||||
|                 name = person.name_set.get(preferred=True) |     elif action == "save":  | ||||||
|                 surname = name.surname_set.get(primary=True) |         event = Event.objects.get(handle=handle) | ||||||
|             else: # create new item |         eventform = EventForm(request.POST, instance=event) | ||||||
|                 person = Person(handle=create_id()) |         eventform.model = event | ||||||
|                 name = Name(person=person, preferred=True) |         if eventform.is_valid(): | ||||||
|                 surname = Surname(name=name, primary=True, order=1) |             update_last_changed(event, request.user.username) | ||||||
|                 surname = Surname(name=name,  |             event = eventform.save() | ||||||
|                                   primary=True,  |             dji.rebuild_cache(event) | ||||||
|                                   order=1, |             action = "view" | ||||||
|                                   name_origin_type=NameOriginType.objects.get(val=NameOriginType._DEFAULT[0])) |  | ||||||
|             # combine with user data: |  | ||||||
|             pf = PersonForm(request.POST, instance=person) |  | ||||||
|             pf.model = person |  | ||||||
|             nf = NameFormFromPerson(request.POST, instance=name) |  | ||||||
|             nf.model = name |  | ||||||
|             sf = SurnameForm(request.POST, instance=surname) |  | ||||||
|             # check if valid: |  | ||||||
|             if nf.is_valid() and pf.is_valid() and sf.is_valid(): |  | ||||||
|                 # name.preferred and surname.primary get set False in the above is_valid() |  | ||||||
|                 person = pf.save() |  | ||||||
|                 # Process data: |  | ||||||
|                 name.person = person |  | ||||||
|                 name = nf.save(commit=False) |  | ||||||
|                 # 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? |  | ||||||
|                 check_preferred(name, person) |  | ||||||
|                 name.save() |  | ||||||
|                 # Process data: |  | ||||||
|                 surname.name = name |  | ||||||
|                 surname = sf.save(commit=False) |  | ||||||
|                 # Manually set any data: |  | ||||||
|                 surname.prefix = sf.cleaned_data["prefix"] if sf.cleaned_data["prefix"] != " prefix " else "" |  | ||||||
|                 surname.primary = True # FIXME: why is this False? |  | ||||||
|                 surname.save() |  | ||||||
|                 # FIXME: last_saved, last_changed, last_changed_by |  | ||||||
|                 dji.rebuild_cache(person) |  | ||||||
|                 # FIXME: update probably_alive |  | ||||||
|                 return redirect("/person/%s" % person.handle) |  | ||||||
|         else: |         else: | ||||||
|                 # need to edit again |  | ||||||
|                 if handle: |  | ||||||
|             action = "edit" |             action = "edit" | ||||||
|  |     elif action == "create":  | ||||||
|  |         event = Event(handle=create_id()) | ||||||
|  |         eventform = EventForm(request.POST, instance=event) | ||||||
|  |         eventform.model = event | ||||||
|  |         if eventform.is_valid(): | ||||||
|  |             update_last_changed(event, request.user.username) | ||||||
|  |             event = eventform.save() | ||||||
|  |             dji.rebuild_cache(event) | ||||||
|  |             action = "view" | ||||||
|         else: |         else: | ||||||
|             action = "add" |             action = "add" | ||||||
|         else: # error? |     elif action == "delete":  | ||||||
|             raise Http404(_("Requested %s does not exist.") % "person") |         event = Event.objects.get(handle=handle) | ||||||
|     else: # not authenticated |         event.delete() | ||||||
|         # BEGIN NON-AUTHENTICATED ACCESS |         return redirect("/event/") | ||||||
|         try: |     else: | ||||||
|             person = Person.objects.get(handle=handle) |         raise Exception("Unhandled action: '%s'" % action) | ||||||
|         except: |  | ||||||
|             raise Http404(_("Requested %s does not exist.") % "person") |  | ||||||
|         if person.private: |  | ||||||
|             raise Http404(_("Requested %s does not exist.") % "person") |  | ||||||
|         pf, nf, sf, person = get_person_forms(handle, protect=True) |  | ||||||
|         # END NON-AUTHENTICATED ACCESS |  | ||||||
|     context["action"] = action |  | ||||||
|     context["view"] = "person" |  | ||||||
|     context["tview"] = _("Person") |  | ||||||
|     context["tviews"] = _("People") |  | ||||||
|     context["personform"] = pf |  | ||||||
|     context["nameform"] = nf |  | ||||||
|     context["surnameform"] = sf |  | ||||||
|     context["person"] = person |  | ||||||
|     context["object"] = person |  | ||||||
|     context["next"] = "/person/%s" % person.handle |  | ||||||
|  |  | ||||||
|  |     context["eventform"] = eventform | ||||||
|  |     context["object"] = event | ||||||
|  |     context["event"] = event | ||||||
|  |     context["action"] = action | ||||||
|  |      | ||||||
|  |     return render_to_response(view_template, context) | ||||||
|   | |||||||
| @@ -49,7 +49,8 @@ def process_family(request, context, handle, action): # view, edit, save | |||||||
|  |  | ||||||
|     # Handle: edit, view, add, create, save, delete |     # Handle: edit, view, add, create, save, delete | ||||||
|     if action == "add": |     if action == "add": | ||||||
|         family = Family(family_rel_type=FamilyRelType.objects.get( |         family = Family( | ||||||
|  |             family_rel_type=FamilyRelType.objects.get( | ||||||
|                 val=FamilyRelType._DEFAULT[0])) |                 val=FamilyRelType._DEFAULT[0])) | ||||||
|         familyform = FamilyForm(instance=family) |         familyform = FamilyForm(instance=family) | ||||||
|         familyform.model = family |         familyform.model = family | ||||||
|   | |||||||
| @@ -12,8 +12,12 @@ from webapp.dbdjango import DbDjango | |||||||
| from webapp.reports import import_file | from webapp.reports import import_file | ||||||
| from webapp.libdjango import DjangoInterface, totime, todate | from webapp.libdjango import DjangoInterface, totime, todate | ||||||
|  |  | ||||||
|  | import DateHandler | ||||||
|  |  | ||||||
| db = DbDjango() | db = DbDjango() | ||||||
| dji = DjangoInterface() | dji = DjangoInterface() | ||||||
|  | dd = DateHandler.displayer.display | ||||||
|  | dp = DateHandler.parser.parse | ||||||
|  |  | ||||||
| #def Print(m): | #def Print(m): | ||||||
| #    print m | #    print m | ||||||
|   | |||||||
| @@ -67,7 +67,7 @@ _ = lambda msg: msg | |||||||
|  |  | ||||||
| util_filters = [ | util_filters = [ | ||||||
|     'nbsp',  |     'nbsp',  | ||||||
|     'render_date', |     'date_as_text', | ||||||
|     'render_name', |     'render_name', | ||||||
|     ] |     ] | ||||||
|  |  | ||||||
| @@ -97,8 +97,9 @@ util_tags = [ | |||||||
| # | # | ||||||
| #------------------------------------------------------------------------ | #------------------------------------------------------------------------ | ||||||
| dji = libdjango.DjangoInterface() | dji = libdjango.DjangoInterface() | ||||||
| _dd = gen.datehandler.displayer.display | dd = DateHandler.displayer.display | ||||||
| _dp = gen.datehandler.parser.parse | dp = DateHandler.parser.parse | ||||||
|  | db = DbDjango() | ||||||
|  |  | ||||||
| def register_plugins(): | def register_plugins(): | ||||||
|     dbstate = DbState.DbState() |     dbstate = DbState.DbState() | ||||||
| @@ -122,7 +123,6 @@ def get_person_from_handle(db, handle): | |||||||
|  |  | ||||||
| def probably_alive(handle): | def probably_alive(handle): | ||||||
|     return False |     return False | ||||||
|     db = DbDjango() |  | ||||||
|     person = db.get_person_from_handle(handle) |     person = db.get_person_from_handle(handle) | ||||||
|     return Utils.probably_alive(person, db) |     return Utils.probably_alive(person, db) | ||||||
|  |  | ||||||
| @@ -553,7 +553,7 @@ def children_table(obj, user, action, url=None, *args): | |||||||
|                       child.gender_type, |                       child.gender_type, | ||||||
|                       childref.father_rel_type, |                       childref.father_rel_type, | ||||||
|                       childref.mother_rel_type, |                       childref.mother_rel_type, | ||||||
|                       render_date(child.birth, user), |                       date_as_text(child.birth, user), | ||||||
|                       ) |                       ) | ||||||
|             links.append(('URL', ("/person/%s" % child.handle))) |             links.append(('URL', ("/person/%s" % child.handle))) | ||||||
|         else: |         else: | ||||||
| @@ -603,7 +603,7 @@ def display_date(obj): | |||||||
|     if date_tuple: |     if date_tuple: | ||||||
|         gdate = GDate() |         gdate = GDate() | ||||||
|         gdate.unserialize(date_tuple) |         gdate.unserialize(date_tuple) | ||||||
|         return _dd(gdate) |         return dd(gdate) | ||||||
|     else: |     else: | ||||||
|         return "" |         return "" | ||||||
|  |  | ||||||
| @@ -615,13 +615,15 @@ def render(formfield, user, action, test=False, truetext="", id=None): | |||||||
|             fieldname = formfield.name # 'surname' |             fieldname = formfield.name # 'surname' | ||||||
|             try: |             try: | ||||||
|                 retval = str(getattr(formfield.form.model, fieldname)) |                 retval = str(getattr(formfield.form.model, fieldname)) | ||||||
|  |                 if retval == "True": | ||||||
|  |                     retval = "Yes" | ||||||
|  |                 elif retval == "False": | ||||||
|  |                     retval = "No" | ||||||
|             except: |             except: | ||||||
|                 # name, "prefix" |                 # name, "prefix" | ||||||
|                 try: |                 try: | ||||||
|                     retval = str(formfield.form.data[fieldname]) # formfield._data() |                     retval = str(formfield.form.data[fieldname])  | ||||||
|                 except: |                 except: | ||||||
|                     #import pdb; pdb.set_trace() |  | ||||||
|                     #retval = "[ERROR: %s]" % fieldname |  | ||||||
|                     retval = "[None]" |                     retval = "[None]" | ||||||
|         else: |         else: | ||||||
|             retval = truetext |             retval = truetext | ||||||
| @@ -684,7 +686,7 @@ def render_name(name, user): | |||||||
| def make_name(name, user): | def make_name(name, user): | ||||||
|     return render_name(name, user) |     return render_name(name, user) | ||||||
|  |  | ||||||
| def render_date(obj, user): | def date_as_text(obj, user): | ||||||
|     """ |     """ | ||||||
|     Given a Django object, render the date as text and return.  This |     Given a Django object, render the date as text and return.  This | ||||||
|     function uses authentication settings. |     function uses authentication settings. | ||||||
| @@ -695,7 +697,7 @@ def render_date(obj, user): | |||||||
|             date_tuple = dji.get_date(obj) |             date_tuple = dji.get_date(obj) | ||||||
|             if date_tuple: |             if date_tuple: | ||||||
|                 gdate = GDate().unserialize(date_tuple) |                 gdate = GDate().unserialize(date_tuple) | ||||||
|                 return _dd(gdate) |                 return dd(gdate) | ||||||
|         return "" |         return "" | ||||||
|     return "[Private]" |     return "[Private]" | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user