| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | const passwordField = AccountsTemplates.removeField('password');const emailField = AccountsTemplates.removeField('email');AccountsTemplates.addFields([{  _id: 'username',  type: 'text',  displayName: 'username',  required: true,  minLength: 2,}, emailField, passwordField, {  _id: 'invitationcode',  type: 'text',  displayName: 'Invitation Code',  required: false,  minLength: 6,  template: 'invitationCode',}]);AccountsTemplates.configure({  defaultLayout: 'userFormsLayout',  defaultContentRegion: 'content',  confirmPassword: false,  enablePasswordChange: true,  sendVerificationEmail: true,  showForgotPasswordLink: true,  onLogoutHook() {    const homePage = 'home';    if (FlowRouter.getRouteName() === homePage) {      FlowRouter.reload();    } else {      FlowRouter.go(homePage);    }  },});['signIn', 'signUp', 'resetPwd', 'forgotPwd', 'enrollAccount'].forEach(  (routeName) => AccountsTemplates.configureRoute(routeName));// We display the form to change the password in a popup window that already// have a title, so we unset the title automatically displayed by useraccounts.AccountsTemplates.configure({  texts: {    title: {      changePwd: '',    },  },});AccountsTemplates.configureRoute('changePwd', {  redirect() {    // XXX We should emit a notification once we have a notification system.    // Currently the user has no indication that his modification has been    // applied.    Popup.back();  },});if (Meteor.isServer) {  ['resetPassword-subject', 'resetPassword-text', 'verifyEmail-subject', 'verifyEmail-text', 'enrollAccount-subject', 'enrollAccount-text'].forEach((str) => {    const [templateName, field] = str.split('-');    Accounts.emailTemplates[templateName][field] = (user, url) => {      return TAPi18n.__(`email-${str}`, {        url,        user: user.getName(),        siteName: Accounts.emailTemplates.siteName,      }, user.getLanguage());    };  });}
 |