Added selecting of main character

This commit is contained in:
Raynaldo Rivera 2014-10-04 00:19:19 -07:00
parent d15e5e6351
commit 4232ac0ccd
5 changed files with 30 additions and 3 deletions

View File

@ -10,6 +10,7 @@ urlpatterns = patterns('',
url(r'^$', 'portal.views.index', name='index'), url(r'^$', 'portal.views.index', name='index'),
url(r'^characters/', 'portal.views.characters_view', name='characters'), url(r'^characters/', 'portal.views.characters_view', name='characters'),
url(r'^apikeymanagment/', 'portal.views.apikeymanagment_view', name='apimanagment'), url(r'^apikeymanagment/', 'portal.views.apikeymanagment_view', name='apimanagment'),
url(r'^maincharacterchange/(\d+)/$', 'portal.views.main_character_change', name='main_character_change'),
url(r'^loginuser/','authentication.views.login_user', name='loginuser'), url(r'^loginuser/','authentication.views.login_user', name='loginuser'),
url(r'^logoutuser/','authentication.views.logout_user', name='logoutuser'), url(r'^logoutuser/','authentication.views.logout_user', name='logoutuser'),
url(r'^register/', 'registration.views.register', name='register'), url(r'^register/', 'registration.views.register', name='register'),

View File

@ -55,6 +55,11 @@ class AllianceUserManager(BaseUserManager):
user.save(using=self._db) user.save(using=self._db)
return user return user
def update_user_main_character(self,character_id, user_id):
user = AllianceUser.objects.get(id=user_id)
user.main_char_id = character_id
user.save(update_fields=['main_char_id'])
# The icv user # The icv user
class AllianceUser(AbstractBaseUser): class AllianceUser(AbstractBaseUser):
username = models.CharField(max_length = 40,unique=True) username = models.CharField(max_length = 40,unique=True)
@ -65,6 +70,7 @@ class AllianceUser(AbstractBaseUser):
is_banned = models.BooleanField(default = False) is_banned = models.BooleanField(default = False)
api_id = models.CharField(max_length = 254) api_id = models.CharField(max_length = 254)
api_key = models.CharField(max_length = 254) api_key = models.CharField(max_length = 254)
main_char_id = models.IntegerField(default = 0)
objects = AllianceUserManager() objects = AllianceUserManager()

View File

@ -27,6 +27,16 @@ class EveCharacterManager():
def get_characters_by_owner_id(self, owner_id): def get_characters_by_owner_id(self, owner_id):
return EveCharacter.objects.all().filter(allianceuser_owner=owner_id) return EveCharacter.objects.all().filter(allianceuser_owner=owner_id)
def check_if_character_owned_by_user(self, char_id, user_id):
character = EveCharacter.objects.get(character_id = char_id)
print char_id
print user_id
print character.allianceuser_owner
if character.allianceuser_owner.id == user_id:
return True
return False
class EveApiManager(): class EveApiManager():
characterManager = EveCharacterManager() characterManager = EveCharacterManager()

View File

@ -1,10 +1,11 @@
from django.shortcuts import render from django.shortcuts import render
from django.shortcuts import render_to_response from django.shortcuts import render_to_response, HttpResponseRedirect
from django.template import RequestContext from django.template import RequestContext
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from forms import UpdateKeyForm from forms import UpdateKeyForm
from evespecific.managers import EveCharacterManager
from evespecific.managers import EveCharacterManager
from authentication.models import AllianceUserManager
# Create your views here. # Create your views here.
@login_required @login_required
def index(request): def index(request):
@ -17,6 +18,15 @@ def characters_view(request):
render_items = {'characters':characterManager.get_characters_by_owner_id(request.user.id)} render_items = {'characters':characterManager.get_characters_by_owner_id(request.user.id)}
return render_to_response('public/characters.html', render_items, context_instance=RequestContext(request)) return render_to_response('public/characters.html', render_items, context_instance=RequestContext(request))
@login_required
def main_character_change(request, id):
userManager = AllianceUserManager()
characterManager = EveCharacterManager()
if characterManager.check_if_character_owned_by_user(id,request.user.id) == True:
userManager.update_user_main_character(id,request.user.id)
return HttpResponseRedirect("/")
return HttpResponseRedirect("/characters")
@login_required @login_required
def apikeymanagment_view(request): def apikeymanagment_view(request):
if request.method == 'POST': if request.method == 'POST':

View File

@ -25,7 +25,7 @@
</div> </div>
</div> </div>
<div class="col-md-offset-8"> <div class="col-md-offset-8">
<button type="button" class="btn btn-primary">Make Primary</button> <a href="/maincharacterchange/{{character.character_id}}"><button type="button" class="btn btn-primary">Make Primary</button></a>
</div> </div>
</div> </div>
</div> </div>