Skip to main content

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

Project description

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.


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 (not include amount)
  • Events Calender

Upcoming

  • Bug Fixing, Performance Optimation

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

Project details


Download files

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

Source Distribution

aa_ledger-0.6.3.tar.gz (1.4 MB view hashes)

Uploaded Source

Built Distribution

aa_ledger-0.6.3-py3-none-any.whl (1.5 MB 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