mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-12 22:10:16 +02:00
Added new features to srp app, including the total amounts for everything
This commit is contained in:
parent
ab8efdb2c1
commit
6c991dfce5
@ -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',
|
||||||
|
@ -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")
|
||||||
|
|
||||||
)
|
)
|
@ -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")
|
@ -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)
|
||||||
|
|
||||||
|
64
srp/views.py
64
srp/views.py
@ -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))
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
45
templates/registered/srpfleetrequestamount.html
Executable file
45
templates/registered/srpfleetrequestamount.html
Executable 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 %}
|
@ -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">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user