🐛Fix clan name and description editing

#Fixes 2693
This commit is contained in:
Matt Lott 2015-04-21 14:12:01 -07:00
parent cfe3e280e5
commit 559b9533c4
2 changed files with 9 additions and 11 deletions

View file

@ -13,21 +13,18 @@ UserHandler = require '../users/user_handler'
ClanHandler = class ClanHandler extends Handler
modelClass: Clan
jsonSchema: require '../../app/schemas/models/clan.schema'
allowedMethods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE']
allowedMethods: ['GET', 'POST', 'PUT', 'DELETE']
hasAccess: (req) ->
return true if req.method in ['GET']
return false unless req.user?
return false if req.user.isAnonymous()
return true if req.body.type is 'public' or req.user.isPremium()
false
return true if req.method is 'GET'
return false if req.method is 'POST' and req.body?.type is 'private' and not req.user?.isPremium()
req.method in @allowedMethods or req.user?.isAdmin()
hasAccessToDocument: (req, document, method=null) ->
return false unless document?
return true if req.user?.isAdmin()
method = (method or req.method).toLowerCase()
return true if method is 'get'
return true if document.get('ownerID')?.equals req.user._id
return true if (method or req.method).toLowerCase() is 'get'
return true if document.get('ownerID')?.equals req.user?._id
false
makeNewInstance: (req) ->

View file

@ -61,13 +61,13 @@ describe 'Clans', ->
expect(res.statusCode).toBe(401)
done()
it 'Create clan missing type 403', (done) ->
it 'Create clan missing type 422', (done) ->
loginNewUser (user1) ->
requestBody =
name: createClanName 'myclan'
request.post {uri: clanURL, json: requestBody }, (err, res, body) ->
expect(err).toBeNull()
expect(res.statusCode).toBe(403)
expect(res.statusCode).toBe(422)
done()
it 'Create clan missing name 422', (done) ->
@ -384,6 +384,7 @@ describe 'Clans', ->
it 'Create clan when not premium 403', (done) ->
loginNewUser (user1) ->
expect(user1.isPremium()).toEqual(false)
requestBody =
type: 'private'
name: createClanName 'myclan'