mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-06 19:23:23 +02:00
working code for form submission
This commit is contained in:
parent
f34da8029a
commit
b77b5ae689
3 changed files with 52 additions and 9 deletions
|
@ -4,6 +4,7 @@ from registrar.models.contact import Contact
|
|||
|
||||
from django.core.validators import MaxLengthValidator
|
||||
from phonenumber_field.widgets import RegionalPhoneNumberWidget
|
||||
from registrar.models.utility.domain_helper import DomainHelper
|
||||
|
||||
class UserProfileForm(forms.ModelForm):
|
||||
"""Form for updating user profile."""
|
||||
|
@ -52,3 +53,5 @@ class UserProfileForm(forms.ModelForm):
|
|||
}
|
||||
self.fields["phone"].error_messages["required"] = "Enter your phone number."
|
||||
self.domainInfo = None
|
||||
|
||||
DomainHelper.disable_field(self.fields["email"], disable_required=True)
|
|
@ -19,6 +19,17 @@ Edit your User Profile |
|
|||
Back to manage your domains
|
||||
</p>
|
||||
</a>
|
||||
{# messages block is under the back breadcrumb link #}
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="usa-alert usa-alert--{{ message.tags }} usa-alert--slim margin-bottom-3">
|
||||
<div class="usa-alert__body">
|
||||
{{ message }}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% include "includes/form_errors.html" with form=form %}
|
||||
<h1>Your profile</h1>
|
||||
<p>We require that you maintain accurate contact information. The details you provide will only be used to support the administration of .gov and won’t be made public.</p>
|
||||
<h2>Contact information</h2>
|
||||
|
|
|
@ -4,7 +4,10 @@
|
|||
|
||||
import logging
|
||||
|
||||
from django.contrib import messages
|
||||
from django.views.generic.edit import FormMixin
|
||||
from registrar.forms.user_profile import UserProfileForm
|
||||
from django.urls import reverse
|
||||
from registrar.models import (
|
||||
User,
|
||||
Contact,
|
||||
|
@ -15,7 +18,7 @@ from registrar.views.utility.permission_views import UserProfilePermissionView
|
|||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class UserProfileView(UserProfilePermissionView):
|
||||
class UserProfileView(UserProfilePermissionView, FormMixin):
|
||||
"""
|
||||
Base View for the Domain. Handles getting and setting the domain
|
||||
in session cache on GETs. Also provides methods for getting
|
||||
|
@ -38,12 +41,38 @@ class UserProfileView(UserProfilePermissionView):
|
|||
logger.info(context)
|
||||
return self.render_to_response(context)
|
||||
|
||||
# def get_context_data(self, **kwargs):
|
||||
# logger.info("in get_context_data")
|
||||
# kwargs.setdefault("view", self)
|
||||
# if self.extra_context is not None:
|
||||
# kwargs.update(self.extra_context)
|
||||
# return kwargs
|
||||
def get_success_url(self):
|
||||
"""Redirect to the overview page for the domain."""
|
||||
return reverse("user-profile")
|
||||
|
||||
# def post(self, request, *args, **kwargs):
|
||||
# # Handle POST request logic here
|
||||
# form = self.get_form()
|
||||
# if form.is_valid():
|
||||
# # Save form data or perform other actions
|
||||
# return HttpResponseRedirect(reverse('profile_success')) # Redirect to a success page
|
||||
# else:
|
||||
# # Form is not valid, re-render the page with errors
|
||||
# return self.render_to_response(self.get_context_data(form=form))
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
self.object = self.get_object()
|
||||
form = self.get_form()
|
||||
form.instance.id = self.object.id
|
||||
form.instance.created_at = self.object.created_at
|
||||
form.instance.user = self.request.user
|
||||
if form.is_valid():
|
||||
return self.form_valid(form)
|
||||
else:
|
||||
return self.form_invalid(form)
|
||||
|
||||
def form_valid(self, form):
|
||||
form.save()
|
||||
|
||||
messages.success(self.request, "Your profile has been updated.")
|
||||
|
||||
# superclass has the redirect
|
||||
return super().form_valid(form)
|
||||
|
||||
# Override get_object to return the logged-in user
|
||||
def get_object(self, queryset=None):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue