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.messages',
'django.contrib.staticfiles',
'django.contrib.humanize',
'django_evolution',
'djcelery',
'celerytask',

View File

@ -150,5 +150,7 @@ urlpatterns = patterns('',
url(r'srp_request_approve/(\w+)', 'srp.views.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_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):
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="")
additional_info = 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)
srp_fleet_main = models.ForeignKey(SrpFleetMain)

View File

@ -13,6 +13,7 @@ from models import SrpFleetMain
from models import SrpUserRequest
from form import SrpFleetMainForm
from form import SrpFleetUserRequestForm
from form import SrpFleetUpdateCostForm
def srp_util_test(user):
@ -22,24 +23,50 @@ def srp_util_test(user):
@login_required
@user_passes_test(srp_util_test)
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))
@login_required
@user_passes_test(srp_util_test)
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))
@login_required
@user_passes_test(srp_util_test)
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)
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,
"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))
@ -194,4 +221,31 @@ def srp_request_reject(request, srp_request_id):
if stored_fleet_view is None:
return HttpResponseRedirect("/srp")
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" %}
{% load bootstrap %}
{% load staticfiles %}
{% load humanize %}
{% block title %}Alliance Auth{% endblock %}
{% block page_title %}Srp Fleet Data{% endblock page_title %}
@ -25,11 +25,19 @@
{% endif %}
</div>
</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">
<tr>
<th class="text-center">Pilot Name</th>
<th class="text-center">Killboard Link</th>
<th class="text-center">Additional Info</th>
<th class="text-center">SRP ISK Cost</th>
<th class="text-center">Status</th>
{% if perms.auth.srp_management %}
<th class="text-center">Actions</th>
@ -47,6 +55,7 @@
target="_blank">{{ srpfleetrequest.killboard_link }}</a>
</td>
<td class="text-center">{{ srpfleetrequest.additional_info }}</td>
<td class="text-center">ISK: {{ srpfleetrequest.srp_total_amount | intcomma }}</td>
<td class="text-center">
{% if srpfleetrequest.srp_status == "Approved" %}
<div class="label label-success">
@ -65,6 +74,10 @@
{% if perms.auth.srp_management %}
<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 }}">
<button type="button" class="btn btn-success"><span
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" %}
{% load bootstrap %}
{% load staticfiles %}
{% load humanize %}
{% block title %}Alliance Auth{% endblock %}
{% block page_title %}Srp Management{% endblock page_title %}
@ -17,11 +17,16 @@
<button type="button" class="btn btn-primary">View All</button>
</a>
<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>
{% endif %}
</div>
</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">
<tr>
<th class="text-center">Fleet Name</th>
@ -29,6 +34,7 @@
<th class="text-center">Fleet Doctrine</th>
<th class="text-center">Fleet Commander</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">Actions</th>
</tr>
@ -53,6 +59,17 @@
target="_blank">{{ srpfleet.fleet_srp_code }}</a>
</div>
</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">
{% if srpfleet.fleet_srp_status == "" %}
<div class="label label-warning">