Index: django/contrib/comments/models.py =================================================================== --- django/contrib/comments/models.py (revision 3137) +++ django/contrib/comments/models.py (working copy) @@ -166,6 +166,8 @@ object_id = models.IntegerField(_('object ID')) comment = models.TextField(_('comment'), maxlength=3000) person_name = models.CharField(_("person's name"), maxlength=50) + person_email = models.EmailField(_("person's e-mail address"), blank=True, null=True) + person_url = models.URLField(_("person's url"), blank=True, null=True) submit_date = models.DateTimeField(_('date/time submitted'), auto_now_add=True) is_public = models.BooleanField(_('is public')) ip_address = models.IPAddressField(_('ip address')) @@ -179,7 +181,7 @@ class Admin: fields = ( (None, {'fields': ('content_type', 'object_id', 'site')}), - ('Content', {'fields': ('person_name', 'comment')}), + ('Content', {'fields': ('person_name', 'person_email', 'person_url', 'comment')}), ('Meta', {'fields': ('submit_date', 'is_public', 'ip_address', 'approved')}), ) list_display = ('person_name', 'submit_date', 'content_type', 'get_content_object') Index: django/contrib/comments/views/comments.py =================================================================== --- django/contrib/comments/views/comments.py (revision 3137) +++ django/contrib/comments/views/comments.py (working copy) @@ -124,6 +124,8 @@ self.fields = ( forms.TextField(field_name="person_name", maxlength=50, is_required=True, validator_list=[self.hasNoProfanities]), + forms.TextField(field_name="person_email", maxlength=70), + forms.TextField(field_name="person_url", maxlength=100), forms.LargeTextField(field_name="comment", maxlength=3000, is_required=True, validator_list=[self.hasNoProfanities]), ) @@ -137,7 +139,11 @@ "Helper function" return FreeComment(None, new_data["content_type_id"], new_data["object_id"], new_data["comment"].strip(), - new_data["person_name"].strip(), datetime.datetime.now(), new_data["is_public"], + new_data["person_name"].strip(), + new_data["person_email"].strip(), + new_data["person_url"].strip(), + datetime.datetime.now(), + new_data["is_public"], new_data["ip_address"], False, settings.SITE_ID) def save(self, new_data): @@ -148,6 +154,7 @@ # the comment was posted successfully. for old_comment in FreeComment.objects.filter(content_type__id__exact=new_data["content_type_id"], object_id__exact=new_data["object_id"], person_name__exact=new_data["person_name"], + person_email__exact=new_data["person_email"], person_url__exact=new_data["person_url"], submit_date__year=today.year, submit_date__month=today.month, submit_date__day=today.day): if old_comment.comment == c.comment: Index: django/contrib/comments/templates/comments/freeform.html =================================================================== --- django/contrib/comments/templates/comments/freeform.html (revision 3137) +++ django/contrib/comments/templates/comments/freeform.html (working copy) @@ -2,6 +2,8 @@ {% if display_form %}