diff options
Diffstat (limited to 'app')
32 files changed, 310 insertions, 306 deletions
diff --git a/app/Api/Swimlane.php b/app/Api/Swimlane.php index 84c699ab..03a2819f 100644 --- a/app/Api/Swimlane.php +++ b/app/Api/Swimlane.php @@ -48,9 +48,11 @@ class Swimlane extends \Kanboard\Core\Base public function updateSwimlane($swimlane_id, $name, $description = null) { $values = array('id' => $swimlane_id, 'name' => $name); + if (!is_null($description)) { $values['description'] = $description; } + return $this->swimlane->update($values); } @@ -69,13 +71,8 @@ class Swimlane extends \Kanboard\Core\Base return $this->swimlane->enable($project_id, $swimlane_id); } - public function moveSwimlaneUp($project_id, $swimlane_id) - { - return $this->swimlane->moveUp($project_id, $swimlane_id); - } - - public function moveSwimlaneDown($project_id, $swimlane_id) + public function changeSwimlanePosition($project_id, $swimlane_id, $position) { - return $this->swimlane->moveDown($project_id, $swimlane_id); + return $this->swimlane->changePosition($project_id, $swimlane_id, $position); } } diff --git a/app/Controller/Column.php b/app/Controller/Column.php index e02c7dcb..66073b56 100644 --- a/app/Controller/Column.php +++ b/app/Controller/Column.php @@ -35,7 +35,6 @@ class Column extends Base public function create(array $values = array(), array $errors = array()) { $project = $this->getProject(); - $columns = $this->column->getList($project['id']); if (empty($values)) { $values = array('project_id' => $project['id']); @@ -126,7 +125,7 @@ class Column extends Base $project = $this->getProject(); $values = $this->request->getJson(); - if (! empty($values)) { + if (! empty($values) && isset($values['column_id']) && isset($values['position'])) { $result = $this->column->changePosition($project['id'], $values['column_id'], $values['position']); return $this->response->json(array('result' => $result)); } diff --git a/app/Controller/Swimlane.php b/app/Controller/Swimlane.php index 4e8c2863..8270a16f 100644 --- a/app/Controller/Swimlane.php +++ b/app/Controller/Swimlane.php @@ -36,7 +36,7 @@ class Swimlane extends Base * * @access public */ - public function index(array $values = array(), array $errors = array()) + public function index() { $project = $this->getProject(); @@ -44,10 +44,24 @@ class Swimlane extends Base 'default_swimlane' => $this->swimlane->getDefault($project['id']), 'active_swimlanes' => $this->swimlane->getAllByStatus($project['id'], SwimlaneModel::ACTIVE), 'inactive_swimlanes' => $this->swimlane->getAllByStatus($project['id'], SwimlaneModel::INACTIVE), + 'project' => $project, + 'title' => t('Swimlanes') + ))); + } + + /** + * Create a new swimlane + * + * @access public + */ + public function create(array $values = array(), array $errors = array()) + { + $project = $this->getProject(); + + $this->response->html($this->template->render('swimlane/create', array( 'values' => $values + array('project_id' => $project['id']), 'errors' => $errors, 'project' => $project, - 'title' => t('Swimlanes') ))); } @@ -67,11 +81,28 @@ class Swimlane extends Base $this->flash->success(t('Your swimlane have been created successfully.')); $this->response->redirect($this->helper->url->to('swimlane', 'index', array('project_id' => $project['id']))); } else { - $this->flash->failure(t('Unable to create your swimlane.')); + $errors = array('name' => array(t('Another swimlane with the same name exists in the project'))); } } - $this->index($values, $errors); + $this->create($values, $errors); + } + + /** + * Edit default swimlane (display the form) + * + * @access public + */ + public function editDefault(array $values = array(), array $errors = array()) + { + $project = $this->getProject(); + $swimlane = $this->swimlane->getDefault($project['id']); + + $this->response->html($this->helper->layout->project('swimlane/edit_default', array( + 'values' => empty($values) ? $swimlane : $values, + 'errors' => $errors, + 'project' => $project, + ))); } /** @@ -79,23 +110,23 @@ class Swimlane extends Base * * @access public */ - public function change() + public function updateDefault() { $project = $this->getProject(); $values = $this->request->getValues() + array('show_default_swimlane' => 0); - list($valid, ) = $this->swimlaneValidator->validateDefaultModification($values); + list($valid, $errors) = $this->swimlaneValidator->validateDefaultModification($values); if ($valid) { if ($this->swimlane->updateDefault($values)) { $this->flash->success(t('The default swimlane have been updated successfully.')); - $this->response->redirect($this->helper->url->to('swimlane', 'index', array('project_id' => $project['id']))); + $this->response->redirect($this->helper->url->to('swimlane', 'index', array('project_id' => $project['id'])), true); } else { $this->flash->failure(t('Unable to update this swimlane.')); } } - $this->index(); + $this->editDefault($values, $errors); } /** @@ -112,7 +143,6 @@ class Swimlane extends Base 'values' => empty($values) ? $swimlane : $values, 'errors' => $errors, 'project' => $project, - 'title' => t('Swimlanes') ))); } @@ -133,7 +163,7 @@ class Swimlane extends Base $this->flash->success(t('Swimlane updated successfully.')); $this->response->redirect($this->helper->url->to('swimlane', 'index', array('project_id' => $project['id']))); } else { - $this->flash->failure(t('Unable to update this swimlane.')); + $errors = array('name' => array(t('Another swimlane with the same name exists in the project'))); } } @@ -153,7 +183,6 @@ class Swimlane extends Base $this->response->html($this->helper->layout->project('swimlane/remove', array( 'project' => $project, 'swimlane' => $swimlane, - 'title' => t('Remove a swimlane') ))); } @@ -198,6 +227,25 @@ class Swimlane extends Base } /** + * Disable default swimlane + * + * @access public + */ + public function disableDefault() + { + $this->checkCSRFParam(); + $project = $this->getProject(); + + if ($this->swimlane->disableDefault($project['id'])) { + $this->flash->success(t('Swimlane updated successfully.')); + } else { + $this->flash->failure(t('Unable to update this swimlane.')); + } + + $this->response->redirect($this->helper->url->to('swimlane', 'index', array('project_id' => $project['id']))); + } + + /** * Enable a swimlane * * @access public @@ -218,32 +266,39 @@ class Swimlane extends Base } /** - * Move up a swimlane + * Enable default swimlane * * @access public */ - public function moveup() + public function enableDefault() { $this->checkCSRFParam(); $project = $this->getProject(); - $swimlane_id = $this->request->getIntegerParam('swimlane_id'); - $this->swimlane->moveUp($project['id'], $swimlane_id); + if ($this->swimlane->enableDefault($project['id'])) { + $this->flash->success(t('Swimlane updated successfully.')); + } else { + $this->flash->failure(t('Unable to update this swimlane.')); + } + $this->response->redirect($this->helper->url->to('swimlane', 'index', array('project_id' => $project['id']))); } /** - * Move down a swimlane + * Move swimlane position * * @access public */ - public function movedown() + public function move() { - $this->checkCSRFParam(); $project = $this->getProject(); - $swimlane_id = $this->request->getIntegerParam('swimlane_id'); + $values = $this->request->getJson(); - $this->swimlane->moveDown($project['id'], $swimlane_id); - $this->response->redirect($this->helper->url->to('swimlane', 'index', array('project_id' => $project['id']))); + if (! empty($values) && isset($values['swimlane_id']) && isset($values['position'])) { + $result = $this->swimlane->changePosition($project['id'], $values['swimlane_id'], $values['position']); + return $this->response->json(array('result' => $result)); + } + + $this->forbidden(); } } diff --git a/app/Locale/bs_BA/translations.php b/app/Locale/bs_BA/translations.php index 95cafaeb..5dbb4ffc 100644 --- a/app/Locale/bs_BA/translations.php +++ b/app/Locale/bs_BA/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Ukloni projekat', 'Edit the board for "%s"' => 'Uredi tablu za "%s"', 'All projects' => 'Svi projekti', - 'Change columns' => 'Zamijeni kolonu', 'Add a new column' => 'Dodaj novu kolonu', 'Title' => 'Naslov', 'Nobody assigned' => 'Niko nije dodijeljen', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Dodeli boju korisniku', 'Column title' => 'Naslov kolone', 'Position' => 'Pozicija', - 'Move Up' => 'Podigni', - 'Move Down' => 'Spusti', 'Duplicate to another project' => 'Dupliciraj u drugi projekat', 'Duplicate' => 'Dupliciraj', 'link' => 'link', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Da li zaista želiš ukloniti ovu swimline traku: "%s"?', 'Inactive swimlanes' => 'Neaktivne swimline trake', 'Remove a swimlane' => 'Ukloni swimline traku', - 'Rename' => 'Preimenuj', 'Show default swimlane' => 'Prikaži podrazumijevanu swimline traku', 'Swimlane modification for the project "%s"' => 'Izmjene swimline trake za projekat "%s"', 'Swimlane not found.' => 'Swimline traka nije pronađena.', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Swimline trake', 'Swimlane updated successfully.' => 'Swimline traka uspjeno ažurirana.', 'The default swimlane have been updated successfully.' => 'Podrazumijevana swimline traka uspješno ažurirana.', - 'Unable to create your swimlane.' => 'Nemoguće kreirati swimline traku.', 'Unable to remove this swimlane.' => 'Nemoguće ukloniti swimline traku.', 'Unable to update this swimlane.' => 'Nemoguće ažurirati swimline traku.', 'Your swimlane have been created successfully.' => 'Swimline traka je uspješno kreirana.', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php index cd0ce06c..95a4ea13 100644 --- a/app/Locale/cs_CZ/translations.php +++ b/app/Locale/cs_CZ/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Vyjmout projekt', 'Edit the board for "%s"' => 'Editace nástěnky pro "%s" ', 'All projects' => 'Všechny projekty', - 'Change columns' => 'Změna sloupců', 'Add a new column' => 'Přidat nový sloupec', 'Title' => 'Název', 'Nobody assigned' => 'Nepřiřazena žádná osoba', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Přiřadit barvu konkrétnímu uživateli', 'Column title' => 'Název sloupce', 'Position' => 'Pozice', - 'Move Up' => 'Posunout nahoru', - 'Move Down' => 'Posunout dolu', 'Duplicate to another project' => 'Vytvořit kopii v jiném projektu', 'Duplicate' => 'Vytvořit kopii', 'link' => 'Link', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Diese Swimlane wirklich ändern: "%s"?', 'Inactive swimlanes' => 'Inaktive Swimlane', 'Remove a swimlane' => 'Odstranit swimlane', - 'Rename' => 'Přejmenovat', 'Show default swimlane' => 'Standard Swimlane anzeigen', 'Swimlane modification for the project "%s"' => 'Swimlane Änderung für das Projekt "%s"', 'Swimlane not found.' => 'Swimlane nicht gefunden', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Swimlanes', 'Swimlane updated successfully.' => 'Swimlane erfolgreich geändert.', 'The default swimlane have been updated successfully.' => 'Die standard Swimlane wurden erfolgreich aktualisiert. Die standard Swimlane wurden erfolgreich aktualisiert.', - 'Unable to create your swimlane.' => 'Es ist nicht möglich die Swimlane zu erstellen.', 'Unable to remove this swimlane.' => 'Es ist nicht möglich die Swimlane zu entfernen.', 'Unable to update this swimlane.' => 'Es ist nicht möglich die Swimöane zu ändern.', 'Your swimlane have been created successfully.' => 'Die Swimlane wurde erfolgreich angelegt.', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php index 05c1d61f..d8dec37f 100644 --- a/app/Locale/da_DK/translations.php +++ b/app/Locale/da_DK/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Fjern projekt', 'Edit the board for "%s"' => 'Rediger boardet for "%s"', 'All projects' => 'Alle Projekter', - 'Change columns' => 'Ændre kolonner', 'Add a new column' => 'Tilføj en ny kolonne', 'Title' => 'Titel', 'Nobody assigned' => 'Ingen ansvarlig', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Tildel en farve til en bestemt bruger', 'Column title' => 'Kolonne titel', 'Position' => 'Position', - 'Move Up' => 'Ryk op', - 'Move Down' => 'Ryk ned', 'Duplicate to another project' => 'Kopier til et andet projekt', 'Duplicate' => 'Kopier', 'link' => 'link', @@ -501,7 +498,6 @@ return array( // 'Do you really want to remove this swimlane: "%s"?' => '', // 'Inactive swimlanes' => '', // 'Remove a swimlane' => '', - // 'Rename' => '', // 'Show default swimlane' => '', // 'Swimlane modification for the project "%s"' => '', // 'Swimlane not found.' => '', @@ -509,7 +505,6 @@ return array( // 'Swimlanes' => '', // 'Swimlane updated successfully.' => '', // 'The default swimlane have been updated successfully.' => '', - // 'Unable to create your swimlane.' => '', // 'Unable to remove this swimlane.' => '', // 'Unable to update this swimlane.' => '', // 'Your swimlane have been created successfully.' => '', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php index 4e1b8690..6c9f4a45 100644 --- a/app/Locale/de_DE/translations.php +++ b/app/Locale/de_DE/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Projekt löschen', 'Edit the board for "%s"' => 'Pinnwand für "%s" bearbeiten', 'All projects' => 'Alle Projekte', - 'Change columns' => 'Spalten ändern', 'Add a new column' => 'Neue Spalte hinzufügen', 'Title' => 'Titel', 'Nobody assigned' => 'Nicht zugeordnet', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Einem Benutzer eine Farbe zuordnen', 'Column title' => 'Spaltentitel', 'Position' => 'Position', - 'Move Up' => 'nach oben', - 'Move Down' => 'nach unten', 'Duplicate to another project' => 'In ein anderes Projekt duplizieren', 'Duplicate' => 'Duplizieren', 'link' => 'Link', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Diese Swimlane wirklich ändern: "%s"?', 'Inactive swimlanes' => 'Inaktive Swimlane', 'Remove a swimlane' => 'Swimlane entfernen', - 'Rename' => 'umbenennen', 'Show default swimlane' => 'Standard-Swimlane anzeigen', 'Swimlane modification for the project "%s"' => 'Swimlane-Änderung für das Projekt "%s"', 'Swimlane not found.' => 'Swimlane nicht gefunden', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Swimlanes', 'Swimlane updated successfully.' => 'Swimlane erfolgreich geändert.', 'The default swimlane have been updated successfully.' => 'Die Standard-Swimlane wurden erfolgreich aktualisiert. Die Standard-Swimlane wurden erfolgreich aktualisiert.', - 'Unable to create your swimlane.' => 'Es ist nicht möglich, Swimlane zu erstellen.', 'Unable to remove this swimlane.' => 'Es ist nicht möglich, die Swimlane zu entfernen.', 'Unable to update this swimlane.' => 'Es ist nicht möglich, die Swimlane zu ändern.', 'Your swimlane have been created successfully.' => 'Die Swimlane wurde erfolgreich angelegt.', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/el_GR/translations.php b/app/Locale/el_GR/translations.php index 94373048..a06c8d06 100644 --- a/app/Locale/el_GR/translations.php +++ b/app/Locale/el_GR/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Αφαίρεση του έργου', 'Edit the board for "%s"' => 'Διόρθωση πίνακα από « %s »', 'All projects' => 'Όλα τα έργα', - 'Change columns' => 'Αλλαγή στηλών', 'Add a new column' => 'Πρόσθήκη στήλης', 'Title' => 'Τίτλος', 'Nobody assigned' => 'Δεν έχει ανατεθεί', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Ανάθεση χρώματος σε συγκεκριμένο χρήστη', 'Column title' => 'Τίτλος στήλης', 'Position' => 'Θέση', - 'Move Up' => 'Μετακίνηση πάνω', - 'Move Down' => 'Μετακίνηση κάτω', 'Duplicate to another project' => 'Αντιγραφή σε άλλο έργο', 'Duplicate' => 'Αντιγραφή', 'link' => 'σύνδεσμος', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Σίγουρα θέλετε να αφαιρέσετε τη λωρίδα : « %s » ?', 'Inactive swimlanes' => 'Λωρίδες ανενεργές', 'Remove a swimlane' => 'Αφαιρέστε μια λωρίδα', - 'Rename' => 'Μετονομασία', 'Show default swimlane' => 'Εμφάνιση προεπιλεγμένων λωρίδων', 'Swimlane modification for the project "%s"' => 'Τροποποίηση λωρίδας για το έργο « %s »', 'Swimlane not found.' => 'Η λωρίδα δεν βρέθηκε.', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Swimlanes', 'Swimlane updated successfully.' => 'Η λωρίδα ενημερώθηκε με επιτυχία.', 'The default swimlane have been updated successfully.' => 'Η προεπιλεγμένη λωρίδα ενημερώθηκε με επιτυχία.', - 'Unable to create your swimlane.' => 'Αδύνατο να δημιουργηθεί η λωρίδα.', 'Unable to remove this swimlane.' => 'Αδύνατο να αφαιρεθεί η λωρίδα.', 'Unable to update this swimlane.' => 'Αδύνατο να ενημερωθεί η λωρίδα.', 'Your swimlane have been created successfully.' => 'Η λωρίδα δημιουργήθηκε με επιτυχία.', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php index 359dea61..7d1154c9 100644 --- a/app/Locale/es_ES/translations.php +++ b/app/Locale/es_ES/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Suprimir el proyecto', 'Edit the board for "%s"' => 'Modificar el tablero para « %s »', 'All projects' => 'Todos los proyectos', - 'Change columns' => 'Cambiar las columnas', 'Add a new column' => 'Añadir una nueva columna', 'Title' => 'Título', 'Nobody assigned' => 'Nadie asignado', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Asignar un color a un usuario específico', 'Column title' => 'Título de la columna', 'Position' => 'Posición', - 'Move Up' => 'Mover hacia arriba', - 'Move Down' => 'Mover hacia abajo', 'Duplicate to another project' => 'Duplicar a otro proyecto', 'Duplicate' => 'Duplicar', 'link' => 'vinculación', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => '¿Realmente quiere quitar esta calle: "%s"?', 'Inactive swimlanes' => 'Calles inactivas', 'Remove a swimlane' => 'Quitar un calle', - 'Rename' => 'Renombrar', 'Show default swimlane' => 'Mostrar calle por defecto', 'Swimlane modification for the project "%s"' => 'Modificación de la calle para el proyecto "%s"', 'Swimlane not found.' => 'Calle no encontrada', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Calles', 'Swimlane updated successfully.' => 'Calle actualizada correctamente', 'The default swimlane have been updated successfully.' => 'La calle por defecto ha sido actualizada correctamente', - 'Unable to create your swimlane.' => 'Imposible crear su calle', 'Unable to remove this swimlane.' => 'Imposible de quitar esta calle', 'Unable to update this swimlane.' => 'Imposible de actualizar esta calle', 'Your swimlane have been created successfully.' => 'Su calle ha sido creada correctamente', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php index f72e62c8..5395308d 100644 --- a/app/Locale/fi_FI/translations.php +++ b/app/Locale/fi_FI/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Poista projekti', 'Edit the board for "%s"' => 'Muokkaa taulua projektille "%s"', 'All projects' => 'Kaikki projektit', - 'Change columns' => 'Muokkaa sarakkeita', 'Add a new column' => 'Lisää uusi sarake', 'Title' => 'Nimi', 'Nobody assigned' => 'Ei suorittajaa', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Valitse väri käyttäjälle', 'Column title' => 'Sarakkeen nimi', 'Position' => 'Positio', - 'Move Up' => 'Siirrä ylös', - 'Move Down' => 'Siirrä alas', 'Duplicate to another project' => 'Kopioi toiseen projektiin', 'Duplicate' => 'Monista', 'link' => 'linkki', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Haluatko varmasti poistaa tämän kaistan: "%s"?', 'Inactive swimlanes' => 'Passiiviset kaistat', 'Remove a swimlane' => 'Poista kaista', - 'Rename' => 'Uudelleennimeä', 'Show default swimlane' => 'Näytä oletuskaista', 'Swimlane modification for the project "%s"' => 'Kaistamuutos projektille "%s"', 'Swimlane not found.' => 'Kaistaa ei löydy', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Kaistat', 'Swimlane updated successfully.' => 'Kaista päivitetty onnistuneesti.', 'The default swimlane have been updated successfully.' => 'Oletuskaista päivitetty onnistuneesti.', - 'Unable to create your swimlane.' => 'Kaistan luonti epäonnistui.', 'Unable to remove this swimlane.' => 'Kaistan poisto epäonnistui.', 'Unable to update this swimlane.' => 'Kaistan päivittäminen epäonnistui.', 'Your swimlane have been created successfully.' => 'Kaista luotu onnistuneesti.', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php index b346b479..c2132bda 100644 --- a/app/Locale/fr_FR/translations.php +++ b/app/Locale/fr_FR/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Supprimer le projet', 'Edit the board for "%s"' => 'Modifier le tableau pour « %s »', 'All projects' => 'Tous les projets', - 'Change columns' => 'Changer les colonnes', 'Add a new column' => 'Ajouter une nouvelle colonne', 'Title' => 'Titre', 'Nobody assigned' => 'Personne assignée', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Assigner une couleur à un utilisateur', 'Column title' => 'Titre de la colonne', 'Position' => 'Position', - 'Move Up' => 'Déplacer vers le haut', - 'Move Down' => 'Déplacer vers le bas', 'Duplicate to another project' => 'Dupliquer dans un autre projet', 'Duplicate' => 'Dupliquer', 'link' => 'lien', @@ -503,7 +500,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Voulez-vous vraiment supprimer cette swimlane : « %s » ?', 'Inactive swimlanes' => 'Swimlanes inactives', 'Remove a swimlane' => 'Supprimer une swimlane', - 'Rename' => 'Renommer', 'Show default swimlane' => 'Afficher la swimlane par défaut', 'Swimlane modification for the project "%s"' => 'Modification d\'une swimlane pour le projet « %s »', 'Swimlane not found.' => 'Cette swimlane est introuvable.', @@ -511,7 +507,6 @@ return array( 'Swimlanes' => 'Swimlanes', 'Swimlane updated successfully.' => 'Swimlane mise à jour avec succès.', 'The default swimlane have been updated successfully.' => 'La swimlane par défaut a été mise à jour avec succès.', - 'Unable to create your swimlane.' => 'Impossible de créer votre swimlane.', 'Unable to remove this swimlane.' => 'Impossible de supprimer cette swimlane.', 'Unable to update this swimlane.' => 'Impossible de mettre à jour cette swimlane.', 'Your swimlane have been created successfully.' => 'Votre swimlane a été créée avec succès.', @@ -1155,4 +1150,5 @@ return array( 'Last activity' => 'Dernières activités', 'Change subtask position' => 'Changer la position de la sous-tâche', 'This value must be greater than %d' => 'Cette valeur doit être plus grande que %d', + 'Another swimlane with the same name exists in the project' => 'Une autre swimlane existe avec le même nom dans le projet', ); diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php index fe016170..54a9fc6a 100644 --- a/app/Locale/hu_HU/translations.php +++ b/app/Locale/hu_HU/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Projekt törlése', 'Edit the board for "%s"' => 'Tábla szerkesztése: "%s"', 'All projects' => 'Minden projekt', - 'Change columns' => 'Oszlop módosítása', 'Add a new column' => 'Új oszlop', 'Title' => 'Cím', 'Nobody assigned' => 'Nincs felelős', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Szín hozzárendelése a felhasználóhoz', 'Column title' => 'Oszlopfejléc', 'Position' => 'Pozíció', - 'Move Up' => 'Fel', - 'Move Down' => 'Le', 'Duplicate to another project' => 'Másolás másik projektbe', 'Duplicate' => 'Másolás', 'link' => 'link', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Valóban törli a folyamatot:%s ?', 'Inactive swimlanes' => 'Inaktív folyamatok', 'Remove a swimlane' => 'Folyamat törlés', - 'Rename' => 'Átnevezés', 'Show default swimlane' => 'Alapértelmezett folyamat megjelenítése', 'Swimlane modification for the project "%s"' => '%s projekt folyamatainak módosítása', 'Swimlane not found.' => 'Folyamat nem található', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Folyamatok', 'Swimlane updated successfully.' => 'Folyamat sikeresn frissítve', 'The default swimlane have been updated successfully.' => 'Az alapértelmezett folyamat sikeresen frissítve.', - 'Unable to create your swimlane.' => 'A folyamat létrehozása sikertelen.', 'Unable to remove this swimlane.' => 'A folyamat törlése sikertelen.', 'Unable to update this swimlane.' => 'A folyamat frissítése sikertelen.', 'Your swimlane have been created successfully.' => 'A folyamat sikeresen létrehozva.', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php index 64c7e78f..bd6b11e5 100644 --- a/app/Locale/id_ID/translations.php +++ b/app/Locale/id_ID/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Hapus proyek', 'Edit the board for "%s"' => 'Rubah papan untuk « %s »', 'All projects' => 'Semua proyek', - 'Change columns' => 'Rubah kolom', 'Add a new column' => 'Tambah kolom baru', 'Title' => 'Judul', 'Nobody assigned' => 'Tidak ada yang ditugaskan', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Menetapkan warna untuk pengguna tertentu', 'Column title' => 'Judul kolom', 'Position' => 'Posisi', - 'Move Up' => 'Pindah ke atas', - 'Move Down' => 'Pindah ke bawah', 'Duplicate to another project' => 'Duplikasi ke proyek lain', 'Duplicate' => 'Duplikasi', 'link' => 'tautan', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Apakah anda yakin akan menghapus swimlane ini : « %s » ?', 'Inactive swimlanes' => 'Swimlanes tidak aktif', 'Remove a swimlane' => 'Supprimer une swimlane', - 'Rename' => 'Ganti nama', 'Show default swimlane' => 'Perlihatkan standar swimlane', 'Swimlane modification for the project "%s"' => 'Modifikasi swimlane untuk proyek « %s »', 'Swimlane not found.' => 'Swimlane tidak ditemukan.', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Swimlanes', 'Swimlane updated successfully.' => 'Swimlane berhasil diperbaharui.', 'The default swimlane have been updated successfully.' => 'Standar swimlane berhasil diperbaharui.', - 'Unable to create your swimlane.' => 'Tidak dapat membuat swimlane anda.', 'Unable to remove this swimlane.' => 'Tidak dapat menghapus swimlane ini.', 'Unable to update this swimlane.' => 'Tidak dapat memperbaharui swimlane ini.', 'Your swimlane have been created successfully.' => 'Swimlane anda berhasil dibuat.', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php index c4afa8c6..4e227888 100644 --- a/app/Locale/it_IT/translations.php +++ b/app/Locale/it_IT/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Cancella il progetto', 'Edit the board for "%s"' => 'Modifica la bacheca per "%s"', 'All projects' => 'Tutti i progetti', - 'Change columns' => 'Cambia le colonne', 'Add a new column' => 'Aggiungi una nuova colonna', 'Title' => 'Titolo', 'Nobody assigned' => 'Nessuno assegnato', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Assegna un colore ad un utente specifico', 'Column title' => 'Titolo della colonna', 'Position' => 'Posizione', - 'Move Up' => 'Sposta in alto', - 'Move Down' => 'Sposta in basso', 'Duplicate to another project' => 'Duplica in un altro progetto', 'Duplicate' => 'Duplica', 'link' => 'relazione', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Vuoi davvero rimuovere la seguente corsia: "%s"?', 'Inactive swimlanes' => 'Corsie inattive', 'Remove a swimlane' => 'Rimuovi una corsia', - 'Rename' => 'Rinomina', 'Show default swimlane' => 'Mostra la corsia predefinita', 'Swimlane modification for the project "%s"' => 'Modifica corsia per il progetto "%s"', 'Swimlane not found.' => 'Corsia non trovata.', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Corsie', 'Swimlane updated successfully.' => 'Corsia aggiornata con successo.', 'The default swimlane have been updated successfully.' => 'La corsia predefinita è stata aggiornata con successo.', - 'Unable to create your swimlane.' => 'Impossibile creare la corsia.', 'Unable to remove this swimlane.' => 'Impossibile rimuovere questa corsia.', 'Unable to update this swimlane.' => 'Impossibile aggiornare questa corsia.', 'Your swimlane have been created successfully.' => 'La tua corsia è stata creata con successo', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php index 443e4f3e..46755e10 100644 --- a/app/Locale/ja_JP/translations.php +++ b/app/Locale/ja_JP/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'プロジェクトの削除', 'Edit the board for "%s"' => 'ボード「%s」を変更する', 'All projects' => 'すべてのプロジェクト', - 'Change columns' => 'カラムの変更', 'Add a new column' => 'カラムの追加', 'Title' => 'タイトル', 'Nobody assigned' => '担当なし', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => '色をユーザに割り当てる', 'Column title' => 'カラムのタイトル', 'Position' => '位置', - 'Move Up' => '上に動かす', - 'Move Down' => '下に動かす', 'Duplicate to another project' => '別のプロジェクトに複製する', 'Duplicate' => '複製する', 'link' => 'リンク', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'このスイムレーン「%s」を本当に削除しますか?', 'Inactive swimlanes' => 'インタラクティブなスイムレーン', 'Remove a swimlane' => 'スイムレーンの削除', - 'Rename' => '名前の変更', 'Show default swimlane' => 'デフォルトスイムレーンの表示', 'Swimlane modification for the project "%s"' => '「%s」に対するスイムレーン変更', 'Swimlane not found.' => 'スイムレーンが見つかりません。', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'スイムレーン', 'Swimlane updated successfully.' => 'スイムレーンを更新しました。', 'The default swimlane have been updated successfully.' => 'デフォルトスイムレーンを更新しました。', - 'Unable to create your swimlane.' => 'スイムレーンを追加できませんでした。', 'Unable to remove this swimlane.' => 'スイムレーンを削除できませんでした。', 'Unable to update this swimlane.' => 'スイムレーンを更新できませんでした。', 'Your swimlane have been created successfully.' => 'スイムレーンが作成されました。', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/my_MY/translations.php b/app/Locale/my_MY/translations.php index 6ef22534..39f2b81f 100644 --- a/app/Locale/my_MY/translations.php +++ b/app/Locale/my_MY/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Hapus projek', 'Edit the board for "%s"' => 'Ubah papan untuk « %s »', 'All projects' => 'Semua projek', - 'Change columns' => 'Ubah kolom', 'Add a new column' => 'Tambah kolom baru', 'Title' => 'Judul', 'Nobody assigned' => 'Tidak ada yang ditugaskan', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Menetapkan warna untuk pengguna tertentu', 'Column title' => 'Judul kolom', 'Position' => 'Posisi', - 'Move Up' => 'Pindah ke atas', - 'Move Down' => 'Pindah ke bawah', 'Duplicate to another project' => 'Duplikasi ke projek lain', 'Duplicate' => 'Duplikasi', 'link' => 'Pautan', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Anda yakin untuk menghapus swimlane ini : « %s » ?', 'Inactive swimlanes' => 'Swimlanes tidak aktif', 'Remove a swimlane' => 'Padam swimlane', - 'Rename' => 'Namakan semula', 'Show default swimlane' => 'Tampilkan piawai swimlane', 'Swimlane modification for the project "%s"' => 'Modifikasi swimlane untuk projek « %s »', 'Swimlane not found.' => 'Swimlane tidak ditemui.', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Swimlanes', 'Swimlane updated successfully.' => 'Swimlane telah dikemaskini.', 'The default swimlane have been updated successfully.' => 'Standar swimlane berhasil diperbaharui.', - 'Unable to create your swimlane.' => 'Tidak dapat membuat swimlane anda.', 'Unable to remove this swimlane.' => 'Tidak dapat menghapus swimlane ini.', 'Unable to update this swimlane.' => 'Tidak dapat memperbaharui swimlane ini.', 'Your swimlane have been created successfully.' => 'Swimlane anda berhasil dibuat.', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php index 49b55fe5..9fe533ee 100644 --- a/app/Locale/nb_NO/translations.php +++ b/app/Locale/nb_NO/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Fjern prosjekt', 'Edit the board for "%s"' => 'Endre prosjektsiden for "%s"', 'All projects' => 'Alle prosjekter', - 'Change columns' => 'Endre kolonner', 'Add a new column' => 'Legg til en ny kolonne', 'Title' => 'Tittel', 'Nobody assigned' => 'Ikke tildelt', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Tildel en farge til en bestemt bruker', 'Column title' => 'Kolonne tittel', 'Position' => 'Posisjon', - 'Move Up' => 'Flytt opp', - 'Move Down' => 'Flytt ned', 'Duplicate to another project' => 'Kopier til et annet prosjekt', 'Duplicate' => 'Kopier', 'link' => 'link', @@ -501,7 +498,6 @@ return array( // 'Do you really want to remove this swimlane: "%s"?' => '', // 'Inactive swimlanes' => '', 'Remove a swimlane' => 'Fjern en svømmebane', - 'Rename' => 'Endre navn', 'Show default swimlane' => 'Vis standard svømmebane', // 'Swimlane modification for the project "%s"' => '', 'Swimlane not found.' => 'Svømmebane ikke funnet', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Svømmebaner', 'Swimlane updated successfully.' => 'Svømmebane oppdatert', // 'The default swimlane have been updated successfully.' => '', - // 'Unable to create your swimlane.' => '', // 'Unable to remove this swimlane.' => '', // 'Unable to update this swimlane.' => '', // 'Your swimlane have been created successfully.' => '', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php index 610113c8..edf5f484 100644 --- a/app/Locale/nl_NL/translations.php +++ b/app/Locale/nl_NL/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Project verwijderen', 'Edit the board for "%s"' => 'Bord bewerken voor « %s »', 'All projects' => 'Alle projecten', - 'Change columns' => 'Kolommen veranderen', 'Add a new column' => 'Kolom toevoegen', 'Title' => 'Titel', 'Nobody assigned' => 'Niemand toegewezen', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Wijs een kleur toe aan een gebruiker', 'Column title' => 'Kolom titel', 'Position' => 'Positie', - 'Move Up' => 'Omhoog verplaatsen', - 'Move Down' => 'Omlaag verplaatsen', 'Duplicate to another project' => 'Dupliceren in een ander project', 'Duplicate' => 'Dupliceren', 'link' => 'koppelen', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Weet u zeker dat u deze swimlane wil verwijderen : « %s » ?', 'Inactive swimlanes' => 'Inactieve swinlanes', 'Remove a swimlane' => 'Verwijder swinlane', - 'Rename' => 'Hernoemen', 'Show default swimlane' => 'Standaard swimlane tonen', 'Swimlane modification for the project "%s"' => 'Swinlane aanpassing voor project « %s »', 'Swimlane not found.' => 'Swimlane niet gevonden.', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Swimlanes', 'Swimlane updated successfully.' => 'Swimlane succesvol aangepast.', 'The default swimlane have been updated successfully.' => 'De standaard swimlane is succesvol aangepast.', - 'Unable to create your swimlane.' => 'Swimlane aanmaken niet gelukt.', 'Unable to remove this swimlane.' => 'Swimlane verwijderen niet gelukt.', 'Unable to update this swimlane.' => 'Swimlane aanpassen niet gelukt.', 'Your swimlane have been created successfully.' => 'Swimlane succesvol aangemaakt.', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php index 7c0ed9ca..4a6f5426 100644 --- a/app/Locale/pl_PL/translations.php +++ b/app/Locale/pl_PL/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Usuń projekt', 'Edit the board for "%s"' => 'Edytuj tablicę dla "%s"', 'All projects' => 'Wszystkie projekty', - 'Change columns' => 'Zmień kolumny', 'Add a new column' => 'Dodaj nową kolumnę', 'Title' => 'Tytuł', 'Nobody assigned' => 'Nikt nie przypisany', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Przypisz kolor do wybranego użytkownika', 'Column title' => 'Tytuł kolumny', 'Position' => 'Pozycja', - 'Move Up' => 'Przenieś wyżej', - 'Move Down' => 'Przenieś niżej', 'Duplicate to another project' => 'Skopiuj do innego projektu', 'Duplicate' => 'Utwórz kopię', 'link' => 'link', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Czy na pewno chcesz usunąć proces: "%s"?', 'Inactive swimlanes' => 'Nieaktywne procesy', 'Remove a swimlane' => 'Usuń proces', - 'Rename' => 'Zmień nazwe', 'Show default swimlane' => 'Pokaż domyślny proces', 'Swimlane modification for the project "%s"' => 'Edycja procesów dla projektu "%s"', 'Swimlane not found.' => 'Nie znaleziono procesu.', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Procesy', 'Swimlane updated successfully.' => 'Proces zaktualizowany pomyślnie.', 'The default swimlane have been updated successfully.' => 'Domyślny proces zaktualizowany pomyślnie.', - 'Unable to create your swimlane.' => 'Nie można utworzyć procesu.', 'Unable to remove this swimlane.' => 'Nie można usunąć procesu.', 'Unable to update this swimlane.' => 'Nie można zaktualizować procesu.', 'Your swimlane have been created successfully.' => 'Proces tworzony pomyślnie.', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php index 129217c0..9dd7ae02 100644 --- a/app/Locale/pt_BR/translations.php +++ b/app/Locale/pt_BR/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Remover projeto', 'Edit the board for "%s"' => 'Editar o board para "%s"', 'All projects' => 'Todos os projetos', - 'Change columns' => 'Modificar colunas', 'Add a new column' => 'Adicionar uma nova coluna', 'Title' => 'Título', 'Nobody assigned' => 'Ninguém designado', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Designar uma cor para um usuário específico', 'Column title' => 'Título da coluna', 'Position' => 'Posição', - 'Move Up' => 'Mover para cima', - 'Move Down' => 'Mover para baixo', 'Duplicate to another project' => 'Duplicar para outro projeto', 'Duplicate' => 'Duplicar', 'link' => 'link', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Você realmente deseja remover esta swimlane: "%s"?', 'Inactive swimlanes' => 'Desativar swimlanes', 'Remove a swimlane' => 'Remover uma swimlane', - 'Rename' => 'Renomear', 'Show default swimlane' => 'Exibir swimlane padrão', 'Swimlane modification for the project "%s"' => 'Modificação de swimlane para o projeto "%s"', 'Swimlane not found.' => 'Swimlane não encontrada.', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Swimlanes', 'Swimlane updated successfully.' => 'Swimlane atualizada com sucesso.', 'The default swimlane have been updated successfully.' => 'A swimlane padrão foi atualizada com sucesso.', - 'Unable to create your swimlane.' => 'Não foi possível criar a sua swimlane.', 'Unable to remove this swimlane.' => 'Não foi possível remover esta swimlane.', 'Unable to update this swimlane.' => 'Não foi possível atualizar esta swimlane.', 'Your swimlane have been created successfully.' => 'Sua swimlane foi criada com sucesso.', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php index 6dac8190..84918130 100644 --- a/app/Locale/pt_PT/translations.php +++ b/app/Locale/pt_PT/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Remover projecto', 'Edit the board for "%s"' => 'Editar o quadro para "%s"', 'All projects' => 'Todos os projectos', - 'Change columns' => 'Modificar colunas', 'Add a new column' => 'Adicionar uma nova coluna', 'Title' => 'Título', 'Nobody assigned' => 'Ninguém assignado', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Designar uma cor para um utilizador específico', 'Column title' => 'Título da coluna', 'Position' => 'Posição', - 'Move Up' => 'Mover para cima', - 'Move Down' => 'Mover para baixo', 'Duplicate to another project' => 'Duplicar para outro projecto', 'Duplicate' => 'Duplicar', 'link' => 'link', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Tem a certeza que quer remover este swimlane: "%s"?', 'Inactive swimlanes' => 'Desactivar swimlanes', 'Remove a swimlane' => 'Remover um swimlane', - 'Rename' => 'Renomear', 'Show default swimlane' => 'Mostrar swimlane padrão', 'Swimlane modification for the project "%s"' => 'Modificação de swimlane para o projecto "%s"', 'Swimlane not found.' => 'Swimlane não encontrado.', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Swimlanes', 'Swimlane updated successfully.' => 'Swimlane atualizado com sucesso.', 'The default swimlane have been updated successfully.' => 'O swimlane padrão foi atualizado com sucesso.', - 'Unable to create your swimlane.' => 'Não foi possível criar o seu swimlane.', 'Unable to remove this swimlane.' => 'Não foi possível remover este swimlane.', 'Unable to update this swimlane.' => 'Não foi possível atualizar este swimlane.', 'Your swimlane have been created successfully.' => 'Seu swimlane foi criado com sucesso.', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php index 6b2d88cd..66428927 100644 --- a/app/Locale/ru_RU/translations.php +++ b/app/Locale/ru_RU/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Удалить проект', 'Edit the board for "%s"' => 'Изменить доску для "%s"', 'All projects' => 'Все проекты', - 'Change columns' => 'Изменить колонки', 'Add a new column' => 'Добавить новую колонку', 'Title' => 'Название', 'Nobody assigned' => 'Никто не назначен', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Назначить определенный цвет пользователю', 'Column title' => 'Название колонки', 'Position' => 'Расположение', - 'Move Up' => 'Сдвинуть вверх', - 'Move Down' => 'Сдвинуть вниз', 'Duplicate to another project' => 'Клонировать в другой проект', 'Duplicate' => 'Клонировать', 'link' => 'ссылка', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Вы действительно хотите удалить дорожку "%s"?', 'Inactive swimlanes' => 'Неактивные дорожки', 'Remove a swimlane' => 'Удалить дорожку', - 'Rename' => 'Переименовать', 'Show default swimlane' => 'Показать стандартную дорожку', 'Swimlane modification for the project "%s"' => 'Редактирование дорожки для проекта "%s"', 'Swimlane not found.' => 'Дорожка не найдена.', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Дорожки', 'Swimlane updated successfully.' => 'Дорожка успешно обновлена.', 'The default swimlane have been updated successfully.' => 'Стандартная swimlane был успешно обновлен.', - 'Unable to create your swimlane.' => 'Невозможно создать дорожку.', 'Unable to remove this swimlane.' => 'Невозможно удалить дорожку.', 'Unable to update this swimlane.' => 'Невозможно обновить дорожку.', 'Your swimlane have been created successfully.' => 'Ваша дорожка была успешно создан.', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php index b49a8395..79769ae5 100644 --- a/app/Locale/sr_Latn_RS/translations.php +++ b/app/Locale/sr_Latn_RS/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Ukloni projekat', 'Edit the board for "%s"' => 'Izmeni tablu za "%s"', 'All projects' => 'Svi projekti', - 'Change columns' => 'Zameni kolonu', 'Add a new column' => 'Dodaj novu kolonu', 'Title' => 'Naslov', 'Nobody assigned' => 'Niko nije dodeljen', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Dodeli boju korisniku', 'Column title' => 'Naslov kolone', 'Position' => 'Pozicija', - 'Move Up' => 'Podigni', - 'Move Down' => 'Spusti', 'Duplicate to another project' => 'Kopiraj u drugi projekat', 'Duplicate' => 'Napravi kopiju', 'link' => 'link', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Da li da uklonim razdelnik: "%s"?', 'Inactive swimlanes' => 'Neaktivni razdelniki', 'Remove a swimlane' => 'Ukloni razdelnik', - 'Rename' => 'Preimenuj', 'Show default swimlane' => 'Prikaži osnovni razdelnik', 'Swimlane modification for the project "%s"' => 'Izmena razdelnika za projekat "%s"', 'Swimlane not found.' => 'Razdelnik nije pronađen.', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Razdelnici', 'Swimlane updated successfully.' => 'Razdelnik zaktualizowany pomyślnie.', // 'The default swimlane have been updated successfully.' => '', - // 'Unable to create your swimlane.' => '', // 'Unable to remove this swimlane.' => '', // 'Unable to update this swimlane.' => '', 'Your swimlane have been created successfully.' => 'Razdelnik je uspešno kreiran.', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php index 10692462..bbd54907 100644 --- a/app/Locale/sv_SE/translations.php +++ b/app/Locale/sv_SE/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Ta bort projekt', 'Edit the board for "%s"' => 'Ändra tavlan för "%s"', 'All projects' => 'Alla projekt', - 'Change columns' => 'Ändra kolumner', 'Add a new column' => 'Lägg till ny kolumn', 'Title' => 'Titel', 'Nobody assigned' => 'Ingen tilldelad', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Tilldela en färg till en specifik användare', 'Column title' => 'Kolumnens titel', 'Position' => 'Position', - 'Move Up' => 'Flytta upp', - 'Move Down' => 'Flytta ned', 'Duplicate to another project' => 'Kopiera till ett annat projekt', 'Duplicate' => 'Kopiera uppgiften', 'link' => 'länk', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Vill du verkligen ta bort denna swimlane: "%s"?', 'Inactive swimlanes' => 'Inaktiv swimlane', 'Remove a swimlane' => 'Ta bort en swimlane', - 'Rename' => 'Byt namn', 'Show default swimlane' => 'Visa standard swimlane', 'Swimlane modification for the project "%s"' => 'Ändra swimlane för projektet "%s"', 'Swimlane not found.' => 'Swimlane kunde inte hittas', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Swimlanes', 'Swimlane updated successfully.' => 'Swimlane uppdaterad', 'The default swimlane have been updated successfully.' => 'Standardswimlane har uppdaterats', - 'Unable to create your swimlane.' => 'Kunde inte skapa din swimlane', 'Unable to remove this swimlane.' => 'Kunde inte ta bort swimlane', 'Unable to update this swimlane.' => 'Kunde inte uppdatera swimlane', 'Your swimlane have been created successfully.' => 'Din swimlane har skapats', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php index 867e847e..437272c8 100644 --- a/app/Locale/th_TH/translations.php +++ b/app/Locale/th_TH/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'ลบโปรเจค', 'Edit the board for "%s"' => 'แก้ไขบอร์ดสำหรับ « %s »', 'All projects' => 'โปรเจคทั้งหมด', - 'Change columns' => 'เปลี่ยนคอลัมน์', 'Add a new column' => 'เพิ่มคอลัมน์ใหม่', 'Title' => 'หัวเรื่อง', 'Nobody assigned' => 'ไม่กำหนดใคร', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'กำหนดสีให้ผู้ใช้แบบเจาะจง', 'Column title' => 'หัวเรื่องคอลัมน์', 'Position' => 'ตำแหน่ง', - 'Move Up' => 'ย้ายขึ้น', - 'Move Down' => 'ย้ายลง', 'Duplicate to another project' => 'ทำซ้ำในโปรเจคอื่น', 'Duplicate' => 'ทำซ้ำ', 'link' => 'ลิงค์', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'คุณต้องการลบสวิมเลนนี้ : "%s"?', 'Inactive swimlanes' => 'สวิมเลนไม่ทำงาน', 'Remove a swimlane' => 'ลบสวิมเลน', - 'Rename' => 'เปลี่ยนชื่อ', 'Show default swimlane' => 'แสดงสวิมเลนเริ่มต้น', 'Swimlane modification for the project "%s"' => 'แก้ไขสวิมเลนสำหรับโปรเจค "%s"', 'Swimlane not found.' => 'หาสวิมเลนไม่พบ', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'สวิมเลน', 'Swimlane updated successfully.' => 'ปรับปรุงสวิมเลนเรียบร้อยแล้ว', 'The default swimlane have been updated successfully.' => 'สวิมเลนเริ่มต้นปรับปรุงเรียบร้อยแล้ว', - 'Unable to create your swimlane.' => 'ไม่สามารถสร้างสวิมเลนของคุณได้', 'Unable to remove this swimlane.' => 'ไม่สามารถลบสวิมเลนนี้', 'Unable to update this swimlane.' => 'ไม่สามารถปรับปรุงสวิมเลนนี้', 'Your swimlane have been created successfully.' => 'สวิมเลนของคุณถูกสร้างเรียบร้อยแล้ว', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php index 8cd5f922..b070adeb 100644 --- a/app/Locale/tr_TR/translations.php +++ b/app/Locale/tr_TR/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => 'Projeyi sil', 'Edit the board for "%s"' => 'Tabloyu "%s" için güncelle', 'All projects' => 'Tüm projeler', - 'Change columns' => 'Sütunları değiştir', 'Add a new column' => 'Yeni sütun ekle', 'Title' => 'Başlık', 'Nobody assigned' => 'Kullanıcı atanmamış', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => 'Bir kullanıcıya renk tanımla', 'Column title' => 'Sütun başlığı', 'Position' => 'Pozisyon', - 'Move Up' => 'Yukarı taşı', - 'Move Down' => 'Aşağı taşı', 'Duplicate to another project' => 'Başka bir projeye kopyala', 'Duplicate' => 'Kopya oluştur', 'link' => 'bağlantı', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Bu Kulvarı silmek istediğinize emin misiniz?: "%s"?', 'Inactive swimlanes' => 'Pasif Kulvarlar', 'Remove a swimlane' => 'Kulvarı sil', - 'Rename' => 'Yeniden adlandır', 'Show default swimlane' => 'Varsayılan Kulvarı göster', 'Swimlane modification for the project "%s"' => '"%s" Projesi için Kulvar değişikliği', 'Swimlane not found.' => 'Kulvar bulunamadı', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => 'Kulvarlar', 'Swimlane updated successfully.' => 'Kulvar başarıyla güncellendi.', 'The default swimlane have been updated successfully.' => 'Varsayılan Kulvarlar başarıyla güncellendi.', - 'Unable to create your swimlane.' => 'Bu Kulvarı oluşturmak mümkün değil.', 'Unable to remove this swimlane.' => 'Bu Kulvarı silmek mümkün değil.', 'Unable to update this swimlane.' => 'Bu Kulvarı değiştirmek mümkün değil.', 'Your swimlane have been created successfully.' => 'Kulvar başarıyla oluşturuldu.', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php index 6facfef2..06f67c5f 100644 --- a/app/Locale/zh_CN/translations.php +++ b/app/Locale/zh_CN/translations.php @@ -72,7 +72,6 @@ return array( 'Remove project' => '移除项目', 'Edit the board for "%s"' => '为"%s"修改看板', 'All projects' => '所有项目', - 'Change columns' => '更改栏目', 'Add a new column' => '添加新栏目', 'Title' => '标题', 'Nobody assigned' => '无人被指派', @@ -208,8 +207,6 @@ return array( 'Assign a color to a specific user' => '为特定用户指派颜色', 'Column title' => '栏目名称', 'Position' => '位置', - 'Move Up' => '往上移', - 'Move Down' => '往下移', 'Duplicate to another project' => '复制到另一项目', 'Duplicate' => '复制', 'link' => '连接', @@ -501,7 +498,6 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => '确定要删除里程碑:"%s"?', 'Inactive swimlanes' => '非活动里程碑', 'Remove a swimlane' => '删除里程碑', - 'Rename' => '重命名', 'Show default swimlane' => '显示默认里程碑', 'Swimlane modification for the project "%s"' => '项目"%s"的里程碑变更', 'Swimlane not found.' => '未找到里程碑。', @@ -509,7 +505,6 @@ return array( 'Swimlanes' => '里程碑', 'Swimlane updated successfully.' => '成功更新了里程碑。', 'The default swimlane have been updated successfully.' => '成功更新了默认里程碑。', - 'Unable to create your swimlane.' => '无法创建里程碑。', 'Unable to remove this swimlane.' => '无法删除此里程碑', 'Unable to update this swimlane.' => '无法更新此里程碑', 'Your swimlane have been created successfully.' => '已经成功创建里程碑。', @@ -1152,4 +1147,5 @@ return array( // 'Last activity' => '', // 'Change subtask position' => '', // 'This value must be greater than %d' => '', + // 'Another swimlane with the same name exists in the project' => '', ); diff --git a/app/Model/Swimlane.php b/app/Model/Swimlane.php index 6b0dcdc5..721f20d3 100644 --- a/app/Model/Swimlane.php +++ b/app/Model/Swimlane.php @@ -263,6 +263,40 @@ class Swimlane extends Base } /** + * Enable the default swimlane + * + * @access public + * @param integer $project_id + * @return bool + */ + public function enableDefault($project_id) + { + return $this->db + ->table(Project::TABLE) + ->eq('id', $project_id) + ->update(array( + 'show_default_swimlane' => 1, + )); + } + + /** + * Disable the default swimlane + * + * @access public + * @param integer $project_id + * @return bool + */ + public function disableDefault($project_id) + { + return $this->db + ->table(Project::TABLE) + ->eq('id', $project_id) + ->update(array( + 'show_default_swimlane' => 0, + )); + } + + /** * Get the last position of a swimlane * * @access public @@ -366,6 +400,7 @@ class Swimlane extends Base ->eq('project_id', $project_id) ->eq('is_active', 1) ->asc('position') + ->asc('id') ->findAllByColumn('id'); if (! $swimlanes) { @@ -382,69 +417,42 @@ class Swimlane extends Base } /** - * Move a swimlane down, increment the position value + * Change swimlane position * * @access public - * @param integer $project_id Project id - * @param integer $swimlane_id Swimlane id + * @param integer $project_id + * @param integer $swimlane_id + * @param integer $position * @return boolean */ - public function moveDown($project_id, $swimlane_id) + public function changePosition($project_id, $swimlane_id, $position) { - $swimlanes = $this->db->hashtable(self::TABLE) - ->eq('project_id', $project_id) - ->eq('is_active', self::ACTIVE) - ->asc('position') - ->getAll('id', 'position'); - - $positions = array_flip($swimlanes); - - if (isset($swimlanes[$swimlane_id]) && $swimlanes[$swimlane_id] < count($swimlanes)) { - $position = ++$swimlanes[$swimlane_id]; - $swimlanes[$positions[$position]]--; - - $this->db->startTransaction(); - $this->db->table(self::TABLE)->eq('id', $swimlane_id)->update(array('position' => $position)); - $this->db->table(self::TABLE)->eq('id', $positions[$position])->update(array('position' => $swimlanes[$positions[$position]])); - $this->db->closeTransaction(); - - return true; + if ($position < 1 || $position > $this->db->table(self::TABLE)->eq('project_id', $project_id)->count()) { + return false; } - return false; - } - - /** - * Move a swimlane up, decrement the position value - * - * @access public - * @param integer $project_id Project id - * @param integer $swimlane_id Swimlane id - * @return boolean - */ - public function moveUp($project_id, $swimlane_id) - { - $swimlanes = $this->db->hashtable(self::TABLE) + $swimlane_ids = $this->db->table(self::TABLE) + ->eq('is_active', 1) ->eq('project_id', $project_id) - ->eq('is_active', self::ACTIVE) + ->neq('id', $swimlane_id) ->asc('position') - ->getAll('id', 'position'); - - $positions = array_flip($swimlanes); + ->findAllByColumn('id'); - if (isset($swimlanes[$swimlane_id]) && $swimlanes[$swimlane_id] > 1) { - $position = --$swimlanes[$swimlane_id]; - $swimlanes[$positions[$position]]++; + $offset = 1; + $results = array(); - $this->db->startTransaction(); - $this->db->table(self::TABLE)->eq('id', $swimlane_id)->update(array('position' => $position)); - $this->db->table(self::TABLE)->eq('id', $positions[$position])->update(array('position' => $swimlanes[$positions[$position]])); - $this->db->closeTransaction(); + foreach ($swimlane_ids as $current_swimlane_id) { + if ($offset == $position) { + $offset++; + } - return true; + $results[] = $this->db->table(self::TABLE)->eq('id', $current_swimlane_id)->update(array('position' => $offset)); + $offset++; } - return false; + $results[] = $this->db->table(self::TABLE)->eq('id', $swimlane_id)->update(array('position' => $position)); + + return !in_array(false, $results, true); } /** diff --git a/app/Template/swimlane/create.php b/app/Template/swimlane/create.php new file mode 100644 index 00000000..bb389555 --- /dev/null +++ b/app/Template/swimlane/create.php @@ -0,0 +1,37 @@ +<div class="page-header"> + <h2><?= t('Add a new swimlane') ?></h2> +</div> +<form class="popover-form" method="post" action="<?= $this->url->href('swimlane', 'save', array('project_id' => $project['id'])) ?>" autocomplete="off"> + + <?= $this->form->csrf() ?> + <?= $this->form->hidden('project_id', $values) ?> + + <?= $this->form->label(t('Name'), 'name') ?> + <?= $this->form->text('name', $values, $errors, array('autofocus', 'required', 'maxlength="50"')) ?> + + <?= $this->form->label(t('Description'), 'description') ?> + + <div class="form-tabs"> + <div class="write-area"> + <?= $this->form->textarea('description', $values, $errors) ?> + </div> + <div class="preview-area"> + <div class="markdown"></div> + </div> + <ul class="form-tabs-nav"> + <li class="form-tab form-tab-selected"> + <i class="fa fa-pencil-square-o fa-fw"></i><a id="markdown-write" href="#"><?= t('Write') ?></a> + </li> + <li class="form-tab"> + <a id="markdown-preview" href="#"><i class="fa fa-eye fa-fw"></i><?= t('Preview') ?></a> + </li> + </ul> + </div> + <div class="form-help"><?= $this->url->doc(t('Write your text in Markdown'), 'syntax-guide') ?></div> + + <div class="form-actions"> + <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"> + <?= t('or') ?> + <?= $this->url->link(t('cancel'), 'Swimlane', 'index', array('project_id' => $project['id']), false, 'close-popover') ?> + </div> +</form> diff --git a/app/Template/swimlane/edit_default.php b/app/Template/swimlane/edit_default.php new file mode 100644 index 00000000..df25ec12 --- /dev/null +++ b/app/Template/swimlane/edit_default.php @@ -0,0 +1,18 @@ +<div class="page-header"> + <h2><?= t('Change default swimlane') ?></h2> +</div> +<form class="popover-form" method="post" action="<?= $this->url->href('swimlane', 'updateDefault', array('project_id' => $project['id'])) ?>" autocomplete="off"> + <?= $this->form->csrf() ?> + <?= $this->form->hidden('id', $values) ?> + + <?= $this->form->label(t('Name'), 'default_swimlane') ?> + <?= $this->form->text('default_swimlane', $values, $errors, array('required', 'maxlength="50"')) ?> + + <?= $this->form->checkbox('show_default_swimlane', t('Show default swimlane'), 1, $values['show_default_swimlane'] == 1) ?> + + <div class="form-actions"> + <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"> + <?= t('or') ?> + <?= $this->url->link(t('cancel'), 'Swimlane', 'index', array('project_id' => $project['id']), false, 'close-popover') ?> + </div> +</form> diff --git a/app/Template/swimlane/index.php b/app/Template/swimlane/index.php index 90100a98..fad35306 100644 --- a/app/Template/swimlane/index.php +++ b/app/Template/swimlane/index.php @@ -1,71 +1,28 @@ <div class="page-header"> - <h2><?= t('Change default swimlane') ?></h2> + <h2><?= t('Swimlanes') ?></h2> + <ul> + <li> + <i class="fa fa-plus fa-fw"></i> + <?= $this->url->link(t('Add a new swimlane'), 'Swimlane', 'create', array('project_id' => $project['id']), false, 'popover') ?> + </li> + </ul> </div> -<form method="post" action="<?= $this->url->href('swimlane', 'change', array('project_id' => $project['id'])) ?>" autocomplete="off"> - <?= $this->form->csrf() ?> - <?= $this->form->hidden('id', $default_swimlane) ?> - - <?= $this->form->label(t('Rename'), 'default_swimlane') ?> - <?= $this->form->text('default_swimlane', $default_swimlane, array(), array('required', 'maxlength="50"')) ?> - - <?php if (! empty($active_swimlanes) || $default_swimlane['show_default_swimlane'] == 0): ?> - <?= $this->form->checkbox('show_default_swimlane', t('Show default swimlane'), 1, $default_swimlane['show_default_swimlane'] == 1) ?> - <?php else: ?> - <?= $this->form->hidden('show_default_swimlane', $default_swimlane) ?> - <?php endif ?> - - <div class="form-actions"> - <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/> - </div> -</form> - -<?php if (! empty($active_swimlanes)): ?> -<div class="page-header"> - <h2><?= t('Active swimlanes') ?></h2> -</div> -<?= $this->render('swimlane/table', array('swimlanes' => $active_swimlanes, 'project' => $project)) ?> +<?php if (! empty($active_swimlanes) || $default_swimlane['show_default_swimlane'] == 1): ?> +<h3><?= t('Active swimlanes') ?></h3> + <?= $this->render('swimlane/table', array( + 'swimlanes' => $active_swimlanes, + 'project' => $project, + 'default_swimlane' => $default_swimlane['show_default_swimlane'] == 1 ? $default_swimlane : array() + )) ?> <?php endif ?> -<?php if (! empty($inactive_swimlanes)): ?> -<div class="page-header"> - <h2><?= t('Inactive swimlanes') ?></h2> -</div> -<?= $this->render('swimlane/table', array('swimlanes' => $inactive_swimlanes, 'project' => $project, 'hide_position' => true)) ?> +<?php if (! empty($inactive_swimlanes) || $default_swimlane['show_default_swimlane'] == 0): ?> + <h3><?= t('Inactive swimlanes') ?></h3> + <?= $this->render('swimlane/table', array( + 'swimlanes' => $inactive_swimlanes, + 'project' => $project, + 'default_swimlane' => $default_swimlane['show_default_swimlane'] == 0 ? $default_swimlane : array(), + 'disable_handler' => true + )) ?> <?php endif ?> - -<div class="page-header"> - <h2><?= t('Add a new swimlane') ?></h2> -</div> -<form method="post" action="<?= $this->url->href('swimlane', 'save', array('project_id' => $project['id'])) ?>" autocomplete="off"> - - <?= $this->form->csrf() ?> - <?= $this->form->hidden('project_id', $values) ?> - - <?= $this->form->label(t('Name'), 'name') ?> - <?= $this->form->text('name', $values, $errors, array('required', 'maxlength="50"')) ?> - - <?= $this->form->label(t('Description'), 'description') ?> - - <div class="form-tabs"> - <div class="write-area"> - <?= $this->form->textarea('description', $values, $errors) ?> - </div> - <div class="preview-area"> - <div class="markdown"></div> - </div> - <ul class="form-tabs-nav"> - <li class="form-tab form-tab-selected"> - <i class="fa fa-pencil-square-o fa-fw"></i><a id="markdown-write" href="#"><?= t('Write') ?></a> - </li> - <li class="form-tab"> - <a id="markdown-preview" href="#"><i class="fa fa-eye fa-fw"></i><?= t('Preview') ?></a> - </li> - </ul> - </div> - <div class="form-help"><?= $this->url->doc(t('Write your text in Markdown'), 'syntax-guide') ?></div> - - <div class="form-actions"> - <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"> - </div> -</form> diff --git a/app/Template/swimlane/table.php b/app/Template/swimlane/table.php index 60eea47b..1e6a86bc 100644 --- a/app/Template/swimlane/table.php +++ b/app/Template/swimlane/table.php @@ -1,47 +1,76 @@ -<table> - <tr> - <?php if (! isset($hide_position)): ?> - <th class="column-10"><?= t('Position') ?></th> - <?php endif ?> - <th><?= t('Name') ?></th> - <th class="column-8"><?= t('Actions') ?></th> - </tr> - <?php foreach ($swimlanes as $swimlane): ?> - <tr> - <?php if (! isset($hide_position)): ?> - <td>#<?= $swimlane['position'] ?></td> - <?php endif ?> - <td><?= $this->e($swimlane['name']) ?></td> - <td> - <div class="dropdown"> - <a href="#" class="dropdown-menu dropdown-menu-link-icon"><i class="fa fa-cog fa-fw"></i><i class="fa fa-caret-down"></i></a> - <ul> - <?php if ($swimlane['position'] != 0 && $swimlane['position'] != 1): ?> +<table + class="swimlanes-table table-stripped" + data-save-position-url="<?= $this->url->href('Swimlane', 'move', array('project_id' => $project['id'])) ?>"> + <thead> + <tr> + <th><?= t('Name') ?></th> + <th class="column-8"><?= t('Actions') ?></th> + </tr> + + <?php if (! empty($default_swimlane)): ?> + <tr> + <td> + <?= $this->e($default_swimlane['default_swimlane']) ?> + <?php if ($default_swimlane['default_swimlane'] !== t('Default swimlane')): ?> + (<?= t('Default swimlane') ?>) + <?php endif ?> + </td> + <td> + <div class="dropdown"> + <a href="#" class="dropdown-menu dropdown-menu-link-icon"><i class="fa fa-cog fa-fw"></i><i class="fa fa-caret-down"></i></a> + <ul> <li> - <?= $this->url->link(t('Move Up'), 'swimlane', 'moveup', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), true) ?> + <?= $this->url->link(t('Edit'), 'Swimlane', 'editDefault', array('project_id' => $project['id']), false, 'popover') ?> </li> - <?php endif ?> - <?php if ($swimlane['position'] != 0 && $swimlane['position'] != count($swimlanes)): ?> <li> - <?= $this->url->link(t('Move Down'), 'swimlane', 'movedown', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), true) ?> + <?php if ($default_swimlane['show_default_swimlane'] == 1): ?> + <?= $this->url->link(t('Disable'), 'Swimlane', 'disableDefault', array('project_id' => $project['id']), true) ?> + <?php else: ?> + <?= $this->url->link(t('Enable'), 'Swimlane', 'enableDefault', array('project_id' => $project['id']), true) ?> + <?php endif ?> </li> + </ul> + </td> + </tr> + <?php endif ?> + </thead> + <tbody> + <?php foreach ($swimlanes as $swimlane): ?> + <tr data-swimlane-id="<?= $swimlane['id'] ?>"> + <td> + <?php if (! isset($disable_handler)): ?> + <i class="fa fa-arrows-alt draggable-row-handle" title="<?= t('Change column position') ?>"></i> + <?php endif ?> + + <?= $this->e($swimlane['name']) ?> + + <?php if (! empty($swimlane['description'])): ?> + <span class="tooltip" title='<?= $this->e($this->text->markdown($swimlane['description'])) ?>'> + <i class="fa fa-info-circle"></i> + </span> <?php endif ?> - <li> - <?= $this->url->link(t('Edit'), 'swimlane', 'edit', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), false, 'popover') ?> - </li> - <li> - <?php if ($swimlane['is_active']): ?> - <?= $this->url->link(t('Disable'), 'swimlane', 'disable', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), true) ?> - <?php else: ?> - <?= $this->url->link(t('Enable'), 'swimlane', 'enable', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), true) ?> - <?php endif ?> - </li> - <li> - <?= $this->url->link(t('Remove'), 'swimlane', 'confirm', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), false, 'popover') ?> - </li> - </ul> - </div> - </td> - </tr> - <?php endforeach ?> -</table>
\ No newline at end of file + </td> + <td> + <div class="dropdown"> + <a href="#" class="dropdown-menu dropdown-menu-link-icon"><i class="fa fa-cog fa-fw"></i><i class="fa fa-caret-down"></i></a> + <ul> + <li> + <?= $this->url->link(t('Edit'), 'swimlane', 'edit', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), false, 'popover') ?> + </li> + <li> + <?php if ($swimlane['is_active']): ?> + <?= $this->url->link(t('Disable'), 'swimlane', 'disable', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), true) ?> + <?php else: ?> + <?= $this->url->link(t('Enable'), 'swimlane', 'enable', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), true) ?> + <?php endif ?> + </li> + <li> + <?= $this->url->link(t('Remove'), 'swimlane', 'confirm', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), false, 'popover') ?> + </li> + </ul> + </div> + </td> + </tr> + <?php endforeach ?> + </tbody> +</table> |