Explorar o código

Merge remote-tracking branch 'remotes/origin/master' into feature-meteor-files

Lauri Ojansivu %!s(int64=3) %!d(string=hai) anos
pai
achega
b378bb55ac
Modificáronse 96 ficheiros con 559 adicións e 25 borrados
  1. 37 1
      CHANGELOG.md
  2. 1 1
      Stackerfile.yml
  3. 13 0
      client/components/main/layouts.js
  4. 5 0
      client/components/settings/settingBody.jade
  5. 11 0
      client/components/settings/settingBody.js
  6. 70 1
      client/lib/keyboard.js
  7. 3 0
      client/lib/multiSelection.js
  8. 42 4
      config/accounts.js
  9. 1 1
      helm/wekan/Chart.yaml
  10. 1 1
      helm/wekan/values.yaml
  11. 3 0
      i18n/ar-EG.i18n.json
  12. 3 0
      i18n/ar.i18n.json
  13. 3 0
      i18n/bg.i18n.json
  14. 3 0
      i18n/br.i18n.json
  15. 3 0
      i18n/ca.i18n.json
  16. 3 0
      i18n/cs.i18n.json
  17. 3 0
      i18n/da.i18n.json
  18. 3 0
      i18n/de-AT.i18n.json
  19. 3 0
      i18n/de-CH.i18n.json
  20. 6 3
      i18n/de.i18n.json
  21. 3 0
      i18n/el-GR.i18n.json
  22. 3 0
      i18n/en-DE.i18n.json
  23. 3 0
      i18n/en-GB.i18n.json
  24. 3 0
      i18n/en-IT.i18n.json
  25. 3 0
      i18n/en.i18n.json
  26. 3 0
      i18n/eo.i18n.json
  27. 4 1
      i18n/es-AR.i18n.json
  28. 3 0
      i18n/es-CL.i18n.json
  29. 3 0
      i18n/es-LA.i18n.json
  30. 3 0
      i18n/es-MX.i18n.json
  31. 3 0
      i18n/es-PE.i18n.json
  32. 3 0
      i18n/es-PY.i18n.json
  33. 3 0
      i18n/es.i18n.json
  34. 3 0
      i18n/et-EE.i18n.json
  35. 3 0
      i18n/eu.i18n.json
  36. 3 0
      i18n/fa-IR.i18n.json
  37. 3 0
      i18n/fa.i18n.json
  38. 3 0
      i18n/fi.i18n.json
  39. 3 0
      i18n/fr-CH.i18n.json
  40. 3 0
      i18n/fr.i18n.json
  41. 3 0
      i18n/gl-ES.i18n.json
  42. 3 0
      i18n/gl.i18n.json
  43. 3 0
      i18n/gu-IN.i18n.json
  44. 3 0
      i18n/he.i18n.json
  45. 3 0
      i18n/hi-IN.i18n.json
  46. 3 0
      i18n/hi.i18n.json
  47. 3 0
      i18n/hr.i18n.json
  48. 3 0
      i18n/hu.i18n.json
  49. 3 0
      i18n/hy.i18n.json
  50. 3 0
      i18n/id.i18n.json
  51. 3 0
      i18n/ig.i18n.json
  52. 3 0
      i18n/it.i18n.json
  53. 3 0
      i18n/ja.i18n.json
  54. 3 0
      i18n/ka.i18n.json
  55. 3 0
      i18n/km.i18n.json
  56. 3 0
      i18n/ko.i18n.json
  57. 3 0
      i18n/lt.i18n.json
  58. 3 0
      i18n/lv.i18n.json
  59. 3 0
      i18n/mk.i18n.json
  60. 3 0
      i18n/mn.i18n.json
  61. 3 0
      i18n/ms-MY.i18n.json
  62. 3 0
      i18n/nb.i18n.json
  63. 6 3
      i18n/nl.i18n.json
  64. 3 0
      i18n/oc.i18n.json
  65. 3 0
      i18n/pa.i18n.json
  66. 3 0
      i18n/pl.i18n.json
  67. 3 0
      i18n/pt-BR.i18n.json
  68. 3 0
      i18n/pt.i18n.json
  69. 3 0
      i18n/ro.i18n.json
  70. 3 0
      i18n/ru-UA.i18n.json
  71. 3 0
      i18n/ru.i18n.json
  72. 3 0
      i18n/sk.i18n.json
  73. 3 0
      i18n/sl.i18n.json
  74. 3 0
      i18n/sr.i18n.json
  75. 3 0
      i18n/sv.i18n.json
  76. 3 0
      i18n/sw.i18n.json
  77. 3 0
      i18n/ta.i18n.json
  78. 3 0
      i18n/th.i18n.json
  79. 3 0
      i18n/tr.i18n.json
  80. 3 0
      i18n/uk-UA.i18n.json
  81. 3 0
      i18n/uk.i18n.json
  82. 3 0
      i18n/vi.i18n.json
  83. 3 0
      i18n/zh-CN.i18n.json
  84. 3 0
      i18n/zh-HK.i18n.json
  85. 3 0
      i18n/zh-TW.i18n.json
  86. 25 0
      models/settings.js
  87. 1 1
      package-lock.json
  88. 1 1
      package.json
  89. 88 0
      packages/wekan-oidc/loginHandler.js
  90. 19 0
      packages/wekan-oidc/oidc_server.js
  91. 1 0
      packages/wekan-oidc/package.js
  92. 3 3
      public/api/wekan.html
  93. 1 1
      public/api/wekan.yml
  94. 2 2
      sandstorm-pkgdef.capnp
  95. 1 0
      server/publications/settings.js
  96. 1 1
      snapcraft.yaml

+ 37 - 1
CHANGELOG.md

@@ -1,15 +1,51 @@
 [Mac ChangeLog](https://github.com/wekan/wekan/wiki/Mac)
 
-# Upcoming WeKan ® release
+# v6.09 2022-02-28 WeKan ® release
+
+This release tries to fix the following bugs:
+
+- [Try to fix Admin Panel / Disable Registration and Disable Forgot Password](https://github.com/wekan/wekan/commit/0775e2a3e5c5d98e4d8c1954a15beb0688c73075).
+  Thanks to urmel1960, Ben0it-T and xet7.
+
+Thanks to above GitHub users for their contributions and translators for their translations.
+
+# v6.08 2022-02-27 WeKan ® release
+
+This release tries to fix the following bugs:
+
+- [Try to allow register and login](https://github.com/wekan/wekan/commit/3076547cee3a5fabe8df106ddbbd6ce1e6c91a8b).
+  Thanks to xet7.
+
+Thanks to above GitHub users for their contributions and translators for their translations.
+
+# v6.07 2022-02-26 WeKan ® release
 
 This release fixes the following bugs:
 
+- [Fix Forgot Password to be optional](https://github.com/wekan/wekan/commit/9bd68794555009f5eabad269ed642efa4e3010f1).
+  Thanks to xet7.
+
+Thanks to above GitHub users for their contributions and translators for their translations.
+
+# v6.06 2022-02-26 WeKan ® release
+
+This release adds the following new features:
+
+- [Feature/shortcuts for label assignment](https://github.com/wekan/wekan/pull/4377).
+  Thanks to Viehlieb.
+- [Feature/propagate OIDC data](https://github.com/wekan/wekan/pull/4379).
+  Thanks to Viehlieb.
+
+and fixes the following bugs:
+
 - [Global search: Card Details popup opens now in normal view even if maximized card is configured](https://github.com/wekan/wekan/pull/4352).
   Thanks to mfilser.
 - [Card details, fix header while scrolling](https://github.com/wekan/wekan/pull/4358).
   Thanks to mfilser.
 - [Add subscription to announcements, so that system wide announcements are shown to all](https://github.com/wekan/wekan/pull/4375).
   Thanks to pablo-ng.
+- [Fixed Disable Self-Registration. Added Disable Forgot Password to same Admin Panel page](https://github.com/wekan/wekan/commit/b85db43c4755cf54e550f664311cd95097d68ae1).
+  Thanks to xet7.
 
 Thanks to above GitHub users for their contributions and translators for their translations.
 

+ 1 - 1
Stackerfile.yml

@@ -1,5 +1,5 @@
 appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
-appVersion: "v6.05.0"
+appVersion: "v6.09.0"
 files:
   userUploads:
     - README.md

+ 13 - 0
client/components/main/layouts.js

@@ -53,6 +53,19 @@ Template.userFormsLayout.onCreated(function() {
       $('.at-pwd-form').hide();
     }
   });
+
+  Meteor.call('isDisableRegistration', (_, result) => {
+    if (result) {
+      $('.at-signup-link').hide();
+    }
+  });
+
+  Meteor.call('isDisableForgotPassword', (_, result) => {
+    if (result) {
+      $('.at-pwd-link').hide();
+    }
+  });
+
 });
 
 Template.userFormsLayout.onRendered(() => {

+ 5 - 0
client/components/settings/settingBody.jade

@@ -63,6 +63,11 @@ template(name="webhookSettings")
 
 template(name="general")
   ul#registration-setting.setting-detail
+    li
+      a.flex.js-toggle-forgot-password
+        .materialCheckBox(class="{{#if currentSetting.disableForgotPassword}}is-checked{{/if}}")
+
+        span {{_ 'disable-forgot-password'}}
     li
       a.flex.js-toggle-registration
         .materialCheckBox(class="{{#if currentSetting.disableRegistration}}is-checked{{/if}}")

+ 11 - 0
client/components/settings/settingBody.js

@@ -4,6 +4,7 @@ BlazeComponent.extendComponent({
   onCreated() {
     this.error = new ReactiveVar('');
     this.loading = new ReactiveVar(false);
+    this.forgotPasswordSetting = new ReactiveVar(true);
     this.generalSetting = new ReactiveVar(true);
     this.emailSetting = new ReactiveVar(false);
     this.accountSetting = new ReactiveVar(false);
@@ -56,6 +57,14 @@ BlazeComponent.extendComponent({
       },
     );
   },
+  toggleForgotPassword() {
+    this.setLoading(true);
+    const forgotPasswordClosed = this.currentSetting().disableForgotPassword;
+    Settings.update(Settings.findOne()._id, {
+      $set: { disableForgotPassword: !forgotPasswordClosed },
+    });
+    this.setLoading(false);
+  },
   toggleRegistration() {
     this.setLoading(true);
     const registrationClosed = this.currentSetting().disableRegistration;
@@ -84,6 +93,7 @@ BlazeComponent.extendComponent({
       $('.side-menu li.active').removeClass('active');
       target.parent().addClass('active');
       const targetID = target.data('id');
+      this.forgotPasswordSetting.set('forgot-password-setting' === targetID);
       this.generalSetting.set('registration-setting' === targetID);
       this.emailSetting.set('email-setting' === targetID);
       this.accountSetting.set('account-setting' === targetID);
@@ -267,6 +277,7 @@ BlazeComponent.extendComponent({
   events() {
     return [
       {
+        'click a.js-toggle-forgot-password': this.toggleForgotPassword,
         'click a.js-toggle-registration': this.toggleRegistration,
         'click a.js-toggle-tls': this.toggleTLS,
         'click a.js-setting-menu': this.switchMenu,

+ 70 - 1
client/lib/keyboard.js

@@ -8,7 +8,7 @@ function getHoveredCardId() {
 }
 
 function getSelectedCardId() {
-  return Session.get('selectedCard') || getHoveredCardId();
+  return Session.get('currentCard') || Session.get('selectedCard') || getHoveredCardId();
 }
 
 Mousetrap.bind('?', () => {
@@ -68,6 +68,67 @@ Mousetrap.bind(['down', 'up'], (evt, key) => {
   }
 });
 
+numbArray = _.range(1,10).map(x => 'shift+'+String(x))
+Mousetrap.bind(numbArray, (evt, key) => {
+  num = parseInt(key.substr(6, key.length));
+  const currentUserId = Meteor.userId();
+  if (currentUserId === null) {
+    return;
+  }
+  const currentBoardId = Session.get('currentBoard');
+  board = Boards.findOne(currentBoardId);
+  labels = board.labels;
+  if(MultiSelection.isActive())
+  {
+    const cardIds = MultiSelection.getSelectedCardIds();
+    for (const cardId of cardIds)
+    {
+      card = Cards.findOne(cardId);
+      if(num <= board.labels.length)
+      {
+        card.removeLabel(labels[num-1]["_id"]);
+      }
+    }
+  }
+});
+
+numArray = _.range(1,10).map(x => String(x))
+Mousetrap.bind(numArray, (evt, key) => {
+  num = parseInt(key);
+  const currentUserId = Meteor.userId();
+  const currentBoardId = Session.get('currentBoard');
+  if (currentUserId === null) {
+    return;
+  }
+  board = Boards.findOne(currentBoardId);
+  labels = board.labels;
+  if(MultiSelection.isActive() && Meteor.user().isBoardMember())
+  {
+    const cardIds = MultiSelection.getSelectedCardIds();
+    for (const cardId of cardIds)
+    {
+      card = Cards.findOne(cardId);
+      if(num <= board.labels.length)
+      {
+        card.addLabel(labels[num-1]["_id"]);
+      }
+    }
+    return;
+  }
+
+  const cardId = getSelectedCardId();
+  if (!cardId) {
+    return;
+  }
+  if (Meteor.user().isBoardMember()) {
+    const card = Cards.findOne(cardId);
+    if(num <= board.labels.length)
+    {
+      card.toggleLabel(labels[num-1]["_id"]);
+    }
+  }
+});
+
 Mousetrap.bind('space', evt => {
   const cardId = getSelectedCardId();
   if (!cardId) {
@@ -154,5 +215,13 @@ Template.keyboardShortcuts.helpers({
       keys: ['c'],
       action: 'archive-card',
     },
+    {
+      keys: ['number keys 1-9'],
+      action: 'toggle-labels'
+    },
+    {
+      keys: ['shift + number keys 1-9'],
+      action: 'remove-labels-multiselect'
+    },
   ],
 });

+ 3 - 0
client/lib/multiSelection.js

@@ -83,6 +83,9 @@ MultiSelection = {
   isEmpty() {
     return this.count() === 0;
   },
+  getSelectedCardIds(){
+    return this._selectedCards.curValue;
+  },
 
   activate() {
     if (!this.isActive()) {

+ 42 - 4
config/accounts.js

@@ -1,5 +1,32 @@
 const passwordField = AccountsTemplates.removeField('password');
 const emailField = AccountsTemplates.removeField('email');
+let disableRegistration = false;
+let disableForgotPassword = false;
+let passwordLoginDisabled = false;
+
+Meteor.call('isPasswordLoginDisabled', (_, result) => {
+  if (result) {
+    passwordLoginDisabled = true;
+    //console.log('passwordLoginDisabled');
+    //console.log(result);
+  }
+});
+
+Meteor.call('isDisableRegistration', (_, result) => {
+  if (result) {
+    disableRegistration = true;
+    //console.log('disableRegistration');
+    //console.log(result);
+  }
+});
+
+Meteor.call('isDisableForgotPassword', (_, result) => {
+  if (result) {
+    disableForgotPassword = true;
+    //console.log('disableForgotPassword');
+    //console.log(result);
+  }
+});
 
 AccountsTemplates.addFields([
   {
@@ -27,7 +54,8 @@ AccountsTemplates.configure({
   confirmPassword: true,
   enablePasswordChange: true,
   sendVerificationEmail: true,
-  showForgotPasswordLink: true,
+  showForgotPasswordLink: !disableForgotPassword,
+  forbidClientAccountCreation: disableRegistration,
   onLogoutHook() {
     const homePage = 'home';
     if (FlowRouter.getRouteName() === homePage) {
@@ -38,11 +66,21 @@ AccountsTemplates.configure({
   },
 });
 
+if (!disableForgotPassword) {
+  [
+    'forgotPwd',
+    'resetPwd',
+  ].forEach(routeName => AccountsTemplates.configureRoute(routeName));
+}
+
+if (!disableRegistration) {
+  [
+    'signUp',
+  ].forEach(routeName => AccountsTemplates.configureRoute(routeName));
+}
+
 [
   'signIn',
-  'signUp',
-  'resetPwd',
-  'forgotPwd',
   'enrollAccount',
 ].forEach(routeName => AccountsTemplates.configureRoute(routeName));
 

+ 1 - 1
helm/wekan/Chart.yaml

@@ -1,5 +1,5 @@
 apiVersion: v2
-appVersion: "6.05"
+appVersion: "6.09"
 dependencies:
   - condition: mongodb.enabled
     name: mongodb

+ 1 - 1
helm/wekan/values.yaml

@@ -14,7 +14,7 @@ serviceAccounts:
 ##
 image:
   repository: quay.io/wekan/wekan
-  tag: v6.05
+  tag: v6.09
   pullPolicy: IfNotPresent
 
 ## Configuration for wekan component

+ 3 - 0
i18n/ar-EG.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/ar.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "الوقت",
     "title": "عنوان",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "تتبع",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "النوع",
@@ -610,6 +612,7 @@
     "people": "الناس",
     "registration": "تسجيل",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "دعوة",
     "invite-people": "الناس المدعوين",
     "to-boards": "إلى اللوحات",

+ 3 - 0
i18n/bg.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Има карти с изработено време",
     "time": "Време",
     "title": "Заглавие",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Следене",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Тип",
@@ -610,6 +612,7 @@
     "people": "Хора",
     "registration": "Регистрация",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Покани",
     "invite-people": "Покани хора",
     "to-boards": "в табло/а",

+ 3 - 0
i18n/br.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/ca.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Té fitxes amb temps dedicat",
     "time": "Hora",
     "title": "Títol",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "En seguiment",
     "tracking-info": "Seràs notificat per cada canvi a aquelles fitxes de les que n'eres creador o membre",
     "type": "Tipus",
@@ -610,6 +612,7 @@
     "people": "Persones",
     "registration": "Registre",
     "disable-self-registration": "Deshabilita Auto-Registre",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Convida",
     "invite-people": "Convida a persones",
     "to-boards": "Al tauler(s)",

+ 3 - 0
i18n/cs.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Obsahuje karty se stráveným časem",
     "time": "Čas",
     "title": "Název",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Pozorující",
     "tracking-info": "Budete informováni o všech změnách v kartách, u kterých jste tvůrce nebo člen.",
     "type": "Typ",
@@ -610,6 +612,7 @@
     "people": "Lidé",
     "registration": "Registrace",
     "disable-self-registration": "Vypnout svévolnou registraci",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Pozvánka",
     "invite-people": "Pozvat lidi",
     "to-boards": "Do tabel",

+ 3 - 0
i18n/da.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Har kort med anvendt tid",
     "time": "Tid",
     "title": "Titel",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Sporing",
     "tracking-info": "Du vil få notifikation om alle ændringer i kort som du har oprettet eller er medlem af.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "Personer",
     "registration": "Tilmelding",
     "disable-self-registration": "Slå selv-tilmelding fra",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invitér",
     "invite-people": "Invitér personer",
     "to-boards": "Til tavle(r)",

+ 3 - 0
i18n/de-AT.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Hat Karten mit aufgewendeten Zeiten",
     "time": "Zeit",
     "title": "Titel",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Folgen",
     "tracking-info": "Sie werden über alle Änderungen an Karten benachrichtigt, an denen Sie als Ersteller oder Mitglied beteiligt sind.",
     "type": "Typ",
@@ -610,6 +612,7 @@
     "people": "Nutzer",
     "registration": "Registrierung",
     "disable-self-registration": "Selbstregistrierung deaktivieren",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Einladen",
     "invite-people": "Nutzer einladen",
     "to-boards": "In Board(s)",

+ 3 - 0
i18n/de-CH.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Hat Karten mit aufgewendeten Zeiten",
     "time": "Zeit",
     "title": "Titel",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Folgen",
     "tracking-info": "Sie werden über alle Änderungen an Karten benachrichtigt, an denen Sie als Ersteller oder Mitglied beteiligt sind.",
     "type": "Typ",
@@ -610,6 +612,7 @@
     "people": "Nutzer",
     "registration": "Registrierung",
     "disable-self-registration": "Selbstregistrierung deaktivieren",
+    "disable-forgot-password": "\"Passwort vergessen\" deaktivieren",
     "invite": "Einladen",
     "invite-people": "Nutzer einladen",
     "to-boards": "In Board(s)",

+ 6 - 3
i18n/de.i18n.json

@@ -435,7 +435,7 @@
     "import-board-instruction-wekan": "Gehen Sie in Ihrem Board auf 'Menü', danach auf 'Board exportieren' und kopieren Sie den Text aus der heruntergeladenen Datei.",
     "import-board-instruction-about-errors": "Treten beim importieren eines Board Fehler auf, so kann der Import dennoch erfolgreich abgeschlossen sein und das Board ist auf der Seite \"Alle Boards\" zusehen.",
     "import-json-placeholder": "Fügen Sie die korrekten JSON-Daten hier ein",
-    "import-csv-placeholder": "Fügen Sie die korrekten CSV/TSV-Daten hier ein ",
+    "import-csv-placeholder": "Fügen Sie die korrekten CSV/TSV-Daten hier ein",
     "import-map-members": "Mitglieder zuordnen",
     "import-members-map": "Das importierte Board hat einige Mitglieder. Bitte ordnen sie die Mitglieder, die Sie importieren wollen, Ihren Benutzern zu.",
     "import-members-map-note": "Anmerkung: Nicht zugeordnete Mitglieder werden dem aktuellen Benutzer zugeordnet.",
@@ -537,7 +537,7 @@
     "save": "Speichern",
     "search": "Suchen",
     "rules": "Regeln",
-    "search-cards": "Suche nach Karten-/Listentiteln, Beschreibungen und personalisierten Feldern auf diesem Brett ",
+    "search-cards": "Suche nach Karten-/Listentiteln, Beschreibungen und personalisierten Feldern auf diesem Brett",
     "search-example": "Suchtext eingeben und Enter drücken",
     "select-color": "Farbe auswählen",
     "select-board": "Board auswählen",
@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Hat Karten mit aufgewendeten Zeiten",
     "time": "Zeit",
     "title": "Titel",
+    "toggle-labels": "Label 1-9 zur Karte hinzufügen. Bei Mehrfachauswahl Label 1-9 hinzufügen",
+    "remove-labels-multiselect": "Labels 1-9 bei Karten-Mehrfachauswahl entfernen",
     "tracking": "Folgen",
     "tracking-info": "Sie werden über alle Änderungen an Karten benachrichtigt, an denen Sie als Ersteller oder Mitglied beteiligt sind.",
     "type": "Typ",
@@ -609,7 +611,8 @@
     "settings": "Einstellungen",
     "people": "Nutzer",
     "registration": "Registrierung",
-    "disable-self-registration": "Selbstregistrierung deaktivieren",
+    "disable-self-registration": "Selbstregistrierung deaktivierenSelbstregistrierung deaktivieren",
+    "disable-forgot-password": "\"Passwort vergessen\" deaktivieren",
     "invite": "Einladen",
     "invite-people": "Nutzer einladen",
     "to-boards": "In Board(s)",

+ 3 - 0
i18n/el-GR.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Έχει κάρτες με δαπανηθέντα χρόνο",
     "time": "Ώρα",
     "title": "Τίτλος",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Καταγραφή",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Τύπος",
@@ -610,6 +612,7 @@
     "people": "Άνθρωποι",
     "registration": "Εγγραφή",
     "disable-self-registration": "Απενεργοποίηση Αυτό-Εγγραφής",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Πρόσκληση",
     "invite-people": "Πρόσκάλεσε Ανθρώπους",
     "to-boards": "Στον πίνακα(ες)",

+ 3 - 0
i18n/en-DE.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/en-GB.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/en-IT.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/en.i18n.json

@@ -571,6 +571,8 @@
   "has-spenttime-cards": "Has spent time cards",
   "time": "Time",
   "title": "Title",
+  "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+  "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
   "tracking": "Tracking",
   "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
   "type": "Type",
@@ -610,6 +612,7 @@
   "people": "People",
   "registration": "Registration",
   "disable-self-registration": "Disable Self-Registration",
+  "disable-forgot-password": "Disable Forgot Password",
   "invite": "Invite",
   "invite-people": "Invite People",
   "to-boards": "To board(s)",

+ 3 - 0
i18n/eo.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Tempo",
     "title": "Titolo",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Tipo",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 4 - 1
i18n/es-AR.i18n.json

@@ -179,7 +179,7 @@
     "cardCustomFieldsPopup-title": "Editar campos personalizados",
     "cardStartVotingPopup-title": "Start a vote",
     "positiveVoteMembersPopup-title": "Proponents",
-    "negativeVoteMembersPopup-title": "Opponents",
+    "negativeVoteMembersPopup-title": "Oponentes",
     "card-edit-voting": "Edit voting",
     "editVoteEndDatePopup-title": "Change vote end date",
     "allowNonBoardMembers": "Allow all logged in users",
@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Ha gastado tarjetas de tiempo",
     "time": "Hora",
     "title": "Título",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Seguimiento",
     "tracking-info": "Serás notificado de cualquier cambio a aquellas tarjetas en las que seas creador o miembro.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "Gente",
     "registration": "Registro",
     "disable-self-registration": "Desactivar auto-registro",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invitar",
     "invite-people": "Invitar Gente",
     "to-boards": "A tarjeta(s)",

+ 3 - 0
i18n/es-CL.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Se ha excedido el tiempo de las tarjetas",
     "time": "Hora",
     "title": "Título",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Siguiendo",
     "tracking-info": "Serás notificado de cualquier cambio en las tarjetas en las que participas como creador o miembro.",
     "type": "Tipo",
@@ -610,6 +612,7 @@
     "people": "Personas",
     "registration": "Registro",
     "disable-self-registration": "Deshabilitar autoregistro",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invitar",
     "invite-people": "Invitar a personas",
     "to-boards": "A el(los) tablero(s)",

+ 3 - 0
i18n/es-LA.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/es-MX.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/es-PE.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Se ha excedido el tiempo de las tarjetas",
     "time": "Hora",
     "title": "Título",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Siguiendo",
     "tracking-info": "Será notificado de cualquier cambio en las tarjetas en las que participa como creador o miembro.",
     "type": "Tipo",
@@ -610,6 +612,7 @@
     "people": "Personas",
     "registration": "Registro",
     "disable-self-registration": "Deshabilitar autoregistro",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invitar",
     "invite-people": "Invitar a personas",
     "to-boards": "A el(los) tablero(s)",

+ 3 - 0
i18n/es-PY.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/es.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Se ha excedido el tiempo de las tarjetas",
     "time": "Hora",
     "title": "Título",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Siguiendo",
     "tracking-info": "Serás notificado de cualquier cambio en las tarjetas en las que participas como creador o miembro.",
     "type": "Tipo",
@@ -610,6 +612,7 @@
     "people": "Personas",
     "registration": "Registro",
     "disable-self-registration": "Deshabilitar autoregistro",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invitar",
     "invite-people": "Invitar a personas",
     "to-boards": "A el(los) tablero(s)",

+ 3 - 0
i18n/et-EE.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "On veetnud aega kaardid",
     "time": "Aeg",
     "title": "Pealkiri",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Jälgimine",
     "tracking-info": "Teid teavitatakse kõigist muudatustest nende kaartide puhul, millega olete seotud loojana või liikmena.",
     "type": "Tüüp",
@@ -610,6 +612,7 @@
     "people": "Inimesed",
     "registration": "Registreerimine",
     "disable-self-registration": "Iseregistreerimise väljalülitamine",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Kutsu",
     "invite-people": "Kutsuge inimesi",
     "to-boards": "Tahvli(de)le",

+ 3 - 0
i18n/eu.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Erabilitako denbora txartelak ditu",
     "time": "Ordua",
     "title": "Izenburua",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Jarraitzen",
     "tracking-info": "Sortzaile edo kide gisa parte-hartzen duzun txartelei egindako aldaketak jakinaraziko zaizkizu.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "Jendea",
     "registration": "Izen-ematea",
     "disable-self-registration": "Desgaitu nork bere burua erregistratzea",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Gonbidatu",
     "invite-people": "Gonbidatu jendea",
     "to-boards": "Arbele(ta)ra",

+ 3 - 0
i18n/fa-IR.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/fa.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "زمان",
     "title": "عنوان",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "پیگردی",
     "tracking-info": "شما از هرگونه تغییر در کارتهایی که بعنوان ایجاد کننده ویا عضو آن هستید، آگاه خواهید شد",
     "type": "نوع",
@@ -610,6 +612,7 @@
     "people": "افراد",
     "registration": "ثبت نام",
     "disable-self-registration": "‌غیرفعال‌سازی خودثبت‌نامی",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "دعوت",
     "invite-people": "دعوت از افراد",
     "to-boards": "به برد(ها)",

+ 3 - 0
i18n/fi.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Sisältää käytetty aika -kortteja",
     "time": "Aika",
     "title": "Otsikko",
+    "toggle-labels": "Muokkaa nimilappujen 1-9 näkyvyyttä kortilla. Monivalinta lisää nimilaput 1-9",
+    "remove-labels-multiselect": "Monivalinta poistaa nimilaput 1-9",
     "tracking": "Ilmoitukset",
     "tracking-info": "Sinulle ilmoitetaan muutoksista korteissa joihin olet osallistunut luojana tai jäsenenä.",
     "type": "Tyyppi",
@@ -610,6 +612,7 @@
     "people": "Ihmiset",
     "registration": "Rekisteröinti",
     "disable-self-registration": "Poista käytöstä itserekisteröityminen",
+    "disable-forgot-password": "Poista käytöstä unohditko salasanasi",
     "invite": "Kutsu",
     "invite-people": "Kutsu ihmisiä",
     "to-boards": "Taulu(i)lle",

+ 3 - 0
i18n/fr-CH.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/fr.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "A des cartes avec du temps passé",
     "time": "Temps",
     "title": "Titre",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Suivi",
     "tracking-info": "Vous serez notifié de toute modification concernant les cartes pour lesquelles vous êtes impliqué en tant que créateur ou participant.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "Personne",
     "registration": "Inscription",
     "disable-self-registration": "Désactiver l'inscription",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Inviter",
     "invite-people": "Inviter une personne",
     "to-boards": "Au(x) tableau(x)",

+ 3 - 0
i18n/gl-ES.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Hora",
     "title": "Título",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Seguimento",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "Persoas",
     "registration": "Rexistro",
     "disable-self-registration": "Desactivar o auto-rexistro",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Convidar",
     "invite-people": "Convidar persoas",
     "to-boards": "Ao(s) taboleiro(s)",

+ 3 - 0
i18n/gl.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Hora",
     "title": "Título",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Seguimento",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "Persoas",
     "registration": "Rexistro",
     "disable-self-registration": "Desactivar o auto-rexistro",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Convidar",
     "invite-people": "Convidar persoas",
     "to-boards": "Ao(s) taboleiro(s)",

+ 3 - 0
i18n/gu-IN.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/he.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "יש כרטיסי זמן שהושקע",
     "time": "זמן",
     "title": "כותרת",
+    "toggle-labels": "החלפת מצב תוויות 1-‎9 לכרטיס. בחירה מרוכזת מוסיפה תוויות 1‏-9",
+    "remove-labels-multiselect": "בחירה מרוכזת מסירה תוויות 1-‏9",
     "tracking": "מעקב",
     "tracking-info": "על כל שינוי בכרטיסים בהם הייתה לך מעורבות ברמת היצירה או כחברות תגיע אליך הודעה.",
     "type": "סוג",
@@ -610,6 +612,7 @@
     "people": "אנשים",
     "registration": "הרשמה",
     "disable-self-registration": "השבתת הרשמה עצמית",
+    "disable-forgot-password": "השבתת סיסמה שנשכחה",
     "invite": "הזמנה",
     "invite-people": "הזמנת אנשים",
     "to-boards": "ללוח/ות",

+ 3 - 0
i18n/hi-IN.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time कार्ड",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You हो जाएगा notified of any changes तक those कार्ड you are involved as creator or सदस्य.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To बोर्ड(s)",

+ 3 - 0
i18n/hi.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time कार्ड",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You हो जाएगा notified of any changes तक those कार्ड you are involved as creator or सदस्य.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To बोर्ड(s)",

+ 3 - 0
i18n/hr.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Vrijeme",
     "title": "Naziv",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "Bit ćeš obaviješten o svim promjenama na onim karticama u koje si uključen kao autor ili član.",
     "type": "Tip",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registracija",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Pozovi",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/hu.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Van eltöltött-idő kártyája",
     "time": "Idő",
     "title": "Cím",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Követés",
     "tracking-info": "Értesítve leszel az összes olyan kártya változásáról, amelyen létrehozóként vagy tagként veszel részt.",
     "type": "Típus",
@@ -610,6 +612,7 @@
     "people": "Emberek",
     "registration": "Regisztráció",
     "disable-self-registration": "Önregisztráció letiltása",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Meghívás",
     "invite-people": "Emberek meghívása",
     "to-boards": "Táblákhoz",

+ 3 - 0
i18n/hy.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/id.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Waktu",
     "title": "Judul",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Pelacakan",
     "tracking-info": "Anda akan dinotifikasi semua perubahan di kartu tersebut diaman anda terlibat sebagai creator atau partisipan",
     "type": "tipe",
@@ -610,6 +612,7 @@
     "people": "Orang-orang",
     "registration": "Registrasi",
     "disable-self-registration": "Nonaktifkan Swa Registrasi",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Undang",
     "invite-people": "Undang Orang-orang",
     "to-boards": "ke panel",

+ 3 - 0
i18n/ig.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "Ndị mmadụ",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/it.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Ci sono schede con tempo impiegato",
     "time": "Ora",
     "title": "Titolo",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Monitoraggio",
     "tracking-info": "Sarai notificato per tutte le modifiche alle schede delle quali sei creatore o membro.",
     "type": "Tipo",
@@ -610,6 +612,7 @@
     "people": "Persone",
     "registration": "Registrazione",
     "disable-self-registration": "Disabilita Auto-registrazione",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invita",
     "invite-people": "Invita persone",
     "to-boards": "Alla(e) bacheca",

+ 3 - 0
i18n/ja.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "作業時間ありのカード",
     "time": "時間",
     "title": "タイトル",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "トラッキング",
     "tracking-info": "これらのカードへの変更が通知されるようになります。",
     "type": "タイプ",
@@ -610,6 +612,7 @@
     "people": "メンバー",
     "registration": "登録",
     "disable-self-registration": "自己登録を無効化",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "招待",
     "invite-people": "メンバーを招待",
     "to-boards": "ボードへ移動",

+ 3 - 0
i18n/ka.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "აქვს გახარჯული დროის ბარათები",
     "time": "დრო",
     "title": "სათაური",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "მონიტორინგი",
     "tracking-info": "თქვენ მოგივათ შეტყობინება ამ ბარათებში განხორციელებული ნებისმიერი ცვლილებების შესახებ, როგორც შემქმნელს ან წევრს. ",
     "type": "ტიპი",
@@ -610,6 +612,7 @@
     "people": "ხალხი",
     "registration": "რეგისტრაცია",
     "disable-self-registration": "თვით რეგისტრაციის გამორთვა",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "მოწვევა",
     "invite-people": "ხალხის მოწვევა",
     "to-boards": "დაფა(ებ)ზე",

+ 3 - 0
i18n/km.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "មានកាតដែលបានចំណាយពេល",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/ko.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "시간",
     "title": "제목",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "추적",
     "tracking-info": "보드 생성자 또는 멤버로 참여하는 모든 카드에 대한 변경사항 알림 받음",
     "type": "타입",
@@ -610,6 +612,7 @@
     "people": "사람",
     "registration": "회원가입",
     "disable-self-registration": "일반 유저의 회원 가입 막기",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "초대",
     "invite-people": "사람 초대",
     "to-boards": "보드로 부터",

+ 3 - 0
i18n/lt.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/lv.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Kartiņas ar pavadīto laiku",
     "time": "Laiks",
     "title": "Nosaukums",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Sekošana",
     "tracking-info": "Saņemsiet ziņojumu par jebkādām izmaiņām kartiņās, kurām esat vai nu veidotājs vai nu dalībnieks.",
     "type": "Veids",
@@ -610,6 +612,7 @@
     "people": "Dalībnieki",
     "registration": "Reģistrācija",
     "disable-self-registration": "Atspējot dalībnieku patstāvīgu reģistrāciju",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Ielūgt",
     "invite-people": "Ielūgt dalībniekus",
     "to-boards": "Uz dēli (dēļiem)",

+ 3 - 0
i18n/mk.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Има карти с изработено време",
     "time": "Време",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Следене",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "Хора",
     "registration": "Регистрация",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Покани",
     "invite-people": "Покани хора",
     "to-boards": "в табло/а",

+ 3 - 0
i18n/mn.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/ms-MY.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/nb.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Kort med forbrukt tid",
     "time": "Tid",
     "title": "Tittel",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Sporing",
     "tracking-info": "Du vil bli varslet om alle endringer på kortene du er du er involvert i som Oppretter eller Medlem.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "Medlemmer",
     "registration": "Registrering",
     "disable-self-registration": "Deaktiver selvregistrering",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Inviter",
     "invite-people": "Invitere medlemmer",
     "to-boards": "til Tavle(r)",

+ 6 - 3
i18n/nl.i18n.json

@@ -550,9 +550,9 @@
     "shortcut-close-dialog": "Sluit dialoog",
     "shortcut-filter-my-cards": "Filter mijn kaarten",
     "shortcut-show-shortcuts": "Haal lijst met snelkoppelingen tevoorschijn",
-    "shortcut-toggle-filterbar": "Wissel Filter Zijbalk",
-    "shortcut-toggle-searchbar": "Wissel Zoek Zijbalk",
-    "shortcut-toggle-sidebar": "Wissel Bord Zijbalk",
+    "shortcut-toggle-filterbar": "Schakel Filter Zijbalk in/uit",
+    "shortcut-toggle-searchbar": "Schakel Zoek Zijbalk in/uit",
+    "shortcut-toggle-sidebar": "Schakel Bord Zijbalk in/uit",
     "show-cards-minimum-count": "Laat het aantal kaarten zien wanneer de lijst meer kaarten heeft dan",
     "sidebar-open": "Open Zijbalk",
     "sidebar-close": "Sluit Zijbalk",
@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Heeft tijd besteed aan kaarten",
     "time": "Tijd",
     "title": "Titel",
+    "toggle-labels": "Schakel labels 1-9 in/uit voor kaart. Multi-selectie voegt labels 1-9 toe.",
+    "remove-labels-multiselect": "Multi-selectie verwijderd labels 1-9",
     "tracking": "Volgen",
     "tracking-info": "Je wordt op de hoogte gesteld als er wijzigingen zijn aan de kaarten waar je lid of maker van bent.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "Gebruikers",
     "registration": "Registratie",
     "disable-self-registration": "Schakel zelf-registratie uit",
+    "disable-forgot-password": "Uitschakelen Wachtwoord Vergeten",
     "invite": "Uitnodigen",
     "invite-people": "Nodig mensen uit",
     "to-boards": "Voor bord(en)",

+ 3 - 0
i18n/oc.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Temps",
     "title": "Títol",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Mena",
@@ -610,6 +612,7 @@
     "people": "Personas",
     "registration": "Inscripcion",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Convidar",
     "invite-people": "Convidat",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/pa.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/pl.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Ma karty z wykazanym czasem pracy",
     "time": "Czas",
     "title": "Tytuł",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Śledź",
     "tracking-info": "Będziesz powiadamiany(a) o wszelkich zmianach w kartach, które stworzyłeś(aś) lub jesteś ich użytkownikiem.",
     "type": "Typ",
@@ -610,6 +612,7 @@
     "people": "Osoby",
     "registration": "Rejestracja",
     "disable-self-registration": "Wyłącz samodzielną rejestrację",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Zaproś",
     "invite-people": "Zaproś osoby",
     "to-boards": "Do tablic(y)",

+ 3 - 0
i18n/pt-BR.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Gastou cartões de tempo",
     "time": "Tempo",
     "title": "Título",
+    "toggle-labels": "Alternar etiquetas 1-9 para cartão. Multi-seleção adiciona etiquetas 1-9",
+    "remove-labels-multiselect": "Multi-seleção remove etiquetas 1-9",
     "tracking": "Rastreamento",
     "tracking-info": "Você será notificado se houver qualquer alteração em cards em que você é o criador ou membro",
     "type": "Tipo",
@@ -610,6 +612,7 @@
     "people": "Pessoas",
     "registration": "Registro",
     "disable-self-registration": "Desabilitar Cadastrar-se",
+    "disable-forgot-password": "Desabilitar Esqueceu sua senha",
     "invite": "Convite",
     "invite-people": "Convide Pessoas",
     "to-boards": "Para o/os quadro(s)",

+ 3 - 0
i18n/pt.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Tem cartões com tempo gasto",
     "time": "Tempo",
     "title": "Título",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "A seguir",
     "tracking-info": "Será notificado de quaisquer alterações em cartões em que é o criador ou membro.",
     "type": "Tipo",
@@ -610,6 +612,7 @@
     "people": "Pessoas",
     "registration": "Registo",
     "disable-self-registration": "Desabilitar Auto-Registo",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Convidar",
     "invite-people": "Convidar Pessoas",
     "to-boards": "Para o(s) quadro(s)",

+ 3 - 0
i18n/ro.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Titlu",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/ru-UA.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Имеются карточки с учетом затраченного времени",
     "time": "Время",
     "title": "Название",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Отслеживание",
     "tracking-info": "Вы будете уведомлены о любых изменениях в тех карточках, в которых вы являетесь создателем или участником.",
     "type": "Тип",
@@ -610,6 +612,7 @@
     "people": "Люди",
     "registration": "Регистрация",
     "disable-self-registration": "Отключить самостоятельную регистрацию",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Пригласить",
     "invite-people": "Пригласить людей",
     "to-boards": "В Доску(и)",

+ 3 - 0
i18n/ru.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Имеются карточки с учетом затраченного времени",
     "time": "Время",
     "title": "Название",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Отслеживание",
     "tracking-info": "Вы будете уведомлены о любых изменениях в тех карточках, в которых вы являетесь создателем или участником.",
     "type": "Тип",
@@ -610,6 +612,7 @@
     "people": "Люди",
     "registration": "Регистрация",
     "disable-self-registration": "Отключить самостоятельную регистрацию",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Пригласить",
     "invite-people": "Пригласить людей",
     "to-boards": "В Доску(и)",

+ 3 - 0
i18n/sk.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Čas",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/sl.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Ima kartice s porabljenim časom",
     "time": "Čas",
     "title": "Naslov",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Sledenje",
     "tracking-info": "Obveščeni boste o vseh spremembah nad karticami, kjer ste lastnik ali član.",
     "type": "Tip",
@@ -610,6 +612,7 @@
     "people": "Ljudje",
     "registration": "Registracija",
     "disable-self-registration": "Onemogoči samo-registracijo",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Povabi",
     "invite-people": "Povabi ljudi",
     "to-boards": "K tabli(am)",

+ 3 - 0
i18n/sr.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Vreme",
     "title": "Naslov",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Praćenje",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Tip",
@@ -610,6 +612,7 @@
     "people": "Ljudi",
     "registration": "Registracija",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/sv.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Har spenderat tidkort",
     "time": "Tid",
     "title": "Titel",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Spåra",
     "tracking-info": "Du kommer att meddelas om eventuella ändringar av dessa kort du deltar i som skapare eller medlem.",
     "type": "Skriv",
@@ -610,6 +612,7 @@
     "people": "Personer",
     "registration": "Registrering",
     "disable-self-registration": "Avaktiverar självregistrering",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Bjud in",
     "invite-people": "Bjud in personer",
     "to-boards": "Till anslagstavl(a/or)",

+ 3 - 0
i18n/sw.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/ta.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "அழைப்பு ",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/th.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "เวลา",
     "title": "หัวข้อ",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "ติดตาม",
     "tracking-info": "คุณจะได้รับแจ้งการเปลี่ยนแปลงใด ๆ กับการ์ดที่คุณมีส่วนร่วมในฐานะผู้สร้างหรือสมาชิก",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/tr.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Zaman geçirilmiş kartlar",
     "time": "Zaman",
     "title": "Başlık",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Takip",
     "tracking-info": "Oluşturduğunuz veya üyesi olduğunuz tüm kartlardaki değişiklikler size bildirim olarak gelecek.",
     "type": "Tür",
@@ -610,6 +612,7 @@
     "people": "Kullanıcılar",
     "registration": "Kayıt",
     "disable-self-registration": "Ziyaretçilere kaydı kapa",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Davet",
     "invite-people": "Kullanıcı davet et",
     "to-boards": "Şu pano(lar)a",

+ 3 - 0
i18n/uk-UA.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Час",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "Ви будете повідомлені про будь-які зміни в тих картках, в яких ви є творцем або учасником.",
     "type": "Тип",
@@ -610,6 +612,7 @@
     "people": "Люди",
     "registration": "Реєстрація",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/uk.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Час",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "Ви будете повідомлені про будь-які зміни в тих картках, в яких ви є творцем або учасником.",
     "type": "Тип",
@@ -610,6 +612,7 @@
     "people": "Люди",
     "registration": "Реєстрація",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/vi.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Đã sử dụng thẻ thời gian",
     "time": "Thời gian",
     "title": "Tiêu đề",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Đang theo dõi",
     "tracking-info": "Bạn sẽ được thông báo về bất kỳ thay đổi nào đối với những thẻ mà bạn tham gia với tư cách là người sáng tạo hoặc thành viên.",
     "type": "Kiểu",
@@ -610,6 +612,7 @@
     "people": "Mọi người",
     "registration": "Đăng ký",
     "disable-self-registration": "Vô hiệu hoá tự đăng ký",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Mời",
     "invite-people": "Mời mọi người",
     "to-boards": "Đến bảng(s)",

+ 3 - 0
i18n/zh-CN.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "耗时卡",
     "time": "时间",
     "title": "标题",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "跟踪",
     "tracking-info": "当任何包含您(作为创建者或成员)的卡片发生变更时,您将得到通知。",
     "type": "类型",
@@ -610,6 +612,7 @@
     "people": "人员",
     "registration": "注册",
     "disable-self-registration": "禁止自助注册",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "邀请",
     "invite-people": "邀请人员",
     "to-boards": "邀请到看板 (可多选)",

+ 3 - 0
i18n/zh-HK.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "Has spent time cards",
     "time": "Time",
     "title": "Title",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "Tracking",
     "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
     "type": "Type",
@@ -610,6 +612,7 @@
     "people": "People",
     "registration": "Registration",
     "disable-self-registration": "Disable Self-Registration",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "Invite",
     "invite-people": "Invite People",
     "to-boards": "To board(s)",

+ 3 - 0
i18n/zh-TW.i18n.json

@@ -571,6 +571,8 @@
     "has-spenttime-cards": "耗時卡",
     "time": "時間",
     "title": "標題",
+    "toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
+    "remove-labels-multiselect": "Multi-Selection removes labels 1-9",
     "tracking": "訂閱相關通知",
     "tracking-info": "你將會收到與你有關的卡片的所有變更通知",
     "type": "類型",
@@ -610,6 +612,7 @@
     "people": "成員",
     "registration": "註冊",
     "disable-self-registration": "關閉自我註冊",
+    "disable-forgot-password": "Disable Forgot Password",
     "invite": "邀請",
     "invite-people": "邀請成員",
     "to-boards": "至看板()",

+ 25 - 0
models/settings.js

@@ -11,6 +11,13 @@ Settings.attachSchema(
   new SimpleSchema({
     disableRegistration: {
       type: Boolean,
+      optional: true,
+      defaultValue: false,
+    },
+    disableForgotPassword: {
+      type: Boolean,
+      optional: true,
+      defaultValue: false,
     },
     'mailServer.username': {
       type: String,
@@ -435,6 +442,24 @@ if (Meteor.isServer) {
       }
     },
 
+    isDisableRegistration() {
+      const setting = Settings.findOne({});
+      if (setting.disableRegistration === true) {
+        return true;
+      } else {
+        return false;
+      }
+    },
+
+   isDisableForgotPassword() {
+      const setting = Settings.findOne({});
+      if (setting.disableForgotPassword === true) {
+        return true;
+      } else {
+        return false;
+      }
+    },
+
     getMatomoConf() {
       return {
         address: getEnvVar('MATOMO_ADDRESS'),

+ 1 - 1
package-lock.json

@@ -1,6 +1,6 @@
 {
   "name": "wekan",
-  "version": "v6.05.0",
+  "version": "v6.09.0",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "wekan",
-  "version": "v6.05.0",
+  "version": "v6.09.0",
   "description": "Open-Source kanban",
   "private": true,
   "repository": {

+ 88 - 0
packages/wekan-oidc/loginHandler.js

@@ -0,0 +1,88 @@
+module.exports = {
+  addGroups: function (user, groups){
+  teamArray=[]
+  teams = user.teams
+  if (!teams)
+  {
+    for (group of groups){
+      team = Team.findOne({"teamDisplayName": group});
+      if (team)
+    {
+      team_hash = {'teamId': team._id, 'teamDisplayName': group}
+      teamArray.push(team_hash);
+    }
+  }
+    teams = {'teams': teamArray}
+    users.update({ _id: user._id }, { $set:  teams});
+    return;
+  }
+  else{
+
+    for (group of groups){
+      team = Team.findOne({"teamDisplayName": group})
+      team_contained= false;
+      if (team)
+      {
+        team_hash = {'teamId': team._id, 'teamDisplayName': group}
+        for (const [count,teams_hash] of Object.entries(teams))
+        {
+          if (teams_hash["teamId"] === team._id)
+          {
+          team_contained=true;
+          break;
+        }
+      }
+      if (team_contained)
+      {
+        continue;
+      }
+      else
+      {
+        console.log("TEAM to be added:", team);
+        teams.push({'teamId': Team.findOne({'teamDisplayName': group})._id, 'teamDisplayName': group});
+      }
+    }
+  }
+  console.log("XXXXXXXXXXX Team Array: ", teams);
+  teams = {'teams': teams}
+  users.update({ _id: user._id }, { $set:  teams});
+  }
+},
+changeUsername: function(user, name)
+{
+  username = {'username': name};
+  if (user.username != username) users.update({ _id: user._id }, { $set:  username});
+},
+changeFullname: function(user, name)
+{
+  username = {'profile.fullname': name};
+  if (user.username != username) users.update({ _id: user._id }, { $set:  username});
+},
+addEmail: function(user, email)
+{
+  user_email = user.emails || [];
+  var contained = false;
+  position = 0;
+  for (const [count, mail_hash] of Object.entries(user_email))
+  {
+    if (mail_hash['address'] === email)
+    {
+      contained = true;
+      position = count;
+      break;
+    }
+  }
+  if(contained && position != 0)
+  {
+    user_email.splice(position,1);
+    contained = false;
+  }
+  if(!contained)
+  {
+    user_email.unshift({'address': email, 'verified': true});
+    user_email = {'emails': user_email};
+    console.log(user_email);
+    users.update({ _id: user._id }, { $set:  user_email});
+  }
+}
+}

+ 19 - 0
packages/wekan-oidc/oidc_server.js

@@ -1,3 +1,5 @@
+import {addGroups, addEmail,changeFullname, changeUsername} from './loginHandler';
+
 Oidc = {};
 httpCa = false;
 
@@ -16,6 +18,9 @@ if (process.env.OAUTH2_CA_CERT !== undefined) {
 OAuth.registerService('oidc', 2, null, function (query) {
 
   var debug = process.env.DEBUG || false;
+  console.log(process.env);
+  var propagateOidcData = process.env.PROPAGATE_OIDC_DATA || false;
+
   var token = getToken(query);
   if (debug) console.log('XXX: register token:', token);
 
@@ -73,6 +78,20 @@ OAuth.registerService('oidc', 2, null, function (query) {
   var profile = {};
   profile.name = userinfo[process.env.OAUTH2_FULLNAME_MAP]; // || userinfo["displayName"];
   profile.email = userinfo[process.env.OAUTH2_EMAIL_MAP]; // || userinfo["email"];
+  if (propagateOidcData)
+  {
+    users= Meteor.users;
+    user = users.findOne({'services.oidc.id':  serviceData.id});
+    if(user)
+    {
+      serviceData.groups = profile.groups
+      profile.groups = userinfo["groups"];
+      if(userinfo["groups"]) addGroups(user, userinfo["groups"]);
+      if(profile.email) addEmail(user, profile.email)
+      if(profile.name) changeFullname(user, profile.name)
+      if(profile.username) changeUsername(user, profile.username)
+    }
+  }
   if (debug) console.log('XXX: profile:', profile);
 
   return {

+ 1 - 0
packages/wekan-oidc/package.js

@@ -10,6 +10,7 @@ Package.onUse(function(api) {
   api.use('oauth@1.1.0', ['client', 'server']);
   api.use('http@1.1.0', ['server']);
   api.use('underscore@1.0.0', 'client');
+  api.use('ecmascript@0.9.0');
   api.use('templating@1.1.0', 'client');
   api.use('random@1.0.0', 'client');
   api.use('service-configuration@1.0.0', ['client', 'server']);

+ 3 - 3
public/api/wekan.html

@@ -7,7 +7,7 @@
     <meta charset="utf-8">
     <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
-    <title>Wekan REST API v6.05</title>
+    <title>Wekan REST API v6.09</title>
 
     <style>
     </style>
@@ -1558,7 +1558,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
 	  	<ul class="toc-list-h1">
         
           <li>
-            <a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v6.05">Wekan REST API v6.05</a>
+            <a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v6.09">Wekan REST API v6.09</a>
             
           </li>
         
@@ -2146,7 +2146,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
     <div class="page-wrapper">
       <div class="dark-box"></div>
       <div class="content">
-        <h1 id="wekan-rest-api">Wekan REST API v6.05</h1>
+        <h1 id="wekan-rest-api">Wekan REST API v6.09</h1>
 <blockquote>
 <p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
 </blockquote>

+ 1 - 1
public/api/wekan.yml

@@ -1,7 +1,7 @@
 swagger: '2.0'
 info:
   title: Wekan REST API
-  version: v6.05
+  version: v6.09
   description: |
     The REST API allows you to control and extend Wekan with ease.
 

+ 2 - 2
sandstorm-pkgdef.capnp

@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
     appTitle = (defaultText = "Wekan"),
     # The name of the app as it is displayed to the user.
 
-    appVersion = 605,
+    appVersion = 609,
     # Increment this for every release.
 
-    appMarketingVersion = (defaultText = "6.05.0~2022-02-07"),
+    appMarketingVersion = (defaultText = "6.09.0~2022-02-28"),
     # Human-readable presentation of the app version.
 
     minUpgradableAppVersion = 0,

+ 1 - 0
server/publications/settings.js

@@ -10,6 +10,7 @@ Meteor.publish('setting', () => {
     {
       fields: {
         disableRegistration: 1,
+        disableForgotPassword: 1,
         productName: 1,
         hideLogo: 1,
         customLoginLogoImageUrl: 1,

+ 1 - 1
snapcraft.yaml

@@ -1,5 +1,5 @@
 name: wekan
-version: '6.05'
+version: '6.09'
 summary: Open Source kanban
 description: |
    WeKan ® is an Open Source and collaborative kanban board application.