Merge branch 'amadilsons-softwiplimit' into devel

Soft WIP Limit. Thanks to amadilsons and xet7 ! Closes #1311
This commit is contained in:
Lauri Ojansivu 2017-11-02 01:29:49 +02:00
commit 6eef4043ca
43 changed files with 153 additions and 75 deletions

View file

@ -1,3 +1,11 @@
# Upcoming Wekan release
This release adds the following new features:
* [Soft WIP Limit](https://github.com/wekan/wekan/pull/1319).
Thanks to GitHub users amadilsons and xet7 for their contributions.
# v0.52 2017-10-31 Wekan release
This release adds the following new features:

View file

@ -79,6 +79,9 @@
.list-header-plus-icon
color: #a6a6a6
.highlight
color: #ce1414
.list-body
flex: 1
display: flex
@ -126,3 +129,9 @@
.wip-limit-error
display: none
.soft-wip-limit
margin-right: 8px
div
float: left

View file

@ -102,8 +102,7 @@ BlazeComponent.extendComponent({
reachedWipLimit() {
const list = Template.currentData();
if( !list.getWipLimit() ) { return false; }
return list.getWipLimit('enabled') && list.getWipLimit('value') === list.cards().count();
return !list.getWipLimit('soft') && list.getWipLimit('enabled') && list.getWipLimit('value') <= list.cards().count();
},
events() {

View file

@ -5,10 +5,12 @@ template(name="listHeader")
else
h2.list-header-name(
class="{{#if currentUser.isBoardMember}}js-open-inlined-form is-editable{{/if}}")
= title
if isWipLimitEnabled
span
| ({{cards.count}}/#{wipLimit.value})
= title
if wipLimit.enabled
|&nbsp;(
span(class="{{#if reachedWipLimit}}highlight{{/if}}") {{cards.count}}
|/#{wipLimit.value})
if showCardsCountForList cards.count
= cards.count
span.lowercase
@ -18,7 +20,7 @@ template(name="listHeader")
i.list-header-watch-icon.fa.fa-eye
div.list-header-menu
unless currentUser.isCommentOnly
unless isWipLimitEnabled
if canSeeAddCard
a.js-add-card.fa.fa-plus.list-header-plus-icon
a.fa.fa-navicon.js-open-list-menu
@ -86,6 +88,10 @@ template(name="setWipLimitPopup")
input.wip-limit-value(type="number" value="{{ wipLimitValue }}" min="1" max="99")
input.wip-limit-apply(type="submit" value="{{_ 'apply'}}")
input.wip-limit-error
p
.soft-wip-limit
.materialCheckBox(class="{{#if isWipLimitSoft}}is-checked{{/if}}")
label {{_ 'soft-wip-limit'}}
template(name="wipLimitErrorPopup")
.wip-limit-invalid

View file

@ -1,4 +1,9 @@
BlazeComponent.extendComponent({
canSeeAddCard() {
const list = Template.currentData();
return !list.getWipLimit('enabled') || list.getWipLimit('soft') || !this.reachedWipLimit();
},
editTitle(evt) {
evt.preventDefault();
const newTitle = this.childComponents('inlinedForm')[0].getValue().trim();
@ -13,18 +18,15 @@ BlazeComponent.extendComponent({
return list.findWatcher(Meteor.userId());
},
isWipLimitEnabled() {
const wipLimit = this.currentData().getWipLimit();
if(!wipLimit) {
return 0;
}
return wipLimit.enabled && wipLimit.value > 0;
},
limitToShowCardsCount() {
return Meteor.user().getLimitToShowCardsCount();
},
reachedWipLimit() {
const list = Template.currentData();
return list.getWipLimit('enabled') && list.getWipLimit('value') <= list.cards().count();
},
showCardsCountForList(count) {
return count > this.limitToShowCardsCount();
},
@ -82,7 +84,7 @@ BlazeComponent.extendComponent({
const list = Template.currentData();
const limit = parseInt(Template.instance().$('.wip-limit-value').val(), 10);
if(limit < list.cards().count()){
if(limit < list.cards().count() && !list.getWipLimit('soft')){
Template.instance().$('.wip-limit-error').click();
} else {
Meteor.call('applyWipLimit', list._id, limit);
@ -90,15 +92,28 @@ BlazeComponent.extendComponent({
}
},
enableSoftLimit() {
const list = Template.currentData();
if(list.getWipLimit('soft') && list.getWipLimit('value') < list.cards().count()){
list.setWipLimit(list.cards().count());
}
Meteor.call('enableSoftLimit', Template.currentData()._id);
},
enableWipLimit() {
const list = Template.currentData();
// Prevent user from using previously stored wipLimit.value if it is less than the current number of cards in the list
if(list.getWipLimit() && !list.getWipLimit('enabled') && list.getWipLimit('value') < list.cards().count()){
if(!list.getWipLimit('enabled') && list.getWipLimit('value') < list.cards().count()){
list.setWipLimit(list.cards().count());
}
Meteor.call('enableWipLimit', list._id);
},
isWipLimitSoft() {
return Template.currentData().getWipLimit('soft');
},
isWipLimitEnabled() {
return Template.currentData().getWipLimit('enabled');
},
@ -112,6 +127,7 @@ BlazeComponent.extendComponent({
'click .js-enable-wip-limit': this.enableWipLimit,
'click .wip-limit-apply': this.applyWipLimit,
'click .wip-limit-error': Popup.open('wipLimitError'),
'click .materialCheckBox': this.enableSoftLimit,
}];
},
}).register('setWipLimitPopup');

View file

@ -172,6 +172,7 @@
"edit-avatar": "تعديل الصورة الشخصية",
"edit-profile": "تعديل الملف الشخصي",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "تغيير تاريخ البدء",
"editCardDueDatePopup-title": "تغيير تاريخ الاستحقاق",
"editLabelPopup-title": "تعديل العلامة",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Change Avatar",
"edit-profile": "Edit Profile",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Change start date",
"editCardDueDatePopup-title": "Change due date",
"editLabelPopup-title": "Change Label",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Canvia Avatar",
"edit-profile": "Edita el teu Perfil",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Canvia data d'inici",
"editCardDueDatePopup-title": "Canvia data de finalització",
"editLabelPopup-title": "Canvia etiqueta",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Změnit avatar",
"edit-profile": "Upravit profil",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Změnit datum startu úkolu",
"editCardDueDatePopup-title": "Změnit datum dokončení úkolu",
"editLabelPopup-title": "Změnit štítek",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Profilbild ändern",
"edit-profile": "Profil ändern",
"edit-wip-limit": "WIP-Limit bearbeiten",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Startdatum ändern",
"editCardDueDatePopup-title": "Enddatum ändern",
"editLabelPopup-title": "Label ändern",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Change Avatar",
"edit-profile": "Edit Profile",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Change start date",
"editCardDueDatePopup-title": "Change due date",
"editLabelPopup-title": "Change Label",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Change Avatar",
"edit-profile": "Edit Profile",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Change start date",
"editCardDueDatePopup-title": "Change due date",
"editLabelPopup-title": "Change Label",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Change Avatar",
"edit-profile": "Redakti profilo",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Redakti komencdato",
"editCardDueDatePopup-title": "Change due date",
"editLabelPopup-title": "Ŝanĝi etikedo",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Cambiar Avatar",
"edit-profile": "Editar Perfil",
"edit-wip-limit": "Editar Lìmite de TEP",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Cambiar fecha de inicio",
"editCardDueDatePopup-title": "Cambiar fecha de vencimiento",
"editLabelPopup-title": "Cambiar Etiqueta",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Cambiar el avatar",
"edit-profile": "Editar el perfil",
"edit-wip-limit": "Cambiar el límite del WIP",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Cambiar la fecha de inicio",
"editCardDueDatePopup-title": "Cambiar la fecha de vencimiento",
"editLabelPopup-title": "Cambiar la etiqueta",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Aldatu avatarra",
"edit-profile": "Editatu profila",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Aldatu hasiera data",
"editCardDueDatePopup-title": "Aldatu epemuga data",
"editLabelPopup-title": "Aldatu etiketa",

View file

@ -172,6 +172,7 @@
"edit-avatar": "تغییر تصویر",
"edit-profile": "ویرایش پروفایل",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "تغییر تاریخ آغاز",
"editCardDueDatePopup-title": "تغییر تاریخ بدلیل",
"editLabelPopup-title": "تغیر برچسب",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Muokkaa profiilikuvaa",
"edit-profile": "Muokkaa profiilia",
"edit-wip-limit": "Muokkaa WIP-rajaa",
"soft-wip-limit": "Pehmeä WIP raja",
"editCardStartDatePopup-title": "Muokkaa aloituspäivää",
"editCardDueDatePopup-title": "Muokkaa eräpäivää",
"editLabelPopup-title": "Muokkaa tunnistetta",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Modifier l'avatar",
"edit-profile": "Modifier le profil",
"edit-wip-limit": "Éditer la limite WIP",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Modifier la date de début",
"editCardDueDatePopup-title": "Modifier la date d'échéance",
"editLabelPopup-title": "Modifier l'étiquette",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Cambiar de avatar",
"edit-profile": "Editar o perfil",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Cambiar a data de inicio",
"editCardDueDatePopup-title": "Cambiar a data límite",
"editLabelPopup-title": "Cambiar a etiqueta",

View file

@ -172,6 +172,7 @@
"edit-avatar": "החלפת תמונת משתמש",
"edit-profile": "עריכת פרופיל",
"edit-wip-limit": "עריכת מגבלת „בעבודה”",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "שינוי מועד התחלה",
"editCardDueDatePopup-title": "שינוי מועד סיום",
"editLabelPopup-title": "שינוי תווית",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Avatar módosítása",
"edit-profile": "Profil szerkesztése",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Kezdő dátum módosítása",
"editCardDueDatePopup-title": "Lejárati dátum módosítása",
"editLabelPopup-title": "Cimke módosítása",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Ubah Avatar",
"edit-profile": "Sunting Profil",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Ubah tanggal mulai",
"editCardDueDatePopup-title": "Ubah tanggal selesai",
"editLabelPopup-title": "Ubah Label",

View file

@ -55,7 +55,7 @@
"admin": "Amministratore",
"admin-desc": "Può vedere e modificare schede, rimuovere membri e modificare le impostazioni della bacheca.",
"admin-announcement": "Annunci",
"admin-announcement-active": "Active System-Wide Announcement",
"admin-announcement-active": "Attiva annunci di sistema",
"admin-announcement-title": "Annunci dall'Amministratore",
"all-boards": "Tutte le bacheche",
"and-n-other-card": "E __count__ altra scheda",
@ -171,7 +171,8 @@
"edit": "Modifica",
"edit-avatar": "Cambia avatar",
"edit-profile": "Modifica profilo",
"edit-wip-limit": "Edit WIP Limit",
"edit-wip-limit": "Modifica limite di work in progress",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Cambia data di inizio",
"editCardDueDatePopup-title": "Cambia data di scadenza",
"editLabelPopup-title": "Cambia etichetta",
@ -190,7 +191,7 @@
"email-sent": "Email inviata",
"email-verifyEmail-subject": "Verifica il tuo indirizzo email su on __siteName__",
"email-verifyEmail-text": "Ciao __user__,\n\nPer verificare il tuo account email, clicca sul link seguente:\n\n__url__\n\nGrazie.",
"enable-wip-limit": "Enable WIP Limit",
"enable-wip-limit": "Abilita limite di work in progress",
"error-board-doesNotExist": "Questa bacheca non esiste",
"error-board-notAdmin": "Devi essere admin di questa bacheca per poterlo fare",
"error-board-notAMember": "Devi essere un membro di questa bacheca per poterlo fare",
@ -315,7 +316,7 @@
"search": "Cerca",
"select-color": "Seleziona Colore",
"set-wip-limit-value": "Seleziona un limite per il massimo numero di attività in questa lista",
"setWipLimitPopup-title": "Set WIP Limit",
"setWipLimitPopup-title": "Imposta limite di work in progress",
"shortcut-assign-self": "Aggiungi te stesso alla scheda corrente",
"shortcut-autocomplete-emoji": "Autocompletamento emoji",
"shortcut-autocomplete-members": "Autocompletamento membri",
@ -356,9 +357,9 @@
"welcome-list1": "Basi",
"welcome-list2": "Avanzate",
"what-to-do": "Cosa vuoi fare?",
"wipLimitErrorPopup-title": "Invalid WIP Limit",
"wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
"wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
"wipLimitErrorPopup-title": "Limite work in progress non valido. ",
"wipLimitErrorPopup-dialog-pt1": "Il numero di compiti in questa lista è maggiore del limite di work in progress che hai definito in precedenza. ",
"wipLimitErrorPopup-dialog-pt2": "Per favore, sposta alcuni dei compiti fuori da questa lista, oppure imposta un limite di work in progress più alto. ",
"admin-panel": "Pannello dell'Amministratore",
"settings": "Impostazioni",
"people": "Persone",
@ -384,19 +385,19 @@
"error-notAuthorized": "Non sei autorizzato ad accedere a questa pagina.",
"outgoing-webhooks": "Server esterni",
"outgoingWebhooksPopup-title": "Server esterni",
"new-outgoing-webhook": "New Outgoing Webhook",
"new-outgoing-webhook": "Nuovo webhook in uscita",
"no-name": "(Sconosciuto)",
"Wekan_version": "Versione di Wekan",
"Node_version": "Node version",
"OS_Arch": "OS Arch",
"OS_Cpus": "OS CPU Count",
"OS_Freemem": "OS Free Memory",
"OS_Loadavg": "OS Load Average",
"OS_Platform": "OS Platform",
"OS_Release": "OS Release",
"OS_Totalmem": "OS Total Memory",
"OS_Type": "OS Type",
"OS_Uptime": "OS Uptime",
"Node_version": "Versione di Node",
"OS_Arch": "Architettura del sistema operativo",
"OS_Cpus": "Conteggio della CPU del sistema operativo",
"OS_Freemem": "Memoria libera del sistema operativo ",
"OS_Loadavg": "Carico medio del sistema operativo ",
"OS_Platform": "Piattaforma del sistema operativo",
"OS_Release": "Versione di rilascio del sistema operativo",
"OS_Totalmem": "Memoria totale del sistema operativo ",
"OS_Type": "Tipo di sistema operativo ",
"OS_Uptime": "Tempo di attività del sistema operativo. ",
"hours": "ore",
"minutes": "minuti",
"seconds": "secondi",

View file

@ -172,6 +172,7 @@
"edit-avatar": "アバターの変更",
"edit-profile": "プロフィールの編集",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "開始日の変更",
"editCardDueDatePopup-title": "期限の変更",
"editLabelPopup-title": "ラベルの変更",

View file

@ -172,6 +172,7 @@
"edit-avatar": "아바타 변경",
"edit-profile": "프로필 변경",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "시작일 변경",
"editCardDueDatePopup-title": "종료일 변경",
"editLabelPopup-title": "라벨 변경",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Endre avatar",
"edit-profile": "Edit Profile",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Change start date",
"editCardDueDatePopup-title": "Change due date",
"editLabelPopup-title": "Change Label",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Wijzig avatar",
"edit-profile": "Wijzig profiel",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Wijzig start datum",
"editCardDueDatePopup-title": "Wijzig deadline",
"editLabelPopup-title": "Wijzig label",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Zmień Avatar",
"edit-profile": "Edytuj profil",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Change start date",
"editCardDueDatePopup-title": "Change due date",
"editLabelPopup-title": "Zmień etykietę",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Alterar Avatar",
"edit-profile": "Editar Perfil",
"edit-wip-limit": "Editar Limite WIP",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Altera data de início",
"editCardDueDatePopup-title": "Altera data fim",
"editLabelPopup-title": "Alterar Etiqueta",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Change Avatar",
"edit-profile": "Edit Profile",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Change start date",
"editCardDueDatePopup-title": "Change due date",
"editLabelPopup-title": "Change Label",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Изменить аватар",
"edit-profile": "Изменить Профиль",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Сменить дату начала",
"editCardDueDatePopup-title": "Изменить дату до",
"editLabelPopup-title": "Редактирование метки",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Change Avatar",
"edit-profile": "Edit Profile",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Izmeni početni datum",
"editCardDueDatePopup-title": "Izmeni krajnji datum",
"editLabelPopup-title": "Change Label",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Ändra avatar",
"edit-profile": "Redigera profil",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Ändra startdatum",
"editCardDueDatePopup-title": "Ändra förfallodatum",
"editLabelPopup-title": "Ändra etikett",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Change Avatar",
"edit-profile": "Edit Profile",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Change start date",
"editCardDueDatePopup-title": "Change due date",
"editLabelPopup-title": "Change Label",

View file

@ -172,6 +172,7 @@
"edit-avatar": "เปลี่ยนภาพ",
"edit-profile": "แก้ไขโปรไฟล์",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "เปลี่ยนวันเริ่มต้น",
"editCardDueDatePopup-title": "เปลี่ยนวันครบกำหนด",
"editLabelPopup-title": "เปลี่ยนป้ายกำกับ",

View file

@ -2,8 +2,8 @@
"accept": "Kabul Et",
"act-activity-notify": "[Wekan] Etkinlik Bildirimi",
"act-addAttachment": "__card__ kartına __attachment__ dosyasını ekledi",
"act-addChecklist": "added checklist __checklist__ to __card__",
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
"act-addChecklist": "__card__ kartında __checklist__ yapılacak listesini ekledi",
"act-addChecklistItem": "__checklistItem__ öğesini __card__ kartındaki __checklist__ yapılacak listesine ekledi",
"act-addComment": "__card__ kartına bir yorum bıraktı: __comment__",
"act-createBoard": "__board__ panosunu oluşturdu",
"act-createCard": "__card__ kartını ___list__ listesine ekledi.",
@ -12,9 +12,9 @@
"act-archivedBoard": "__board__ panosunu arşivledi",
"act-archivedCard": "__card__ kartını arşivledi",
"act-archivedList": "__list__ listesini arşivledi",
"act-importBoard": "__board__ panosunu aktardı",
"act-importCard": "__card__ kartını aktardı",
"act-importList": "__list__ listesini aktardı",
"act-importBoard": "__board__ panosunu içe aktardı",
"act-importCard": "__card__ kartını içe aktardı",
"act-importList": "__list__ listesini içe aktardı",
"act-joinMember": "__member__ kullanıcısnı __card__ kartına ekledi",
"act-moveCard": "__card__ kartını __oldList__ listesinden __list__ listesine taşıdı",
"act-removeBoardMember": "__board__ panosundan __member__ kullanıcısını çıkarttı",
@ -54,9 +54,9 @@
"addMemberPopup-title": "Üyeler",
"admin": "Yönetici",
"admin-desc": "Kartları görüntüleyebilir ve düzenleyebilir, üyeleri çıkarabilir ve pano ayarlarını değiştirebilir.",
"admin-announcement": "Announcement",
"admin-announcement-active": "Active System-Wide Announcement",
"admin-announcement-title": "Announcement from Administrator",
"admin-announcement": "Duyuru",
"admin-announcement-active": "Tüm Sistemde Etkin Duyuru",
"admin-announcement-title": "Yöneticiden Duyuru",
"all-boards": "Tüm panolar",
"and-n-other-card": "Ve __count__ diğer kart",
"and-n-other-card_plural": "Ve __count__ diğer kart",
@ -68,7 +68,7 @@
"archive-card": "Kartı Arşivle",
"archive-list": "Listeyi Arşivle",
"archive-selection": "Seçimi arşivle",
"archiveBoardPopup-title": "Pano arşivlensin mi?",
"archiveBoardPopup-title": "Pano Arşivlensin mi?",
"archived-items": "Arşivlenmiş Öğeler",
"archived-boards": "Arşivlenmiş Panolar",
"restore-board": "Panoyu Geri Getir",
@ -89,7 +89,7 @@
"board-private-info": "Bu pano <strong>gizli</strong> olacak.",
"board-public-info": "Bu pano <strong>genel</strong>e açılacaktır.",
"boardChangeColorPopup-title": "Pano arkaplan rengini değiştir",
"boardChangeTitlePopup-title": "Pano Adı Değiştirme",
"boardChangeTitlePopup-title": "Panonun Adını Değiştir",
"boardChangeVisibilityPopup-title": "Görünebilirliği Değiştir",
"boardChangeWatchPopup-title": "İzleme Durumunu Değiştir",
"boardMenuPopup-title": "Pano menüsü",
@ -149,7 +149,7 @@
"comment-only": "Sadece yorum",
"comment-only-desc": "Sadece kartlara yorum yazabilir.",
"computer": "Bilgisayar",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"confirm-checklist-delete-dialog": "Yapılacak listesini silmek istediğinize emin misiniz",
"copy-card-link-to-clipboard": "Kartın linkini kopyala",
"copyCardPopup-title": "Kartı Kopyala",
"create": "Oluştur",
@ -171,7 +171,8 @@
"edit": "Düzenle",
"edit-avatar": "Avatar Değiştir",
"edit-profile": "Profili Düzenle",
"edit-wip-limit": "Edit WIP Limit",
"edit-wip-limit": "Devam Eden İş Sınırını Düzenle",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Başlangıç tarihini değiştir",
"editCardDueDatePopup-title": "Bitiş tarihini değiştir",
"editLabelPopup-title": "Etiket Değiştir",
@ -190,7 +191,7 @@
"email-sent": "E-posta gönderildi",
"email-verifyEmail-subject": "__siteName__ üzerindeki e-posta adresini doğrulama",
"email-verifyEmail-text": "Merhaba __user__,\n\nHesap e-posta adresini doğrulamak için aşağıdaki linke tıklaman yeterli.\n\n__url__\n\nTeşekkürler.",
"enable-wip-limit": "Enable WIP Limit",
"enable-wip-limit": "Devam Eden İş Sınırını",
"error-board-doesNotExist": "Pano bulunamadı",
"error-board-notAdmin": "Bu işlemi yapmak için pano yöneticisi olmalısın.",
"error-board-notAMember": "Bu işlemi yapmak için panoya üye olmalısın.",
@ -245,8 +246,8 @@
"language": "Dil",
"last-admin-desc": "En az bir yönetici olması gerektiğinden rolleri değiştiremezsiniz.",
"leave-board": "Panodan ayrıl",
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
"leaveBoardPopup-title": "Leave Board ?",
"leave-board-pop": "__boardTitle__ panosundan ayrılmak istediğinize emin misiniz? Panodaki tüm kartlardan kaldırılacaksınız.",
"leaveBoardPopup-title": "Panodan ayrılmak istediğinize emin misiniz?",
"link-card": "Bu kartın bağlantısı",
"list-archive-cards": "Bu liste içindeki tüm kartları arşivle",
"list-archive-cards-pop": "Bu işlem bu listedeki tüm kartları kaldıracak ve arşivleyecek. Arşivlenmiş kartları görmek ve panoya geri yüklemek için \"Menü\" altından \"Arşivlenmiş Öğeler\"e gidebilirsiniz.",
@ -314,8 +315,8 @@
"save": "Kaydet",
"search": "Arama",
"select-color": "Renk Seç",
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
"setWipLimitPopup-title": "Set WIP Limit",
"set-wip-limit-value": "Bu listedeki en fazla öğe sayısı için bir sınır belirleyin",
"setWipLimitPopup-title": "Devam Eden İş Sınırı Belirle",
"shortcut-assign-self": "Kendini karta ata",
"shortcut-autocomplete-emoji": "Emojileri otomatik tamamla",
"shortcut-autocomplete-members": "Üye isimlerini otomatik tamamla",
@ -356,9 +357,9 @@
"welcome-list1": "Temel",
"welcome-list2": "Gelişmiş",
"what-to-do": "Ne yapmak istiyorsunuz?",
"wipLimitErrorPopup-title": "Invalid WIP Limit",
"wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
"wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
"wipLimitErrorPopup-title": "Geçersiz Devam Eden İş Sınırı",
"wipLimitErrorPopup-dialog-pt1": "Bu listedeki iş sayısı belirlediğiniz sınırdan daha fazla.",
"wipLimitErrorPopup-dialog-pt2": "Lütfen bazı işleri bu listeden başka listeye taşıyın ya da devam eden iş sınırını yükseltin.",
"admin-panel": "Yönetici Paneli",
"settings": "Ayarlar",
"people": "Kullanıcılar",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Change Avatar",
"edit-profile": "Edit Profile",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Change start date",
"editCardDueDatePopup-title": "Change due date",
"editLabelPopup-title": "Change Label",

View file

@ -172,6 +172,7 @@
"edit-avatar": "Change Avatar",
"edit-profile": "Edit Profile",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Change start date",
"editCardDueDatePopup-title": "Change due date",
"editLabelPopup-title": "Change Label",

View file

@ -172,6 +172,7 @@
"edit-avatar": "更改头像",
"edit-profile": "编辑资料",
"edit-wip-limit": "编辑最大任务数",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "修改起始日期",
"editCardDueDatePopup-title": "修改截止日期",
"editLabelPopup-title": "更改标签",

View file

@ -172,6 +172,7 @@
"edit-avatar": "更改大頭貼",
"edit-profile": "編輯資料",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "更改開始日期",
"editCardDueDatePopup-title": "更改到期日期",
"editLabelPopup-title": "更改標籤",

View file

@ -182,7 +182,7 @@ Cards.helpers({
canBeRestored() {
const list = Lists.findOne({_id: this.listId});
if(list.getWipLimit() && list.getWipLimit('enabled') && list.getWipLimit('value') === list.cards().count()){
if(!list.getWipLimit('soft') && list.getWipLimit('enabled') && list.getWipLimit('value') === list.cards().count()){
return false;
}
return true;

View file

@ -49,23 +49,15 @@ Lists.attachSchema(new SimpleSchema({
'wipLimit.value': {
type: Number,
decimal: false,
autoValue() {
if(this.isInsert){
return 0;
}
return this.value;
},
optional: true,
defaultValue: 1,
},
'wipLimit.enabled':{
'wipLimit.enabled': {
type: Boolean,
autoValue() {
if(this.isInsert){
return false;
}
return this.value;
},
optional: true,
defaultValue: false,
},
'wipLimit.soft': {
type: Boolean,
defaultValue: false,
},
}));
@ -123,6 +115,10 @@ Lists.mutations({
return { $set: { archived: false } };
},
toggleSoftLimit(toggle) {
return { $set: { 'wipLimit.soft': toggle } };
},
toggleWipLimit(toggle) {
return { $set: { 'wipLimit.enabled': toggle } };
},
@ -136,17 +132,25 @@ Meteor.methods({
applyWipLimit(listId, limit){
check(listId, String);
check(limit, Number);
if(limit === 0){
limit = 1;
}
Lists.findOne({ _id: listId }).setWipLimit(limit);
},
enableWipLimit(listId) {
check(listId, String);
const list = Lists.findOne({ _id: listId });
if(list.getWipLimit()){ // Necessary check to avoid exceptions for the case where the doc doesn't have the wipLimit field yet set
list.toggleWipLimit(!list.getWipLimit('enabled'));
} else {
list.toggleWipLimit(true); // First time toggle is always to 'true' because default is 'false'
if(list.getWipLimit('value') === 0){
list.setWipLimit(1);
}
list.toggleWipLimit(!list.getWipLimit('enabled'));
},
enableSoftLimit(listId) {
check(listId, String);
const list = Lists.findOne({ _id: listId });
list.toggleSoftLimit(!list.getWipLimit('soft'));
},
});