123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import type {JsonFormObject} from 'sentry/components/forms/types';
- import {t} from 'sentry/locale';
- const getUserIsNotManaged = ({user}) => !user.isManaged;
- const formGroups: JsonFormObject[] = [
- {
- // Form "section"/"panel"
- title: 'Password',
- fields: [
- {
- name: 'password',
- type: 'secret',
- autoComplete: 'current-password',
- label: t('Current Password'),
- help: t('Your current password'),
- placeholder: '',
- visible: getUserIsNotManaged,
- required: true,
- },
- {
- name: 'passwordNew',
- type: 'secret',
- autoComplete: 'new-password',
- label: t('New Password'),
- placeholder: '',
- required: true,
- visible: getUserIsNotManaged,
- validate: ({id, form}) => (form[id] !== form.passwordVerify ? [[id, '']] : []),
- },
- {
- name: 'passwordVerify',
- type: 'secret',
- autoComplete: 'new-password',
- label: t('Verify New Password'),
- help: t('Verify your new password'),
- placeholder: '',
- required: true,
- visible: getUserIsNotManaged,
- validate: ({id, form}) => {
- // If password is set, and passwords don't match, then return an error
- if (form.passwordNew && form.passwordNew !== form[id]) {
- return [[id, t('Passwords do not match')]];
- }
- return [];
- },
- },
- ],
- },
- ];
- export const route = '/settings/account/security/';
- export default formGroups;
|