mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-12 05:50:16 +02:00
Merge branch 'master' of https://github.com/R4stl1n/allianceauth
This commit is contained in:
commit
0431b8d0f3
@ -151,7 +151,9 @@ urlpatterns = patterns('',
|
||||
url(r'^srp_all/$', 'srp.views.srp_management_all', name='auth_srp_management_all_view'),
|
||||
url(r'^srp_fleet_view/(\w+)$', 'srp.views.srp_fleet_view', name='auth_srp_fleet_view'),
|
||||
url(r'^srp_fleet_add_view/$', 'srp.views.srp_fleet_add_view', name='auth_srp_fleet_add_view'),
|
||||
url(r'^srp_fleet_remove/(\w+)$', 'srp.views.srp_fleet_remove', name='auth_srp_flet_remove'),
|
||||
url(r'^srp_fleet_remove/(\w+)$', 'srp.views.srp_fleet_remove', name='auth_srp_fleet_remove'),
|
||||
url(r'^srp_fleet_disable/(\w+)$', 'srp.views.srp_fleet_disable', name='auth_srp_fleet_disable'),
|
||||
url(r'^srp_fleet_enable/(\w+)$', 'srp.views.srp_fleet_enable', name='auth_srp_fleet_enable'),
|
||||
url(r'^srp_fleet_edit/(\w+)$', 'srp.views.srp_fleet_edit_view', name='auth_srp_fleet_edit_view'),
|
||||
url(r'^srp_fleet_mark_completed/(\w+)', 'srp.views.srp_fleet_mark_completed',
|
||||
name='auth_srp_fleet_mark_completed'),
|
||||
|
@ -9,7 +9,7 @@ class SrpFleetMainForm(forms.Form):
|
||||
|
||||
|
||||
class SrpFleetUserRequestForm(forms.Form):
|
||||
additional_info = forms.CharField(required=False, label="Additional Info")
|
||||
additional_info = forms.CharField(required=False, max_length=25, label="Additional Info")
|
||||
killboard_link = forms.CharField(
|
||||
label="zKillboard Link",
|
||||
max_length=255,
|
||||
|
@ -1,5 +1,5 @@
|
||||
from django.db import models
|
||||
|
||||
from django.utils import timezone
|
||||
from eveonline.models import EveCharacter
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@ 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_srp_code = models.CharField(max_length=254, default="")
|
||||
fleet_srp_status = models.CharField(max_length=254, default="")
|
||||
fleet_commander = models.ForeignKey(EveCharacter)
|
||||
fleet_srp_aar_link = models.CharField(max_length=254, default="")
|
||||
@ -26,7 +26,7 @@ class SrpUserRequest(models.Model):
|
||||
srp_fleet_main = models.ForeignKey(SrpFleetMain)
|
||||
kb_total_loss = models.BigIntegerField(default=0)
|
||||
srp_ship_name = models.CharField(max_length=254, default="")
|
||||
|
||||
post_time = models.DateTimeField(default=timezone.now)
|
||||
|
||||
def __str__(self):
|
||||
return self.character.character_name + " - SrpUserRequest"
|
||||
|
38
srp/views.py
38
srp/views.py
@ -17,6 +17,7 @@ from form import SrpFleetUpdateCostForm
|
||||
from form import SrpFleetMainUpdateForm
|
||||
from services.managers.srp_manager import srpManager
|
||||
from notifications import notify
|
||||
from django.utils import timezone
|
||||
|
||||
import logging
|
||||
|
||||
@ -74,7 +75,7 @@ def srp_fleet_view(request, 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):
|
||||
for fleet_data in SrpUserRequest.objects.filter(srp_fleet_main=fleet_main).filter(srp_status="Approved"):
|
||||
totalcost = totalcost + fleet_data.srp_total_amount
|
||||
logger.debug("Determiend fleet id %s total cost %s" % (fleet_id, totalcost))
|
||||
|
||||
@ -137,6 +138,31 @@ def srp_fleet_remove(request, fleet_id):
|
||||
logger.error("Unable to delete SRP fleet id %s for user %s - fleet matching id not found." % (fleet_id, request.user))
|
||||
return HttpResponseRedirect("/srp")
|
||||
|
||||
@login_required
|
||||
@permission_required('auth.srp_management')
|
||||
def srp_fleet_disable(request, fleet_id):
|
||||
logger.debug("srp_fleet_disable called by user %s for fleet id %s" % (request.user, fleet_id))
|
||||
if SrpFleetMain.objects.filter(id=fleet_id).exists():
|
||||
srpfleetmain = SrpFleetMain.objects.get(id=fleet_id)
|
||||
srpfleetmain.fleet_srp_code = ""
|
||||
srpfleetmain.save()
|
||||
logger.info("SRP Fleet %s disabled by user %s" % (srpfleetmain.fleet_name, request.user))
|
||||
else:
|
||||
logger.error("Unable to disable SRP fleet id %s for user %s - fleet matching id not found." % (fleet_id, request.user))
|
||||
return HttpResponseRedirect("/srp")
|
||||
|
||||
@login_required
|
||||
@permission_required('auth.srp_management')
|
||||
def srp_fleet_enable(request, fleet_id):
|
||||
logger.debug("srp_fleet_enable called by user %s for fleet id %s" % (request.user, fleet_id))
|
||||
if SrpFleetMain.objects.filter(id=fleet_id).exists():
|
||||
srpfleetmain = SrpFleetMain.objects.get(id=fleet_id)
|
||||
srpfleetmain.fleet_srp_code = random_string(8)
|
||||
srpfleetmain.save()
|
||||
logger.info("SRP Fleet %s enable by user %s" % (srpfleetmain.fleet_name, request.user))
|
||||
else:
|
||||
logger.error("Unable to enable SRP fleet id %s for user %s - fleet matching id not found." % (fleet_id, request.user))
|
||||
return HttpResponseRedirect("/srp")
|
||||
|
||||
@login_required
|
||||
@permission_required('auth.srp_management')
|
||||
@ -186,13 +212,15 @@ def srp_request_view(request, fleet_srp):
|
||||
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)
|
||||
|
||||
post_time = timezone.now()
|
||||
srp_status = "Pending"
|
||||
|
||||
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.srp_status = srp_status
|
||||
|
||||
try:
|
||||
srp_kill_link = srpManager.get_kill_id(srp_request.killboard_link)
|
||||
@ -205,6 +233,7 @@ def srp_request_view(request, fleet_srp):
|
||||
srp_request.srp_ship_name = srp_ship_name
|
||||
kb_total_loss = ship_value
|
||||
srp_request.kb_total_loss = kb_total_loss
|
||||
srp_request.post_time = post_time
|
||||
srp_request.save()
|
||||
completed = True
|
||||
logger.info("Created SRP Request on behalf of user %s for fleet name %s" % (request.user, srp_fleet_main.fleet_name))
|
||||
@ -243,12 +272,17 @@ def srp_request_approve(request, srp_request_id):
|
||||
logger.debug("srp_request_approve called by user %s for srp request id %s" % (request.user, 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.srp_status = "Approved"
|
||||
if srpuserrequest.srp_total_amount == 0:
|
||||
srpuserrequest.srp_total_amount = srpuserrequest.kb_total_loss
|
||||
srpuserrequest.save()
|
||||
logger.info("Approved SRP request id %s for character %s by user %s" % (srp_request_id, srpuserrequest.character, request.user))
|
||||
|
||||
if stored_fleet_view is None:
|
||||
logger.error("Unable to approve srp request id %s on behalf of user %s - request matching id not found." % (srp_request_id, request.user))
|
||||
return HttpResponseRedirect("/srp")
|
||||
|
@ -40,6 +40,7 @@
|
||||
<th class="text-center">Ship Type</th>
|
||||
<th class="text-center">Killboard Loss Amt</th>
|
||||
<th class="text-center">SRP ISK Cost</th>
|
||||
<th class="text-center">Post Time</th>
|
||||
<th class="text-center">Status</th>
|
||||
{% if perms.auth.srp_management %}
|
||||
<th class="text-center">Actions</th>
|
||||
@ -60,6 +61,7 @@
|
||||
<td class="text-center">{{ srpfleetrequest.srp_ship_name }}</td>
|
||||
<td class="text-center">ISK: {{ srpfleetrequest.kb_total_loss | intcomma }}</td>
|
||||
<td class="text-center">ISK: {{ srpfleetrequest.srp_total_amount | intcomma }}</td>
|
||||
<td class="text-center">{{ srpfleetrequest.post_time | date:"Y-m-d H:i" }}</td>
|
||||
<td class="text-center">
|
||||
{% if srpfleetrequest.srp_status == "Approved" %}
|
||||
<div class="label label-success">
|
||||
@ -82,18 +84,43 @@
|
||||
<button type="button" class="btn btn-info"><span
|
||||
class="glyphicon glyphicon-pencil"></span></button>
|
||||
</a>
|
||||
<a href="/srp_request_approve/{{ srpfleetrequest.id }}">
|
||||
{% if srpfleetrequest.srp_status == "Rejected" %}
|
||||
<a href="/srp_request_approve/{{ srpfleetrequest.id }}">
|
||||
<button type="button" class="btn btn-success"><span
|
||||
class="glyphicon glyphicon-ok"></span></button>
|
||||
</a>
|
||||
<a href="/srp_request_reject/{{ srpfleetrequest.id }}">
|
||||
</a>
|
||||
{% elif srpfleetrequest.srp_status == "Pending" %}
|
||||
<a href="/srp_request_approve/{{ srpfleetrequest.id }}">
|
||||
<button type="button" class="btn btn-success"><span
|
||||
class="glyphicon glyphicon-ok"></span></button>
|
||||
</a>
|
||||
{% elif srpfleetrequest.srp_status == "" %}
|
||||
<a href="/srp_request_approve/{{ srpfleetrequest.id }}">
|
||||
<button type="button" class="btn btn-success"><span
|
||||
class="glyphicon glyphicon-ok"></span></button>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if srpfleetrequest.srp_status == "Approved" %}
|
||||
<a href="/srp_request_reject/{{ srpfleetrequest.id }}">
|
||||
<button type="button" class="btn btn-warning"><span
|
||||
class="glyphicon glyphicon-remove"></span></button>
|
||||
</a>
|
||||
</a>
|
||||
{% elif srpfleetrequest.srp_status == "Pending" %}
|
||||
<a href="/srp_request_reject/{{ srpfleetrequest.id }}">
|
||||
<button type="button" class="btn btn-warning"><span
|
||||
class="glyphicon glyphicon-remove"></span></button>
|
||||
</a>
|
||||
{% elif srpfleetrequest.srp_status == "" %}
|
||||
<a href="/srp_request_reject/{{ srpfleetrequest.id }}">
|
||||
<button type="button" class="btn btn-warning"><span
|
||||
class="glyphicon glyphicon-remove"></span></button>
|
||||
</a>
|
||||
{% endif %}
|
||||
<a href="/srp_request_remove/{{ srpfleetrequest.id }}">
|
||||
<button type="button" class="btn btn-danger"><span
|
||||
class="glyphicon glyphicon-trash"></span></button>
|
||||
</a>
|
||||
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
|
@ -46,7 +46,7 @@
|
||||
{{ srpfleet.fleet_name }}
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-center">{{ srpfleet.fleet_time }}</td>
|
||||
<td class="text-center">{{ srpfleet.fleet_time | date:"Y-m-d H:i" }}</td>
|
||||
<td class="text-center">{{ srpfleet.fleet_doctrine }}</td>
|
||||
<td class="text-center">
|
||||
<div class="label label-success">
|
||||
@ -56,10 +56,16 @@
|
||||
<th class="text-center"><a href="{{ srpfleet.fleet_srp_aar_link }}"
|
||||
target="_blank">{{ srpfleet.fleet_srp_aar_link }}</a></th>
|
||||
<th class="text-center">
|
||||
{% if srpfleet.fleet_srp_code %}
|
||||
<div class="label label-warning">
|
||||
<a href="/srp_request/{{ srpfleet.fleet_srp_code }}"
|
||||
target="_blank">{{ srpfleet.fleet_srp_code }}</a>
|
||||
>{{ srpfleet.fleet_srp_code }}</a>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="label label-danger">
|
||||
Disabled
|
||||
</div>
|
||||
{% endif %}
|
||||
</th>
|
||||
<td class="text-center">
|
||||
{% for key,value in price_pair.items %}
|
||||
@ -95,8 +101,20 @@
|
||||
|
||||
<a href="/srp_fleet_remove/{{ srpfleet.id }}">
|
||||
<button type="button" class="btn btn-danger"><span
|
||||
class="glyphicon glyphicon-remove"></span></button>
|
||||
class="glyphicon glyphicon-trash"></span></button>
|
||||
</a>
|
||||
{% if srpfleet.fleet_srp_code %}
|
||||
<a href="/srp_fleet_disable/{{ srpfleet.id }}">
|
||||
<button type="button" class="btn btn-warning"><span
|
||||
class="glyphicon glyphicon-remove-sign"></span></button>
|
||||
</a>
|
||||
{% else %}
|
||||
<a href="/srp_fleet_enable/{{ srpfleet.id }}">
|
||||
<button type="button" class="btn btn-success"><span
|
||||
class="glyphicon glyphicon-ok-sign"></span></button>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
|
Loading…
x
Reference in New Issue
Block a user