Browse Source

Merge branch 'edge' into meteor-1.8

Lauri Ojansivu 6 years ago
parent
commit
e246099794
6 changed files with 61 additions and 35 deletions
  1. 10 1
      CHANGELOG.md
  2. 1 1
      Stackerfile.yml
  3. 30 30
      i18n/es.i18n.json
  4. 17 0
      models/cards.js
  5. 1 1
      package.json
  6. 2 2
      sandstorm-pkgdef.capnp

+ 10 - 1
CHANGELOG.md

@@ -1,3 +1,12 @@
+# v2.71 2019-05-12 Wekan release
+
+This release adds the following new features:
+
+- [Add partentId support on card web API](https://github.com/wekan/wekan/pulls/2400).
+  Thanks to atilaromero.
+
+Thanks to above GitHub users for their contributions and translators for their translations.
+
 # v2.70 2019-05-11 Wekan release
 # v2.70 2019-05-11 Wekan release
 
 
 This release adds the following new features:
 This release adds the following new features:
@@ -133,7 +142,7 @@ and adds the following updates:
 and fixes the following bugs:
 and fixes the following bugs:
 
 
 - [Fix Full width of lists and space before first list](https://github.com/wekan/wekan/pull/2343).
 - [Fix Full width of lists and space before first list](https://github.com/wekan/wekan/pull/2343).
-  Thanks to hupptehcnologies.
+  Thanks to hupptechnologies.
 - Remove [extra](https://github.com/wekan/wekan/pull/2332) [quotes](https://github.com/wekan/wekan/pull/2333) from docker-compose.yml.
 - Remove [extra](https://github.com/wekan/wekan/pull/2332) [quotes](https://github.com/wekan/wekan/pull/2333) from docker-compose.yml.
   Thanks to hibare.
   Thanks to hibare.
 - Fix Docker builds by moving all separately cloned wekan/packages/* repos like ldap, oidc, etc code to wekan repo code,
 - Fix Docker builds by moving all separately cloned wekan/packages/* repos like ldap, oidc, etc code to wekan repo code,

+ 1 - 1
Stackerfile.yml

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

+ 30 - 30
i18n/es.i18n.json

@@ -23,10 +23,10 @@
     "act-createCustomField": "creó el campo personalizado __customField__ en la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
     "act-createCustomField": "creó el campo personalizado __customField__ en la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
     "act-createList": "añadida la lista __list__ al tablero __board__",
     "act-createList": "añadida la lista __list__ al tablero __board__",
     "act-addBoardMember": "añadido el mimbro __member__ al tablero __board__",
     "act-addBoardMember": "añadido el mimbro __member__ al tablero __board__",
-    "act-archivedBoard": "El tablero __board__ se ha movido a Archivo",
-    "act-archivedCard": "La tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__ se ha movido a Archivo",
-    "act-archivedList": "La lista __list__ del carril __swimlane__ del tablero __board__ se ha movido a Archivo",
-    "act-archivedSwimlane": "El carril __swimlane__ del tablero __board__ se ha movido a Archivo",
+    "act-archivedBoard": "El tablero __board__ se ha archivado",
+    "act-archivedCard": "La tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__ se ha archivado",
+    "act-archivedList": "La lista __list__ del carril __swimlane__ del tablero __board__ se ha archivado",
+    "act-archivedSwimlane": "El carril __swimlane__ del tablero __board__ se ha archivado",
     "act-importBoard": "importado el tablero __board__",
     "act-importBoard": "importado el tablero __board__",
     "act-importCard": "importada la tarjeta __card__ a la lista __list__ del carrril __swimlane__ del tablero __board__",
     "act-importCard": "importada la tarjeta __card__ a la lista __list__ del carrril __swimlane__ del tablero __board__",
     "act-importList": "importada la lista __list__ al carril __swimlane__ del tablero __board__",
     "act-importList": "importada la lista __list__ al carril __swimlane__ del tablero __board__",
@@ -42,7 +42,7 @@
     "activities": "Actividades",
     "activities": "Actividades",
     "activity": "Actividad",
     "activity": "Actividad",
     "activity-added": "ha añadido %s a %s",
     "activity-added": "ha añadido %s a %s",
-    "activity-archived": "%s movido a Archivo",
+    "activity-archived": "%s se ha archivado",
     "activity-attached": "ha adjuntado %s a %s",
     "activity-attached": "ha adjuntado %s a %s",
     "activity-created": "ha creado %s",
     "activity-created": "ha creado %s",
     "activity-customfield-created": "creó el campo personalizado %s",
     "activity-customfield-created": "creó el campo personalizado %s",
@@ -92,19 +92,19 @@
     "and-n-other-card_plural": "y otras __count__ tarjetas",
     "and-n-other-card_plural": "y otras __count__ tarjetas",
     "apply": "Aplicar",
     "apply": "Aplicar",
     "app-is-offline": "Cargando, espera por favor. Refrescar esta página causará pérdida de datos. Si la carga no funciona, por favor comprueba que el servidor no se ha parado.",
     "app-is-offline": "Cargando, espera por favor. Refrescar esta página causará pérdida de datos. Si la carga no funciona, por favor comprueba que el servidor no se ha parado.",
-    "archive": "Mover al Archivo",
-    "archive-all": "Mover todo al Archivo",
-    "archive-board": "Mover Tablero al Archivo",
-    "archive-card": "Mover tarjeta al Archivo",
-    "archive-list": "Mover Lista al Archivo",
-    "archive-swimlane": "Mover carril al Archivo",
-    "archive-selection": "Mover selección al Archivo",
-    "archiveBoardPopup-title": "¿Mover Tablero al Archivo?",
-    "archived-items": "Archivar",
+    "archive": "Archivar",
+    "archive-all": "Archivar todo",
+    "archive-board": "Archivar este tablero",
+    "archive-card": "Archivar esta tarjeta",
+    "archive-list": "Archivar esta lista",
+    "archive-swimlane": "Archivar este carril",
+    "archive-selection": "Archivar esta selección",
+    "archiveBoardPopup-title": "¿Archivar este tablero?",
+    "archived-items": "Archivo",
     "archived-boards": "Tableros en Archivo",
     "archived-boards": "Tableros en Archivo",
     "restore-board": "Restaurar el tablero",
     "restore-board": "Restaurar el tablero",
     "no-archived-boards": "No hay Tableros en el Archivo",
     "no-archived-boards": "No hay Tableros en el Archivo",
-    "archives": "Archivar",
+    "archives": "Archivo",
     "template": "Plantilla",
     "template": "Plantilla",
     "templates": "Plantillas",
     "templates": "Plantillas",
     "assign-member": "Asignar miembros",
     "assign-member": "Asignar miembros",
@@ -133,8 +133,8 @@
     "board-view-lists": "Listas",
     "board-view-lists": "Listas",
     "bucket-example": "Como “Cosas por hacer” por ejemplo",
     "bucket-example": "Como “Cosas por hacer” por ejemplo",
     "cancel": "Cancelar",
     "cancel": "Cancelar",
-    "card-archived": "Esta tarjeta se movió al Archivo",
-    "board-archived": "Este tablero se movió al Archivo",
+    "card-archived": "Se archivó esta tarjeta",
+    "board-archived": "Se archivó este tablero",
     "card-comments-title": "Esta tarjeta tiene %s comentarios.",
     "card-comments-title": "Esta tarjeta tiene %s comentarios.",
     "card-delete-notice": "la eliminación es permanente. Perderás todas las acciones asociadas a esta tarjeta.",
     "card-delete-notice": "la eliminación es permanente. Perderás todas las acciones asociadas a esta tarjeta.",
     "card-delete-pop": "Se eliminarán todas las acciones del historial de actividades y no se podrá volver a abrir la tarjeta. Esta acción no puede deshacerse.",
     "card-delete-pop": "Se eliminarán todas las acciones del historial de actividades y no se podrá volver a abrir la tarjeta. Esta acción no puede deshacerse.",
@@ -347,7 +347,7 @@
     "leave-board-pop": "¿Seguro que quieres abandonar __boardTitle__? Serás desvinculado de todas las tarjetas en este tablero.",
     "leave-board-pop": "¿Seguro que quieres abandonar __boardTitle__? Serás desvinculado de todas las tarjetas en este tablero.",
     "leaveBoardPopup-title": "¿Abandonar el tablero?",
     "leaveBoardPopup-title": "¿Abandonar el tablero?",
     "link-card": "Enlazar a esta tarjeta",
     "link-card": "Enlazar a esta tarjeta",
-    "list-archive-cards": "Mover todas las tarjetas de la lista al Archivo",
+    "list-archive-cards": "Archivar todas las tarjetas de esta lista",
     "list-archive-cards-pop": "Esto eliminará del tablero todas las tarjetas en esta lista. Para ver las tarjetas en el Archivo y recuperarlas al tablero haga click en \"Menu\" > \"Archivo\"",
     "list-archive-cards-pop": "Esto eliminará del tablero todas las tarjetas en esta lista. Para ver las tarjetas en el Archivo y recuperarlas al tablero haga click en \"Menu\" > \"Archivo\"",
     "list-move-cards": "Mover todas las tarjetas de esta lista",
     "list-move-cards": "Mover todas las tarjetas de esta lista",
     "list-select-cards": "Seleccionar todas las tarjetas de esta lista",
     "list-select-cards": "Seleccionar todas las tarjetas de esta lista",
@@ -514,7 +514,7 @@
     "OS_Loadavg": "Carga media del sistema",
     "OS_Loadavg": "Carga media del sistema",
     "OS_Platform": "Plataforma del sistema",
     "OS_Platform": "Plataforma del sistema",
     "OS_Release": "Publicación del sistema",
     "OS_Release": "Publicación del sistema",
-    "OS_Totalmem": "Memoria Total del sistema",
+    "OS_Totalmem": "Memoria total del sistema",
     "OS_Type": "Tipo de sistema",
     "OS_Type": "Tipo de sistema",
     "OS_Uptime": "Tiempo activo del sistema",
     "OS_Uptime": "Tiempo activo del sistema",
     "days": "días",
     "days": "días",
@@ -528,8 +528,8 @@
     "no": "No",
     "no": "No",
     "accounts": "Cuentas",
     "accounts": "Cuentas",
     "accounts-allowEmailChange": "Permitir cambiar el correo electrónico",
     "accounts-allowEmailChange": "Permitir cambiar el correo electrónico",
-    "accounts-allowUserNameChange": "Permitir el cambio del nombre de usuario",
-    "createdAt": "Creado en",
+    "accounts-allowUserNameChange": "Permitir cambiar el nombre de usuario",
+    "createdAt": "Fecha de alta",
     "verified": "Verificado",
     "verified": "Verificado",
     "active": "Activo",
     "active": "Activo",
     "card-received": "Recibido",
     "card-received": "Recibido",
@@ -592,7 +592,7 @@
     "set-filter": "Filtrar",
     "set-filter": "Filtrar",
     "r-moved-to": "Movido a",
     "r-moved-to": "Movido a",
     "r-moved-from": "Movido desde",
     "r-moved-from": "Movido desde",
-    "r-archived": "Movido a Archivo",
+    "r-archived": "Se archivó",
     "r-unarchived": "Restaurado del archivo",
     "r-unarchived": "Restaurado del archivo",
     "r-a-card": "una tarjeta",
     "r-a-card": "una tarjeta",
     "r-when-a-label-is": "Cuando una etiqueta es",
     "r-when-a-label-is": "Cuando una etiqueta es",
@@ -610,11 +610,11 @@
     "r-when-the-item": "Cuando el elemento de la lista de verificación es",
     "r-when-the-item": "Cuando el elemento de la lista de verificación es",
     "r-checked": "Marcado",
     "r-checked": "Marcado",
     "r-unchecked": "Desmarcado",
     "r-unchecked": "Desmarcado",
-    "r-move-card-to": "Mover tarjeta a",
+    "r-move-card-to": "Mover la tarjeta a",
     "r-top-of": "Arriba de",
     "r-top-of": "Arriba de",
     "r-bottom-of": "Abajo de",
     "r-bottom-of": "Abajo de",
     "r-its-list": "su lista",
     "r-its-list": "su lista",
-    "r-archive": "Mover al Archivo",
+    "r-archive": "Archivar",
     "r-unarchive": "Restaurar del Archivo",
     "r-unarchive": "Restaurar del Archivo",
     "r-card": "tarjeta",
     "r-card": "tarjeta",
     "r-add": "Añadir",
     "r-add": "Añadir",
@@ -635,15 +635,15 @@
     "r-to": "a",
     "r-to": "a",
     "r-subject": "asunto",
     "r-subject": "asunto",
     "r-rule-details": "Detalle de la regla",
     "r-rule-details": "Detalle de la regla",
-    "r-d-move-to-top-gen": "Mover tarjeta arriba de su lista",
-    "r-d-move-to-top-spec": "Mover tarjeta arriba de la lista",
-    "r-d-move-to-bottom-gen": "Mover tarjeta abajo de su lista",
-    "r-d-move-to-bottom-spec": "Mover tarjeta al fondo de la lista",
+    "r-d-move-to-top-gen": "Mover la tarjeta al inicio de su lista",
+    "r-d-move-to-top-spec": "Mover la tarjeta al inicio de la lista",
+    "r-d-move-to-bottom-gen": "Mover la tarjeta al final de su lista",
+    "r-d-move-to-bottom-spec": "Mover la tarjeta al final de la lista",
     "r-d-send-email": "Enviar email",
     "r-d-send-email": "Enviar email",
     "r-d-send-email-to": "a",
     "r-d-send-email-to": "a",
     "r-d-send-email-subject": "asunto",
     "r-d-send-email-subject": "asunto",
     "r-d-send-email-message": "mensaje",
     "r-d-send-email-message": "mensaje",
-    "r-d-archive": "Mover tarjeta al Archivo",
+    "r-d-archive": "Archivar la tarjeta",
     "r-d-unarchive": "Restaurar tarjeta del Archivo",
     "r-d-unarchive": "Restaurar tarjeta del Archivo",
     "r-d-add-label": "Añadir etiqueta",
     "r-d-add-label": "Añadir etiqueta",
     "r-d-remove-label": "Eliminar etiqueta",
     "r-d-remove-label": "Eliminar etiqueta",
@@ -675,7 +675,7 @@
     "authentication-method": "Método de autenticación",
     "authentication-method": "Método de autenticación",
     "authentication-type": "Tipo de autenticación",
     "authentication-type": "Tipo de autenticación",
     "custom-product-name": "Nombre de producto personalizado",
     "custom-product-name": "Nombre de producto personalizado",
-    "layout": "Disñeo",
+    "layout": "Diseño",
     "hide-logo": "Ocultar logo",
     "hide-logo": "Ocultar logo",
     "add-custom-html-after-body-start": "Añade HTML personalizado después de <body> ",
     "add-custom-html-after-body-start": "Añade HTML personalizado después de <body> ",
     "add-custom-html-before-body-end": "Añade HTML personalizado después de </body>",
     "add-custom-html-before-body-end": "Añade HTML personalizado después de </body>",

+ 17 - 0
models/cards.js

@@ -1685,6 +1685,7 @@ if (Meteor.isServer) {
    * @param {string} boardId the board ID of the new card
    * @param {string} boardId the board ID of the new card
    * @param {string} listId the list ID of the new card
    * @param {string} listId the list ID of the new card
    * @param {string} authorID the user ID of the person owning the card
    * @param {string} authorID the user ID of the person owning the card
+   * @param {string} parentId the parent ID of the new card
    * @param {string} title the title of the new card
    * @param {string} title the title of the new card
    * @param {string} description the description of the new card
    * @param {string} description the description of the new card
    * @param {string} swimlaneId the swimlane ID of the new card
    * @param {string} swimlaneId the swimlane ID of the new card
@@ -1695,6 +1696,7 @@ if (Meteor.isServer) {
     Authentication.checkUserId(req.userId);
     Authentication.checkUserId(req.userId);
     const paramBoardId = req.params.boardId;
     const paramBoardId = req.params.boardId;
     const paramListId = req.params.listId;
     const paramListId = req.params.listId;
+    const paramParentId = req.params.parentId;
     const currentCards = Cards.find({
     const currentCards = Cards.find({
       listId: paramListId,
       listId: paramListId,
       archived: false,
       archived: false,
@@ -1708,6 +1710,7 @@ if (Meteor.isServer) {
         title: req.body.title,
         title: req.body.title,
         boardId: paramBoardId,
         boardId: paramBoardId,
         listId: paramListId,
         listId: paramListId,
+        parentId: paramParentId,
         description: req.body.description,
         description: req.body.description,
         userId: req.body.authorId,
         userId: req.body.authorId,
         swimlaneId: req.body.swimlaneId,
         swimlaneId: req.body.swimlaneId,
@@ -1761,6 +1764,7 @@ if (Meteor.isServer) {
    * @param {string} [listId] the new list ID of the card (move operation)
    * @param {string} [listId] the new list ID of the card (move operation)
    * @param {string} [description] the new description of the card
    * @param {string} [description] the new description of the card
    * @param {string} [authorId] change the owner of the card
    * @param {string} [authorId] change the owner of the card
+   * @param {string} [parentId] change the parent of the card
    * @param {string} [labelIds] the new list of label IDs attached to the card
    * @param {string} [labelIds] the new list of label IDs attached to the card
    * @param {string} [swimlaneId] the new swimlane ID of the card
    * @param {string} [swimlaneId] the new swimlane ID of the card
    * @param {string} [members] the new list of member IDs attached to the card
    * @param {string} [members] the new list of member IDs attached to the card
@@ -1817,6 +1821,19 @@ if (Meteor.isServer) {
       }, paramListId);
       }, paramListId);
 
 
     }
     }
+    if (req.body.hasOwnProperty('parentId')) {
+      const newParentId = req.body.parentId;
+      Cards.direct.update({
+        _id: paramCardId,
+        listId: paramListId,
+        boardId: paramBoardId,
+        archived: false,
+      }, {
+        $set: {
+          parentId: newParentId,
+        },
+      });
+    }
     if (req.body.hasOwnProperty('description')) {
     if (req.body.hasOwnProperty('description')) {
       const newDescription = req.body.description;
       const newDescription = req.body.description;
       Cards.direct.update({
       Cards.direct.update({

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "wekan",
   "name": "wekan",
-  "version": "v2.70.0",
+  "version": "v2.71.0",
   "description": "Open-Source kanban",
   "description": "Open-Source kanban",
   "private": true,
   "private": true,
   "scripts": {
   "scripts": {

+ 2 - 2
sandstorm-pkgdef.capnp

@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
     appTitle = (defaultText = "Wekan"),
     appTitle = (defaultText = "Wekan"),
     # The name of the app as it is displayed to the user.
     # The name of the app as it is displayed to the user.
 
 
-    appVersion = 272,
+    appVersion = 273,
     # Increment this for every release.
     # Increment this for every release.
 
 
-    appMarketingVersion = (defaultText = "2.70.0~2019-05-11"),
+    appMarketingVersion = (defaultText = "2.71.0~2019-05-12"),
     # Human-readable presentation of the app version.
     # Human-readable presentation of the app version.
 
 
     minUpgradableAppVersion = 0,
     minUpgradableAppVersion = 0,