2018-07-17 08:44:21 +02:00
|
|
|
package models
|
|
|
|
|
2018-10-31 13:42:38 +01:00
|
|
|
import (
|
|
|
|
"code.vikunja.io/api/pkg/log"
|
|
|
|
)
|
|
|
|
|
2018-07-17 08:44:21 +02:00
|
|
|
// CanCreate checks if one can create a new team <-> namespace relation
|
2018-07-18 08:56:19 +02:00
|
|
|
func (tn *TeamNamespace) CanCreate(user *User) bool {
|
2018-10-06 13:25:37 +02:00
|
|
|
n, err := GetNamespaceByID(tn.NamespaceID)
|
|
|
|
if err != nil {
|
2018-10-31 13:42:38 +01:00
|
|
|
log.Log.Error("Error occurred during CanCreate for TeamNamespace: %s", err)
|
2018-10-06 13:25:37 +02:00
|
|
|
return false
|
|
|
|
}
|
2018-07-17 08:44:21 +02:00
|
|
|
return n.IsAdmin(user)
|
|
|
|
}
|
2018-07-18 08:16:15 +02:00
|
|
|
|
|
|
|
// CanDelete checks if a user can remove a team from a namespace. Only namespace admins can do that.
|
|
|
|
func (tn *TeamNamespace) CanDelete(user *User) bool {
|
2018-10-06 13:25:37 +02:00
|
|
|
n, err := GetNamespaceByID(tn.NamespaceID)
|
|
|
|
if err != nil {
|
2018-10-31 13:42:38 +01:00
|
|
|
log.Log.Error("Error occurred during CanDelete for TeamNamespace: %s", err)
|
2018-10-06 13:25:37 +02:00
|
|
|
return false
|
|
|
|
}
|
2018-07-18 08:16:15 +02:00
|
|
|
return n.IsAdmin(user)
|
2018-07-21 15:28:09 +02:00
|
|
|
}
|
2018-09-19 08:16:04 +02:00
|
|
|
|
2018-10-31 13:42:38 +01:00
|
|
|
// CanUpdate checks if a user can update a team from a Only namespace admins can do that.
|
2018-09-19 08:16:04 +02:00
|
|
|
func (tn *TeamNamespace) CanUpdate(user *User) bool {
|
2018-10-06 13:25:37 +02:00
|
|
|
n, err := GetNamespaceByID(tn.NamespaceID)
|
|
|
|
if err != nil {
|
2018-10-31 13:42:38 +01:00
|
|
|
log.Log.Error("Error occurred during CanUpdate for TeamNamespace: %s", err)
|
2018-10-06 13:25:37 +02:00
|
|
|
return false
|
|
|
|
}
|
2018-09-19 08:16:04 +02:00
|
|
|
return n.IsAdmin(user)
|
|
|
|
}
|