Merge pull request #184 from nickago/MM-1278

MM-1278 Team admin can now delete any post
Этот коммит содержится в:
Joram Wilander
2015-07-17 10:21:16 -04:00
родитель 05d6a3a812 372869354f
Коммит dcc2173f1f
4 изменённых файлов: 31 добавлений и 7 удалений

Просмотреть файл

@@ -634,16 +634,17 @@ func deletePost(c *Context, w http.ResponseWriter, r *http.Request) {
cchan := Srv.Store.Channel().CheckPermissionsTo(c.Session.TeamId, channelId, c.Session.UserId)
pchan := Srv.Store.Post().Get(postId)
if !c.HasPermissionsToChannel(cchan, "deletePost") {
return
}
if result := <-pchan; result.Err != nil {
c.Err = result.Err
return
} else {
post := result.Data.(*model.PostList).Posts[postId]
if !c.HasPermissionsToChannel(cchan, "deletePost") && !c.IsTeamAdmin(post.UserId){
return
}
if post == nil {
c.SetInvalidParam("deletePost", "postId")
return
@@ -655,7 +656,7 @@ func deletePost(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if post.UserId != c.Session.UserId {
if post.UserId != c.Session.UserId && !strings.Contains(c.Session.Roles,model.ROLE_ADMIN) {
c.Err = model.NewAppError("deletePost", "You do not have the appropriate permissions", "")
c.Err.StatusCode = http.StatusForbidden
return