Browse Source

Fix 8.16: Switching Board View fails with 403 error.

Thanks to xet7 !
Lauri Ojansivu 1 day ago
parent
commit
550d87ac6c
2 changed files with 22 additions and 2 deletions
  1. 14 2
      client/lib/utils.js
  2. 8 0
      models/users.js

+ 14 - 2
client/lib/utils.js

@@ -231,9 +231,21 @@ Utils = {
     window.location.reload();
   },
   setBoardView(view) {
-    currentUser = ReactiveCache.getCurrentUser();
+    const currentUser = ReactiveCache.getCurrentUser();
+    
     if (currentUser) {
-      ReactiveCache.getCurrentUser().setBoardView(view);
+      // Update localStorage first
+      window.localStorage.setItem('boardView', view);
+      
+      // Update user profile via Meteor method
+      Meteor.call('setBoardView', view, (error) => {
+        if (error) {
+          console.error('[setBoardView] Update failed:', error);
+        } else {
+          // Reload to apply the view change
+          Utils.reload();
+        }
+      });
     } else if (view === 'board-view-swimlanes') {
       window.localStorage.setItem('boardView', 'board-view-swimlanes'); //true
       Utils.reload();

+ 8 - 0
models/users.js

@@ -1729,6 +1729,14 @@ Meteor.methods({
     const user = ReactiveCache.getCurrentUser();
     user.setMobileMode(enabled);
   },
+  setBoardView(view) {
+    check(view, String);
+    const user = ReactiveCache.getCurrentUser();
+    if (!user) {
+      throw new Meteor.Error('not-authorized', 'Must be logged in');
+    }
+    user.setBoardView(view);
+  },
 });
 
 if (Meteor.isServer) {