Rewrite session handling URLs to make a little more sense
This commit is contained in:
@@ -62,22 +62,35 @@ class ServerHandler(AnonymousBaseHandler):
|
||||
serverTime = -1
|
||||
return {"hostname":hostname, "port":s.port, "players": playerList, "time":serverTime, "rules": s.ruleset.split('\n')}
|
||||
|
||||
class PlayerSessionHandler(BaseHandler):
|
||||
allowed_methods = ('POST', 'PUT')
|
||||
model = PlayerSession
|
||||
class NewPlayerSessionHandler(BaseHandler):
|
||||
allowed_methods = ('POST',)
|
||||
|
||||
def create(self, request, playername):
|
||||
ip = request.POST['ip']
|
||||
try:
|
||||
profile = MinecraftProfile.objects.all().filter(mc_username__iexact=playername)[0]
|
||||
except IndexError, e:
|
||||
return {'valid': False, 'error': 'User not found', 'permissions': []}
|
||||
if profile.user.is_active:
|
||||
perms = []
|
||||
if profile.user.is_staff:
|
||||
perms.append('bukkit.command.op.give')
|
||||
ip = request.POST['ip']
|
||||
server = request.server
|
||||
profile = MinecraftProfile.objects.get(mc_username__exact=playername)
|
||||
session = PlayerSession.objects.create(server=server, player=profile, ip=ip)
|
||||
return {'success': True, 'error': '', 'permissions': perms, 'sessionId': session.id}
|
||||
else:
|
||||
return {'success': False, 'error': 'Your account is inactive.', 'permissions': []}
|
||||
|
||||
server = request.server
|
||||
profile = MinecraftProfile.objects.get(mc_username__exact=playername)
|
||||
session = PlayerSession.objects.create(server=server, player=profile, ip=ip)
|
||||
return {'session':session.id}
|
||||
class ClosePlayerSessionHandler(BaseHandler):
|
||||
allowed_methods = ('GET',)
|
||||
|
||||
def update(self, request, playername):
|
||||
session = PlayerSession.objects.get(id__exact=request.POST['session'])
|
||||
session.end = datetime.now()
|
||||
session.save()
|
||||
def read(self, request, playername):
|
||||
sessions = PlayerSession.objects.all().filter(player__mc_username__iexact=playername, end=None)
|
||||
for session in sessions:
|
||||
session.end = datetime.now()
|
||||
session.save()
|
||||
return {'success': True}
|
||||
|
||||
class EconomyHandler(BaseHandler):
|
||||
allowed_methods = ('PUT','GET')
|
||||
|
Reference in New Issue
Block a user