Skip to main content

Improved SRP Module for Alliance Auth

Project description

AA SRP

Badge: Version Badge: License Badge: Supported Python Versions Badge: Supported Django Versions Badge: pre-commit Badge: pre-commit.ci status Badge: Code Style: black Badge: Automated Tests Badge: Code Coverage Badge: Translation Status Badge: Contributor Covenant Discord Alliance Auth Compatibility

Badge: Buy me a coffee

SRP Module for Alliance Auth



Overview

Features

  • Overview of SRP links
  • Overview of your own SRP requests and their status
  • Accepting kill mails from zKillboard, EveTools Killboard and EVE-Kill
  • SRP Request administration is mostly done via ajax and without page reloads
  • Use modern DataTables with filters where ever they're useful
  • Tables fully searchable and sortable
  • Mandatory reason on SRP reject
  • Notifications in AA with detailed information on SRP rejection
  • Discord notification via PM to the user on SRP request approval or rejection, if either AA-Discordbot, Discord Notify or Discord Proxy is installed
  • Notify your SRP team (optional) in their Discord channel about new SRP requests, if AA-Discordbot or Discord Proxy is installed

Screenshots

Dashboard

Image: AA SRP Dashboard

Dashboard (View All)

Image: AA SRP Dashboard (View All)

Your SRP Requests

Image: Your SRP Requests View

SRP Requests Overview

Image: SRP Requests Overview

SRP Request Details

Image: SRP Request Details

Installation

Prerequisites

[!IMPORTANT]

Please make sure you meet all prerequisites before you proceed!

  • AA SRP is a plugin for Alliance Auth. If you don't have Alliance Auth running already, please install it first before proceeding. (see the official Alliance Auth installation guide for details)
  • AA SRP needs at least Alliance Auth v4.12.0

Bare Metal Installation

Step 1: Install the Package

Make sure you're in the virtual environment (venv) of your Alliance Auth installation Then install the latest release directly from PyPi.

pip install aa-srp==4.2.3

Step 2: Configure Alliance Auth

This is fairly simple, just add the following to the INSTALLED_APPS of your local.py

Configure your AA settings (local.py) as follows:

INSTALLED_APPS += [
    # …
    "eve_sde",  # Only if not already added for another app
    "aasrp",
    # …
]

# This line is right below the `INSTALLED_APPS` list, and only if not already added for another app
INSTALLED_APPS = ["modeltranslation"] + INSTALLED_APPS

Add the following new task to ensure the SDE data is kept up to date:

if "eve_sde" in INSTALLED_APPS:
    # Run at 12:00 each day
    CELERYBEAT_SCHEDULE["EVE SDE :: Check for SDE Updates"] = {
        "task": "eve_sde.tasks.check_for_sde_updates",
        "schedule": crontab(minute="0", hour="12"),
    }

    # Set the following when you have a bare metal installation, or Docker with a
    # non-standard storage for `myauth`
    ESDE_TASK_SPLIT = True

Step 3: Finalizing the Installation

Run static files collection and migrations

Migrate and populate SDE:

python manage.py migrate eve_sde
python manage.py esde_load_sde

Migare the app and run static collection:

python manage.py migrate aasrp
python manage.py collectstatic --noinput

Restart your supervisor services for Auth

Docker Installation

Step 1: Add the App

Add the app to your conf/requirements.txt

aa-srp==4.2.3

Step 2: Update Your AA Settings

Configure your AA settings as (conf/local.py) follows:

INSTALLED_APPS += [
    # …
    "eve_sde",  # Only if not already added for another app
    "aasrp",
    # …
]

# This line is right below the `INSTALLED_APPS` list, and only if not already added for another app
INSTALLED_APPS = ["modeltranslation"] + INSTALLED_APPS

Add the following new task to ensure the SDE data is kept up to date:

if "eve_sde" in INSTALLED_APPS:
    # Run at 12:00 each day
    CELERYBEAT_SCHEDULE["EVE SDE :: Check for SDE Updates"] = {
        "task": "eve_sde.tasks.check_for_sde_updates",
        "schedule": crontab(minute="0", hour="12"),
    }

    # Set the following when you have a bare metal installation, or Docker with a
    # non-standard storage for `myauth`
    ESDE_TASK_SPLIT = True

Step 3: Build Auth and Restart Your Containers

docker compose build --no-cache
docker compose --env-file=.env up -d

Step 4: Finalizing the Installation

Run migrations and copy static files:

docker compose exec allianceauth_gunicorn bash

auth migrate eve_sde
auth esde_load_sde

auth migrate aasrp
auth collectstatic

Common Installation Steps

Setting up Permissions

Now it's time to set up access permissions for your new SRP module. You can do so in your admin backend in the AA SRP section. Read the Permissions section for more information about the available permissions.

(Optional) Import From Built-in SRP Module

[!NOTE]

This step is only needed when you have been using the built-in SRP module until now.

The import process can be done at any given time and doesn't necessarily have to be during the installation.

[!IMPORTANT]

Make sure you don't have any open SRP requests before. All SRP links in the built-in module will be closed during the import process, to make sure to not import any duplicates.

To import your SRP information from the built-in SRP module, run the following:

Bare Metal Installation
python manage.py aasrp_migrate_srp_data
Docker Installation
docker compose exec allianceauth_gunicorn bash

auth aasrp_migrate_srp_data

(Optional) Settings for Discord Proxy (If Used)

[!NOTE]

This step is only needed if you want to use Discord notifications and have Discord Proxy installed.

If you are using Discord Proxy to send Discord messages, you can configure the host and port in your local.py settings.

Name Description Default
DISCORDPROXY_HOST Hostname used to communicate with Discord Proxy. localhost
DISCORDPROXY_PORT Port used to communicate with Discord Proxy. 50051
Docker Installation

If you have Discord Proxy installed via Docker (see here), you should set the following:

DISCORDPROXY_HOST = "allianceauth_discordproxy"

Updating

Bare Metal Installation

To update your existing installation of AA SRP, first enable your virtual environment (venv) of your Alliance Auth installation.

Then run the following command to update AA SRP to the latest version.

pip install aa-srp==4.2.3

python manage.py collectstatic
python manage.py migrate

redis-cli flushall

Restart your supervisor services for Auth.

Docker Installation

To update your existing installation of AA SRP, first update the version in your conf/requirements.txt to the latest version.

aa-srp==4.2.3

Then build your Auth container and restart your containers.

docker compose build
docker compose --env-file=.env up -d

After that, run the following commands to update your database and static files:

docker compose exec allianceauth_gunicorn bash

auth collectstatic
auth migrate

Permissions

ID Description Notes
basic_access Can access the AA SRP module Your line members should have this permission.
create_srp Can create new SRP links Your FCs should have this permission.
manage_srp Can manage SRP Users with this permission can manage the AA SRP Module. Like changing and removing SRP links and requests.
manage_srp_requests Can manage SRP requests Users with this permission can manage the SRP requests. Like changing and removing SRP requests.

Changelog

See CHANGELOG.md

Translation Status

Translation status

Do you want to help translate this app into your language or improve the existing translation? - Join our team of translators!

Contributing

You want to contribute to this project? That's cool!

Please make sure to read the Contribution Guidelines.
(I promise, it's not much, just some basics)

Project details


Release history Release notifications | RSS feed

This version

4.2.3

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aa_srp-4.2.3.tar.gz (374.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aa_srp-4.2.3-py3-none-any.whl (476.7 kB view details)

Uploaded Python 3

File details

Details for the file aa_srp-4.2.3.tar.gz.

File metadata

  • Download URL: aa_srp-4.2.3.tar.gz
  • Upload date:
  • Size: 374.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aa_srp-4.2.3.tar.gz
Algorithm Hash digest
SHA256 2db51387fe33af4a558f470d7884dcbb53998ed9f87c4de2e258743de5834d82
MD5 baf90f31dabc4e111688adedcbde1560
BLAKE2b-256 6753d88b187211f965999ed55066ff785f2a7db7d112539e991e1139ada0862c

See more details on using hashes here.

Provenance

The following attestation bundles were made for aa_srp-4.2.3.tar.gz:

Publisher: release.yml on ppfeufer/aa-srp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aa_srp-4.2.3-py3-none-any.whl.

File metadata

  • Download URL: aa_srp-4.2.3-py3-none-any.whl
  • Upload date:
  • Size: 476.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aa_srp-4.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3d71e6bb2e8a275b353780c467f0f27649e9289cc99993516ce14a3fa0cdbef2
MD5 9b197b4b36bff2a78889d21d60dd1515
BLAKE2b-256 6b4526190e0ebb899960f64080d468f7e092da76c50cbe0279f68497e678889a

See more details on using hashes here.

Provenance

The following attestation bundles were made for aa_srp-4.2.3-py3-none-any.whl:

Publisher: release.yml on ppfeufer/aa-srp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page