Added srp program features, updated hr applications to support adding a "mark in progress"

This commit is contained in:
Raynaldo Rivera
2014-11-26 22:09:57 -07:00
parent eb723254f2
commit cce15d1667
19 changed files with 516 additions and 47 deletions

0
srp/__init__.py Executable file
View File

8
srp/admin.py Executable file
View File

@@ -0,0 +1,8 @@
from django.contrib import admin
from models import SrpFleetMain
from models import SrpUserRequest
# Register your models here.
admin.site.register(SrpFleetMain)
admin.site.register(SrpUserRequest)

12
srp/form.py Executable file
View File

@@ -0,0 +1,12 @@
from django import forms
class SrpFleetMainForm(forms.Form):
fleet_name = forms.CharField(required=True, label="Fleet Name")
fleet_time = forms.DateTimeField(required=True, label="Fleet Time")
fleet_doctrine = forms.CharField(required=True, label="Fleet Doctrine")
class SrpFleetUserRequestForm(forms.Form):
killboard_link = forms.CharField(required=True, label="Killboard Link")
additional_info = forms.CharField(required=False, label="Additional Info")

24
srp/models.py Executable file
View File

@@ -0,0 +1,24 @@
from django.db import models
from eveonline.models import EveCharacter
class SrpFleetMain(models.Model):
fleet_name = models.CharField(max_length=254, default="")
fleet_doctrine = models.CharField(max_length=254, default="")
fleet_time = models.DateTimeField()
fleet_srp_code = models.CharField(max_length=254, default="", unique=True)
fleet_commander = models.ForeignKey(EveCharacter)
def __str__(self):
return self.fleet_name + " - SrpFleetMain"
class SrpUserRequest(models.Model):
killboard_link = models.CharField(max_length=254, default="")
additional_info = models.CharField(max_length=254, default="")
character = models.ForeignKey(EveCharacter)
srp_fleet_main = models.ForeignKey(SrpFleetMain)
def __str__(self):
return self.character.character_name + " - SrpUserRequest"

1
srp/tests.py Executable file
View File

@@ -0,0 +1 @@
# Create your tests here.

133
srp/views.py Executable file
View File

@@ -0,0 +1,133 @@
from django.template import RequestContext
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
from django.contrib.auth.decorators import login_required
from django.contrib.auth.decorators import permission_required
from django.contrib.auth.decorators import user_passes_test
from util import random_string
from eveonline.managers import EveManager
from authentication.managers import AuthServicesInfoManager
from util import check_if_user_has_permission
from models import SrpFleetMain
from models import SrpUserRequest
from form import SrpFleetMainForm
from form import SrpFleetUserRequestForm
def srp_util_test(user):
return check_if_user_has_permission(user, 'alliance_member') or check_if_user_has_permission(user, 'blue_member')
@login_required
@user_passes_test(srp_util_test)
def srp_management(request):
context = {"srpfleets": SrpFleetMain.objects.all()}
return render_to_response('registered/srpmanagement.html', context, context_instance=RequestContext(request))
@login_required
@user_passes_test(srp_util_test)
def srp_fleet_view(request, fleet_id):
if SrpFleetMain.objects.filter(id=fleet_id):
fleet_main = SrpFleetMain.objects.get(id=fleet_id)
context = {"srpfleetrequests": SrpUserRequest.objects.filter(srp_fleet_main=fleet_main)}
return render_to_response('registered/srpfleetdata.html', context, context_instance=RequestContext(request))
else:
return HttpResponseRedirect("/srp")
@login_required
@permission_required('auth.srp_management')
def srp_fleet_add_view(request):
completed = False
completed_srp_code = ""
if request.method == 'POST':
form = SrpFleetMainForm(request.POST)
if form.is_valid():
authinfo = AuthServicesInfoManager.get_auth_service_info(request.user)
character = EveManager.get_character_by_id(authinfo.main_char_id)
srp_fleet_main = SrpFleetMain()
srp_fleet_main.fleet_name = form.cleaned_data['fleet_name']
srp_fleet_main.fleet_doctrine = form.cleaned_data['fleet_doctrine']
srp_fleet_main.fleet_time = form.cleaned_data['fleet_time']
srp_fleet_main.fleet_srp_code = random_string(8)
srp_fleet_main.fleet_commander = character
srp_fleet_main.save()
completed = True
completed_srp_code = srp_fleet_main.fleet_srp_code
else:
form = SrpFleetMainForm()
render_items = {'form': form, "completed": completed, "completed_srp_code": completed_srp_code}
return render_to_response('registered/srpfleetadd.html', render_items, context_instance=RequestContext(request))
@login_required
@permission_required('auth.srp_management')
def srp_fleet_remove(request, fleet_id):
if SrpFleetMain.objects.filter(id=fleet_id).exists():
srpfleetmain = SrpFleetMain.objects.get(id=fleet_id)
srpfleetmain.delete()
return HttpResponseRedirect("/srp")
@login_required
@user_passes_test(srp_util_test)
def srp_request_view(request, fleet_srp):
completed = False
no_srp_code = False
srp_code = ""
if SrpFleetMain.objects.filter(fleet_srp_code=fleet_srp).exists() is False:
no_srp_code = True
if request.method == 'POST':
form = SrpFleetUserRequestForm(request.POST)
if form.is_valid():
authinfo = AuthServicesInfoManager.get_auth_service_info(request.user)
character = EveManager.get_character_by_id(authinfo.main_char_id)
srp_fleet_main = SrpFleetMain.objects.get(fleet_srp_code=fleet_srp)
srp_request = SrpUserRequest()
srp_request.killboard_link = form.cleaned_data['killboard_link']
srp_request.additional_info = form.cleaned_data['additional_info']
srp_request.character = character
srp_request.srp_fleet_main = srp_fleet_main
srp_request.save()
completed = True
else:
form = SrpFleetUserRequestForm()
render_items = {'form': form, "completed": completed, "no_srp_code": no_srp_code}
return render_to_response('registered/srpfleetrequest.html', render_items, context_instance=RequestContext(request))
@login_required
@permission_required('auth.srp_management')
def srp_request_remove(request, srp_request_id):
stored_fleet_view = None
if SrpUserRequest.objects.filter(id=srp_request_id).exists():
srpuserrequest = SrpUserRequest.objects.get(id=srp_request_id)
stored_fleet_view = srpuserrequest.srp_fleet_main.id
srpuserrequest.delete()
if stored_fleet_view is None:
return HttpResponseRedirect("/srp")
else:
return HttpResponseRedirect("/srp_fleet_view/" + str(stored_fleet_view))