summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md41
-rw-r--r--Stackerfile.yml2
-rw-r--r--client/components/swimlanes/swimlanes.js18
-rw-r--r--i18n/ru.i18n.json2
-rw-r--r--i18n/sv.i18n.json68
-rw-r--r--models/export.js2
-rw-r--r--models/users.js2
-rw-r--r--package.json2
-rw-r--r--sandstorm-pkgdef.capnp4
9 files changed, 93 insertions, 48 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1d101b66..7d45c080 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,44 @@
+# v2.17 2019-02-04 Wekan release
+
+This release fixes the following bugs:
+
+- [OIDC/OAuth2 BoardView Fix](https://github.com/wekan/wekan/issues/1874).
+
+Thanks to GitHub gil0109 for contributions, and translator for their translations.
+
+# v2.16 2019-02-03 Wekan release
+
+This release fixes the following bugs:
+
+- [Part 2](https://github.com/ChronikEwok/wekan/commit/9a6ac544dd5618e58ce107352124fd9b495e5c30):
+ [Fix: Not displaying card content of public board: Snap, Docker and Sandstorm Shared Wekan Board
+ Link](https://github.com/wekan/wekan/issues/1623) with
+ [code from ChronikEwok](https://github.com/ChronikEwok/wekan/commit/cad9b20451bb6149bfb527a99b5001873b06c3de).
+
+Thanks to GitHub user ChronikEwok for contributions.
+
+# v2.15 2019-02-03 Wekan release
+
+This release fixes the following bugs:
+
+- [Fix: Not displaying card content of public board: Snap, Docker and Sandstorm Shared Wekan Board
+ Link](https://github.com/wekan/wekan/issues/1623) with
+ [code from ChronikEwok](https://github.com/ChronikEwok/wekan/commit/cad9b20451bb6149bfb527a99b5001873b06c3de).
+
+Thanks to GitHub user ChronikEwok for contributions.
+
+# v2.14 2019-02-02 Wekan release
+
+This release fixes the following bugs:
+
+- [Fix Sandstorm export board from web](https://github.com/wekan/wekan/issues/2157).
+- [Fix Error when logging in to Wekan REST API when using Sandstorm Wekan](https://github.com/wekan/wekan/issues/1279).
+ Sandstorm API works this way: Make API key, and from that key copy API URL and API KEY to below. It saves Wekan board to file.
+ `curl http://Bearer:APIKEY@api-12345.local.sandstorm.io:6080/api/boards/sandstorm/export?authToken=#APIKEY > wekanboard.json`
+ If later API key does not work, you need to remove it and make a new one.
+
+Thanks to GitHub user xet7 for contributions.
+
# v2.13 2019-02-01 Wekan release
This release adds the following new features with Apache I-CLA, thanks to bentiss:
diff --git a/Stackerfile.yml b/Stackerfile.yml
index 523ba2b4..0c3fe242 100644
--- a/Stackerfile.yml
+++ b/Stackerfile.yml
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
-appVersion: "v2.13.0"
+appVersion: "v2.17.0"
files:
userUploads:
- README.md
diff --git a/client/components/swimlanes/swimlanes.js b/client/components/swimlanes/swimlanes.js
index 71317714..ce327f54 100644
--- a/client/components/swimlanes/swimlanes.js
+++ b/client/components/swimlanes/swimlanes.js
@@ -3,14 +3,18 @@ const { calculateIndex, enableClickOnTouch } = Utils;
function currentCardIsInThisList(listId, swimlaneId) {
const currentCard = Cards.findOne(Session.get('currentCard'));
const currentUser = Meteor.user();
- if (currentUser.profile.boardView === 'board-view-lists')
- return currentCard && currentCard.listId === listId;
- else if (currentUser.profile.boardView === 'board-view-swimlanes')
+ if (currentUser && currentUser.profile.boardView === 'board-view-swimlanes')
return currentCard && currentCard.listId === listId && currentCard.swimlaneId === swimlaneId;
- else if (currentUser.profile.boardView === 'board-view-cal')
- return currentCard;
- else
- return false;
+ else // Default view: board-view-lists
+ return currentCard && currentCard.listId === listId;
+ // https://github.com/wekan/wekan/issues/1623
+ // https://github.com/ChronikEwok/wekan/commit/cad9b20451bb6149bfb527a99b5001873b06c3de
+ // TODO: In public board, if you would like to switch between List/Swimlane view, you could
+ // 1) If there is no view cookie, save to cookie board-view-lists
+ // board-view-lists / board-view-swimlanes / board-view-cal
+ // 2) If public user changes clicks board-view-lists then change view and
+ // then change view and save cookie with view value
+ // without using currentuser above, because currentuser is null.
}
function initSortable(boardComponent, $listsDom) {
diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json
index a588ba2f..5a14bc2e 100644
--- a/i18n/ru.i18n.json
+++ b/i18n/ru.i18n.json
@@ -494,7 +494,7 @@
"OS_Freemem": "Свободная память",
"OS_Loadavg": "Средняя загрузка",
"OS_Platform": "Платформа",
- "OS_Release": "Релиз",
+ "OS_Release": "Версия ядра",
"OS_Totalmem": "Общая память",
"OS_Type": "Тип ОС",
"OS_Uptime": "Время работы",
diff --git a/i18n/sv.i18n.json b/i18n/sv.i18n.json
index 0012072a..773ea874 100644
--- a/i18n/sv.i18n.json
+++ b/i18n/sv.i18n.json
@@ -82,16 +82,16 @@
"archive": "Flytta till Arkiv",
"archive-all": "Flytta alla till Arkiv",
"archive-board": "Flytta Anslagstavla till Arkiv",
- "archive-card": "Move Card to Archive",
- "archive-list": "Move List to Archive",
+ "archive-card": "Flytta Kort till Arkiv",
+ "archive-list": "Flytta Lista till Arkiv",
"archive-swimlane": "Move Swimlane to Archive",
- "archive-selection": "Move selection to Archive",
+ "archive-selection": "Flytta markerade till Arkiv",
"archiveBoardPopup-title": "Move Board to Archive?",
- "archived-items": "Arkivera",
+ "archived-items": "Arkiv",
"archived-boards": "Boards in Archive",
"restore-board": "Återställ anslagstavla",
"no-archived-boards": "No Boards in Archive.",
- "archives": "Arkivera",
+ "archives": "Arkiv",
"assign-member": "Tilldela medlem",
"attached": "bifogad",
"attachment": "Bilaga",
@@ -118,7 +118,7 @@
"board-view-lists": "Listor",
"bucket-example": "Gilla \"att-göra-innan-jag-dör-lista\" till exempel",
"cancel": "Avbryt",
- "card-archived": "This card is moved to Archive.",
+ "card-archived": "Detta kort är flyttat till Arkiv.",
"board-archived": "Den här anslagstavlan är flyttad till Arkiv.",
"card-comments-title": "Detta kort har %s kommentar.",
"card-delete-notice": "Ta bort är permanent. Du kommer att förlora alla åtgärder i samband med detta kort.",
@@ -170,9 +170,9 @@
"color-black": "svart",
"color-blue": "blå",
"color-crimson": "crimson",
- "color-darkgreen": "darkgreen",
- "color-gold": "gold",
- "color-gray": "gray",
+ "color-darkgreen": "mörkgrön",
+ "color-gold": "guld",
+ "color-gray": "grå",
"color-green": "grön",
"color-indigo": "indigo",
"color-lime": "lime",
@@ -186,11 +186,11 @@
"color-plum": "plum",
"color-purple": "lila",
"color-red": "röd",
- "color-saddlebrown": "saddlebrown",
+ "color-saddlebrown": "sadelbrun",
"color-silver": "silver",
"color-sky": "himmel",
"color-slateblue": "slateblue",
- "color-white": "white",
+ "color-white": "vit",
"color-yellow": "gul",
"unset-color": "Unset",
"comment": "Kommentera",
@@ -288,7 +288,7 @@
"filter-on-desc": "Du filtrerar kort på denna anslagstavla. Klicka här för att redigera filter.",
"filter-to-selection": "Filter till val",
"advanced-filter-label": "Avancerat filter",
- "advanced-filter-description": "Avancerade Filter låter dig skriva en sträng innehållande följande operatorer: == != <= >= && || ( ). Ett mellanslag används som separator mellan operatorerna. Du kan filtrera alla specialfält genom att skriva dess namn och värde. Till exempel: Fält1 == Vårde1. Notera: om fälten eller värden innehåller mellanrum behöver du innesluta dem med enkla citatstecken. Till exempel: 'Fält 1' == 'Värde 1'. För att skippa enkla kontrolltecken (' \\/) kan du använda \\. Till exempel: Fält1 == I\\'m. Du kan även kombinera fler villkor. TIll exempel: F1 == V1 || F1 == V2. Vanligtvis läses operatorerna från vänster till höger. Du kan ändra ordning genom att använda paranteser. TIll exempel: F1 == V1 && ( F2 == V2 || F2 == V3 ). Du kan även söka efter textfält med hjälp av regex: F1 == /Tes.*/i",
+ "advanced-filter-description": "Avancerade filter låter dig skriva en sträng innehållande följande operatorer: == != <= >= && || ( ). Ett mellanslag används som separator mellan operatorerna. Du kan filtrera alla specialfält genom att skriva dess namn och värde. Till exempel: Fält1 == Vårde1. Notera: om fälten eller värden innehåller mellanrum behöver du innesluta dem med enkla citatstecken. Till exempel: 'Fält 1' == 'Värde 1'. För att skippa enkla kontrolltecken (' \\/) kan du använda \\. Till exempel: Fält1 == I\\'m. Du kan även kombinera fler villkor. TIll exempel: F1 == V1 || F1 == V2. Vanligtvis läses operatorerna från vänster till höger. Du kan ändra ordning genom att använda paranteser. TIll exempel: F1 == V1 && ( F2 == V2 || F2 == V3 ). Du kan även söka efter textfält med hjälp av regex: F1 == /Tes.*/i",
"fullname": "Namn",
"header-logo-title": "Gå tillbaka till din anslagstavlor-sida.",
"hide-system-messages": "Göm systemmeddelanden",
@@ -303,7 +303,7 @@
"import-sandstorm-backup-warning": "Do not delete data you import from original exported board or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Importerad anslagstavla raderar all befintlig data på anslagstavla och ersätter den med importerat anslagstavla.",
"from-trello": "Från Trello",
- "from-wekan": "From previous export",
+ "from-wekan": "Från tidigare export",
"import-board-instruction-trello": "I din Trello-anslagstavla, gå till 'Meny', sedan 'Mera', 'Skriv ut och exportera', 'Exportera JSON' och kopiera den resulterande text.",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "Om du får fel vid import av anslagstavla, ibland importerar fortfarande fungerar, och styrelsen är på alla sidor för anslagstavlor.",
@@ -312,7 +312,7 @@
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
"import-show-user-mapping": "Granska medlemskartläggning",
"import-user-select": "Pick your existing user you want to use as this member",
- "importMapMembersAddPopup-title": "Select member",
+ "importMapMembersAddPopup-title": "Välj medlem",
"info": "Version",
"initials": "Initialer ",
"invalid-date": "Ogiltigt datum",
@@ -331,7 +331,7 @@
"leave-board-pop": "Är du säker på att du vill lämna __boardTitle__? Du kommer att tas bort från alla kort på den här anslagstavlan.",
"leaveBoardPopup-title": "Lämna anslagstavla ?",
"link-card": "Länka till detta kort",
- "list-archive-cards": "Move all cards in this list to Archive",
+ "list-archive-cards": "Flytta alla kort i den här listan till Arkiv",
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Archive and bring them back to the board, click “Menu” > “Archive”.",
"list-move-cards": "Flytta alla kort i denna lista",
"list-select-cards": "Välj alla kort i denna lista",
@@ -363,8 +363,8 @@
"muted-info": "Du kommer aldrig att meddelas om eventuella ändringar i denna anslagstavla",
"my-boards": "Mina anslagstavlor",
"name": "Namn",
- "no-archived-cards": "No cards in Archive.",
- "no-archived-lists": "No lists in Archive.",
+ "no-archived-cards": "Inga kort i Arkiv.",
+ "no-archived-lists": "Inga listor i Arkiv.",
"no-archived-swimlanes": "No swimlanes in Archive.",
"no-results": "Inga reslutat",
"normal": "Normal",
@@ -445,7 +445,7 @@
"uploaded-avatar": "Laddade upp en avatar",
"username": "Änvandarnamn",
"view-it": "Visa det",
- "warn-list-archived": "warning: this card is in an list at Archive",
+ "warn-list-archived": "varning: detta kort finns i en lista i Arkiv",
"watch": "Bevaka",
"watching": "Bevakar",
"watching-info": "Du kommer att meddelas om alla ändringar på denna anslagstavla",
@@ -498,7 +498,7 @@
"OS_Totalmem": "OS totalt minne",
"OS_Type": "OS Typ",
"OS_Uptime": "OS drifttid",
- "days": "days",
+ "days": "dagar",
"hours": "timmar",
"minutes": "minuter",
"seconds": "sekunder",
@@ -519,10 +519,10 @@
"card-end-on": "Slutar den",
"editCardReceivedDatePopup-title": "Ändra mottagningsdatum",
"editCardEndDatePopup-title": "Ändra slutdatum",
- "setCardColorPopup-title": "Set color",
- "setCardActionsColorPopup-title": "Choose a color",
- "setSwimlaneColorPopup-title": "Choose a color",
- "setListColorPopup-title": "Choose a color",
+ "setCardColorPopup-title": "Ange färg",
+ "setCardActionsColorPopup-title": "Välj en färg",
+ "setSwimlaneColorPopup-title": "Välj en färg",
+ "setListColorPopup-title": "Välj en färg",
"assigned-by": "Tilldelad av",
"requested-by": "Efterfrågad av",
"board-delete-notice": "Borttagningen är permanent. Du kommer förlora alla listor, kort och händelser kopplade till den här anslagstavlan.",
@@ -559,20 +559,20 @@
"r-add-rule": "Lägg till regel",
"r-view-rule": "Visa regel",
"r-delete-rule": "Ta bort regel",
- "r-new-rule-name": "New rule title",
+ "r-new-rule-name": "Ny titel på regel",
"r-no-rules": "Inga regler",
- "r-when-a-card": "When a card",
+ "r-when-a-card": "När ett kort",
"r-is": "är",
- "r-is-moved": "is moved",
- "r-added-to": "added to",
+ "r-is-moved": "är flyttad",
+ "r-added-to": "tillagd till",
"r-removed-from": "Borttagen från",
"r-the-board": "anslagstavlan",
"r-list": "lista",
"set-filter": "Set Filter",
"r-moved-to": "Flyttad till",
"r-moved-from": "Flyttad från",
- "r-archived": "Moved to Archive",
- "r-unarchived": "Restored from Archive",
+ "r-archived": "Flyttad till Arkiv",
+ "r-unarchived": "Återställd från Arkiv",
"r-a-card": "ett kort",
"r-when-a-label-is": "När en etikett är",
"r-when-the-label-is": "När etiketten är",
@@ -622,8 +622,8 @@
"r-d-send-email-to": "till",
"r-d-send-email-subject": "ämne",
"r-d-send-email-message": "meddelande",
- "r-d-archive": "Move card to Archive",
- "r-d-unarchive": "Restore card from Archive",
+ "r-d-archive": "Flytta kortet till Arkiv",
+ "r-d-unarchive": "Återställ kortet från Arkiv",
"r-d-add-label": "Lägg till etikett",
"r-d-remove-label": "Ta bort etikett",
"r-create-card": "Create new card",
@@ -639,7 +639,7 @@
"r-d-check-of-list": "of checklist",
"r-d-add-checklist": "Lägg till checklista",
"r-d-remove-checklist": "Ta bort checklista",
- "r-by": "by",
+ "r-by": "av",
"r-add-checklist": "Lägg till checklista",
"r-with-items": "with items",
"r-items-list": "item1,item2,item3",
@@ -658,6 +658,6 @@
"hide-logo": "Dölj logotypen",
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
- "error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-undefined": "Något gick fel",
+ "error-ldap-login": "Ett fel uppstod när du försökte logga in"
} \ No newline at end of file
diff --git a/models/export.js b/models/export.js
index 50971c88..76f2da06 100644
--- a/models/export.js
+++ b/models/export.js
@@ -31,7 +31,7 @@ if (Meteor.isServer) {
user = Meteor.users.findOne({
'services.resume.loginTokens.hashedToken': hashToken,
});
- } else {
+ } else if (!Meteor.settings.public.sandstorm) {
Authentication.checkUserId(req.userId);
user = Users.findOne({ _id: req.userId, isAdmin: true });
}
diff --git a/models/users.js b/models/users.js
index 56643848..0fdf21a8 100644
--- a/models/users.js
+++ b/models/users.js
@@ -569,7 +569,7 @@ if (Meteor.isServer) {
user.username = user.services.oidc.username;
user.emails = [{ address: email, verified: true }];
const initials = user.services.oidc.fullname.match(/\b[a-zA-Z]/g).join('').toUpperCase();
- user.profile = { initials, fullname: user.services.oidc.fullname };
+ user.profile = { initials, fullname: user.services.oidc.fullname, boardView: 'board-view-lists' };
user.authenticationMethod = 'oauth2';
// see if any existing user has this email address or username, otherwise create new
diff --git a/package.json b/package.json
index b9936b63..d67c362e 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "wekan",
- "version": "v2.13.0",
+ "version": "v2.17.0",
"description": "Open-Source kanban",
"private": true,
"scripts": {
diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp
index 19e81a74..906ce447 100644
--- a/sandstorm-pkgdef.capnp
+++ b/sandstorm-pkgdef.capnp
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
appTitle = (defaultText = "Wekan"),
# The name of the app as it is displayed to the user.
- appVersion = 215,
+ appVersion = 219,
# Increment this for every release.
- appMarketingVersion = (defaultText = "2.13.0~2019-02-01"),
+ appMarketingVersion = (defaultText = "2.17.0~2019-02-04"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,