aa-ledger 1.0.4__py3-none-any.whl → 2.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {aa_ledger-1.0.4.dist-info → aa_ledger-2.0.0.dist-info}/METADATA +5 -6
- aa_ledger-2.0.0.dist-info/RECORD +267 -0
- ledger/__init__.py +2 -2
- ledger/admin.py +23 -18
- ledger/api/__init__.py +23 -7
- ledger/api/{ledger/admin.py → admin.py} +25 -31
- ledger/api/alliance.py +755 -0
- ledger/api/character.py +786 -0
- ledger/api/corporation.py +1141 -0
- ledger/api/{helpers.py → helpers/core.py} +33 -33
- ledger/api/helpers/icons.py +372 -0
- ledger/api/helpers/planetary_helper.py +354 -0
- ledger/api/planetary.py +354 -0
- ledger/api/schema.py +240 -15
- ledger/app_settings.py +11 -27
- ledger/auth_hooks.py +2 -2
- ledger/constants.py +50 -177
- ledger/decorators.py +2 -46
- ledger/forms.py +133 -39
- ledger/helpers/billboard.py +194 -144
- ledger/helpers/cache.py +105 -0
- ledger/helpers/discord.py +2 -4
- ledger/helpers/eveonline.py +160 -0
- ledger/helpers/ledger_data.py +23 -0
- ledger/helpers/ref_type.py +53 -78
- ledger/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
- ledger/locale/cs_CZ/LC_MESSAGES/django.po +349 -193
- ledger/locale/de/LC_MESSAGES/django.mo +0 -0
- ledger/locale/de/LC_MESSAGES/django.po +528 -379
- ledger/locale/django.pot +721 -546
- ledger/locale/es/LC_MESSAGES/django.mo +0 -0
- ledger/locale/es/LC_MESSAGES/django.po +349 -194
- ledger/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
- ledger/locale/fr_FR/LC_MESSAGES/django.po +349 -193
- ledger/locale/it_IT/LC_MESSAGES/django.mo +0 -0
- ledger/locale/it_IT/LC_MESSAGES/django.po +349 -193
- ledger/locale/ja/LC_MESSAGES/django.mo +0 -0
- ledger/locale/ja/LC_MESSAGES/django.po +348 -193
- ledger/locale/ko_KR/LC_MESSAGES/django.mo +0 -0
- ledger/locale/ko_KR/LC_MESSAGES/django.po +349 -193
- ledger/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
- ledger/locale/nl_NL/LC_MESSAGES/django.po +349 -193
- ledger/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
- ledger/locale/pl_PL/LC_MESSAGES/django.po +350 -193
- ledger/locale/ru/LC_MESSAGES/django.mo +0 -0
- ledger/locale/ru/LC_MESSAGES/django.po +348 -193
- ledger/locale/sk/LC_MESSAGES/django.mo +0 -0
- ledger/locale/sk/LC_MESSAGES/django.po +348 -193
- ledger/locale/uk/LC_MESSAGES/django.mo +0 -0
- ledger/locale/uk/LC_MESSAGES/django.po +348 -193
- ledger/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- ledger/locale/zh_Hans/LC_MESSAGES/django.po +348 -193
- ledger/managers/character_audit_manager.py +28 -20
- ledger/managers/character_journal_manager.py +185 -357
- ledger/managers/character_mining_manager.py +52 -26
- ledger/managers/character_planetary_manager.py +178 -136
- ledger/managers/corporation_audit_manager.py +36 -27
- ledger/managers/corporation_journal_manager.py +92 -56
- ledger/managers/general_manager.py +8 -7
- ledger/migrations/0018_remove_characterplanet_ledger_char_planet__58a5b6_idx_and_more.py +44 -0
- ledger/migrations/0019_rename_characteraudit_characterowner_and_more.py +48 -0
- ledger/models/__init__.py +5 -11
- ledger/models/characteraudit.py +101 -109
- ledger/models/corporationaudit.py +94 -49
- ledger/models/general.py +105 -211
- ledger/models/helpers/update_manager.py +302 -0
- ledger/models/planetary.py +60 -205
- ledger/providers.py +101 -0
- ledger/static/ledger/css/{ledger.css → aa-ledger.css} +54 -28
- ledger/static/ledger/js/aa-ledger.js +124 -0
- ledger/static/ledger/js/charts.js +25 -1
- ledger/static/ledger/js/view-alliance-ledger.js +383 -0
- ledger/static/ledger/js/view-character-ledger.js +388 -0
- ledger/static/ledger/js/view-corporation-ledger.js +402 -0
- ledger/static/ledger/js/view-planetary.js +492 -0
- ledger/static/ledger/libs/amCharts/5.14.4/js/flow.js +2 -0
- ledger/static/ledger/libs/amCharts/5.14.4/js/index.js +2 -0
- ledger/static/ledger/libs/amCharts/5.14.4/js/percent.js +2 -0
- ledger/static/ledger/libs/amCharts/5.14.4/js/themes/Animated.js +2 -0
- ledger/static/ledger/libs/amCharts/5.14.4/js/themes/Dark.js +2 -0
- ledger/static/ledger/libs/amCharts/5.14.4/js/xy.js +2 -0
- ledger/static/ledger/libs/datatables/2.3.5/css/dataTables.bootstrap5.css +610 -0
- ledger/static/ledger/libs/datatables/2.3.5/js/dataTables.bootstrap5.js +122 -0
- ledger/static/ledger/libs/datatables/2.3.5/js/dataTables.js +14127 -0
- ledger/static/ledger/libs/datatables/Extensions/ColumnControl/1.1.1/css/columnControl.bootstrap5.css +516 -0
- ledger/static/ledger/libs/datatables/Extensions/ColumnControl/1.1.1/css/columnControl.dataTables.css +529 -0
- ledger/static/ledger/libs/datatables/Extensions/ColumnControl/1.1.1/js/columnControl.bootstrap5.js +73 -0
- ledger/static/ledger/libs/datatables/Extensions/ColumnControl/1.1.1/js/dataTables.columnControl.js +3090 -0
- ledger/static/ledger/libs/datatables/Extensions/FixedHeader/4.0.4/css/fixedHeader.bootstrap5.css +20 -0
- ledger/static/ledger/libs/datatables/Extensions/FixedHeader/4.0.4/js/dataTables.fixedHeader.js +1203 -0
- ledger/static/ledger/libs/datatables/Extensions/FixedHeader/4.0.4/js/fixedHeader.bootstrap5.js +59 -0
- ledger/tasks.py +157 -141
- ledger/templates/ledger/base.html +59 -21
- ledger/templates/ledger/bundles/aa-ledger-css.html +3 -0
- ledger/templates/ledger/bundles/aa-ledger-js.html +3 -0
- ledger/templates/ledger/bundles/view-alliance-ledger-js.html +14 -0
- ledger/templates/ledger/bundles/view-character-ledger-js.html +15 -0
- ledger/templates/ledger/bundles/view-character-planetary-css.html +3 -0
- ledger/templates/ledger/bundles/view-character-planetary-js.html +4 -0
- ledger/templates/ledger/bundles/view-corporation-ledger-js.html +15 -0
- ledger/templates/ledger/partials/modal/confirm.html +0 -1
- ledger/templates/ledger/partials/modal/request-accept-delete-alliance.html +38 -0
- ledger/templates/ledger/partials/modal/request-accept-delete-character.html +38 -0
- ledger/templates/ledger/partials/modal/request-accept-delete-corporation.html +38 -0
- ledger/templates/ledger/partials/modal/request-accept-switch-notification.html +38 -0
- ledger/templates/ledger/partials/modal/request-view-alliance-details.html +26 -0
- ledger/templates/ledger/partials/modal/request-view-character-details.html +26 -0
- ledger/templates/ledger/partials/modal/request-view-corporation-details.html +26 -0
- ledger/templates/ledger/partials/modal/request-view-extractor.html +32 -0
- ledger/templates/ledger/partials/modal/request-view-factory.html +31 -0
- ledger/templates/ledger/partials/{menu → navigation}/administration.html +8 -0
- ledger/templates/ledger/partials/{menu → navigation}/navigation.html +2 -2
- ledger/templates/ledger/partials/{administration → view-alliance-administration}/alliance_corporations.html +3 -3
- ledger/templates/ledger/partials/view-alliance-administration/dashboard.html +81 -0
- ledger/templates/ledger/partials/view-alliance-ledger/alliance-billboard.html +25 -0
- ledger/templates/ledger/partials/view-alliance-ledger/alliance-ledger-details.html +21 -0
- ledger/templates/ledger/partials/view-alliance-ledger/alliance-table.html +24 -0
- ledger/templates/ledger/partials/view-alliance-ledger/information/daily.html +18 -0
- ledger/templates/ledger/partials/view-alliance-ledger/information/hourly.html +18 -0
- ledger/templates/ledger/partials/view-alliance-ledger/information/summary.html +19 -0
- ledger/templates/ledger/partials/{administration → view-character-administration}/character.html +1 -9
- ledger/templates/ledger/partials/{administration → view-character-administration}/dashboard.html +0 -34
- ledger/templates/ledger/partials/view-character-ledger/character-billboard.html +25 -0
- ledger/templates/ledger/partials/view-character-ledger/character-ledger-details.html +21 -0
- ledger/templates/ledger/partials/view-character-ledger/character-table.html +25 -0
- ledger/templates/ledger/partials/view-character-ledger/information/daily.html +18 -0
- ledger/templates/ledger/partials/view-character-ledger/information/hourly.html +18 -0
- ledger/templates/ledger/partials/view-character-ledger/information/summary.html +19 -0
- ledger/templates/ledger/partials/view-character-planetary/extractor-table.html +24 -0
- ledger/templates/ledger/partials/view-character-planetary/factory-table.html +24 -0
- ledger/templates/ledger/partials/view-character-planetary/planetary-table.html +22 -0
- ledger/templates/ledger/partials/view-character-planetary/storage-table.html +23 -0
- ledger/templates/ledger/partials/{administration → view-corporation-administration}/corporation.html +5 -13
- ledger/templates/ledger/partials/{administration → view-corporation-administration}/corporation_characters.html +1 -1
- ledger/templates/ledger/partials/view-corporation-administration/dashboard.html +81 -0
- ledger/templates/ledger/partials/view-corporation-ledger/corporation-billboard.html +25 -0
- ledger/templates/ledger/partials/view-corporation-ledger/corporation-ledger-details.html +21 -0
- ledger/templates/ledger/partials/view-corporation-ledger/corporation-table.html +26 -0
- ledger/templates/ledger/partials/view-corporation-ledger/information/daily.html +18 -0
- ledger/templates/ledger/partials/view-corporation-ledger/information/hourly.html +18 -0
- ledger/templates/ledger/partials/view-corporation-ledger/information/summary.html +19 -0
- ledger/templates/ledger/view-administration.html +62 -0
- ledger/templates/ledger/view-alliance-administration.html +49 -0
- ledger/templates/ledger/view-alliance-ledger.html +72 -0
- ledger/templates/ledger/view-alliance-overview.html +131 -0
- ledger/templates/ledger/view-character-administration.html +42 -0
- ledger/templates/ledger/view-character-ledger.html +73 -0
- ledger/templates/ledger/view-character-overview.html +135 -0
- ledger/templates/ledger/view-character-planetary-overview.html +135 -0
- ledger/templates/ledger/view-character-planetary.html +73 -0
- ledger/templates/ledger/view-corporation-administration.html +42 -0
- ledger/templates/ledger/view-corporation-ledger.html +73 -0
- ledger/templates/ledger/view-corporation-overview.html +131 -0
- ledger/templatetags/ledger.py +3 -5
- ledger/tests/__init__.py +187 -0
- ledger/tests/test_admin.py +164 -68
- ledger/tests/test_auth_hook.py +31 -13
- ledger/tests/test_decarators.py +14 -79
- ledger/tests/test_discord_installed.py +0 -1
- ledger/tests/test_helpers/test_ledger_data.py +19 -0
- ledger/tests/test_managers/test_character_audit_manager.py +111 -69
- ledger/tests/test_managers/test_character_journal_manager.py +48 -208
- ledger/tests/test_managers/test_character_mining_manager.py +37 -16
- ledger/tests/test_managers/test_corporation_division_manager.py +66 -28
- ledger/tests/test_managers/test_corporation_journal_manager.py +39 -42
- ledger/tests/test_managers/test_general_manager.py +78 -18
- ledger/tests/test_managers/test_planetary_manager.py +73 -32
- ledger/tests/test_models/test_characteraudit.py +58 -74
- ledger/tests/test_models/test_characterminingledger.py +20 -26
- ledger/tests/test_models/test_characterwalletjournal.py +10 -33
- ledger/tests/test_models/test_corporationaudit.py +41 -35
- ledger/tests/test_models/test_corporationwalletjournal.py +35 -32
- ledger/tests/test_models/test_general.py +44 -11
- ledger/tests/test_models/test_planetary.py +14 -80
- ledger/tests/test_templatetags.py +2 -7
- ledger/tests/test_views/corporation/test_add_corp.py +16 -35
- ledger/tests/test_views/corporation/test_delete_corporation.py +66 -42
- ledger/tests/test_views/test_access.py +512 -545
- ledger/tests/test_views/test_add_ally.py +57 -46
- ledger/tests/test_views/test_add_char.py +21 -33
- ledger/tests/test_views/test_delete_character.py +24 -21
- ledger/tests/testdata/README_ESI_STUB.md +430 -0
- ledger/tests/testdata/esi_stub_openapi.py +511 -0
- ledger/tests/testdata/integrations/__init__.py +0 -0
- ledger/tests/testdata/{load_eveuniverse.py → integrations/eveuniverse.py} +0 -1
- ledger/tests/testdata/integrations/planetary.py +13 -0
- ledger/tests/testdata/json/factory.json +281 -0
- ledger/tests/testdata/json/inactive.json +281 -0
- ledger/tests/testdata/json/pins.json +175 -272
- ledger/tests/testdata/json/route.json +95 -528
- ledger/tests/testdata/test_esi_stub.py +468 -0
- ledger/tests/testdata/utils.py +601 -0
- ledger/thirdparty/charlink_hook.py +60 -30
- ledger/urls.py +0 -135
- ledger/views/alliance/add_ally.py +2 -4
- ledger/views/alliance/alliance_ledger.py +64 -147
- ledger/views/character/add_char.py +8 -10
- ledger/views/character/character_ledger.py +60 -126
- ledger/views/character/planetary.py +5 -98
- ledger/views/corporation/add_corp.py +10 -12
- ledger/views/corporation/corporation_ledger.py +65 -327
- ledger/views/index.py +92 -30
- aa_ledger-1.0.4.dist-info/RECORD +0 -236
- ledger/api/api_helper/planetary_helper.py +0 -107
- ledger/api/ledger/__init__.py +0 -7
- ledger/api/ledger/planetary.py +0 -231
- ledger/helpers/alliance.py +0 -317
- ledger/helpers/character.py +0 -251
- ledger/helpers/core.py +0 -665
- ledger/helpers/corporation.py +0 -427
- ledger/helpers/data_exporter.py +0 -452
- ledger/static/ledger/js/planetary-confirm.js +0 -66
- ledger/static/ledger/js/planetary.js +0 -143
- ledger/templates/ledger/admin.html +0 -43
- ledger/templates/ledger/allyledger/admin/alliance_administration.html +0 -46
- ledger/templates/ledger/allyledger/admin/alliance_overview.html +0 -108
- ledger/templates/ledger/allyledger/alliance_ledger.html +0 -86
- ledger/templates/ledger/bundles/character-ledger-bundles.html +0 -66
- ledger/templates/ledger/bundles/corporation-ledger-bundles.html +0 -75
- ledger/templates/ledger/bundles/ledger-bundles.html +0 -23
- ledger/templates/ledger/bundles/ledger-css.html +0 -3
- ledger/templates/ledger/bundles/planetary-bundles.html +0 -50
- ledger/templates/ledger/bundles/table-css.html +0 -3
- ledger/templates/ledger/charledger/admin/character_administration.html +0 -39
- ledger/templates/ledger/charledger/admin/character_overview.html +0 -106
- ledger/templates/ledger/charledger/character_ledger.html +0 -94
- ledger/templates/ledger/charledger/planetary/admin/planetary_overview.html +0 -123
- ledger/templates/ledger/charledger/planetary/planetary_ledger.html +0 -54
- ledger/templates/ledger/corpledger/admin/corporation_administration.html +0 -39
- ledger/templates/ledger/corpledger/admin/corporation_overview.html +0 -108
- ledger/templates/ledger/corpledger/corporation_ledger.html +0 -129
- ledger/templates/ledger/data-export.html +0 -78
- ledger/templates/ledger/error.html +0 -31
- ledger/templates/ledger/partials/form/error-message.html +0 -1
- ledger/templates/ledger/partials/information/daily.html +0 -56
- ledger/templates/ledger/partials/information/day.html +0 -48
- ledger/templates/ledger/partials/information/error.html +0 -8
- ledger/templates/ledger/partials/information/hourly.html +0 -53
- ledger/templates/ledger/partials/information/summary.html +0 -88
- ledger/templates/ledger/partials/information/view_character_content.html +0 -35
- ledger/templates/ledger/partials/modal/switchalarm_confirm.html +0 -39
- ledger/templates/ledger/partials/modal/view_extractor.html +0 -48
- ledger/templates/ledger/partials/modal/view_factory.html +0 -123
- ledger/templates/ledger/partials/table/char-ledger.html +0 -85
- ledger/templates/ledger/partials/table/corp-ledger.html +0 -66
- ledger/templates/ledger/partials/table/planetary.html +0 -18
- ledger/templates/ledger/partials/thirdparty/billboard.html +0 -22
- ledger/templates/ledger/partials/view/card.html +0 -160
- ledger/templates/ledger/permission.html +0 -2
- ledger/tests/test_helpers/test_billboard.py +0 -11
- ledger/tests/test_helpers/test_data_exporter.py +0 -207
- ledger/tests/test_tasks.py +0 -282
- ledger/tests/test_view_helpers/test_core.py +0 -47
- ledger/tests/test_views/corporation/test_corporation.py +0 -267
- ledger/tests/test_views/test_planetary.py +0 -137
- ledger/tests/testdata/esi_stub.py +0 -109
- ledger/tests/testdata/esi_stub_migration.py +0 -80
- ledger/tests/testdata/generate_characteraudit.py +0 -106
- ledger/tests/testdata/generate_corporationaudit.py +0 -74
- ledger/tests/testdata/generate_events.py +0 -31
- ledger/tests/testdata/generate_miningledger.py +0 -13
- ledger/tests/testdata/generate_planets.py +0 -48
- ledger/tests/testdata/generate_walletjournal.py +0 -42
- ledger/tests/testdata/json/czarno-pins.json +0 -240
- ledger/tests/testdata/json/czarno-routes.json +0 -165
- ledger/tests/testdata/json/pins2.json +0 -538
- {aa_ledger-1.0.4.dist-info → aa_ledger-2.0.0.dist-info}/WHEEL +0 -0
- {aa_ledger-1.0.4.dist-info → aa_ledger-2.0.0.dist-info}/licenses/LICENSE +0 -0
- /ledger/{tests/test_view_helpers → api/helpers}/__init__.py +0 -0
- /ledger/templates/ledger/bundles/{ally-administration-bundles.html → view-alliance-administration-js.html} +0 -0
- /ledger/templates/ledger/bundles/{char-administration-bundles.html → view-character-administration-js.html} +0 -0
- /ledger/templates/ledger/bundles/{corp-administration-bundles.html → view-corporation-administration-js.html} +0 -0
- /ledger/templates/ledger/partials/{administration → view-alliance-administration}/alliance.html +0 -0
- /ledger/tests/testdata/{esi.json → esi_test_data.json} +0 -0
- /ledger/tests/testdata/{allianceauth.json → integrations/allianceauth.json} +0 -0
- /ledger/tests/testdata/{load_allianceauth.py → integrations/allianceauth.py} +0 -0
- /ledger/tests/testdata/{eveentity.json → integrations/eveentity.json} +0 -0
- /ledger/tests/testdata/{load_eveentity.py → integrations/eveentity.py} +0 -0
- /ledger/tests/testdata/{eveuniverse.json → integrations/eveuniverse.json} +0 -0
- /ledger/tests/testdata/{planetary.json → integrations/planetary.json} +0 -0
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
"""PvE Views"""
|
|
2
2
|
|
|
3
3
|
# Standard Library
|
|
4
|
-
import json
|
|
5
4
|
from http import HTTPStatus
|
|
6
5
|
|
|
7
6
|
# Django
|
|
8
7
|
from django.contrib import messages
|
|
9
8
|
from django.contrib.auth.decorators import login_required, permission_required
|
|
10
9
|
from django.core.handlers.wsgi import WSGIRequest
|
|
11
|
-
from django.http import
|
|
10
|
+
from django.http import JsonResponse
|
|
12
11
|
from django.shortcuts import redirect, render
|
|
12
|
+
from django.urls import reverse
|
|
13
|
+
from django.utils import timezone
|
|
13
14
|
from django.utils.translation import gettext_lazy as _
|
|
14
15
|
from django.views.decorators.http import require_POST
|
|
15
16
|
|
|
@@ -17,200 +18,20 @@ from django.views.decorators.http import require_POST
|
|
|
17
18
|
from allianceauth.authentication.models import CharacterOwnership
|
|
18
19
|
from allianceauth.services.hooks import get_extension_logger
|
|
19
20
|
|
|
20
|
-
# Alliance Auth (External Libs)
|
|
21
|
-
from app_utils.logging import LoggerAddTag
|
|
22
|
-
|
|
23
21
|
# AA Ledger
|
|
24
|
-
from ledger import __title__, forms
|
|
25
|
-
from ledger.api.helpers import (
|
|
26
|
-
|
|
22
|
+
from ledger import __title__, forms
|
|
23
|
+
from ledger.api.helpers.core import (
|
|
24
|
+
get_corporationowner_or_none,
|
|
27
25
|
get_manage_corporation,
|
|
28
26
|
)
|
|
29
|
-
from ledger.helpers import data_exporter
|
|
30
|
-
from ledger.helpers.core import add_info_to_context
|
|
31
|
-
from ledger.helpers.corporation import CorporationData, LedgerEntity
|
|
32
27
|
from ledger.models.corporationaudit import (
|
|
33
|
-
|
|
28
|
+
CorporationOwner,
|
|
34
29
|
)
|
|
30
|
+
from ledger.providers import AppLogger
|
|
35
31
|
|
|
36
|
-
logger =
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
@login_required
|
|
40
|
-
@permission_required("ledger.advanced_access")
|
|
41
|
-
def corporation_ledger_index(request):
|
|
42
|
-
"""Corporation Ledger Index View"""
|
|
43
|
-
context = {}
|
|
44
|
-
context = add_info_to_context(request, context)
|
|
45
|
-
return redirect(
|
|
46
|
-
"ledger:corporation_ledger", request.user.profile.main_character.corporation_id
|
|
47
|
-
)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
@login_required
|
|
51
|
-
@permission_required("ledger.basic_access")
|
|
52
|
-
def corporation_data_export(request, corporation_id: int):
|
|
53
|
-
"""Data Export View"""
|
|
54
|
-
perms = get_corporation(request, corporation_id)[0]
|
|
55
|
-
|
|
56
|
-
corporation_exporter = data_exporter.LedgerCSVExporter.create_exporter(
|
|
57
|
-
"corporation", corporation_id
|
|
58
|
-
)
|
|
59
|
-
files = corporation_exporter.gather_export_files()
|
|
60
|
-
|
|
61
|
-
context = {
|
|
62
|
-
"title": "Data Export",
|
|
63
|
-
"corporation_id": corporation_id,
|
|
64
|
-
"files": files,
|
|
65
|
-
"is_exportable": corporation_exporter.has_data,
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
if perms is False:
|
|
69
|
-
msg = _("Permission Denied")
|
|
70
|
-
messages.error(request, msg)
|
|
71
|
-
return render(request, "ledger/data-export.html", context=context)
|
|
72
|
-
|
|
73
|
-
if perms is None:
|
|
74
|
-
msg = _("Corporation not found")
|
|
75
|
-
messages.info(request, msg)
|
|
76
|
-
return render(request, "ledger/data-export.html", context=context)
|
|
77
|
-
|
|
78
|
-
context.update(
|
|
79
|
-
{
|
|
80
|
-
"forms": {
|
|
81
|
-
"generate_data_export": forms.GenerateDataExportForm(
|
|
82
|
-
corporation_id=corporation_id
|
|
83
|
-
),
|
|
84
|
-
},
|
|
85
|
-
}
|
|
86
|
-
)
|
|
87
|
-
|
|
88
|
-
context = add_info_to_context(request, context)
|
|
89
|
-
return render(request, "ledger/data-export.html", context)
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
@login_required
|
|
93
|
-
@permission_required("ledger.manage_access")
|
|
94
|
-
# pylint: disable=unused-argument
|
|
95
|
-
def corporation_download_export_file(
|
|
96
|
-
request,
|
|
97
|
-
hash_code: str,
|
|
98
|
-
) -> FileResponse:
|
|
99
|
-
"""Render file view for downloading an export file."""
|
|
100
|
-
entity_id, division_id, year, month = data_exporter.LedgerCSVExporter.decoder(
|
|
101
|
-
hash_code
|
|
102
|
-
)
|
|
103
|
-
exporter = data_exporter.LedgerCSVExporter.create_exporter(
|
|
104
|
-
"corporation", entity_id, division_id=division_id, year=year, month=month
|
|
105
|
-
)
|
|
106
|
-
destination = data_exporter.default_destination()
|
|
107
|
-
zip_file = destination / exporter.output_basename.with_suffix(".zip")
|
|
108
|
-
if not zip_file.exists():
|
|
109
|
-
raise Http404(f"Could not find export file for corporation {entity_id}")
|
|
110
|
-
logger.info("Returning file %s for download of topic %s", zip_file, "corporation")
|
|
111
|
-
return FileResponse(zip_file.open("rb"))
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
@login_required
|
|
115
|
-
@permission_required("ledger.manage_access")
|
|
116
|
-
@require_POST
|
|
117
|
-
def corporation_data_export_generate(request, corporation_id: int):
|
|
118
|
-
"""Handle POST form to generate a data export for a corporation."""
|
|
119
|
-
perms = get_corporation(request, corporation_id)[0]
|
|
120
|
-
if perms is False:
|
|
121
|
-
msg = _("Permission Denied")
|
|
122
|
-
messages.error(request, msg)
|
|
123
|
-
return redirect("ledger:corporation_data_export", corporation_id=corporation_id)
|
|
124
|
-
|
|
125
|
-
if perms is None:
|
|
126
|
-
msg = _("Corporation not found")
|
|
127
|
-
messages.info(request, msg)
|
|
128
|
-
return redirect("ledger:corporation_data_export", corporation_id=corporation_id)
|
|
129
|
-
|
|
130
|
-
form = forms.GenerateDataExportForm(
|
|
131
|
-
request.POST,
|
|
132
|
-
corporation_id=corporation_id,
|
|
133
|
-
)
|
|
134
|
-
|
|
135
|
-
if not form.is_valid():
|
|
136
|
-
msg = _("Invalid form submission.")
|
|
137
|
-
messages.error(request, msg)
|
|
138
|
-
return redirect("ledger:corporation_data_export", corporation_id=corporation_id)
|
|
139
|
-
|
|
140
|
-
# Read optional form values
|
|
141
|
-
year_val = form.cleaned_data.get("year")
|
|
142
|
-
month_val = form.cleaned_data.get("month") or None
|
|
143
|
-
|
|
144
|
-
division_obj = form.cleaned_data.get("division")
|
|
145
|
-
division_val = division_obj.division_id if division_obj is not None else None
|
|
146
|
-
|
|
147
|
-
logger.debug("Generating data export for year=%s, month=%s", year_val, month_val)
|
|
148
|
-
tasks.export_data_ledger.apply_async(
|
|
149
|
-
kwargs={
|
|
150
|
-
"user_pk": request.user.pk,
|
|
151
|
-
"ledger_type": "corporation",
|
|
152
|
-
"entity_id": corporation_id,
|
|
153
|
-
"division_id": division_val,
|
|
154
|
-
"year": year_val,
|
|
155
|
-
"month": month_val,
|
|
156
|
-
},
|
|
157
|
-
priority=7,
|
|
158
|
-
)
|
|
159
|
-
msg = _(
|
|
160
|
-
f"Data export for {corporation_id} has been started. This can take a couple of minutes. You will get a notification once it is completed."
|
|
161
|
-
)
|
|
162
|
-
messages.info(request, msg)
|
|
163
|
-
return redirect("ledger:corporation_data_export", corporation_id=corporation_id)
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
@login_required
|
|
167
|
-
@permission_required("ledger.manage_access")
|
|
168
|
-
def corporation_data_export_run_update(
|
|
169
|
-
request,
|
|
170
|
-
hash_code: str,
|
|
171
|
-
):
|
|
172
|
-
"""Render view for running data export update."""
|
|
173
|
-
entity_id, division_id, year, month = data_exporter.LedgerCSVExporter.decoder(
|
|
174
|
-
hash_code
|
|
175
|
-
)
|
|
176
|
-
|
|
177
|
-
logger.debug(
|
|
178
|
-
"Running data export update for entity_id=%s, division_id=%s, year=%s, month=%s",
|
|
179
|
-
entity_id,
|
|
180
|
-
division_id,
|
|
181
|
-
year,
|
|
182
|
-
month,
|
|
183
|
-
)
|
|
184
|
-
perms = get_corporation(request, entity_id)[0]
|
|
185
|
-
if perms is False:
|
|
186
|
-
msg = _("Permission Denied")
|
|
187
|
-
messages.error(request, msg)
|
|
188
|
-
return redirect("ledger:corporation_data_export", corporation_id=entity_id)
|
|
189
|
-
|
|
190
|
-
if perms is None:
|
|
191
|
-
msg = _("Corporation not found")
|
|
192
|
-
messages.info(request, msg)
|
|
193
|
-
return redirect("ledger:corporation_data_export", corporation_id=entity_id)
|
|
32
|
+
logger = AppLogger(get_extension_logger(__name__), __title__)
|
|
194
33
|
|
|
195
|
-
tasks.export_data_ledger.apply_async(
|
|
196
|
-
kwargs={
|
|
197
|
-
"user_pk": request.user.pk,
|
|
198
|
-
"ledger_type": "corporation",
|
|
199
|
-
"entity_id": entity_id,
|
|
200
|
-
"division_id": division_id,
|
|
201
|
-
"year": year,
|
|
202
|
-
"month": month,
|
|
203
|
-
},
|
|
204
|
-
priority=7,
|
|
205
|
-
)
|
|
206
|
-
msg = _(
|
|
207
|
-
f"Data export for {entity_id} has been started. This can take a couple of minutes. You will get a notification once it is completed."
|
|
208
|
-
)
|
|
209
|
-
messages.info(request, msg)
|
|
210
|
-
return redirect("ledger:corporation_data_export", corporation_id=entity_id)
|
|
211
34
|
|
|
212
|
-
|
|
213
|
-
# pylint: disable=too-many-positional-arguments
|
|
214
35
|
@login_required
|
|
215
36
|
@permission_required("ledger.advanced_access")
|
|
216
37
|
def corporation_ledger(
|
|
@@ -224,141 +45,61 @@ def corporation_ledger(
|
|
|
224
45
|
"""
|
|
225
46
|
Corporation Ledger
|
|
226
47
|
"""
|
|
227
|
-
perms
|
|
48
|
+
perms = get_corporationowner_or_none(request, corporation_id)[0]
|
|
228
49
|
|
|
229
|
-
|
|
230
|
-
"title": "Corporation Ledger",
|
|
50
|
+
kwargs = {
|
|
231
51
|
"corporation_id": corporation_id,
|
|
232
|
-
"disabled": True,
|
|
233
52
|
}
|
|
234
53
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
ledger = corporation_data.generate_ledger_data()
|
|
259
|
-
|
|
260
|
-
context = {
|
|
261
|
-
"title": f"Corporation Ledger - {corporation.corporation.corporation_name}",
|
|
262
|
-
"corporation_id": corporation_id,
|
|
263
|
-
"division_id": division_id,
|
|
264
|
-
"billboard": json.dumps(corporation_data.billboard.dict.asdict()),
|
|
265
|
-
"ledger": ledger,
|
|
266
|
-
"divisions": corporation_data.divisions,
|
|
267
|
-
"years": corporation_data.activity_years,
|
|
268
|
-
"totals": corporation_data.calculate_totals(ledger),
|
|
269
|
-
"view": corporation_data.create_view_data(
|
|
270
|
-
viewname="corporation_details",
|
|
271
|
-
corporation_id=corporation_id,
|
|
272
|
-
entity_id=corporation_id,
|
|
273
|
-
division_id=division_id,
|
|
274
|
-
section="summary",
|
|
275
|
-
),
|
|
276
|
-
}
|
|
277
|
-
# Add additional information to the context
|
|
278
|
-
context = add_info_to_context(request, context)
|
|
279
|
-
|
|
280
|
-
return render(request, "ledger/corpledger/corporation_ledger.html", context=context)
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
# pylint: disable=too-many-positional-arguments, too-many-arguments
|
|
284
|
-
@login_required
|
|
285
|
-
@permission_required("ledger.advanced_access")
|
|
286
|
-
def corporation_details(
|
|
287
|
-
request: WSGIRequest,
|
|
288
|
-
corporation_id: int,
|
|
289
|
-
entity_id: int,
|
|
290
|
-
division_id: int = None,
|
|
291
|
-
year: int = None,
|
|
292
|
-
month: int = None,
|
|
293
|
-
day: int = None,
|
|
294
|
-
section: str = None,
|
|
295
|
-
):
|
|
296
|
-
"""
|
|
297
|
-
Corporation Details
|
|
298
|
-
"""
|
|
299
|
-
perms, corporation = get_corporation(request, corporation_id)
|
|
54
|
+
if request.POST:
|
|
55
|
+
division_id = request.POST.get("division") or None
|
|
56
|
+
year = request.POST.get("year") or None
|
|
57
|
+
month = request.POST.get("month") or None
|
|
58
|
+
day = request.POST.get("day") or None
|
|
59
|
+
# Ensure that if only day is provided, month is also provided
|
|
60
|
+
if day is not None and month is None:
|
|
61
|
+
month = timezone.now().month
|
|
62
|
+
|
|
63
|
+
if division_id is not None:
|
|
64
|
+
kwargs["division_id"] = division_id
|
|
65
|
+
if year is not None:
|
|
66
|
+
kwargs["year"] = year
|
|
67
|
+
if month is not None:
|
|
68
|
+
kwargs["month"] = month
|
|
69
|
+
if day is not None:
|
|
70
|
+
kwargs["day"] = day
|
|
71
|
+
|
|
72
|
+
# Redirect to the same view with updated parameters
|
|
73
|
+
if request.POST:
|
|
74
|
+
return redirect("ledger:corporation_ledger", **kwargs)
|
|
75
|
+
|
|
76
|
+
ledger_url = reverse("ledger:api:get_corporation_ledger", kwargs=kwargs)
|
|
300
77
|
|
|
301
78
|
context = {
|
|
302
79
|
"title": "Corporation Ledger",
|
|
303
80
|
"corporation_id": corporation_id,
|
|
81
|
+
"ledger_url": ledger_url,
|
|
82
|
+
"forms": {
|
|
83
|
+
"corporation_dropdown": forms.CorporationDropdownForm(
|
|
84
|
+
corporation_id=corporation_id,
|
|
85
|
+
division_id=division_id,
|
|
86
|
+
year=year,
|
|
87
|
+
month=month,
|
|
88
|
+
day=day,
|
|
89
|
+
),
|
|
90
|
+
},
|
|
304
91
|
}
|
|
305
92
|
|
|
306
|
-
# pylint: disable=duplicate-code
|
|
307
|
-
if perms is False:
|
|
308
|
-
msg = _("Permission Denied")
|
|
309
|
-
return render(
|
|
310
|
-
request,
|
|
311
|
-
"ledger/partials/information/view_character_content.html",
|
|
312
|
-
{
|
|
313
|
-
"error": msg,
|
|
314
|
-
"corporation_id": corporation_id,
|
|
315
|
-
},
|
|
316
|
-
)
|
|
317
|
-
# pylint: disable=duplicate-code
|
|
318
93
|
if perms is None:
|
|
319
94
|
msg = _("Corporation not found")
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
"ledger/partials/information/view_character_content.html",
|
|
323
|
-
{
|
|
324
|
-
"error": msg,
|
|
325
|
-
"corporation_id": corporation_id,
|
|
326
|
-
},
|
|
327
|
-
)
|
|
328
|
-
|
|
329
|
-
corporation_data = CorporationData(
|
|
330
|
-
corporation=corporation,
|
|
331
|
-
division_id=division_id,
|
|
332
|
-
year=year,
|
|
333
|
-
month=month,
|
|
334
|
-
day=day,
|
|
335
|
-
section=section,
|
|
336
|
-
)
|
|
337
|
-
|
|
338
|
-
# Create the Entity for the ledger
|
|
339
|
-
entity = LedgerEntity(
|
|
340
|
-
entity_id=entity_id,
|
|
341
|
-
)
|
|
342
|
-
|
|
343
|
-
journal = corporation_data.filter_entity_journal(entity=entity)
|
|
344
|
-
amounts = corporation_data._create_corporation_details(
|
|
345
|
-
journal=journal, entity=entity
|
|
346
|
-
)
|
|
347
|
-
details = corporation_data._add_average_details(request, amounts, day)
|
|
95
|
+
messages.info(request, msg)
|
|
96
|
+
return redirect("ledger:corporation_overview")
|
|
348
97
|
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
"
|
|
353
|
-
|
|
354
|
-
}
|
|
355
|
-
context = add_info_to_context(request, context)
|
|
356
|
-
# pylint: disable=duplicate-code
|
|
357
|
-
return render(
|
|
358
|
-
request,
|
|
359
|
-
"ledger/partials/information/view_character_content.html",
|
|
360
|
-
context=context,
|
|
361
|
-
)
|
|
98
|
+
if perms is False:
|
|
99
|
+
msg = _("Permission Denied")
|
|
100
|
+
messages.error(request, msg)
|
|
101
|
+
return redirect("ledger:corporation_overview")
|
|
102
|
+
return render(request, "ledger/view-corporation-ledger.html", context=context)
|
|
362
103
|
|
|
363
104
|
|
|
364
105
|
@login_required
|
|
@@ -367,11 +108,12 @@ def corporation_overview(request):
|
|
|
367
108
|
"""
|
|
368
109
|
Corporation Overview
|
|
369
110
|
"""
|
|
370
|
-
context = {
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
111
|
+
context = {
|
|
112
|
+
"title": "Corporation Overview",
|
|
113
|
+
"year": timezone.now().year,
|
|
114
|
+
"month": timezone.now().month,
|
|
115
|
+
}
|
|
116
|
+
return render(request, "ledger/view-corporation-overview.html", context=context)
|
|
375
117
|
|
|
376
118
|
|
|
377
119
|
@login_required
|
|
@@ -385,33 +127,29 @@ def corporation_administration(request, corporation_id):
|
|
|
385
127
|
if perm is False:
|
|
386
128
|
msg = _("Permission Denied")
|
|
387
129
|
messages.error(request, msg)
|
|
388
|
-
return redirect("ledger:
|
|
130
|
+
return redirect("ledger:corporation_overview")
|
|
389
131
|
|
|
390
132
|
if perm is None:
|
|
391
133
|
msg = _("Corporation not found")
|
|
392
134
|
messages.info(request, msg)
|
|
393
|
-
return redirect("ledger:
|
|
135
|
+
return redirect("ledger:corporation_overview")
|
|
394
136
|
|
|
395
137
|
# TODO Get Missing Characters from esi-corporations.read_corporation_membership.v1 ?
|
|
396
138
|
corp_characters = CharacterOwnership.objects.filter(
|
|
397
|
-
character__corporation_id=corporation.
|
|
139
|
+
character__corporation_id=corporation.eve_corporation.corporation_id
|
|
398
140
|
).order_by("character__character_name")
|
|
399
|
-
corporation_dataexporter = data_exporter.LedgerCSVExporter.create_exporter(
|
|
400
|
-
"corporation", corporation_id
|
|
401
|
-
)
|
|
402
141
|
|
|
403
142
|
context = {
|
|
404
143
|
"corporation_id": corporation_id,
|
|
405
144
|
"title": "Corporation Administration",
|
|
145
|
+
"year": timezone.now().year,
|
|
146
|
+
"month": timezone.now().month,
|
|
406
147
|
"corporation": corporation,
|
|
407
148
|
"characters": corp_characters,
|
|
408
|
-
"is_exportable": corporation_dataexporter.has_data,
|
|
409
149
|
}
|
|
410
|
-
context = add_info_to_context(request, context)
|
|
411
|
-
|
|
412
150
|
return render(
|
|
413
151
|
request,
|
|
414
|
-
"ledger/
|
|
152
|
+
"ledger/view-corporation-administration.html",
|
|
415
153
|
context=context,
|
|
416
154
|
)
|
|
417
155
|
|
|
@@ -436,10 +174,10 @@ def corporation_delete(request, corporation_id):
|
|
|
436
174
|
{"success": False, "message": msg}, status=HTTPStatus.NOT_FOUND, safe=False
|
|
437
175
|
)
|
|
438
176
|
|
|
439
|
-
audit =
|
|
177
|
+
audit = CorporationOwner.objects.get(eve_corporation__corporation_id=corporation_id)
|
|
440
178
|
audit.delete()
|
|
441
179
|
|
|
442
|
-
msg = _(f"{audit.
|
|
180
|
+
msg = _(f"{audit.eve_corporation.corporation_name} successfully deleted")
|
|
443
181
|
return JsonResponse(
|
|
444
182
|
{"success": True, "message": msg}, status=HTTPStatus.OK, safe=False
|
|
445
183
|
)
|
ledger/views/index.py
CHANGED
|
@@ -3,61 +3,123 @@
|
|
|
3
3
|
# Django
|
|
4
4
|
from django.contrib import messages
|
|
5
5
|
from django.contrib.auth.decorators import login_required, permission_required
|
|
6
|
+
from django.core.handlers.wsgi import WSGIRequest
|
|
6
7
|
from django.shortcuts import redirect, render
|
|
7
|
-
from django.utils
|
|
8
|
+
from django.utils import timezone
|
|
9
|
+
from django.utils.text import format_lazy
|
|
10
|
+
from django.utils.translation import gettext_lazy as _
|
|
8
11
|
|
|
9
12
|
# Alliance Auth
|
|
10
13
|
from allianceauth.services.hooks import get_extension_logger
|
|
11
14
|
|
|
12
|
-
# Alliance Auth (External Libs)
|
|
13
|
-
from app_utils.logging import LoggerAddTag
|
|
14
|
-
|
|
15
15
|
# AA Ledger
|
|
16
|
-
from ledger import __title__
|
|
16
|
+
from ledger import __title__, tasks
|
|
17
17
|
|
|
18
18
|
# Ledger
|
|
19
|
-
from ledger.
|
|
20
|
-
from ledger.
|
|
19
|
+
from ledger.models.characteraudit import CharacterOwner
|
|
20
|
+
from ledger.models.corporationaudit import CorporationOwner
|
|
21
|
+
from ledger.providers import AppLogger
|
|
21
22
|
|
|
22
|
-
logger =
|
|
23
|
+
logger = AppLogger(get_extension_logger(__name__), __title__)
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
@login_required
|
|
26
27
|
@permission_required("ledger.basic_access")
|
|
27
28
|
def index(request):
|
|
28
29
|
"""Index View"""
|
|
29
|
-
context = {
|
|
30
|
-
"title": "Ledger",
|
|
31
|
-
}
|
|
32
|
-
context = add_info_to_context(request, context)
|
|
33
30
|
return redirect(
|
|
34
31
|
"ledger:character_ledger",
|
|
35
32
|
character_id=request.user.profile.main_character.character_id,
|
|
33
|
+
year=timezone.now().year,
|
|
34
|
+
month=timezone.now().month,
|
|
36
35
|
)
|
|
37
36
|
|
|
38
37
|
|
|
39
38
|
@login_required
|
|
40
39
|
@permission_required("ledger.basic_access")
|
|
41
|
-
def admin(request):
|
|
40
|
+
def admin(request: WSGIRequest):
|
|
41
|
+
# Check Permissions
|
|
42
42
|
if not request.user.is_superuser:
|
|
43
43
|
messages.error(request, _("You do not have permission to access this page."))
|
|
44
44
|
return redirect("ledger:index")
|
|
45
45
|
|
|
46
|
+
# Handle Character
|
|
47
|
+
def _handle_character_updates(force_refresh):
|
|
48
|
+
character_id = request.POST.get("character_id")
|
|
49
|
+
if character_id:
|
|
50
|
+
try:
|
|
51
|
+
character = CharacterOwner.objects.get(
|
|
52
|
+
eve_character__character_id=int(character_id)
|
|
53
|
+
)
|
|
54
|
+
msg = format_lazy(
|
|
55
|
+
_("Queued Update for Character: {character_name}"),
|
|
56
|
+
character_name=character.character_name,
|
|
57
|
+
)
|
|
58
|
+
messages.info(request, msg)
|
|
59
|
+
tasks.update_character.apply_async(
|
|
60
|
+
kwargs={
|
|
61
|
+
"character_pk": character.pk,
|
|
62
|
+
"force_refresh": force_refresh,
|
|
63
|
+
},
|
|
64
|
+
priority=7,
|
|
65
|
+
)
|
|
66
|
+
except (ValueError, CharacterOwner.DoesNotExist):
|
|
67
|
+
msg = format_lazy(
|
|
68
|
+
_("Character with ID {character_id} not found"),
|
|
69
|
+
character_id=character_id,
|
|
70
|
+
)
|
|
71
|
+
messages.error(request, msg)
|
|
72
|
+
return
|
|
73
|
+
|
|
74
|
+
tasks.update_all_characters.apply_async(
|
|
75
|
+
kwargs={"force_refresh": force_refresh}, priority=7
|
|
76
|
+
)
|
|
77
|
+
messages.info(request, _("Queued Update All Characters"))
|
|
78
|
+
return
|
|
79
|
+
|
|
80
|
+
# Handle Corporation
|
|
81
|
+
def _handle_corporation_updates(force_refresh):
|
|
82
|
+
corporation_id = request.POST.get("corporation_id")
|
|
83
|
+
if corporation_id:
|
|
84
|
+
try:
|
|
85
|
+
corporation = CorporationOwner.objects.get(
|
|
86
|
+
eve_corporation__corporation_id=int(corporation_id)
|
|
87
|
+
)
|
|
88
|
+
msg = format_lazy(
|
|
89
|
+
_("Queued Update for Corporation: {corporation_name}"),
|
|
90
|
+
corporation_name=corporation.corporation_name,
|
|
91
|
+
)
|
|
92
|
+
messages.info(request, msg)
|
|
93
|
+
tasks.update_corporation.apply_async(
|
|
94
|
+
args=[corporation.pk],
|
|
95
|
+
kwargs={"force_refresh": force_refresh},
|
|
96
|
+
priority=7,
|
|
97
|
+
)
|
|
98
|
+
except (ValueError, CorporationOwner.DoesNotExist):
|
|
99
|
+
msg = format_lazy(
|
|
100
|
+
_("Corporation with ID {corporation_id} not found"),
|
|
101
|
+
corporation_id=corporation_id,
|
|
102
|
+
)
|
|
103
|
+
messages.error(request, msg)
|
|
104
|
+
return
|
|
105
|
+
|
|
106
|
+
tasks.update_all_corporations.apply_async(
|
|
107
|
+
kwargs={"force_refresh": force_refresh}, priority=7
|
|
108
|
+
)
|
|
109
|
+
messages.info(request, _("Queued Update All Corporations"))
|
|
110
|
+
return
|
|
111
|
+
|
|
112
|
+
# Handle POST Requests
|
|
46
113
|
if request.method == "POST":
|
|
47
|
-
force_refresh = False
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
if request.POST.get("
|
|
51
|
-
messages.info(request, _("Queued Clear All
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
)
|
|
58
|
-
|
|
59
|
-
messages.info(request, _("Queued Update All Corporations"))
|
|
60
|
-
update_all_corporations.apply_async(
|
|
61
|
-
kwargs={"force_refresh": force_refresh}, priority=7
|
|
62
|
-
)
|
|
63
|
-
return render(request, "ledger/admin.html")
|
|
114
|
+
force_refresh = bool(request.POST.get("force_refresh", False))
|
|
115
|
+
|
|
116
|
+
# General Tasks
|
|
117
|
+
if request.POST.get("run_clear_cache"):
|
|
118
|
+
messages.info(request, _("Queued Clear All Cache"))
|
|
119
|
+
tasks.clear_all_cache.apply_async(priority=1)
|
|
120
|
+
# Specific Tasks
|
|
121
|
+
if request.POST.get("run_character_updates"):
|
|
122
|
+
_handle_character_updates(force_refresh)
|
|
123
|
+
if request.POST.get("run_corporation_updates"):
|
|
124
|
+
_handle_corporation_updates(force_refresh)
|
|
125
|
+
return render(request, "ledger/view-administration.html")
|