mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-12 14:00:17 +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.messages',
|
||||
'django.contrib.staticfiles',
|
||||
'django.contrib.humanize',
|
||||
'django_evolution',
|
||||
'djcelery',
|
||||
'celerytask',
|
||||
|
@ -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")
|
||||
|
||||
)
|
@ -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")
|
@ -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)
|
||||
|
||||
|
64
srp/views.py
64
srp/views.py
@ -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))
|
||||
|
@ -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>
|
||||
|
||||
<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>
|
||||
|
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" %}
|
||||
{% 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">
|
||||
|
Loading…
x
Reference in New Issue
Block a user