Browse Apps

AA Ledger

Character and Corporation statistics, including detailed information on ESS, Ratting, Trading, Mining, and other activities.


Ledger module for AllianceAuth.

pre-commit.ci status Code style: black Tests codecov

ko-fi

Character and Corporation statistics, including detailed information on ESS, Ratting, Trading, Mining, and other activities.

<hr />

Features

  • Statistics
  • Graphical Statistics
  • Yearly, Monthly, Daily, Hourly
  • Current Day
  • Character Ledger
  • Graphical Overview for each Character
    • Graphical Statistics
  • Ratting
  • Encounter Surveillance System Payouts
  • Mining
  • Trading
  • Costs
  • Corporation Ledger
  • Graphical Overview for each Member
  • Ratting Tax
  • Encounter Surveillance System Tax
  • Alliance Ledger
  • Graphical Overview for each Corporation
  • Ratting
  • Encounter Surveillance System Tax
  • Planetary Ledger
  • Graphical Overview for each Planet
  • Notification if Extractor expire
  • Switchable Notification for each Planet
  • Products Overview
  • Events Calender

Upcoming

  • Bug Fixing, Performance Optimation
  • Costs for Corporation Ledger

Installation

[!NOTE] AA Ledger needs at least Alliance Auth v4.0.0 Please make sure to update your Alliance Auth before you install this APP

Step 0 - Check dependencies are installed

Step 1 - Install the Package

Make sure you're in your virtual environment (venv) of your Alliance Auth then install the pakage.

pip install aa-ledger

Step 2 - Configure Alliance Auth

Configure your Alliance Auth settings (local.py) as follows:

  • Add 'ledger', to INSTALLED_APPS

Step 3 - Add the Scheduled Tasks

To set up the Scheduled Tasks add following code to your local.py

CELERYBEAT_SCHEDULE["ledger_character_audit_update_all"] = {
    "task": "ledger.tasks.update_all_characters",
    "schedule": crontab(minute=0, hour="*/1"),
}
CELERYBEAT_SCHEDULE["ledger_corporation_audit_update_all"] = {
    "task": "ledger.tasks.update_all_corps",
    "schedule": crontab(minute=0, hour="*/1"),
}
CELERYBEAT_SCHEDULE["ledger_check_planetary_alarms"] = {
    "task": "ledger.tasks.check_planetary_alarms",
    "schedule": crontab(minute=0, hour="*/3"),
}

Step 3.1 - (Optional) Setting up Compatibilies>

[!NOTE] If you have Member Audit installed add this to Fetch Member Audit Chars and Sync with Ledger

CELERYBEAT_SCHEDULE["ledger_character_member_audit_fetch"] = {
    "task": "ledger.tasks.create_member_audit",
    "schedule": crontab(minute=0, hour="*/1"),
}

Step 4 - Migration to AA

python manage.py collectstatic
python manage.py migrate

Step 5 - Setting up Permissions

With the Following IDs you can set up the permissions for the Ledger

[!IMPORTANT] Character, Corporation, Alliance Ledger only show Data from User has access to advanced_access give User access to see own Corporations he is in

ID Description
basic_access Can access the Ledger module All Members with the Permission can access the Ledger.
advanced_access Can access Corporation and Alliance Ledger Can see Corporation & Alliance Ledger.
admin_access Can access the Administration tools Can Add Corporations, Alliances.
char_audit_manager Has Access to all characters for own Corp Can see all Chars from Corps he is in.
char_audit_admin_manager Has Access to all Characters Can see all Chars.
corp_audit_admin_manager Has Access to all Corporations Can see all Corps.

Step 6 - (Optional) Setting up Compatibilies

The Following Settings can be setting up in the local.py

  • LEDGER_APP_NAME: "YOURNAME" - Set the name of the APP

  • LEDGER_CORP_TAX: 15 - Set Tax Value for ESS Payout Calculation

  • LEDGER_LOGGER_USE: True / False - Set to use own Logger File

If you set up LEDGER_LOGGER_USE to True you need to add the following code below:

LOGGING_LEDGER = {
    "handlers": {
        "ledger_file": {
            "level": "INFO",
            "class": "logging.handlers.RotatingFileHandler",
            "filename": os.path.join(BASE_DIR, "log/ledger.log"),
            "formatter": "verbose",
            "maxBytes": 1024 * 1024 * 5,
            "backupCount": 5,
        },
    },
    "loggers": {
        "ledger": {
            "handlers": ["ledger_file", "console"],
            "level": "INFO",
        },
    },
}
LOGGING["handlers"].update(LOGGING_LEDGER["handlers"])
LOGGING["loggers"].update(LOGGING_LEDGER["loggers"])

Highlights

ledger1

ledger2

ledger3

ledger4

ledger5

ledger6

[!NOTE] Contributing You want to improve the project? Just Make a Pull Request with the Guidelines. We Using pre-commit

No reviews yet...

Python Requirements

Required Python packages to be installed and other Python requirement.

App Dependencies


Required apps:

Used by apps:

    -

Dependencies to other apps registered in this app directory.

Classifiers

  • Environment :: Web Environment
  • Framework :: Django
  • Framework :: Django :: 4.0
  • Framework :: Django :: 4.2
  • Intended Audience :: Developers
  • License :: OSI Approved :: GNU General Public License v3 (GPLv3)
  • Operating System :: OS Independent
  • Programming Language :: Python
  • Programming Language :: Python :: 3 :: Only
  • Programming Language :: Python :: 3.10
  • Programming Language :: Python :: 3.11
  • Programming Language :: Python :: 3.12
  • Programming Language :: Python :: 3.13
  • Topic :: Internet :: WWW/HTTP
  • Topic :: Internet :: WWW/HTTP :: Dynamic Content

Version

0.6.6

License

GPLv3

Homepage

  https://github.com/Geuthur/aa-ledger

PyPI

  https://pypi.org/project/aa-ledger/

Last updated

6 days, 23 hours ago

First published

6 months ago

Category

Plugin Apps

Rating

-

Authors

Geuthur

Maintainers

Geuthur Geuthur

Please login to see more options.