From 5ed20c09c38271f93c7fb5d780afd7d90f45704f Mon Sep 17 00:00:00 2001 From: David Kennedy Date: Tue, 14 May 2024 15:34:45 -0400 Subject: [PATCH] forms now working --- src/registrar/config/urls.py | 2 +- src/registrar/forms/user_profile.py | 46 ++++++++++++++--------------- src/registrar/templates/base.html | 2 +- src/registrar/views/user_profile.py | 19 ++++++------ 4 files changed, 35 insertions(+), 34 deletions(-) diff --git a/src/registrar/config/urls.py b/src/registrar/config/urls.py index 08383b797..380cdb803 100644 --- a/src/registrar/config/urls.py +++ b/src/registrar/config/urls.py @@ -179,7 +179,7 @@ urlpatterns = [ name="domain-users-add", ), path( - "user-profile/", + "user-profile", views.UserProfileView.as_view(), name="user-profile", ), diff --git a/src/registrar/forms/user_profile.py b/src/registrar/forms/user_profile.py index f436b5fe4..fe4d6d609 100644 --- a/src/registrar/forms/user_profile.py +++ b/src/registrar/forms/user_profile.py @@ -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 \ No newline at end of file + # 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 \ No newline at end of file diff --git a/src/registrar/templates/base.html b/src/registrar/templates/base.html index 4756f5976..efaf46dfa 100644 --- a/src/registrar/templates/base.html +++ b/src/registrar/templates/base.html @@ -158,7 +158,7 @@
  • | - Your profile + Your profile
  • | diff --git a/src/registrar/views/user_profile.py b/src/registrar/views/user_profile.py index b6ec2289d..3530cccb7 100644 --- a/src/registrar/views/user_profile.py +++ b/src/registrar/views/user_profile.py @@ -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 \ No newline at end of file + # 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 \ No newline at end of file