mirror of
https://github.com/penpot/penpot.git
synced 2025-05-15 21:26:37 +02:00
🐛 Fix issue when promoting to owner
This commit is contained in:
parent
7d68d79fc3
commit
ea3f2fbfce
2 changed files with 10 additions and 8 deletions
|
@ -60,6 +60,7 @@
|
||||||
- Fix text selection in comments [#745](https://github.com/penpot/penpot/issues/745)
|
- Fix text selection in comments [#745](https://github.com/penpot/penpot/issues/745)
|
||||||
- Update Work-Sans font [#744](https://github.com/penpot/penpot/issues/744)
|
- Update Work-Sans font [#744](https://github.com/penpot/penpot/issues/744)
|
||||||
- Fix issue with recent files not showing [Taiga #1493](https://tree.taiga.io/project/penpot/issue/1493)
|
- Fix issue with recent files not showing [Taiga #1493](https://tree.taiga.io/project/penpot/issue/1493)
|
||||||
|
- Fix issue when promoting to owner [Taiga #1494](https://tree.taiga.io/project/penpot/issue/1494)
|
||||||
|
|
||||||
|
|
||||||
### :arrow_up: Deps updates
|
### :arrow_up: Deps updates
|
||||||
|
|
|
@ -174,7 +174,10 @@
|
||||||
;; convenience, if this bocomes a bottleneck or problematic,
|
;; convenience, if this bocomes a bottleneck or problematic,
|
||||||
;; we will change it to more efficient fetch mechanims.
|
;; we will change it to more efficient fetch mechanims.
|
||||||
members (teams/retrieve-team-members conn team-id)
|
members (teams/retrieve-team-members conn team-id)
|
||||||
member (d/seek #(= member-id (:id %)) members)]
|
member (d/seek #(= member-id (:id %)) members)
|
||||||
|
|
||||||
|
is-owner? (some :is-owner perms)
|
||||||
|
is-admin? (some :is-admin perms)]
|
||||||
|
|
||||||
;; If no member is found, just 404
|
;; If no member is found, just 404
|
||||||
(when-not member
|
(when-not member
|
||||||
|
@ -182,8 +185,7 @@
|
||||||
:code :member-does-not-exist))
|
:code :member-does-not-exist))
|
||||||
|
|
||||||
;; First check if we have permissions to change roles
|
;; First check if we have permissions to change roles
|
||||||
(when-not (or (some :is-owner perms)
|
(when-not (or is-owner? is-admin?)
|
||||||
(some :is-admin perms))
|
|
||||||
(ex/raise :type :validation
|
(ex/raise :type :validation
|
||||||
:code :insufficient-permissions))
|
:code :insufficient-permissions))
|
||||||
|
|
||||||
|
@ -193,21 +195,20 @@
|
||||||
:code :cant-change-role-to-owner))
|
:code :cant-change-role-to-owner))
|
||||||
|
|
||||||
;; Don't allow promote to owner to admin users.
|
;; Don't allow promote to owner to admin users.
|
||||||
(when (and (= role :owner)
|
(when (and (not is-owner?) (= role :owner))
|
||||||
(not (:is-owner perms)))
|
|
||||||
(ex/raise :type :validation
|
(ex/raise :type :validation
|
||||||
:code :cant-promote-to-owner))
|
:code :cant-promote-to-owner))
|
||||||
|
|
||||||
(let [params (role->params role)]
|
(let [params (role->params role)]
|
||||||
;; Only allow single owner on team
|
;; Only allow single owner on team
|
||||||
(when (and (= role :owner)
|
(when (= role :owner)
|
||||||
(:is-owner perms))
|
|
||||||
(db/update! conn :team-profile-rel
|
(db/update! conn :team-profile-rel
|
||||||
{:is-owner false}
|
{:is-owner false}
|
||||||
{:team-id team-id
|
{:team-id team-id
|
||||||
:profile-id profile-id}))
|
:profile-id profile-id}))
|
||||||
|
|
||||||
(db/update! conn :team-profile-rel params
|
(db/update! conn :team-profile-rel
|
||||||
|
params
|
||||||
{:team-id team-id
|
{:team-id team-id
|
||||||
:profile-id member-id})
|
:profile-id member-id})
|
||||||
nil))))
|
nil))))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue