notify-admin-931

This commit is contained in:
Kenneth Kehl
2023-12-04 14:52:48 -08:00
parent 81f145180e
commit cee2552706
6 changed files with 38 additions and 2 deletions

View File

@@ -1279,6 +1279,23 @@ class ChangeNameForm(StripWhitespaceForm):
new_name = GovukTextInputField("Your name")
class ChangePreferredTimezoneForm(StripWhitespaceForm):
def __init__(self, *args, **kwargs):
super(ChangePreferredTimezoneForm, self).__init__(*args, **kwargs)
self.new_preferred_timezone.choices = [
("US/Eastern", "US/Eastern"),
("US/Central", "US/Central"),
("US/Mountain", "US/Mountain"),
("US/Pacific", "US/Pacific"),
("US/Hawaii", "US/Hawaii"),
]
new_preferred_timezone = GovukRadiosField(
"What timezone would you like to use?",
default="US/Eastern",
)
class ChangeEmailForm(StripWhitespaceForm):
def __init__(self, validate_email_func, *args, **kwargs):
self.validate_email_func = validate_email_func

View File

@@ -24,6 +24,7 @@ from app.main.forms import (
ChangeMobileNumberForm,
ChangeNameForm,
ChangePasswordForm,
ChangePreferredTimezoneForm,
ConfirmPasswordForm,
ServiceOnOffSettingForm,
TwoFactorForm,
@@ -61,6 +62,22 @@ def user_profile_name():
)
@main.route("/user-profile/preferred_timezone", methods=["GET", "POST"])
@user_is_logged_in
def user_profile_preferred_timezone():
form = ChangePreferredTimezoneForm(new_name=current_user.preferred_timezone)
if form.validate_on_submit():
current_user.update(preferred_timezone=form.new_preferred_timezone.data)
current_user.preferred_timezone = form.new_preferred_timezone.data
return redirect(url_for(".user_profile"))
return render_template(
"views/user-profile/change.html",
thing="preferred timezone",
form_field=form.new_preferred_timezone,
)
@main.route("/user-profile/email", methods=["GET", "POST"])
@user_is_logged_in
@user_is_gov_user

View File

@@ -54,7 +54,6 @@ class User(JSONModel, UserMixin):
super().__init__(_dict)
self.permissions = _dict.get("permissions", {})
self._platform_admin = _dict["platform_admin"]
self.preferred_timezone = "US/Eastern"
@classmethod
def from_id(cls, user_id):
@@ -366,6 +365,7 @@ class User(JSONModel, UserMixin):
"permissions": [x for x in self._permissions],
"organizations": self.organization_ids,
"current_session_id": self.current_session_id,
"preferred_timezone": self.preferred_timezone,
}
if hasattr(self, "_password"):
dct["password"] = self._password

View File

@@ -12,6 +12,7 @@ ALLOWED_ATTRIBUTES = {
"updated_by",
"current_session_id",
"email_access_validated_at",
"preferred_timezone",
}

View File

@@ -63,7 +63,7 @@
)
}}
{% endcall %}
IS IT HERE???? {{ current_user.preferred_timezone }}
{% call row() %}
{{ text_field('Preferred Timezone') }}
{{ optional_text_field(current_user.preferred_timezone) }}

View File

@@ -253,6 +253,7 @@ EXCLUDED_ENDPOINTS = tuple(
"user_profile_mobile_number_delete",
"user_profile_name",
"user_profile_password",
"user_profile_preferred_timezone",
"using_notify",
"verify",
"verify_email",