mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-13 14:30:17 +02:00
add evetools killboard as accepted source for srp requests
This commit is contained in:
parent
356df45583
commit
839232dc98
@ -13,7 +13,7 @@ class SrpFleetMainForm(forms.Form):
|
||||
class SrpFleetUserRequestForm(forms.Form):
|
||||
additional_info = forms.CharField(required=False, max_length=25, label=_("Additional Info"))
|
||||
killboard_link = forms.CharField(
|
||||
label=_("zKillboard Link"),
|
||||
label=_("Killboard Link (zkillboard.com or kb.evetools.org)"),
|
||||
max_length=255,
|
||||
required=True
|
||||
|
||||
@ -21,13 +21,31 @@ class SrpFleetUserRequestForm(forms.Form):
|
||||
|
||||
def clean_killboard_link(self):
|
||||
data = self.cleaned_data['killboard_link']
|
||||
if "zkillboard.com" not in data:
|
||||
raise forms.ValidationError(_("Invalid Link. Please use zKillboard.com"))
|
||||
|
||||
if not re.match(r"http[s]?://zkillboard\.com/kill/\d+\/", data):
|
||||
# Check if it's a link from one of the accepted kill boards
|
||||
if not any(
|
||||
re.match(regex, data)
|
||||
for regex in [
|
||||
r"^http[s]?:\/\/zkillboard\.com\/",
|
||||
r"^http[s]?:\/\/kb\.evetools\.org\/",
|
||||
]
|
||||
):
|
||||
raise forms.ValidationError(
|
||||
_("Invalid Link. Please use zkillboard.com or kb.evetools.org")
|
||||
)
|
||||
|
||||
# Check if it's an actual kill mail
|
||||
if not any(
|
||||
re.match(regex, data)
|
||||
for regex in [
|
||||
r"^http[s]?:\/\/zkillboard\.com\/kill\/\d+\/",
|
||||
r"^http[s]?:\/\/kb\.evetools\.org\/kill\/\d+",
|
||||
]
|
||||
):
|
||||
raise forms.ValidationError(
|
||||
_("Invalid Link. Please post a direct link to a killmail.")
|
||||
)
|
||||
|
||||
return data
|
||||
|
||||
|
||||
|
@ -170,9 +170,13 @@ def srp_request_view(request, fleet_srp):
|
||||
logger.debug("Request type POST contains form valid: %s" % form.is_valid())
|
||||
|
||||
if form.is_valid():
|
||||
if SrpUserRequest.objects.filter(killboard_link=form.cleaned_data['killboard_link']).exists():
|
||||
request_killboard_link = form.cleaned_data['killboard_link']
|
||||
killmail_id = SRPManager.get_kill_id(killboard_link=request_killboard_link)
|
||||
|
||||
# check if the killmail_id is already present
|
||||
if SrpUserRequest.objects.filter(killboard_link__icontains="/kill/" + killmail_id).exists():
|
||||
messages.error(request,
|
||||
_("This Killboard link has already been posted."))
|
||||
_("This kill mail has already been posted."))
|
||||
return redirect("srp:management")
|
||||
|
||||
character = request.user.profile.main_character
|
||||
@ -180,7 +184,7 @@ def srp_request_view(request, fleet_srp):
|
||||
post_time = timezone.now()
|
||||
|
||||
srp_request = SrpUserRequest()
|
||||
srp_request.killboard_link = form.cleaned_data['killboard_link']
|
||||
srp_request.killboard_link = request_killboard_link
|
||||
srp_request.additional_info = form.cleaned_data['additional_info']
|
||||
srp_request.character = character
|
||||
srp_request.srp_fleet_main = srp_fleet_main
|
||||
|
Loading…
x
Reference in New Issue
Block a user