+
Skip to content

Geuthur/aa-ledger

Repository files navigation

Ledger module for AllianceAuth.

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

ko-fi

Character and Corporation PvE 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
      • Graphical Statistics
    • Ratting Tax
    • Encounter Surveillance System Tax
    • Industry Tax
  • Alliance Ledger
    • Graphical Overview for each Corporation
    • Ratting Tax
    • Encounter Surveillance System Tax
  • Planetary Ledger
    • Graphical Overview for each Planet
      • Graphical Statistics
    • Notification if Extractor expire
    • Switchable Notification for each Planet
    • Products Overview
  • Events Calender

Upcoming

  • Corporation Administration
  • Status Update System for each Section
  • Costs for Corporation Ledger

Installation

Note

AA Ledger needs at least Alliance Auth v4.6.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_subset_characters"] = {
    "task": "ledger.tasks.update_subset_characters",
    "schedule": crontab(minute="15,45"),
}
CELERYBEAT_SCHEDULE["ledger_corporation_audit_update_subset_corporations"] = {
    "task": "ledger.tasks.update_subset_corporations",
    "schedule": crontab(minute="15,45"),
}
CELERYBEAT_SCHEDULE["ledger_check_planetary_alarms"] = {
    "task": "ledger.tasks.check_planetary_alarms",
    "schedule": crontab(minute=0, hour="*/3"),
}

Step 3.1 - (Optional) Add own Logger File

To set up the Logger add following code to your local.py Ensure that you have writing permission in logs folder.

LOGGING["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,
}
LOGGING["loggers"]["extensions.ledger"] = {
    "handlers": ["ledger_file"],
    "level": "DEBUG",
}

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/manage Corporations, Alliances.
event_admin_access Can access Events Tools Can add/edit Events.
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) Settings

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

  • LEDGER_APP_NAME: "YOURNAME" - Set the name of the APP
  • LEDGER_TASKS_TIME_LIMIT: 7200 - Defines the time (in seconds) a task will timeout
  • LEDGER_CORP_TAX: 15 - Set Tax Value for ESS Payout Calculation

Advanced Settings: Stale Status for Each Section

  • LEDGER_STALE_TYPES = { "wallet_journal": 60, "wallet_division": 60, "mining_ledger": 30, "planets": 30, "planets_details": 30, } - Defines the stale status duration (in minutes) for each section.

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

About

Character & Corporation Ledger PvE Statistics for Alliance Auth

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 3

  •  
  •  
  •  
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载