mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2026-02-06 07:06:19 +01:00
Added Enhancements to SRP Management
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
35
srp/views.py
35
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,6 +212,7 @@ 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_request = SrpUserRequest()
|
||||
@@ -205,6 +232,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 +271,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")
|
||||
|
||||
Reference in New Issue
Block a user