Skip to main content

Another Fleet Activity Tracking tool for Alliance Auth

Project description

Alliance Auth AFAT - Another Fleet Activity Tracker

Version License Python Django pre-commit PyPI Downloads Code Style: black Discord

An Improved FAT/PAP System for Alliance Auth.

AFAT is a privately maintained whitelabel of ImicusFAT. The only reason AFAT exists is because I don't like having an alliance internal meme as a name for a module in my Auth system. Nothing else ...

Features and highlights

  • FATLink Creation and Population from ESI
  • Automatic tracing of participation on FAT links created via ESI
  • Fleet Type Classification (can be added in the Admin Menu)
  • Graphical Statistics Views
  • Custom module name

AFAT will work alongside the built-in native FAT System, bFAT and ImicusFAT. However, data does not share, but you can migrate their data to AFAT, for more information see below.

Contents

Installation

Important

This app is a plugin for Alliance Auth. If you don't have Alliance Auth running already, please install it first before proceeding. (see the official AA installation guide for details)

For users migrating from one of the other FAT systems, please read the specific instructions FIRST.

Step 1 - Install app

Make sure you are in the virtual environment (venv) of your Alliance Auth installation. Then install the latest version:

pip install allianceauth-afat

Step 2 - Update your AA settings

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

  • Add 'afat', to INSTALLED_APPS
  • Add the scheduled task so ESI links will be updated automagically
# AFAT - https://github.com/ppfeufer/allianceauth-afat
CELERYBEAT_SCHEDULE["afat_update_esi_fatlinks"] = {
    "task": "afat.tasks.update_esi_fatlinks",
    "schedule": crontab(minute="*/1"),
}

Step 3 - Finalize the installation

Run migrations & copy static files

python manage.py collectstatic
python manage.py migrate

Restart your supervisor services for AA.

Updating

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

pip install -U allianceauth-afat

python manage.py collectstatic
python manage.py migrate

Finally restart your supervisor services for AA

Data Migration

Right after the initial installation and running migrations, you can import the data from Alliance Auth's native FAT system, from bFAT or from ImicusFAT if you have used one of these until now.

!!IMPORTANT!!

Only do this once and ONLY BEFORE you are using AFAT. A later migration is not possible.

Import from native FAT

To import from the native FAT module, simply run the following command:

python myauth/manage.py afat_import_from_allianceauth_fat

Import from bFAT

To import from the bFAT module, simply run the following command:

python myauth/manage.py afat_import_from_bfat

Import from ImicusFAT

First, you need to remove all "deleted" FAT links and FATs. To do so, login to your mysql database and run the following commands:

# de-activate foreign key checks
SET FOREIGN_KEY_CHECKS=0;

# remove all "deleted" FATs
delete from imicusfat_ifat where deleted_at is not null;

# remove all "deleted" fat link types
delete from imicusfat_ifatlinktype where deleted_at is not null;

# get all fatlink IDs of "deleted" fatlinks as comma separated list and make sure
# to have that in your notepad saved, you need this list for the next comamnds
select group_concat(id) from imicusfat_ifatlink where deleted_at is not null;

# now remove everything that is related to those IDs
# make sure to replace "id_list" with the comma separated
# list of IDs from the earlier command
delete from imicusfat_clickifatduration where fleet_id in (id_list);
delete from imicusfat_ifat where ifatlink_id in (id_list);
delete from imicusfat_ifatlink where id in(id_list);

# re-activate foreign key checks
SET FOREIGN_KEY_CHECKS=1;

This step needs to be done, because we cannot import entries markes as "deleted", but some other entries might rely on them, so we need to remove those. You don't need to worry, you are not losing any data besides what is already "deleted" and ImicusFAT is no longer working with them anyways.

Once done, start the actual import script like this:

python myauth/manage.py afat_import_from_imicusfat

Settings

To customize the module, the following settings are available.

Name Description Default Value
AFAT_APP_NAME Custom application name, in case you'd like a different name Fleet Activity Tracking
AFAT_DEFAULT_FATLINK_EXPIRY_TIME Default expiry time for clickable FAT links in Minutes 60
AFAT_DEFAULT_FATLINK_REOPEN_GRACE_TIME Time in minutes a FAT link can be re-opened after it has expired 60
AFAT_DEFAULT_FATLINK_REOPEN_DURATION Time in minutes a FAT link is re-opened 60

Permissions

Name Description Notes
basic_access Can access the AFAT module Your line member probably want this permission, so they can see the module and click the FAT links they are given. They also can see their own statistics with this permission.
manage_afat Can manage the AFAT module Your Military lead probably should get this permission
add_fatlink Can create FAT Links Your regular FC or who ever should be able to add FAT links should have this permission
stats_corporation_own Can see own corporation statistics
stats_corporation_other Can see statistics of other corporations

Changelog

To keep track of all changes, please read the Changelog.

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)

Credits

• AFAT • Privately maintained by @ppfeufer is a whitelabel of ImicusFAT maintained by @exiom with @Aproia and @ppfeufer • Based on allianceauth-bfat by @colcrunch •

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

allianceauth-afat-2.0.0a10.tar.gz (256.4 kB view hashes)

Uploaded Source

Built Distribution

allianceauth_afat-2.0.0a10-py3-none-any.whl (293.3 kB view hashes)

Uploaded Python 3

Supported by

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