forms now working

This commit is contained in:
David Kennedy 2024-05-14 15:34:45 -04:00
parent f9249f88cd
commit 5ed20c09c3
No known key found for this signature in database
GPG key ID: 6528A5386E66B96B
4 changed files with 35 additions and 34 deletions

View file

@ -179,7 +179,7 @@ urlpatterns = [
name="domain-users-add",
),
path(
"user-profile/<int:pk>",
"user-profile",
views.UserProfileView.as_view(),
name="user-profile",
),

View file

@ -25,30 +25,30 @@ class UserProfileForm(forms.ModelForm):
# of these fields as required
required = ["first_name", "last_name", "title", "email", "phone"]
# def __init__(self, *args, **kwargs):
# super().__init__(*args, **kwargs)
# # take off maxlength attribute for the phone number field
# # which interferes with out input_with_errors template tag
# self.fields["phone"].widget.attrs.pop("maxlength", None)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# take off maxlength attribute for the phone number field
# which interferes with out input_with_errors template tag
self.fields["phone"].widget.attrs.pop("maxlength", None)
# # Define a custom validator for the email field with a custom error message
# email_max_length_validator = MaxLengthValidator(320, message="Response must be less than 320 characters.")
# self.fields["email"].validators.append(email_max_length_validator)
# Define a custom validator for the email field with a custom error message
email_max_length_validator = MaxLengthValidator(320, message="Response must be less than 320 characters.")
self.fields["email"].validators.append(email_max_length_validator)
# for field_name in self.required:
# self.fields[field_name].required = True
for field_name in self.required:
self.fields[field_name].required = True
# # Set custom form label
# self.fields["middle_name"].label = "Middle name (optional)"
# Set custom form label
self.fields["middle_name"].label = "Middle name (optional)"
# # Set custom error messages
# self.fields["first_name"].error_messages = {"required": "Enter your first name / given name."}
# self.fields["last_name"].error_messages = {"required": "Enter your last name / family name."}
# self.fields["title"].error_messages = {
# "required": "Enter your title or role in your organization (e.g., Chief Information Officer)"
# }
# self.fields["email"].error_messages = {
# "required": "Enter your email address in the required format, like name@example.com."
# }
# self.fields["phone"].error_messages["required"] = "Enter your phone number."
# self.domainInfo = None
# Set custom error messages
self.fields["first_name"].error_messages = {"required": "Enter your first name / given name."}
self.fields["last_name"].error_messages = {"required": "Enter your last name / family name."}
self.fields["title"].error_messages = {
"required": "Enter your title or role in your organization (e.g., Chief Information Officer)"
}
self.fields["email"].error_messages = {
"required": "Enter your email address in the required format, like name@example.com."
}
self.fields["phone"].error_messages["required"] = "Enter your phone number."
self.domainInfo = None

View file

@ -158,7 +158,7 @@
</li>
<li class="usa-nav__primary-item display-flex flex-align-center margin-left-2">
<span class="text-base"> | </span>
<a href="{% url 'user-profile' pk=user.contact.id %}"><span class="text-primary">Your profile</span></a>
<a href="{% url 'user-profile' %}"><span class="text-primary">Your profile</span></a>
</li>
<li class="usa-nav__primary-item display-flex flex-align-center margin-left-2">
<span class="text-base"> | </span>

View file

@ -33,7 +33,8 @@ class UserProfileView(UserProfilePermissionView):
def get(self, request, *args, **kwargs):
logger.info("in get()")
self.object = self.get_object()
context = self.get_context_data(object=self.object)
form = self.form_class(instance=self.object)
context = self.get_context_data(object=self.object, form=form)
logger.info(context)
return self.render_to_response(context)
@ -44,11 +45,11 @@ class UserProfileView(UserProfilePermissionView):
# kwargs.update(self.extra_context)
# return kwargs
# # Override get_object to return the logged-in user
# def get_object(self, queryset=None):
# logger.info("in get_object")
# user = self.request.user # get the logged in user
# if hasattr(user, 'contact'): # Check if the user has a contact instance
# logger.info(user.contact)
# return user.contact
# return None
# Override get_object to return the logged-in user
def get_object(self, queryset=None):
logger.info("in get_object")
user = self.request.user # get the logged in user
if hasattr(user, 'contact'): # Check if the user has a contact instance
logger.info(user.contact)
return user.contact
return None