Added new features to srp app, including the total amounts for everything

This commit is contained in:
Raynaldo Rivera 2014-11-27 23:41:42 -07:00
parent ab8efdb2c1
commit 6c991dfce5
8 changed files with 146 additions and 9 deletions

View File

@ -41,6 +41,7 @@ INSTALLED_APPS = (
'django.contrib.sessions', 'django.contrib.sessions',
'django.contrib.messages', 'django.contrib.messages',
'django.contrib.staticfiles', 'django.contrib.staticfiles',
'django.contrib.humanize',
'django_evolution', 'django_evolution',
'djcelery', 'djcelery',
'celerytask', 'celerytask',

View File

@ -150,5 +150,7 @@ urlpatterns = patterns('',
url(r'srp_request_approve/(\w+)', 'srp.views.srp_request_approve', url(r'srp_request_approve/(\w+)', 'srp.views.srp_request_approve',
name='auth_srp_request_approve'), name='auth_srp_request_approve'),
url(r'srp_request_reject/(\w+)', 'srp.views.srp_request_reject', name='auth_srp_request_reject'), url(r'srp_request_reject/(\w+)', 'srp.views.srp_request_reject', name='auth_srp_request_reject'),
url(r'srp_request_amount_update/(\w+)', 'srp.views.srp_request_update_amount_view',
name="auth_srp_request_update_amount_view")
) )

View File

@ -9,4 +9,8 @@ class SrpFleetMainForm(forms.Form):
class SrpFleetUserRequestForm(forms.Form): class SrpFleetUserRequestForm(forms.Form):
killboard_link = forms.CharField(required=True, label="Killboard Link") killboard_link = forms.CharField(required=True, label="Killboard Link")
additional_info = forms.CharField(required=False, label="Additional Info") additional_info = forms.CharField(required=False, label="Additional Info")
class SrpFleetUpdateCostForm(forms.Form):
srp_total_amount = forms.IntegerField(required=True, label="Total SRP Amount")

View File

@ -20,6 +20,7 @@ class SrpUserRequest(models.Model):
after_action_report_link = models.CharField(max_length=254, default="") after_action_report_link = models.CharField(max_length=254, default="")
additional_info = models.CharField(max_length=254, default="") additional_info = models.CharField(max_length=254, default="")
srp_status = models.CharField(max_length=254, default="") srp_status = models.CharField(max_length=254, default="")
srp_total_amount = models.BigIntegerField(default=0)
character = models.ForeignKey(EveCharacter) character = models.ForeignKey(EveCharacter)
srp_fleet_main = models.ForeignKey(SrpFleetMain) srp_fleet_main = models.ForeignKey(SrpFleetMain)

View File

@ -13,6 +13,7 @@ from models import SrpFleetMain
from models import SrpUserRequest from models import SrpUserRequest
from form import SrpFleetMainForm from form import SrpFleetMainForm
from form import SrpFleetUserRequestForm from form import SrpFleetUserRequestForm
from form import SrpFleetUpdateCostForm
def srp_util_test(user): def srp_util_test(user):
@ -22,24 +23,50 @@ def srp_util_test(user):
@login_required @login_required
@user_passes_test(srp_util_test) @user_passes_test(srp_util_test)
def srp_management(request): def srp_management(request):
context = {"srpfleets": SrpFleetMain.objects.filter(fleet_srp_status="")} totalcost = 0
runningcost = 0
price_pair = {}
for fleet_main in SrpFleetMain.objects.filter(fleet_srp_status="").iterator():
for fleet_data in SrpUserRequest.objects.filter(srp_fleet_main=fleet_main).iterator():
totalcost = totalcost + fleet_data.srp_total_amount
runningcost = runningcost + fleet_data.srp_total_amount
price_pair[fleet_main.id] = runningcost
runningcost = 0
context = {"srpfleets": SrpFleetMain.objects.filter(fleet_srp_status=""), "totalcost": totalcost,
"price_pair": price_pair}
return render_to_response('registered/srpmanagement.html', context, context_instance=RequestContext(request)) return render_to_response('registered/srpmanagement.html', context, context_instance=RequestContext(request))
@login_required @login_required
@user_passes_test(srp_util_test) @user_passes_test(srp_util_test)
def srp_management_all(request): def srp_management_all(request):
context = {"srpfleets": SrpFleetMain.objects.all()} totalcost = 0
runningcost = 0
price_pair = {}
for fleet_main in SrpFleetMain.objects.all().iterator():
for fleet_data in SrpUserRequest.objects.filter(srp_fleet_main=fleet_main).iterator():
totalcost = totalcost + fleet_data.srp_total_amount
runningcost = runningcost + fleet_data.srp_total_amount
price_pair[fleet_main.id] = runningcost
runningcost = 0
context = {"srpfleets": SrpFleetMain.objects.all(), "totalcost": totalcost, "price_pair": price_pair}
return render_to_response('registered/srpmanagement.html', context, context_instance=RequestContext(request)) return render_to_response('registered/srpmanagement.html', context, context_instance=RequestContext(request))
@login_required @login_required
@user_passes_test(srp_util_test) @user_passes_test(srp_util_test)
def srp_fleet_view(request, fleet_id): def srp_fleet_view(request, fleet_id):
if SrpFleetMain.objects.filter(id=fleet_id): if SrpFleetMain.objects.filter(id=fleet_id).exists():
fleet_main = SrpFleetMain.objects.get(id=fleet_id) fleet_main = SrpFleetMain.objects.get(id=fleet_id)
totalcost = 0
for fleet_data in SrpUserRequest.objects.filter(srp_fleet_main=fleet_main):
totalcost = totalcost + fleet_data.srp_total_amount
context = {"fleet_id": fleet_id, "fleet_status": fleet_main.fleet_srp_status, context = {"fleet_id": fleet_id, "fleet_status": fleet_main.fleet_srp_status,
"srpfleetrequests": SrpUserRequest.objects.filter(srp_fleet_main=fleet_main)} "srpfleetrequests": SrpUserRequest.objects.filter(srp_fleet_main=fleet_main),
"totalcost": totalcost}
return render_to_response('registered/srpfleetdata.html', context, context_instance=RequestContext(request)) return render_to_response('registered/srpfleetdata.html', context, context_instance=RequestContext(request))
@ -194,4 +221,31 @@ def srp_request_reject(request, srp_request_id):
if stored_fleet_view is None: if stored_fleet_view is None:
return HttpResponseRedirect("/srp") return HttpResponseRedirect("/srp")
else: else:
return HttpResponseRedirect("/srp_fleet_view/" + str(stored_fleet_view)) return HttpResponseRedirect("/srp_fleet_view/" + str(stored_fleet_view))
@login_required
@permission_required('auth.srp_management')
def srp_request_update_amount_view(request, fleet_srp_request_id):
no_srp_code = False
srp_code = ""
if SrpUserRequest.objects.filter(id=fleet_srp_request_id).exists() is False:
no_srp_code = True
if request.method == 'POST':
form = SrpFleetUpdateCostForm(request.POST)
if form.is_valid():
srp_request = SrpUserRequest.objects.get(id=fleet_srp_request_id)
srp_request.srp_total_amount = form.cleaned_data['srp_total_amount']
srp_request.save()
return HttpResponseRedirect("/srp_fleet_view/" + str(srp_request.srp_fleet_main.id))
else:
form = SrpFleetUpdateCostForm()
render_items = {'form': form, "no_srp_code": no_srp_code}
return render_to_response('registered/srpfleetrequestamount.html', render_items,
context_instance=RequestContext(request))

View File

@ -1,7 +1,7 @@
{% extends "public/base.html" %} {% extends "public/base.html" %}
{% load bootstrap %} {% load bootstrap %}
{% load staticfiles %} {% load staticfiles %}
{% load humanize %}
{% block title %}Alliance Auth{% endblock %} {% block title %}Alliance Auth{% endblock %}
{% block page_title %}Srp Fleet Data{% endblock page_title %} {% block page_title %}Srp Fleet Data{% endblock page_title %}
@ -25,11 +25,19 @@
{% endif %} {% endif %}
</div> </div>
</h1> </h1>
<div class="alert alert-info" role="alert">
<div class="text-right">
<b>Total Losses: {{ srpfleetrequests.count }}</b>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b>Total ISK Cost: {{ totalcost | intcomma }}</b>
</div>
</div>
<table class="table table-bordered"> <table class="table table-bordered">
<tr> <tr>
<th class="text-center">Pilot Name</th> <th class="text-center">Pilot Name</th>
<th class="text-center">Killboard Link</th> <th class="text-center">Killboard Link</th>
<th class="text-center">Additional Info</th> <th class="text-center">Additional Info</th>
<th class="text-center">SRP ISK Cost</th>
<th class="text-center">Status</th> <th class="text-center">Status</th>
{% if perms.auth.srp_management %} {% if perms.auth.srp_management %}
<th class="text-center">Actions</th> <th class="text-center">Actions</th>
@ -47,6 +55,7 @@
target="_blank">{{ srpfleetrequest.killboard_link }}</a> target="_blank">{{ srpfleetrequest.killboard_link }}</a>
</td> </td>
<td class="text-center">{{ srpfleetrequest.additional_info }}</td> <td class="text-center">{{ srpfleetrequest.additional_info }}</td>
<td class="text-center">ISK: {{ srpfleetrequest.srp_total_amount | intcomma }}</td>
<td class="text-center"> <td class="text-center">
{% if srpfleetrequest.srp_status == "Approved" %} {% if srpfleetrequest.srp_status == "Approved" %}
<div class="label label-success"> <div class="label label-success">
@ -65,6 +74,10 @@
{% if perms.auth.srp_management %} {% if perms.auth.srp_management %}
<td class="text-center"> <td class="text-center">
<a href="/srp_request_amount_update/{{ srpfleetrequest.id }}">
<button type="button" class="btn btn-info"><span
class="glyphicon glyphicon-pencil"></span></button>
</a>
<a href="/srp_request_approve/{{ srpfleetrequest.id }}"> <a href="/srp_request_approve/{{ srpfleetrequest.id }}">
<button type="button" class="btn btn-success"><span <button type="button" class="btn btn-success"><span
class="glyphicon glyphicon-ok"></span></button> class="glyphicon glyphicon-ok"></span></button>

View File

@ -0,0 +1,45 @@
{% extends "public/base.html" %}
{% load bootstrap %}
{% load staticfiles %}
{% block title %}Alliance Auth - Update SRP Amount{% endblock %}
{% block page_title %}Update SRP Amount{% endblock page_title %}
{% block extra_css %}
<link href="{% static 'css/jquery.datetimepicker.css' %}" rel="stylesheet" type="text/css">{% endblock extra_css %}
{% block content %}
<div class="col-lg-12">
<h1 class="page-header text-center">Update SRP Amount</h1>
<div class="container-fluid">
<div class="col-md-4 col-md-offset-4">
<div class="row">
{% if no_srp_code %}
<div class="alert alert-danger" role="alert">SRP Code Does Not Exist</div>
{% else %}
<form class="form-signin" role="form" action="" method="POST">
{% csrf_token %}
{{ form|bootstrap }}
<br/>
<button class="btn btn-lg btn-primary btn-block" type="submit">Update SRP Request Amount
</button>
</form>
{% endif %}
</div>
</div>
</div>
</div>
{% endblock content %}
{% block extra_script %}
$('#id_fleet_time').datetimepicker({
maskInput: true,
format: 'Y-m-d H:i',minDate:0
});
{% endblock extra_script %}

View File

@ -1,7 +1,7 @@
{% extends "public/base.html" %} {% extends "public/base.html" %}
{% load bootstrap %} {% load bootstrap %}
{% load staticfiles %} {% load staticfiles %}
{% load humanize %}
{% block title %}Alliance Auth{% endblock %} {% block title %}Alliance Auth{% endblock %}
{% block page_title %}Srp Management{% endblock page_title %} {% block page_title %}Srp Management{% endblock page_title %}
@ -17,11 +17,16 @@
<button type="button" class="btn btn-primary">View All</button> <button type="button" class="btn btn-primary">View All</button>
</a> </a>
<a href="{% url 'auth_srp_fleet_add_view' %}"> <a href="{% url 'auth_srp_fleet_add_view' %}">
<button type="button" class="btn btn-success">Add SRP Fleet</button> <button type="button" class="btn btn-success">Add SRP Fleet</button>
</a> </a>
{% endif %} {% endif %}
</div> </div>
</h1> </h1>
<div class="alert alert-info" role="alert">
<div class="text-right">
<b>Total ISK Cost: {{ totalcost | intcomma }}</b>
</div>
</div>
<table class="table table-bordered"> <table class="table table-bordered">
<tr> <tr>
<th class="text-center">Fleet Name</th> <th class="text-center">Fleet Name</th>
@ -29,6 +34,7 @@
<th class="text-center">Fleet Doctrine</th> <th class="text-center">Fleet Doctrine</th>
<th class="text-center">Fleet Commander</th> <th class="text-center">Fleet Commander</th>
<th class="text-center">Fleet SRP Code</th> <th class="text-center">Fleet SRP Code</th>
<th class="text-center">Fleet ISK Cost</th>
<th class="text-center">SRP Status</th> <th class="text-center">SRP Status</th>
<th class="text-center">Actions</th> <th class="text-center">Actions</th>
</tr> </tr>
@ -53,6 +59,17 @@
target="_blank">{{ srpfleet.fleet_srp_code }}</a> target="_blank">{{ srpfleet.fleet_srp_code }}</a>
</div> </div>
</th> </th>
<td class="text-center">
{% for key,value in price_pair.items %}
{% if key == srpfleet.id %}
ISK: {{ value | intcomma }}
{% endif %}
{% endfor %}
</td>
<td class="text-center"> <td class="text-center">
{% if srpfleet.fleet_srp_status == "" %} {% if srpfleet.fleet_srp_status == "" %}
<div class="label label-warning"> <div class="label label-warning">