mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-04-18 00:01:59 -04:00
notify-admin-931
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -12,6 +12,7 @@ ALLOWED_ATTRIBUTES = {
|
||||
"updated_by",
|
||||
"current_session_id",
|
||||
"email_access_validated_at",
|
||||
"preferred_timezone",
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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) }}
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user