Better method for date editing; updates for DateHandler

svn: r19654
This commit is contained in:
Doug Blank
2012-05-26 01:48:59 +00:00
parent e860f32d51
commit ba9c607ae9
5 changed files with 16 additions and 34 deletions

View File

@@ -27,8 +27,8 @@
<tr> <tr>
<td class="ColumnAttribute">{{eventform.event_type.label}}:</td> <td class="ColumnAttribute">{{eventform.event_type.label}}:</td>
<td class="ColumnValue" id="data"> {% render eventform.event_type user action %}</td> <td class="ColumnValue" id="data"> {% render eventform.event_type user action %}</td>
<td class="ColumnAttribute">Date:</td> <td class="ColumnAttribute">{{eventform.text.label}}:</td>
<td class="ColumnValue" id="data">{% render eventform.date user action %}</td> <td class="ColumnValue" id="data">{% render eventform.text user action %}</td>
</tr> </tr>
<tr> <tr>
<td class="ColumnAttribute">Description:</td> <td class="ColumnAttribute">Description:</td>

View File

@@ -133,31 +133,14 @@ class EventForm(forms.ModelForm):
exclude = ["handle", "sortval", "month1", "year1", "day1", exclude = ["handle", "sortval", "month1", "year1", "day1",
"newyear", "calendar", "modifier", "quality"] "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): def clean(self):
from webapp.utils import dp from webapp.utils import dp
data = super(EventForm, self).clean() data = super(EventForm, self).clean()
dobj = dp(data.get('date')) dobj = dp(data.get('text'))
if not dobj.is_valid(): if not dobj.is_valid():
msg = u"Invalid date format" msg = u"Invalid date format"
self._errors["date"] = self.error_class([msg]) self._errors["date"] = self.error_class([msg])
del data["date"] del data["text"]
else:
data["date"] = str(dobj)
return data return data
def save(self, commit=True): def save(self, commit=True):
@@ -165,12 +148,12 @@ class EventForm(forms.ModelForm):
from webapp.libdjango import DjangoInterface from webapp.libdjango import DjangoInterface
dji = DjangoInterface() dji = DjangoInterface()
model = super(EventForm, self).save(commit=False) model = super(EventForm, self).save(commit=False)
dobj = dp(self.cleaned_data['date']) dobj = dp(self.cleaned_data['text'])
dji.add_date(model, dobj.serialize()) dji.add_date(model, dobj.serialize())
if commit: if commit:
model.save() model.save()
return model return model
date = forms.CharField(label="Date", text = forms.CharField(label="Date",
required=False, required=False,
widget=TextInput(attrs={'size':'30'})) widget=TextInput(attrs={'size':'45'}))

View File

@@ -26,7 +26,7 @@ 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 from gen.datehandler import displayer, parser
## 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
@@ -34,8 +34,8 @@ from django.template import Context, RequestContext
## Globals ## Globals
dji = DjangoInterface() dji = DjangoInterface()
dd = DateHandler.displayer.display dd = displayer.display
dp = DateHandler.parser.parse dp = parser.parse
def process_event(request, context, handle, action): # view, edit, save def process_event(request, context, handle, action): # view, edit, save
""" """

View File

@@ -11,13 +11,12 @@ from webapp.grampsdb.forms import *
from webapp.dbdjango import DbDjango 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
from gen.datehandler import displayer, parser
import DateHandler
db = DbDjango() db = DbDjango()
dji = DjangoInterface() dji = DjangoInterface()
dd = DateHandler.displayer.display dd = displayer.display
dp = DateHandler.parser.parse dp = parser.parse
#def Print(m): #def Print(m):
# print m # print m

View File

@@ -56,7 +56,7 @@ from webapp.dbdjango import DbDjango
from Simple import SimpleTable, SimpleAccess, make_basic_stylesheet from Simple import SimpleTable, SimpleAccess, make_basic_stylesheet
import Utils import Utils
import DbState import DbState
import gen.datehandler from gen.datehandler import displayer, parser
from gen.lib.date import Date as GDate, Today from gen.lib.date import Date as GDate, Today
import gen.lib import gen.lib
from gen.utils import get_birth_or_fallback, get_death_or_fallback from gen.utils import get_birth_or_fallback, get_death_or_fallback
@@ -97,8 +97,8 @@ util_tags = [
# #
#------------------------------------------------------------------------ #------------------------------------------------------------------------
dji = libdjango.DjangoInterface() dji = libdjango.DjangoInterface()
dd = DateHandler.displayer.display dd = displayer.display
dp = DateHandler.parser.parse dp = parser.parse
db = DbDjango() db = DbDjango()
def register_plugins(): def register_plugins():