mirror of
https://github.com/documize/community.git
synced 2025-07-21 14:19:43 +02:00
Correct space public/protected/private detection logic
This commit is contained in:
parent
ae6494b4f0
commit
f8e47fe1d2
2 changed files with 10 additions and 10 deletions
|
@ -118,12 +118,11 @@ func (h *Handler) SetSpacePermissions(w http.ResponseWriter, r *http.Request) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
url := ctx.GetAppURL(fmt.Sprintf("s/%s/%s", sp.RefID, stringutil.MakeSlug(sp.Name)))
|
||||||
me := false
|
me := false
|
||||||
hasEveryoneRole := false
|
hasEveryoneRole := false
|
||||||
roleCount := 0
|
roleCount := 0
|
||||||
|
|
||||||
url := ctx.GetAppURL(fmt.Sprintf("s/%s/%s", sp.RefID, stringutil.MakeSlug(sp.Name)))
|
|
||||||
|
|
||||||
for _, perm := range model.Permissions {
|
for _, perm := range model.Permissions {
|
||||||
perm.OrgID = ctx.OrgID
|
perm.OrgID = ctx.OrgID
|
||||||
perm.SpaceID = id
|
perm.SpaceID = id
|
||||||
|
@ -136,20 +135,22 @@ func (h *Handler) SetSpacePermissions(w http.ResponseWriter, r *http.Request) {
|
||||||
// Only persist if there is a role!
|
// Only persist if there is a role!
|
||||||
if permission.HasAnyPermission(perm) {
|
if permission.HasAnyPermission(perm) {
|
||||||
// identify publically shared spaces
|
// identify publically shared spaces
|
||||||
if perm.UserID == "0" || perm.UserID == "" {
|
if perm.UserID == "" {
|
||||||
perm.UserID = "0"
|
perm.UserID = "0"
|
||||||
|
}
|
||||||
|
|
||||||
|
if perm.UserID == "0" {
|
||||||
hasEveryoneRole = true
|
hasEveryoneRole = true
|
||||||
}
|
}
|
||||||
|
|
||||||
r := permission.EncodeUserPermissions(perm)
|
r := permission.EncodeUserPermissions(perm)
|
||||||
|
roleCount++
|
||||||
|
|
||||||
for _, p := range r {
|
for _, p := range r {
|
||||||
err = h.Store.Permission.AddPermission(ctx, p)
|
err = h.Store.Permission.AddPermission(ctx, p)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
h.Runtime.Log.Error("set permission", err)
|
h.Runtime.Log.Error("set permission", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
roleCount++
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// We send out space invitation emails to those users
|
// We send out space invitation emails to those users
|
||||||
|
@ -161,6 +162,7 @@ func (h *Handler) SetSpacePermissions(w http.ResponseWriter, r *http.Request) {
|
||||||
existingUser, err := h.Store.User.Get(ctx, perm.UserID)
|
existingUser, err := h.Store.User.Get(ctx, perm.UserID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
response.WriteServerError(w, method, err)
|
response.WriteServerError(w, method, err)
|
||||||
|
h.Runtime.Log.Error(method, err)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -187,6 +189,7 @@ func (h *Handler) SetSpacePermissions(w http.ResponseWriter, r *http.Request) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ctx.Transaction.Rollback()
|
ctx.Transaction.Rollback()
|
||||||
response.WriteServerError(w, method, err)
|
response.WriteServerError(w, method, err)
|
||||||
|
h.Runtime.Log.Error(method, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -334,14 +334,11 @@ func (h *Handler) GetViewable(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
||||||
sp, err := h.Store.Space.GetViewable(ctx)
|
sp, err := h.Store.Space.GetViewable(ctx)
|
||||||
|
|
||||||
if err != nil && err != sql.ErrNoRows {
|
if err != nil {
|
||||||
response.WriteServerError(w, method, err)
|
// response.WriteServerError(w, method, err)
|
||||||
h.Runtime.Log.Error(method, err)
|
h.Runtime.Log.Error(method, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if len(sp) == 0 {
|
|
||||||
sp = []space.Space{}
|
|
||||||
}
|
|
||||||
|
|
||||||
response.WriteJSON(w, sp)
|
response.WriteJSON(w, sp)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue