Lauri Ojansivu 3 роки тому
батько
коміт
a573083291

+ 2 - 2
CHANGELOG.md

@@ -3,7 +3,7 @@
 Note: With Docker, please don't use latest tag. Only use release tags.
 Note: With Docker, please don't use latest tag. Only use release tags.
 See https://github.com/wekan/wekan/issues/3874
 See https://github.com/wekan/wekan/issues/3874
 
 
-# Upcoming Wekan release
+# v5.59 2021-09-17 Wekan release
 
 
 This release adds the following new features:
 This release adds the following new features:
 
 
@@ -15,7 +15,7 @@ This release adds the following new features:
   Thanks to xet7.
   Thanks to xet7.
 - [Enter new password 2 times when registering](https://github.com/wekan/wekan/commit/0da84f8f3eb91c5bf726e058f5ec74a7891d734b).
 - [Enter new password 2 times when registering](https://github.com/wekan/wekan/commit/0da84f8f3eb91c5bf726e058f5ec74a7891d734b).
   Thanks to sh2515 and xet7.
   Thanks to sh2515 and xet7.
-- Sum of cards. In Progress.
+- Sum of cards. In Progress, not ready yet.
   [Part 1: Add Custom Field options for field sum](https://github.com/wekan/wekan/commit/8626b466b830adf6c671211bbd61b53b96ac5a49).
   [Part 1: Add Custom Field options for field sum](https://github.com/wekan/wekan/commit/8626b466b830adf6c671211bbd61b53b96ac5a49).
   [Part 2: Show option for custom field sum only for currency and number custom fields](https://github.com/wekan/wekan/commit/9bee6ae6663a5e1c974de2811f6a5fdd2d66efe5).
   [Part 2: Show option for custom field sum only for currency and number custom fields](https://github.com/wekan/wekan/commit/9bee6ae6663a5e1c974de2811f6a5fdd2d66efe5).
   Thanks to xet7.
   Thanks to xet7.

+ 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: "v5.58.0"
+appVersion: "v5.59.0"
 files:
 files:
   userUploads:
   userUploads:
     - README.md
     - README.md

+ 1 - 1
helm/wekan/Chart.yaml

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

+ 1 - 1
helm/wekan/values.yaml

@@ -14,7 +14,7 @@ serviceAccounts:
 ##
 ##
 image:
 image:
   repository: quay.io/wekan/wekan
   repository: quay.io/wekan/wekan
-  tag: v5.58
+  tag: v5.59
   pullPolicy: IfNotPresent
   pullPolicy: IfNotPresent
 
 
 ## Configuration for wekan component
 ## Configuration for wekan component

+ 1 - 1
package-lock.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "wekan",
   "name": "wekan",
-  "version": "v5.58.0",
+  "version": "v5.59.0",
   "lockfileVersion": 1,
   "lockfileVersion": 1,
   "requires": true,
   "requires": true,
   "dependencies": {
   "dependencies": {

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "wekan",
   "name": "wekan",
-  "version": "v5.58.0",
+  "version": "v5.59.0",
   "description": "Open-Source kanban",
   "description": "Open-Source kanban",
   "private": true,
   "private": true,
   "repository": {
   "repository": {

+ 42 - 5
public/api/wekan.html

@@ -7,7 +7,7 @@
     <meta charset="utf-8">
     <meta charset="utf-8">
     <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
     <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
-    <title>Wekan REST API v5.58</title>
+    <title>Wekan REST API v5.59</title>
 
 
     <style>
     <style>
     </style>
     </style>
@@ -1555,7 +1555,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
 	  	<ul class="toc-list-h1">
 	  	<ul class="toc-list-h1">
         
         
           <li>
           <li>
-            <a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v5.58">Wekan REST API v5.58</a>
+            <a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v5.59">Wekan REST API v5.59</a>
             
             
           </li>
           </li>
         
         
@@ -2128,7 +2128,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
     <div class="page-wrapper">
     <div class="page-wrapper">
       <div class="dark-box"></div>
       <div class="dark-box"></div>
       <div class="content">
       <div class="content">
-        <h1 id="wekan-rest-api">Wekan REST API v5.58</h1>
+        <h1 id="wekan-rest-api">Wekan REST API v5.59</h1>
 <blockquote>
 <blockquote>
 <p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
 <p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
 </blockquote>
 </blockquote>
@@ -3568,6 +3568,7 @@ System.out.println(response.toString());
   <span class="hljs-attr">&quot;allowsEndDate&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-attr">&quot;allowsEndDate&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-attr">&quot;allowsDueDate&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-attr">&quot;allowsDueDate&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-attr">&quot;presentParentTask&quot;</span>: <span class="hljs-string">&quot;prefix-with-full-path&quot;</span>,
   <span class="hljs-attr">&quot;presentParentTask&quot;</span>: <span class="hljs-string">&quot;prefix-with-full-path&quot;</span>,
+  <span class="hljs-attr">&quot;receivedAt&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
   <span class="hljs-attr">&quot;startAt&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
   <span class="hljs-attr">&quot;startAt&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
   <span class="hljs-attr">&quot;dueAt&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
   <span class="hljs-attr">&quot;dueAt&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
   <span class="hljs-attr">&quot;endAt&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
   <span class="hljs-attr">&quot;endAt&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
@@ -10426,6 +10427,7 @@ Accept: application/json
   &quot;showOnCard&quot;: true,
   &quot;showOnCard&quot;: true,
   &quot;automaticallyOnCard&quot;: true,
   &quot;automaticallyOnCard&quot;: true,
   &quot;showLabelOnMiniCard&quot;: true,
   &quot;showLabelOnMiniCard&quot;: true,
+  &quot;showSumAtTopOfList&quot;: true,
   &quot;authorId&quot;: &quot;string&quot;
   &quot;authorId&quot;: &quot;string&quot;
 }&#x27;</span>;
 }&#x27;</span>;
 <span class="hljs-keyword">const</span> headers = {
 <span class="hljs-keyword">const</span> headers = {
@@ -10455,6 +10457,7 @@ fetch(<span class="hljs-string">&#x27;/api/boards/{board}/custom-fields&#x27;</s
   <span class="hljs-string">&quot;showOnCard&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-string">&quot;showOnCard&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-string">&quot;automaticallyOnCard&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-string">&quot;automaticallyOnCard&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-string">&quot;showLabelOnMiniCard&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-string">&quot;showLabelOnMiniCard&quot;</span>: <span class="hljs-literal">true</span>,
+  <span class="hljs-string">&quot;showSumAtTopOfList&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-string">&quot;authorId&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>
   <span class="hljs-string">&quot;authorId&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>
 };
 };
 <span class="hljs-keyword">const</span> headers = {
 <span class="hljs-keyword">const</span> headers = {
@@ -10581,6 +10584,7 @@ System.out.println(response.toString());
 <span class="hljs-attr">showOnCard:</span> <span class="hljs-literal">true</span>
 <span class="hljs-attr">showOnCard:</span> <span class="hljs-literal">true</span>
 <span class="hljs-attr">automaticallyOnCard:</span> <span class="hljs-literal">true</span>
 <span class="hljs-attr">automaticallyOnCard:</span> <span class="hljs-literal">true</span>
 <span class="hljs-attr">showLabelOnMiniCard:</span> <span class="hljs-literal">true</span>
 <span class="hljs-attr">showLabelOnMiniCard:</span> <span class="hljs-literal">true</span>
+<span class="hljs-attr">showSumAtTopOfList:</span> <span class="hljs-literal">true</span>
 <span class="hljs-attr">authorId:</span> <span class="hljs-string">string</span>
 <span class="hljs-attr">authorId:</span> <span class="hljs-string">string</span>
 
 
 </code></pre>
 </code></pre>
@@ -10653,6 +10657,13 @@ System.out.println(response.toString());
 <td>should the label of the custom field be shown on minicards?</td>
 <td>should the label of the custom field be shown on minicards?</td>
 </tr>
 </tr>
 <tr>
 <tr>
+<td>» showSumAtTopOfList</td>
+<td>body</td>
+<td>boolean</td>
+<td>true</td>
+<td>should the sum of the custom fields be shown at top of list?</td>
+</tr>
+<tr>
 <td>» authorId</td>
 <td>» authorId</td>
 <td>body</td>
 <td>body</td>
 <td>string</td>
 <td>string</td>
@@ -10983,7 +10994,8 @@ Accept: application/json
   &quot;showOnCard&quot;: true,
   &quot;showOnCard&quot;: true,
   &quot;automaticallyOnCard&quot;: true,
   &quot;automaticallyOnCard&quot;: true,
   &quot;alwaysOnCard&quot;: &quot;string&quot;,
   &quot;alwaysOnCard&quot;: &quot;string&quot;,
-  &quot;showLabelOnMiniCard&quot;: true
+  &quot;showLabelOnMiniCard&quot;: true,
+  &quot;showSumAtTopOfList&quot;: true
 }&#x27;</span>;
 }&#x27;</span>;
 <span class="hljs-keyword">const</span> headers = {
 <span class="hljs-keyword">const</span> headers = {
   <span class="hljs-string">&#x27;Content-Type&#x27;</span>:<span class="hljs-string">&#x27;multipart/form-data&#x27;</span>,
   <span class="hljs-string">&#x27;Content-Type&#x27;</span>:<span class="hljs-string">&#x27;multipart/form-data&#x27;</span>,
@@ -11012,7 +11024,8 @@ fetch(<span class="hljs-string">&#x27;/api/boards/{board}/custom-fields/{customF
   <span class="hljs-string">&quot;showOnCard&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-string">&quot;showOnCard&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-string">&quot;automaticallyOnCard&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-string">&quot;automaticallyOnCard&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-string">&quot;alwaysOnCard&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
   <span class="hljs-string">&quot;alwaysOnCard&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
-  <span class="hljs-string">&quot;showLabelOnMiniCard&quot;</span>: <span class="hljs-literal">true</span>
+  <span class="hljs-string">&quot;showLabelOnMiniCard&quot;</span>: <span class="hljs-literal">true</span>,
+  <span class="hljs-string">&quot;showSumAtTopOfList&quot;</span>: <span class="hljs-literal">true</span>
 };
 };
 <span class="hljs-keyword">const</span> headers = {
 <span class="hljs-keyword">const</span> headers = {
   <span class="hljs-string">&#x27;Content-Type&#x27;</span>:<span class="hljs-string">&#x27;multipart/form-data&#x27;</span>,
   <span class="hljs-string">&#x27;Content-Type&#x27;</span>:<span class="hljs-string">&#x27;multipart/form-data&#x27;</span>,
@@ -11139,6 +11152,7 @@ System.out.println(response.toString());
 <span class="hljs-attr">automaticallyOnCard:</span> <span class="hljs-literal">true</span>
 <span class="hljs-attr">automaticallyOnCard:</span> <span class="hljs-literal">true</span>
 <span class="hljs-attr">alwaysOnCard:</span> <span class="hljs-string">string</span>
 <span class="hljs-attr">alwaysOnCard:</span> <span class="hljs-string">string</span>
 <span class="hljs-attr">showLabelOnMiniCard:</span> <span class="hljs-literal">true</span>
 <span class="hljs-attr">showLabelOnMiniCard:</span> <span class="hljs-literal">true</span>
+<span class="hljs-attr">showSumAtTopOfList:</span> <span class="hljs-literal">true</span>
 
 
 </code></pre>
 </code></pre>
 <h3 id="edit_custom_field-parameters">Parameters</h3>
 <h3 id="edit_custom_field-parameters">Parameters</h3>
@@ -11223,6 +11237,13 @@ System.out.println(response.toString());
 <td>true</td>
 <td>true</td>
 <td>should the label of the custom field be shown on minicards</td>
 <td>should the label of the custom field be shown on minicards</td>
 </tr>
 </tr>
+<tr>
+<td>» showSumAtTopOfList</td>
+<td>body</td>
+<td>boolean</td>
+<td>true</td>
+<td>should the sum of the custom fields be shown at top of list</td>
+</tr>
 </tbody>
 </tbody>
 </table>
 </table>
 <blockquote>
 <blockquote>
@@ -18362,6 +18383,7 @@ UserSecurity
   <span class="hljs-attr">&quot;allowsEndDate&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-attr">&quot;allowsEndDate&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-attr">&quot;allowsDueDate&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-attr">&quot;allowsDueDate&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-attr">&quot;presentParentTask&quot;</span>: <span class="hljs-string">&quot;prefix-with-full-path&quot;</span>,
   <span class="hljs-attr">&quot;presentParentTask&quot;</span>: <span class="hljs-string">&quot;prefix-with-full-path&quot;</span>,
+  <span class="hljs-attr">&quot;receivedAt&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
   <span class="hljs-attr">&quot;startAt&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
   <span class="hljs-attr">&quot;startAt&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
   <span class="hljs-attr">&quot;dueAt&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
   <span class="hljs-attr">&quot;dueAt&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
   <span class="hljs-attr">&quot;endAt&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
   <span class="hljs-attr">&quot;endAt&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
@@ -18652,6 +18674,13 @@ UserSecurity
 <td>Controls how to present the parent task:<br /><br />- <code>prefix-with-full-path</code>: add a prefix with the full path<br />- <code>prefix-with-parent</code>: add a prefisx with the parent name<br />- <code>subtext-with-full-path</code>: add a subtext with the full path<br />- <code>subtext-with-parent</code>: add a subtext with the parent name<br />- <code>no-parent</code>: does not show the parent at all</td>
 <td>Controls how to present the parent task:<br /><br />- <code>prefix-with-full-path</code>: add a prefix with the full path<br />- <code>prefix-with-parent</code>: add a prefisx with the parent name<br />- <code>subtext-with-full-path</code>: add a subtext with the full path<br />- <code>subtext-with-parent</code>: add a subtext with the parent name<br />- <code>no-parent</code>: does not show the parent at all</td>
 </tr>
 </tr>
 <tr>
 <tr>
+<td>receivedAt</td>
+<td>string¦null</td>
+<td>false</td>
+<td>none</td>
+<td>Date the card was received</td>
+</tr>
+<tr>
 <td>startAt</td>
 <td>startAt</td>
 <td>string¦null</td>
 <td>string¦null</td>
 <td>false</td>
 <td>false</td>
@@ -20109,6 +20138,7 @@ UserSecurity
   <span class="hljs-attr">&quot;automaticallyOnCard&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-attr">&quot;automaticallyOnCard&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-attr">&quot;alwaysOnCard&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-attr">&quot;alwaysOnCard&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-attr">&quot;showLabelOnMiniCard&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-attr">&quot;showLabelOnMiniCard&quot;</span>: <span class="hljs-literal">true</span>,
+  <span class="hljs-attr">&quot;showSumAtTopOfList&quot;</span>: <span class="hljs-literal">true</span>,
   <span class="hljs-attr">&quot;createdAt&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
   <span class="hljs-attr">&quot;createdAt&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
   <span class="hljs-attr">&quot;modifiedAt&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>
   <span class="hljs-attr">&quot;modifiedAt&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>
 }
 }
@@ -20184,6 +20214,13 @@ UserSecurity
 <td>should the label of the custom field be shown on minicards?</td>
 <td>should the label of the custom field be shown on minicards?</td>
 </tr>
 </tr>
 <tr>
 <tr>
+<td>showSumAtTopOfList</td>
+<td>boolean</td>
+<td>true</td>
+<td>none</td>
+<td>should the sum of the custom fields be shown at top of list?</td>
+</tr>
+<tr>
 <td>createdAt</td>
 <td>createdAt</td>
 <td>string¦null</td>
 <td>string¦null</td>
 <td>false</td>
 <td>false</td>

+ 23 - 1
public/api/wekan.yml

@@ -1,7 +1,7 @@
 swagger: '2.0'
 swagger: '2.0'
 info:
 info:
   title: Wekan REST API
   title: Wekan REST API
-  version: v5.58
+  version: v5.59
   description: |
   description: |
     The REST API allows you to control and extend Wekan with ease.
     The REST API allows you to control and extend Wekan with ease.
 
 
@@ -960,6 +960,12 @@ paths:
             should the label of the custom field be shown on minicards?
             should the label of the custom field be shown on minicards?
           type: boolean
           type: boolean
           required: true
           required: true
+        - name: showSumAtTopOfList
+          in: formData
+          description: |
+            should the sum of the custom fields be shown at top of list?
+          type: boolean
+          required: true
         - name: authorId
         - name: authorId
           in: formData
           in: formData
           description: the authorId value
           description: the authorId value
@@ -1068,6 +1074,12 @@ paths:
             should the label of the custom field be shown on minicards
             should the label of the custom field be shown on minicards
           type: boolean
           type: boolean
           required: true
           required: true
+        - name: showSumAtTopOfList
+          in: formData
+          description: |
+            should the sum of the custom fields be shown at top of list
+          type: boolean
+          required: true
         - name: board
         - name: board
           in: path
           in: path
           description: the board value
           description: the board value
@@ -2839,6 +2851,11 @@ definitions:
           - subtext-with-parent
           - subtext-with-parent
           - no-parent
           - no-parent
         x-nullable: true
         x-nullable: true
+      receivedAt:
+        description: |
+           Date the card was received
+        type: string
+        x-nullable: true
       startAt:
       startAt:
         description: |
         description: |
            Starting date of the board.
            Starting date of the board.
@@ -3519,6 +3536,10 @@ definitions:
         description: |
         description: |
            should the label of the custom field be shown on minicards?
            should the label of the custom field be shown on minicards?
         type: boolean
         type: boolean
+      showSumAtTopOfList:
+        description: |
+           should the sum of the custom fields be shown at top of list?
+        type: boolean
       createdAt:
       createdAt:
         type: string
         type: string
         x-nullable: true
         x-nullable: true
@@ -3533,6 +3554,7 @@ definitions:
       - automaticallyOnCard
       - automaticallyOnCard
       - alwaysOnCard
       - alwaysOnCard
       - showLabelOnMiniCard
       - showLabelOnMiniCard
+      - showSumAtTopOfList
       - modifiedAt
       - modifiedAt
   CustomFieldsSettings:
   CustomFieldsSettings:
     type: object
     type: object

+ 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 = 558,
+    appVersion = 559,
     # Increment this for every release.
     # Increment this for every release.
 
 
-    appMarketingVersion = (defaultText = "5.58.0~2021-09-01"),
+    appMarketingVersion = (defaultText = "5.59.0~2021-09-17"),
     # Human-readable presentation of the app version.
     # Human-readable presentation of the app version.
 
 
     minUpgradableAppVersion = 0,
     minUpgradableAppVersion = 0,

+ 1 - 1
snapcraft.yaml

@@ -1,5 +1,5 @@
 name: wekan
 name: wekan
-version: '5.58'
+version: '5.59'
 summary: The open-source kanban
 summary: The open-source kanban
 description: |
 description: |
    Wekan is an open-source and collaborative kanban board application.
    Wekan is an open-source and collaborative kanban board application.