2a3,9 > block append meta > meta(name="ol-reconfirmationRemoveEmail", content=reconfirmationRemoveEmail) > meta(name="ol-reconfirmedViaSAML", content=reconfirmedViaSAML) > meta(name="ol-passwordStrengthOptions", data-type="json", content=settings.passwordStrengthOptions || {}) > meta(name="ol-oauthProviders", data-type="json", content=oauthProviders) > meta(name="ol-thirdPartyIds", data-type="json", content=thirdPartyIds) > 4c11,15 < .content.content-alt --- > main.content.content-alt#main-content( > event-tracking-mb="true" > event-tracking="settings-view" > event-tracking-trigger="load" > ) 25,31c36,57 < // show the email, non-editable < .form-group < label.control-label #{translate("email")} < div.form-control( < readonly="true", < ng-non-bindable < ) #{user.email} --- > if !externalAuthenticationSystemUsed() > .form-group > label(for='email') #{translate("email")} > input.form-control( > id="email" > type='email', > name='email', > placeholder="email@example.com" > required, > ng-model="email", > ng-model-options="{ updateOn: 'blur' }" > ) > span.small.text-danger(ng-show="settingsForm.email.$invalid && settingsForm.email.$dirty") > | #{translate("must_be_email_address")} > else > // show the email, non-editable > .form-group > label.control-label #{translate("email")} > div.form-control( > readonly="true", > ng-non-bindable > ) #{user.email} 76,81c102,164 < h3 < | Set Password for Email login < p < | Note: you can not change the LDAP password from here. You can set/reset a password for < | your email login: < | #[a(href="/user/password/reset", target='_blank') Reset.] --- > h3 #{translate("change_password")} > if externalAuthenticationSystemUsed() && !settings.overleaf > p > | Password settings are managed externally > else if !hasPassword > p > | #[a(href="/user/password/reset", target='_blank') #{translate("no_existing_password")}] > else > - var submitAction > - submitAction = '/user/password/update' > form( > async-form="changepassword" > name="changePasswordForm" > action=submitAction > method="POST" > novalidate > ) > input(type="hidden", name="_csrf", value=csrfToken) > .form-group > label(for='currentPassword') #{translate("current_password")} > input.form-control( > id="currentPassword" > type='password', > name='currentPassword', > placeholder='*********', > ng-model="currentPassword", > required > ) > span.small.text-danger(ng-show="changePasswordForm.currentPassword.$invalid && changePasswordForm.currentPassword.$dirty" aria-live="polite") > | #{translate("required")} > .form-group > label(for='passwordField') #{translate("new_password")} > input.form-control( > id='passwordField', > type='password', > name='newPassword1', > placeholder='*********', > ng-model="newPassword1", > required, > complex-password > ) > span.small.text-danger(ng-show="changePasswordForm.newPassword1.$error.complexPassword && changePasswordForm.newPassword1.$dirty", ng-bind-html="complexPasswordErrorMessage" aria-live="polite") > .form-group > label(for='newPassword2') #{translate("confirm_new_password")} > input.form-control( > id="newPassword2" > type='password', > name='newPassword2', > placeholder='*********', > ng-model="newPassword2", > equals="passwordField" > ) > span.small.text-danger(ng-show="changePasswordForm.newPassword2.$error.areEqual && changePasswordForm.newPassword2.$dirty" aria-live="polite") > | #{translate("doesnt_match")} > span.small.text-danger(ng-show="!changePasswordForm.newPassword2.$error.areEqual && changePasswordForm.newPassword2.$invalid && changePasswordForm.newPassword2.$dirty" aria-live="polite") > | #{translate("invalid_password")} > .form-group > form-messages(aria-live="polite" for="changePasswordForm") > .actions > button.btn.btn-primary( > type='submit', > ng-disabled="changePasswordForm.$invalid" > ) #{translate("change")} 85a169,181 > if hasFeature('saas') > h3 > | #{translate("sharelatex_beta_program")} > > if (user.betaProgram) > p.small > | #{translate("beta_program_already_participating")} > > div > a(id="beta-program-participate-link" href="/beta/participate") #{translate("manage_beta_program_membership")} > > hr > 87,92c183,186 < | Contact < div < | If you need any help, please contact your sysadmins. < < p #{translate("need_to_leave")} < a(href, ng-click="deleteAccount()") #{translate("delete_your_account")} --- > | #{translate("sessions")} > > div > a(id="sessions-link", href="/user/sessions") #{translate("manage_sessions")} 93a188,218 > if hasFeature('oauth') > hr > include settings/user-oauth > > if hasFeature('saas') && (!externalAuthenticationSystemUsed() || (settings.createV1AccountOnLogin && settings.overleaf)) > hr > p.small > | #{translate("newsletter_info_and_unsubscribe")} > a( > href, > ng-click="unsubscribe()", > ng-show="subscribed && !unsubscribing" > ) #{translate("unsubscribe")} > span( > ng-show="unsubscribing" > ) > i.fa.fa-spin.fa-refresh(aria-hidden="true") > | #{translate("unsubscribing")} > span.text-success( > ng-show="!subscribed" > ) > i.fa.fa-check(aria-hidden="true") > | #{translate("unsubscribed")} > > if !settings.overleaf && user.overleaf > p > | Please note: If you have linked your account with Overleaf > | v2, then deleting your ShareLaTeX account will also delete > | account and all of it's associated projects and data. > p #{translate("need_to_leave")} > a(href, ng-click="deleteAccount()") #{translate("delete_your_account")} 100c225 < p !{translate("delete_account_warning_message_3")} --- > p !{translate("delete_account_warning_message_3", {}, ['strong'])} 136,143d260 < ng-model="state.confirmV1Purge" < ng-change="checkValidation()" < ).pull-left < label(style="display: inline")  I have left, purged or imported my projects on Overleaf v1 (if any)   < < div.confirmation-checkbox-wrapper < input( < type="checkbox" 147c264 < label(style="display: inline")  I understand this will delete all projects in my Overleaf v2 account (and ShareLaTeX account, if any) with email address #[em {{ userDefaultEmail }}] --- > label(style="display: inline")  I understand this will delete all projects in my Overleaf account with email address #[em {{ userDefaultEmail }}] 175,178c292 < span(ng-show="state.inflight") #{translate("deleting")}... < < script(type='text/javascript'). < window.passwordStrengthOptions = !{StringHelper.stringifyJsonForScript(settings.passwordStrengthOptions || {})} --- > span(ng-show="state.inflight") #{translate("deleting")}…