aa-ledger 1.0.4__tar.gz → 2.0.0__tar.gz

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.
Files changed (379) hide show
  1. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/PKG-INFO +5 -6
  2. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/README.md +1 -1
  3. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/__init__.py +2 -2
  4. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/admin.py +23 -18
  5. aa_ledger-2.0.0/ledger/api/__init__.py +46 -0
  6. {aa_ledger-1.0.4/ledger/api/ledger → aa_ledger-2.0.0/ledger/api}/admin.py +25 -31
  7. aa_ledger-2.0.0/ledger/api/alliance.py +755 -0
  8. aa_ledger-2.0.0/ledger/api/character.py +786 -0
  9. aa_ledger-2.0.0/ledger/api/corporation.py +1141 -0
  10. aa_ledger-1.0.4/ledger/api/helpers.py → aa_ledger-2.0.0/ledger/api/helpers/core.py +33 -33
  11. aa_ledger-2.0.0/ledger/api/helpers/icons.py +372 -0
  12. aa_ledger-2.0.0/ledger/api/helpers/planetary_helper.py +354 -0
  13. aa_ledger-2.0.0/ledger/api/planetary.py +354 -0
  14. aa_ledger-2.0.0/ledger/api/schema.py +265 -0
  15. aa_ledger-2.0.0/ledger/app_settings.py +42 -0
  16. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/auth_hooks.py +2 -2
  17. aa_ledger-2.0.0/ledger/constants.py +76 -0
  18. aa_ledger-2.0.0/ledger/decorators.py +38 -0
  19. aa_ledger-2.0.0/ledger/forms.py +200 -0
  20. aa_ledger-2.0.0/ledger/helpers/billboard.py +337 -0
  21. aa_ledger-2.0.0/ledger/helpers/cache.py +105 -0
  22. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/helpers/discord.py +2 -4
  23. aa_ledger-2.0.0/ledger/helpers/eveonline.py +160 -0
  24. aa_ledger-2.0.0/ledger/helpers/ledger_data.py +23 -0
  25. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/helpers/ref_type.py +53 -78
  26. aa_ledger-2.0.0/ledger/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  27. aa_ledger-2.0.0/ledger/locale/cs_CZ/LC_MESSAGES/django.po +809 -0
  28. aa_ledger-2.0.0/ledger/locale/de/LC_MESSAGES/django.mo +0 -0
  29. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/locale/de/LC_MESSAGES/django.po +528 -379
  30. aa_ledger-2.0.0/ledger/locale/django.pot +1223 -0
  31. aa_ledger-2.0.0/ledger/locale/es/LC_MESSAGES/django.mo +0 -0
  32. {aa_ledger-1.0.4/ledger/locale/fr_FR → aa_ledger-2.0.0/ledger/locale/es}/LC_MESSAGES/django.po +349 -193
  33. aa_ledger-2.0.0/ledger/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
  34. {aa_ledger-1.0.4/ledger/locale/es → aa_ledger-2.0.0/ledger/locale/fr_FR}/LC_MESSAGES/django.po +349 -194
  35. aa_ledger-2.0.0/ledger/locale/it_IT/LC_MESSAGES/django.mo +0 -0
  36. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/locale/it_IT/LC_MESSAGES/django.po +349 -193
  37. aa_ledger-2.0.0/ledger/locale/ja/LC_MESSAGES/django.mo +0 -0
  38. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/locale/ja/LC_MESSAGES/django.po +348 -193
  39. aa_ledger-2.0.0/ledger/locale/ko_KR/LC_MESSAGES/django.mo +0 -0
  40. {aa_ledger-1.0.4/ledger/locale/zh_Hans → aa_ledger-2.0.0/ledger/locale/ko_KR}/LC_MESSAGES/django.po +348 -193
  41. aa_ledger-2.0.0/ledger/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
  42. {aa_ledger-1.0.4/ledger/locale/cs_CZ → aa_ledger-2.0.0/ledger/locale/nl_NL}/LC_MESSAGES/django.po +349 -193
  43. aa_ledger-2.0.0/ledger/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
  44. aa_ledger-2.0.0/ledger/locale/pl_PL/LC_MESSAGES/django.po +810 -0
  45. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/locale/ru/LC_MESSAGES/django.mo +0 -0
  46. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/locale/ru/LC_MESSAGES/django.po +348 -193
  47. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/locale/sk/LC_MESSAGES/django.mo +0 -0
  48. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/locale/sk/LC_MESSAGES/django.po +348 -193
  49. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/locale/uk/LC_MESSAGES/django.mo +0 -0
  50. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/locale/uk/LC_MESSAGES/django.po +348 -193
  51. aa_ledger-2.0.0/ledger/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  52. aa_ledger-2.0.0/ledger/locale/zh_Hans/LC_MESSAGES/django.po +809 -0
  53. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/managers/character_audit_manager.py +28 -20
  54. aa_ledger-2.0.0/ledger/managers/character_journal_manager.py +365 -0
  55. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/managers/character_mining_manager.py +52 -26
  56. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/managers/character_planetary_manager.py +178 -136
  57. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/managers/corporation_audit_manager.py +36 -27
  58. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/managers/corporation_journal_manager.py +92 -56
  59. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/managers/general_manager.py +8 -7
  60. aa_ledger-2.0.0/ledger/migrations/0018_remove_characterplanet_ledger_char_planet__58a5b6_idx_and_more.py +44 -0
  61. aa_ledger-2.0.0/ledger/migrations/0019_rename_characteraudit_characterowner_and_more.py +48 -0
  62. aa_ledger-2.0.0/ledger/models/__init__.py +5 -0
  63. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/models/characteraudit.py +101 -109
  64. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/models/corporationaudit.py +94 -49
  65. aa_ledger-2.0.0/ledger/models/general.py +320 -0
  66. aa_ledger-2.0.0/ledger/models/helpers/update_manager.py +302 -0
  67. aa_ledger-2.0.0/ledger/models/planetary.py +161 -0
  68. aa_ledger-2.0.0/ledger/providers.py +127 -0
  69. aa_ledger-1.0.4/ledger/static/ledger/css/ledger.css → aa_ledger-2.0.0/ledger/static/ledger/css/aa-ledger.css +54 -28
  70. aa_ledger-2.0.0/ledger/static/ledger/js/aa-ledger.js +124 -0
  71. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/static/ledger/js/charts.js +25 -1
  72. aa_ledger-2.0.0/ledger/static/ledger/js/view-alliance-ledger.js +383 -0
  73. aa_ledger-2.0.0/ledger/static/ledger/js/view-character-ledger.js +388 -0
  74. aa_ledger-2.0.0/ledger/static/ledger/js/view-corporation-ledger.js +402 -0
  75. aa_ledger-2.0.0/ledger/static/ledger/js/view-planetary.js +492 -0
  76. aa_ledger-2.0.0/ledger/static/ledger/libs/amCharts/5.14.4/js/flow.js +2 -0
  77. aa_ledger-2.0.0/ledger/static/ledger/libs/amCharts/5.14.4/js/index.js +2 -0
  78. aa_ledger-2.0.0/ledger/static/ledger/libs/amCharts/5.14.4/js/percent.js +2 -0
  79. aa_ledger-2.0.0/ledger/static/ledger/libs/amCharts/5.14.4/js/themes/Animated.js +2 -0
  80. aa_ledger-2.0.0/ledger/static/ledger/libs/amCharts/5.14.4/js/themes/Dark.js +2 -0
  81. aa_ledger-2.0.0/ledger/static/ledger/libs/amCharts/5.14.4/js/xy.js +2 -0
  82. aa_ledger-2.0.0/ledger/static/ledger/libs/datatables/2.3.5/css/dataTables.bootstrap5.css +610 -0
  83. aa_ledger-2.0.0/ledger/static/ledger/libs/datatables/2.3.5/js/dataTables.bootstrap5.js +122 -0
  84. aa_ledger-2.0.0/ledger/static/ledger/libs/datatables/2.3.5/js/dataTables.js +14127 -0
  85. aa_ledger-2.0.0/ledger/static/ledger/libs/datatables/Extensions/ColumnControl/1.1.1/css/columnControl.bootstrap5.css +516 -0
  86. aa_ledger-2.0.0/ledger/static/ledger/libs/datatables/Extensions/ColumnControl/1.1.1/css/columnControl.dataTables.css +529 -0
  87. aa_ledger-2.0.0/ledger/static/ledger/libs/datatables/Extensions/ColumnControl/1.1.1/js/columnControl.bootstrap5.js +73 -0
  88. aa_ledger-2.0.0/ledger/static/ledger/libs/datatables/Extensions/ColumnControl/1.1.1/js/dataTables.columnControl.js +3090 -0
  89. aa_ledger-2.0.0/ledger/static/ledger/libs/datatables/Extensions/FixedHeader/4.0.4/css/fixedHeader.bootstrap5.css +20 -0
  90. aa_ledger-2.0.0/ledger/static/ledger/libs/datatables/Extensions/FixedHeader/4.0.4/js/dataTables.fixedHeader.js +1203 -0
  91. aa_ledger-2.0.0/ledger/static/ledger/libs/datatables/Extensions/FixedHeader/4.0.4/js/fixedHeader.bootstrap5.js +59 -0
  92. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/tasks.py +157 -141
  93. aa_ledger-2.0.0/ledger/templates/ledger/base.html +85 -0
  94. aa_ledger-2.0.0/ledger/templates/ledger/bundles/aa-ledger-css.html +3 -0
  95. aa_ledger-2.0.0/ledger/templates/ledger/bundles/aa-ledger-js.html +3 -0
  96. aa_ledger-2.0.0/ledger/templates/ledger/bundles/view-alliance-ledger-js.html +14 -0
  97. aa_ledger-2.0.0/ledger/templates/ledger/bundles/view-character-ledger-js.html +15 -0
  98. aa_ledger-2.0.0/ledger/templates/ledger/bundles/view-character-planetary-css.html +3 -0
  99. aa_ledger-2.0.0/ledger/templates/ledger/bundles/view-character-planetary-js.html +4 -0
  100. aa_ledger-2.0.0/ledger/templates/ledger/bundles/view-corporation-ledger-js.html +15 -0
  101. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/templates/ledger/partials/modal/confirm.html +0 -1
  102. aa_ledger-2.0.0/ledger/templates/ledger/partials/modal/request-accept-delete-alliance.html +38 -0
  103. aa_ledger-2.0.0/ledger/templates/ledger/partials/modal/request-accept-delete-character.html +38 -0
  104. aa_ledger-2.0.0/ledger/templates/ledger/partials/modal/request-accept-delete-corporation.html +38 -0
  105. aa_ledger-2.0.0/ledger/templates/ledger/partials/modal/request-accept-switch-notification.html +38 -0
  106. aa_ledger-2.0.0/ledger/templates/ledger/partials/modal/request-view-alliance-details.html +26 -0
  107. aa_ledger-2.0.0/ledger/templates/ledger/partials/modal/request-view-character-details.html +26 -0
  108. aa_ledger-2.0.0/ledger/templates/ledger/partials/modal/request-view-corporation-details.html +26 -0
  109. aa_ledger-2.0.0/ledger/templates/ledger/partials/modal/request-view-extractor.html +32 -0
  110. aa_ledger-2.0.0/ledger/templates/ledger/partials/modal/request-view-factory.html +31 -0
  111. {aa_ledger-1.0.4/ledger/templates/ledger/partials/menu → aa_ledger-2.0.0/ledger/templates/ledger/partials/navigation}/administration.html +8 -0
  112. {aa_ledger-1.0.4/ledger/templates/ledger/partials/menu → aa_ledger-2.0.0/ledger/templates/ledger/partials/navigation}/navigation.html +2 -2
  113. {aa_ledger-1.0.4/ledger/templates/ledger/partials/administration → aa_ledger-2.0.0/ledger/templates/ledger/partials/view-alliance-administration}/alliance_corporations.html +3 -3
  114. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-alliance-administration/dashboard.html +81 -0
  115. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-alliance-ledger/alliance-billboard.html +25 -0
  116. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-alliance-ledger/alliance-ledger-details.html +21 -0
  117. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-alliance-ledger/alliance-table.html +24 -0
  118. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-alliance-ledger/information/daily.html +18 -0
  119. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-alliance-ledger/information/hourly.html +18 -0
  120. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-alliance-ledger/information/summary.html +19 -0
  121. {aa_ledger-1.0.4/ledger/templates/ledger/partials/administration → aa_ledger-2.0.0/ledger/templates/ledger/partials/view-character-administration}/character.html +1 -9
  122. {aa_ledger-1.0.4/ledger/templates/ledger/partials/administration → aa_ledger-2.0.0/ledger/templates/ledger/partials/view-character-administration}/dashboard.html +0 -34
  123. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-character-ledger/character-billboard.html +25 -0
  124. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-character-ledger/character-ledger-details.html +21 -0
  125. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-character-ledger/character-table.html +25 -0
  126. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-character-ledger/information/daily.html +18 -0
  127. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-character-ledger/information/hourly.html +18 -0
  128. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-character-ledger/information/summary.html +19 -0
  129. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-character-planetary/extractor-table.html +24 -0
  130. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-character-planetary/factory-table.html +24 -0
  131. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-character-planetary/planetary-table.html +22 -0
  132. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-character-planetary/storage-table.html +23 -0
  133. {aa_ledger-1.0.4/ledger/templates/ledger/partials/administration → aa_ledger-2.0.0/ledger/templates/ledger/partials/view-corporation-administration}/corporation.html +5 -13
  134. {aa_ledger-1.0.4/ledger/templates/ledger/partials/administration → aa_ledger-2.0.0/ledger/templates/ledger/partials/view-corporation-administration}/corporation_characters.html +1 -1
  135. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-corporation-administration/dashboard.html +81 -0
  136. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-corporation-ledger/corporation-billboard.html +25 -0
  137. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-corporation-ledger/corporation-ledger-details.html +21 -0
  138. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-corporation-ledger/corporation-table.html +26 -0
  139. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-corporation-ledger/information/daily.html +18 -0
  140. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-corporation-ledger/information/hourly.html +18 -0
  141. aa_ledger-2.0.0/ledger/templates/ledger/partials/view-corporation-ledger/information/summary.html +19 -0
  142. aa_ledger-2.0.0/ledger/templates/ledger/view-administration.html +62 -0
  143. aa_ledger-2.0.0/ledger/templates/ledger/view-alliance-administration.html +49 -0
  144. aa_ledger-2.0.0/ledger/templates/ledger/view-alliance-ledger.html +72 -0
  145. aa_ledger-2.0.0/ledger/templates/ledger/view-alliance-overview.html +131 -0
  146. aa_ledger-2.0.0/ledger/templates/ledger/view-character-administration.html +42 -0
  147. aa_ledger-2.0.0/ledger/templates/ledger/view-character-ledger.html +73 -0
  148. aa_ledger-2.0.0/ledger/templates/ledger/view-character-overview.html +135 -0
  149. aa_ledger-2.0.0/ledger/templates/ledger/view-character-planetary-overview.html +135 -0
  150. aa_ledger-2.0.0/ledger/templates/ledger/view-character-planetary.html +73 -0
  151. aa_ledger-2.0.0/ledger/templates/ledger/view-corporation-administration.html +42 -0
  152. aa_ledger-2.0.0/ledger/templates/ledger/view-corporation-ledger.html +73 -0
  153. aa_ledger-2.0.0/ledger/templates/ledger/view-corporation-overview.html +131 -0
  154. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/templatetags/ledger.py +3 -5
  155. aa_ledger-2.0.0/ledger/tests/__init__.py +187 -0
  156. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/tests/test_admin.py +164 -68
  157. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/tests/test_auth_hook.py +31 -13
  158. aa_ledger-2.0.0/ledger/tests/test_decarators.py +34 -0
  159. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/tests/test_discord_installed.py +0 -1
  160. aa_ledger-2.0.0/ledger/tests/test_helpers/test_ledger_data.py +19 -0
  161. aa_ledger-2.0.0/ledger/tests/test_managers/test_character_audit_manager.py +243 -0
  162. aa_ledger-2.0.0/ledger/tests/test_managers/test_character_journal_manager.py +213 -0
  163. aa_ledger-2.0.0/ledger/tests/test_managers/test_character_mining_manager.py +70 -0
  164. aa_ledger-2.0.0/ledger/tests/test_managers/test_corporation_division_manager.py +115 -0
  165. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/tests/test_managers/test_corporation_journal_manager.py +39 -42
  166. aa_ledger-2.0.0/ledger/tests/test_managers/test_general_manager.py +119 -0
  167. aa_ledger-2.0.0/ledger/tests/test_managers/test_planetary_manager.py +126 -0
  168. aa_ledger-2.0.0/ledger/tests/test_models/test_characteraudit.py +135 -0
  169. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/tests/test_models/test_characterminingledger.py +20 -26
  170. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/tests/test_models/test_characterwalletjournal.py +10 -33
  171. aa_ledger-2.0.0/ledger/tests/test_models/test_corporationaudit.py +74 -0
  172. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/tests/test_models/test_corporationwalletjournal.py +35 -32
  173. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/tests/test_models/test_general.py +44 -11
  174. aa_ledger-2.0.0/ledger/tests/test_models/test_planetary.py +68 -0
  175. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/tests/test_templatetags.py +2 -7
  176. aa_ledger-2.0.0/ledger/tests/test_views/corporation/test_add_corp.py +48 -0
  177. aa_ledger-2.0.0/ledger/tests/test_views/corporation/test_delete_corporation.py +115 -0
  178. aa_ledger-2.0.0/ledger/tests/test_views/test_access.py +843 -0
  179. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/tests/test_views/test_add_ally.py +57 -46
  180. aa_ledger-2.0.0/ledger/tests/test_views/test_add_char.py +49 -0
  181. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/tests/test_views/test_delete_character.py +24 -21
  182. aa_ledger-2.0.0/ledger/tests/testdata/README_ESI_STUB.md +430 -0
  183. aa_ledger-2.0.0/ledger/tests/testdata/esi_stub_openapi.py +511 -0
  184. aa_ledger-1.0.4/ledger/tests/testdata/load_eveuniverse.py → aa_ledger-2.0.0/ledger/tests/testdata/integrations/eveuniverse.py +0 -1
  185. aa_ledger-2.0.0/ledger/tests/testdata/integrations/planetary.py +13 -0
  186. aa_ledger-2.0.0/ledger/tests/testdata/json/factory.json +281 -0
  187. aa_ledger-2.0.0/ledger/tests/testdata/json/inactive.json +281 -0
  188. aa_ledger-2.0.0/ledger/tests/testdata/json/pins.json +234 -0
  189. aa_ledger-2.0.0/ledger/tests/testdata/json/route.json +146 -0
  190. aa_ledger-2.0.0/ledger/tests/testdata/test_esi_stub.py +468 -0
  191. aa_ledger-2.0.0/ledger/tests/testdata/utils.py +601 -0
  192. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/thirdparty/charlink_hook.py +60 -30
  193. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/urls.py +0 -135
  194. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/views/alliance/add_ally.py +2 -4
  195. aa_ledger-2.0.0/ledger/views/alliance/alliance_ledger.py +149 -0
  196. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/views/character/add_char.py +8 -10
  197. aa_ledger-2.0.0/ledger/views/character/character_ledger.py +175 -0
  198. aa_ledger-2.0.0/ledger/views/character/planetary.py +56 -0
  199. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/views/corporation/add_corp.py +10 -12
  200. aa_ledger-2.0.0/ledger/views/corporation/corporation_ledger.py +183 -0
  201. aa_ledger-2.0.0/ledger/views/index.py +125 -0
  202. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/pyproject.toml +3 -4
  203. aa_ledger-1.0.4/ledger/api/__init__.py +0 -30
  204. aa_ledger-1.0.4/ledger/api/api_helper/planetary_helper.py +0 -107
  205. aa_ledger-1.0.4/ledger/api/ledger/__init__.py +0 -7
  206. aa_ledger-1.0.4/ledger/api/ledger/planetary.py +0 -231
  207. aa_ledger-1.0.4/ledger/api/schema.py +0 -40
  208. aa_ledger-1.0.4/ledger/app_settings.py +0 -58
  209. aa_ledger-1.0.4/ledger/constants.py +0 -203
  210. aa_ledger-1.0.4/ledger/decorators.py +0 -82
  211. aa_ledger-1.0.4/ledger/forms.py +0 -106
  212. aa_ledger-1.0.4/ledger/helpers/alliance.py +0 -317
  213. aa_ledger-1.0.4/ledger/helpers/billboard.py +0 -287
  214. aa_ledger-1.0.4/ledger/helpers/character.py +0 -251
  215. aa_ledger-1.0.4/ledger/helpers/core.py +0 -665
  216. aa_ledger-1.0.4/ledger/helpers/corporation.py +0 -427
  217. aa_ledger-1.0.4/ledger/helpers/data_exporter.py +0 -452
  218. aa_ledger-1.0.4/ledger/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  219. aa_ledger-1.0.4/ledger/locale/de/LC_MESSAGES/django.mo +0 -0
  220. aa_ledger-1.0.4/ledger/locale/django.pot +0 -1048
  221. aa_ledger-1.0.4/ledger/locale/es/LC_MESSAGES/django.mo +0 -0
  222. aa_ledger-1.0.4/ledger/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
  223. aa_ledger-1.0.4/ledger/locale/it_IT/LC_MESSAGES/django.mo +0 -0
  224. aa_ledger-1.0.4/ledger/locale/ja/LC_MESSAGES/django.mo +0 -0
  225. aa_ledger-1.0.4/ledger/locale/ko_KR/LC_MESSAGES/django.mo +0 -0
  226. aa_ledger-1.0.4/ledger/locale/ko_KR/LC_MESSAGES/django.po +0 -653
  227. aa_ledger-1.0.4/ledger/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
  228. aa_ledger-1.0.4/ledger/locale/nl_NL/LC_MESSAGES/django.po +0 -653
  229. aa_ledger-1.0.4/ledger/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
  230. aa_ledger-1.0.4/ledger/locale/pl_PL/LC_MESSAGES/django.po +0 -653
  231. aa_ledger-1.0.4/ledger/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  232. aa_ledger-1.0.4/ledger/managers/character_journal_manager.py +0 -537
  233. aa_ledger-1.0.4/ledger/models/__init__.py +0 -11
  234. aa_ledger-1.0.4/ledger/models/general.py +0 -426
  235. aa_ledger-1.0.4/ledger/models/planetary.py +0 -306
  236. aa_ledger-1.0.4/ledger/providers.py +0 -26
  237. aa_ledger-1.0.4/ledger/static/ledger/js/planetary-confirm.js +0 -66
  238. aa_ledger-1.0.4/ledger/static/ledger/js/planetary.js +0 -143
  239. aa_ledger-1.0.4/ledger/templates/ledger/admin.html +0 -43
  240. aa_ledger-1.0.4/ledger/templates/ledger/allyledger/admin/alliance_administration.html +0 -46
  241. aa_ledger-1.0.4/ledger/templates/ledger/allyledger/admin/alliance_overview.html +0 -108
  242. aa_ledger-1.0.4/ledger/templates/ledger/allyledger/alliance_ledger.html +0 -86
  243. aa_ledger-1.0.4/ledger/templates/ledger/base.html +0 -47
  244. aa_ledger-1.0.4/ledger/templates/ledger/bundles/character-ledger-bundles.html +0 -66
  245. aa_ledger-1.0.4/ledger/templates/ledger/bundles/corporation-ledger-bundles.html +0 -75
  246. aa_ledger-1.0.4/ledger/templates/ledger/bundles/ledger-bundles.html +0 -23
  247. aa_ledger-1.0.4/ledger/templates/ledger/bundles/ledger-css.html +0 -3
  248. aa_ledger-1.0.4/ledger/templates/ledger/bundles/planetary-bundles.html +0 -50
  249. aa_ledger-1.0.4/ledger/templates/ledger/bundles/table-css.html +0 -3
  250. aa_ledger-1.0.4/ledger/templates/ledger/charledger/admin/character_administration.html +0 -39
  251. aa_ledger-1.0.4/ledger/templates/ledger/charledger/admin/character_overview.html +0 -106
  252. aa_ledger-1.0.4/ledger/templates/ledger/charledger/character_ledger.html +0 -94
  253. aa_ledger-1.0.4/ledger/templates/ledger/charledger/planetary/admin/planetary_overview.html +0 -123
  254. aa_ledger-1.0.4/ledger/templates/ledger/charledger/planetary/planetary_ledger.html +0 -54
  255. aa_ledger-1.0.4/ledger/templates/ledger/corpledger/admin/corporation_administration.html +0 -39
  256. aa_ledger-1.0.4/ledger/templates/ledger/corpledger/admin/corporation_overview.html +0 -108
  257. aa_ledger-1.0.4/ledger/templates/ledger/corpledger/corporation_ledger.html +0 -129
  258. aa_ledger-1.0.4/ledger/templates/ledger/data-export.html +0 -78
  259. aa_ledger-1.0.4/ledger/templates/ledger/error.html +0 -31
  260. aa_ledger-1.0.4/ledger/templates/ledger/partials/form/error-message.html +0 -1
  261. aa_ledger-1.0.4/ledger/templates/ledger/partials/information/daily.html +0 -56
  262. aa_ledger-1.0.4/ledger/templates/ledger/partials/information/day.html +0 -48
  263. aa_ledger-1.0.4/ledger/templates/ledger/partials/information/error.html +0 -8
  264. aa_ledger-1.0.4/ledger/templates/ledger/partials/information/hourly.html +0 -53
  265. aa_ledger-1.0.4/ledger/templates/ledger/partials/information/summary.html +0 -88
  266. aa_ledger-1.0.4/ledger/templates/ledger/partials/information/view_character_content.html +0 -35
  267. aa_ledger-1.0.4/ledger/templates/ledger/partials/modal/switchalarm_confirm.html +0 -39
  268. aa_ledger-1.0.4/ledger/templates/ledger/partials/modal/view_extractor.html +0 -48
  269. aa_ledger-1.0.4/ledger/templates/ledger/partials/modal/view_factory.html +0 -123
  270. aa_ledger-1.0.4/ledger/templates/ledger/partials/table/char-ledger.html +0 -85
  271. aa_ledger-1.0.4/ledger/templates/ledger/partials/table/corp-ledger.html +0 -66
  272. aa_ledger-1.0.4/ledger/templates/ledger/partials/table/planetary.html +0 -18
  273. aa_ledger-1.0.4/ledger/templates/ledger/partials/thirdparty/billboard.html +0 -22
  274. aa_ledger-1.0.4/ledger/templates/ledger/partials/view/card.html +0 -160
  275. aa_ledger-1.0.4/ledger/templates/ledger/permission.html +0 -2
  276. aa_ledger-1.0.4/ledger/tests/test_decarators.py +0 -99
  277. aa_ledger-1.0.4/ledger/tests/test_helpers/test_billboard.py +0 -11
  278. aa_ledger-1.0.4/ledger/tests/test_helpers/test_data_exporter.py +0 -207
  279. aa_ledger-1.0.4/ledger/tests/test_managers/test_character_audit_manager.py +0 -201
  280. aa_ledger-1.0.4/ledger/tests/test_managers/test_character_journal_manager.py +0 -373
  281. aa_ledger-1.0.4/ledger/tests/test_managers/test_character_mining_manager.py +0 -49
  282. aa_ledger-1.0.4/ledger/tests/test_managers/test_corporation_division_manager.py +0 -77
  283. aa_ledger-1.0.4/ledger/tests/test_managers/test_general_manager.py +0 -59
  284. aa_ledger-1.0.4/ledger/tests/test_managers/test_planetary_manager.py +0 -85
  285. aa_ledger-1.0.4/ledger/tests/test_models/test_characteraudit.py +0 -151
  286. aa_ledger-1.0.4/ledger/tests/test_models/test_corporationaudit.py +0 -68
  287. aa_ledger-1.0.4/ledger/tests/test_models/test_planetary.py +0 -134
  288. aa_ledger-1.0.4/ledger/tests/test_tasks.py +0 -282
  289. aa_ledger-1.0.4/ledger/tests/test_view_helpers/test_core.py +0 -47
  290. aa_ledger-1.0.4/ledger/tests/test_views/corporation/test_add_corp.py +0 -67
  291. aa_ledger-1.0.4/ledger/tests/test_views/corporation/test_corporation.py +0 -267
  292. aa_ledger-1.0.4/ledger/tests/test_views/corporation/test_delete_corporation.py +0 -91
  293. aa_ledger-1.0.4/ledger/tests/test_views/test_access.py +0 -876
  294. aa_ledger-1.0.4/ledger/tests/test_views/test_add_char.py +0 -61
  295. aa_ledger-1.0.4/ledger/tests/test_views/test_planetary.py +0 -137
  296. aa_ledger-1.0.4/ledger/tests/testdata/esi_stub.py +0 -109
  297. aa_ledger-1.0.4/ledger/tests/testdata/esi_stub_migration.py +0 -80
  298. aa_ledger-1.0.4/ledger/tests/testdata/generate_characteraudit.py +0 -106
  299. aa_ledger-1.0.4/ledger/tests/testdata/generate_corporationaudit.py +0 -74
  300. aa_ledger-1.0.4/ledger/tests/testdata/generate_events.py +0 -31
  301. aa_ledger-1.0.4/ledger/tests/testdata/generate_miningledger.py +0 -13
  302. aa_ledger-1.0.4/ledger/tests/testdata/generate_planets.py +0 -48
  303. aa_ledger-1.0.4/ledger/tests/testdata/generate_walletjournal.py +0 -42
  304. aa_ledger-1.0.4/ledger/tests/testdata/json/czarno-pins.json +0 -240
  305. aa_ledger-1.0.4/ledger/tests/testdata/json/czarno-routes.json +0 -165
  306. aa_ledger-1.0.4/ledger/tests/testdata/json/pins.json +0 -331
  307. aa_ledger-1.0.4/ledger/tests/testdata/json/pins2.json +0 -538
  308. aa_ledger-1.0.4/ledger/tests/testdata/json/route.json +0 -579
  309. aa_ledger-1.0.4/ledger/views/alliance/alliance_ledger.py +0 -232
  310. aa_ledger-1.0.4/ledger/views/character/character_ledger.py +0 -241
  311. aa_ledger-1.0.4/ledger/views/character/planetary.py +0 -149
  312. aa_ledger-1.0.4/ledger/views/corporation/corporation_ledger.py +0 -445
  313. aa_ledger-1.0.4/ledger/views/index.py +0 -63
  314. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/.gitignore +0 -0
  315. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/LICENSE +0 -0
  316. {aa_ledger-1.0.4/ledger/locale → aa_ledger-2.0.0/ledger/api/helpers}/__init__.py +0 -0
  317. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/apps.py +0 -0
  318. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/checks.py +0 -0
  319. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/docs/images/preview1.png +0 -0
  320. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/docs/images/preview2.png +0 -0
  321. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/docs/images/preview3.png +0 -0
  322. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/docs/images/preview4.png +0 -0
  323. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/docs/images/preview5.png +0 -0
  324. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/docs/images/preview6.png +0 -0
  325. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/docs/information.md +0 -0
  326. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/errors.py +0 -0
  327. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/helpers/__init__.py +0 -0
  328. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/hooks.py +0 -0
  329. {aa_ledger-1.0.4/ledger/migrations → aa_ledger-2.0.0/ledger/locale}/__init__.py +0 -0
  330. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/migrations/0001_initial.py +0 -0
  331. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/migrations/0002_delete_corpsteuer_alter_characteraudit_options_and_more.py +0 -0
  332. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/migrations/0003_alter_characteraudit_options_and_more.py +0 -0
  333. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/migrations/0004_characteraudit_last_update_planetary_characterplanet_and_more.py +0 -0
  334. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/migrations/0005_alter_corporationaudit_options_alter_general_options.py +0 -0
  335. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/migrations/0006_characteraudit_character_name_and_more.py +0 -0
  336. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/migrations/0007_characterplanetdetails_facilitys.py +0 -0
  337. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/migrations/0008_alter_characterminingledger_date.py +0 -0
  338. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/migrations/0009_remove_characteraudit_last_update_mining_and_more.py +0 -0
  339. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/migrations/0010_fetch_planets_and_update_planetdetails.py +0 -0
  340. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/migrations/0011_create_update_status_existings.py +0 -0
  341. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/migrations/0012_alter_corporationwalletjournalentry_division.py +0 -0
  342. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/migrations/0013_delete_events.py +0 -0
  343. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/migrations/0014_alter_corporationaudit_options_alter_general_options_and_more.py +0 -0
  344. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/migrations/0015_rename_character_characteraudit_eve_character.py +0 -0
  345. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/migrations/0016_characterminingledger_price_per_unit.py +0 -0
  346. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/migrations/0017_alter_eveentity_category_alter_eveentity_eve_id_and_more.py +0 -0
  347. {aa_ledger-1.0.4/ledger/templatetags → aa_ledger-2.0.0/ledger/migrations}/__init__.py +0 -0
  348. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/static/ledger/css/cards.css +0 -0
  349. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/static/ledger/css/planetary.css +0 -0
  350. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/static/ledger/css/table.css +0 -0
  351. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/static/ledger/images/Spinner-1s-64px-dark.gif +0 -0
  352. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/static/ledger/images/Spinner-1s-64px-light.gif +0 -0
  353. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/static/ledger/images/green.png +0 -0
  354. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/static/ledger/images/pi.png +0 -0
  355. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/static/ledger/images/portrait.jpg +0 -0
  356. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/static/ledger/images/red.png +0 -0
  357. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/static/ledger/js/modal/delete-confirm.js +0 -0
  358. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/static/ledger/js/modal/modal-system.js +0 -0
  359. /aa_ledger-1.0.4/ledger/templates/ledger/bundles/ally-administration-bundles.html → /aa_ledger-2.0.0/ledger/templates/ledger/bundles/view-alliance-administration-js.html +0 -0
  360. /aa_ledger-1.0.4/ledger/templates/ledger/bundles/char-administration-bundles.html → /aa_ledger-2.0.0/ledger/templates/ledger/bundles/view-character-administration-js.html +0 -0
  361. /aa_ledger-1.0.4/ledger/templates/ledger/bundles/corp-administration-bundles.html → /aa_ledger-2.0.0/ledger/templates/ledger/bundles/view-corporation-administration-js.html +0 -0
  362. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/templates/ledger/partials/modal/modal.html +0 -0
  363. {aa_ledger-1.0.4/ledger/templates/ledger/partials/administration → aa_ledger-2.0.0/ledger/templates/ledger/partials/view-alliance-administration}/alliance.html +0 -0
  364. {aa_ledger-1.0.4/ledger/tests → aa_ledger-2.0.0/ledger/templatetags}/__init__.py +0 -0
  365. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/tests/test_helpers/__init__.py +0 -0
  366. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/tests/test_managers/__init__.py +0 -0
  367. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/tests/test_models/__init__.py +0 -0
  368. {aa_ledger-1.0.4/ledger/tests/test_view_helpers → aa_ledger-2.0.0/ledger/tests/test_views}/__init__.py +0 -0
  369. {aa_ledger-1.0.4/ledger/tests/test_views → aa_ledger-2.0.0/ledger/tests/test_views/corporation}/__init__.py +0 -0
  370. /aa_ledger-1.0.4/ledger/tests/testdata/esi.json → /aa_ledger-2.0.0/ledger/tests/testdata/esi_test_data.json +0 -0
  371. {aa_ledger-1.0.4/ledger/tests/test_views/corporation → aa_ledger-2.0.0/ledger/tests/testdata/integrations}/__init__.py +0 -0
  372. {aa_ledger-1.0.4/ledger/tests/testdata → aa_ledger-2.0.0/ledger/tests/testdata/integrations}/allianceauth.json +0 -0
  373. /aa_ledger-1.0.4/ledger/tests/testdata/load_allianceauth.py → /aa_ledger-2.0.0/ledger/tests/testdata/integrations/allianceauth.py +0 -0
  374. {aa_ledger-1.0.4/ledger/tests/testdata → aa_ledger-2.0.0/ledger/tests/testdata/integrations}/eveentity.json +0 -0
  375. /aa_ledger-1.0.4/ledger/tests/testdata/load_eveentity.py → /aa_ledger-2.0.0/ledger/tests/testdata/integrations/eveentity.py +0 -0
  376. {aa_ledger-1.0.4/ledger/tests/testdata → aa_ledger-2.0.0/ledger/tests/testdata/integrations}/eveuniverse.json +0 -0
  377. {aa_ledger-1.0.4/ledger/tests/testdata → aa_ledger-2.0.0/ledger/tests/testdata/integrations}/planetary.json +0 -0
  378. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/thirdparty/__init__.py +0 -0
  379. {aa_ledger-1.0.4 → aa_ledger-2.0.0}/ledger/views/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aa-ledger
3
- Version: 1.0.4
3
+ Version: 2.0.0
4
4
  Summary: Character and Corporation statistics, including detailed information on ESS, Ratting, Trading, Mining, and other activities.
5
5
  Project-URL: Changelog, https://github.com/Geuthur/aa-ledger/blob/master/CHANGELOG.md
6
6
  Project-URL: Documentation, https://github.com/Geuthur/aa-ledger/blob/master/README.md
@@ -700,11 +700,10 @@ Classifier: Programming Language :: Python :: 3.14
700
700
  Classifier: Topic :: Internet :: WWW/HTTP
701
701
  Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
702
702
  Requires-Python: >=3.10
703
- Requires-Dist: allianceauth-app-utils>=1.3
704
- Requires-Dist: allianceauth<5,>=4.10
703
+ Requires-Dist: allianceauth<5,>=4.12
705
704
  Requires-Dist: django-esi<9,>=8
706
- Requires-Dist: django-eveuniverse>=1.6
707
- Requires-Dist: django-ninja
705
+ Requires-Dist: django-eveuniverse<2,>=1.6
706
+ Requires-Dist: django-ninja<2,>=1.5
708
707
  Provides-Extra: tests-allianceauth-latest
709
708
  Requires-Dist: aa-discordnotify; extra == 'tests-allianceauth-latest'
710
709
  Requires-Dist: allianceauth-discordbot; extra == 'tests-allianceauth-latest'
@@ -787,7 +786,7 @@ ______________________________________________________________________
787
786
  ## Installation<a name="installation"></a>
788
787
 
789
788
  > [!NOTE]
790
- > AA Ledger needs at least Alliance Auth v4.6.0
789
+ > AA Ledger needs at least Alliance Auth v4.12.0
791
790
  > Please make sure to update your Alliance Auth before you install this APP
792
791
 
793
792
  ### Step 0 - Check dependencies are installed<a name="step0"></a>
@@ -72,7 +72,7 @@ ______________________________________________________________________
72
72
  ## Installation<a name="installation"></a>
73
73
 
74
74
  > [!NOTE]
75
- > AA Ledger needs at least Alliance Auth v4.6.0
75
+ > AA Ledger needs at least Alliance Auth v4.12.0
76
76
  > Please make sure to update your Alliance Auth before you install this APP
77
77
 
78
78
  ### Step 0 - Check dependencies are installed<a name="step0"></a>
@@ -1,11 +1,11 @@
1
1
  """Initialize the app"""
2
2
 
3
- __version__ = "1.0.4"
3
+ __version__ = "2.0.0"
4
4
  __title__ = "Ledger"
5
5
 
6
6
  __package_name__ = "aa-ledger"
7
7
  __app_name__ = "ledger"
8
- __esi_compatibility_date__ = "2025-11-06"
8
+ __esi_compatibility_date__ = "2025-12-16"
9
9
  __app_name_useragent__ = "AA-Ledger"
10
10
 
11
11
  __github_url__ = f"https://github.com/Geuthur/{__package_name__}"
@@ -13,8 +13,8 @@ from django.utils.translation import gettext_lazy as _
13
13
  from allianceauth.eveonline.evelinks import eveimageserver
14
14
 
15
15
  # AA Ledger
16
- from ledger.models.characteraudit import CharacterAudit, CharacterUpdateStatus
17
- from ledger.models.corporationaudit import CorporationAudit, CorporationUpdateStatus
16
+ from ledger.models.characteraudit import CharacterOwner, CharacterUpdateStatus
17
+ from ledger.models.corporationaudit import CorporationOwner, CorporationUpdateStatus
18
18
  from ledger.tasks import update_character, update_corporation
19
19
 
20
20
 
@@ -84,7 +84,7 @@ class CorporationUpdateStatusAdminInline(admin.TabularInline):
84
84
  return timesince(started_at, finished_at)
85
85
 
86
86
 
87
- @admin.register(CorporationAudit)
87
+ @admin.register(CorporationOwner)
88
88
  class CorporationAuditAdmin(admin.ModelAdmin):
89
89
  list_display = (
90
90
  "_entity_pic",
@@ -97,11 +97,14 @@ class CorporationAuditAdmin(admin.ModelAdmin):
97
97
  "_corporation__corporation_id",
98
98
  )
99
99
 
100
- list_select_related = ("corporation",)
100
+ list_select_related = ("eve_corporation",)
101
101
 
102
- ordering = ["corporation__corporation_name"]
102
+ ordering = ["eve_corporation__corporation_name"]
103
103
 
104
- search_fields = ["corporation__corporation_name", "corporation__corporation_id"]
104
+ search_fields = [
105
+ "eve_corporation__corporation_name",
106
+ "eve_corporation__corporation_id",
107
+ ]
105
108
 
106
109
  actions = [
107
110
  "delete_objects",
@@ -120,19 +123,21 @@ class CorporationAuditAdmin(admin.ModelAdmin):
120
123
  )
121
124
 
122
125
  @admin.display(description="")
123
- def _entity_pic(self, obj: CorporationAudit):
124
- eve_id = obj.corporation.corporation_id
126
+ def _entity_pic(self, obj: CorporationOwner):
127
+ eve_id = obj.eve_corporation.corporation_id
125
128
  return format_html(
126
129
  '<img src="{}" class="img-circle">',
127
130
  eveimageserver._eve_entity_image_url("corporation", eve_id, 32),
128
131
  )
129
132
 
130
- @admin.display(description="Corporation ID", ordering="corporation__corporation_id")
131
- def _corporation__corporation_id(self, obj: CorporationAudit):
132
- return obj.corporation.corporation_id
133
+ @admin.display(
134
+ description="Corporation ID", ordering="eve_corporation__corporation_id"
135
+ )
136
+ def _corporation__corporation_id(self, obj: CorporationOwner):
137
+ return obj.eve_corporation.corporation_id
133
138
 
134
139
  @admin.display(ordering="last_update_at", description=_("last update run"))
135
- def _last_update_at(self, obj: CorporationAudit):
140
+ def _last_update_at(self, obj: CorporationOwner):
136
141
  return naturaltime(obj.last_update_at) if obj.last_update_at else "-"
137
142
 
138
143
  # pylint: disable=unused-argument
@@ -169,9 +174,9 @@ class CharacterUpdateStatusAdminInline(admin.TabularInline):
169
174
  "_is_success",
170
175
  "_is_token_ok",
171
176
  "error_message",
172
- "run_finished_at",
177
+ "last_run_finished_at",
173
178
  "_run_duration",
174
- "update_finished_at",
179
+ "last_update_finished_at",
175
180
  "_update_duration",
176
181
  )
177
182
  readonly_fields = (
@@ -226,7 +231,7 @@ class CharacterUpdateStatusAdminInline(admin.TabularInline):
226
231
  return timesince(started_at, finished_at)
227
232
 
228
233
 
229
- @admin.register(CharacterAudit)
234
+ @admin.register(CharacterOwner)
230
235
  class CharacterAuditAdmin(admin.ModelAdmin):
231
236
  list_display = (
232
237
  "_entity_pic",
@@ -262,7 +267,7 @@ class CharacterAuditAdmin(admin.ModelAdmin):
262
267
  )
263
268
 
264
269
  @admin.display(description="")
265
- def _entity_pic(self, obj: CharacterAudit):
270
+ def _entity_pic(self, obj: CharacterOwner):
266
271
  eve_id = obj.eve_character.character_id
267
272
  return format_html(
268
273
  '<img src="{}" class="img-circle">',
@@ -272,11 +277,11 @@ class CharacterAuditAdmin(admin.ModelAdmin):
272
277
  @admin.display(
273
278
  description="Character Name", ordering="eve_character__character_name"
274
279
  )
275
- def _eve_character__character_name(self, obj: CharacterAudit):
280
+ def _eve_character__character_name(self, obj: CharacterOwner):
276
281
  return obj.eve_character.character_name
277
282
 
278
283
  @admin.display(ordering="last_update_at", description=_("last update run"))
279
- def _last_update_at(self, obj: CharacterAudit):
284
+ def _last_update_at(self, obj: CharacterOwner):
280
285
  return naturaltime(obj.last_update_at) if obj.last_update_at else "-"
281
286
 
282
287
  # pylint: disable=unused-argument
@@ -0,0 +1,46 @@
1
+ # Third Party
2
+ from ninja import NinjaAPI
3
+ from ninja.security import django_auth
4
+
5
+ # Django
6
+ from django.conf import settings
7
+
8
+ # Alliance Auth
9
+ from allianceauth.services.hooks import get_extension_logger
10
+
11
+ # AA Ledger
12
+ from ledger import __title__
13
+ from ledger.api import admin, alliance, character, corporation, planetary
14
+ from ledger.providers import AppLogger
15
+
16
+ logger = AppLogger(get_extension_logger(__name__), __title__)
17
+
18
+
19
+ api = NinjaAPI(
20
+ title="Geuthur API",
21
+ version="0.5.0",
22
+ urls_namespace="ledger:api",
23
+ auth=django_auth,
24
+ openapi_url=settings.DEBUG and "/openapi.json" or "",
25
+ )
26
+
27
+
28
+ def setup(ninja_api):
29
+ admin.AdminApiEndpoints(ninja_api)
30
+
31
+ # Character Endpoints
32
+ character.CharacterApiEndpoints(ninja_api)
33
+ character.CharacterDetailsApiEndpoints(ninja_api)
34
+ planetary.PlanetaryApiEndpoints(ninja_api)
35
+
36
+ # Corporation Endpoints
37
+ corporation.CorporationApiEndpoints(ninja_api)
38
+ corporation.CorporationDetailsApiEndpoints(ninja_api)
39
+
40
+ # Alliance Endpoints
41
+ alliance.AllianceApiEndpoints(ninja_api)
42
+ alliance.AllianceDetailsApiEndpoints(ninja_api)
43
+
44
+
45
+ # Initialize API endpoints
46
+ setup(api)
@@ -12,24 +12,22 @@ from allianceauth.authentication.models import CharacterOwnership, UserProfile
12
12
  from allianceauth.eveonline.models import EveCorporationInfo
13
13
  from allianceauth.services.hooks import get_extension_logger
14
14
 
15
- # Alliance Auth (External Libs)
16
- from app_utils.logging import LoggerAddTag
17
-
18
15
  # AA Ledger
19
16
  from ledger import __title__
20
17
  from ledger.api import schema
21
- from ledger.api.helpers import (
18
+ from ledger.api.helpers.core import (
22
19
  get_all_corporations_from_alliance,
23
- get_character_or_none,
24
- get_corporation,
20
+ get_characterowner_or_none,
21
+ get_corporationowner_or_none,
25
22
  )
26
- from ledger.models.characteraudit import CharacterAudit
27
- from ledger.models.corporationaudit import CorporationAudit
23
+ from ledger.models.characteraudit import CharacterOwner
24
+ from ledger.models.corporationaudit import CorporationOwner
25
+ from ledger.providers import AppLogger
28
26
 
29
- logger = LoggerAddTag(get_extension_logger(__name__), __title__)
27
+ logger = AppLogger(get_extension_logger(__name__), __title__)
30
28
 
31
29
 
32
- class LedgerAdminApiEndpoints:
30
+ class AdminApiEndpoints:
33
31
  tags = ["LedgerAdmin"]
34
32
 
35
33
  # pylint: disable=too-many-statements
@@ -40,7 +38,7 @@ class LedgerAdminApiEndpoints:
40
38
  tags=self.tags,
41
39
  )
42
40
  def get_character_overview(request):
43
- chars_visible = CharacterAudit.objects.visible_to(request.user)
41
+ chars_visible = CharacterOwner.objects.visible_to(request.user)
44
42
 
45
43
  if chars_visible is None:
46
44
  return 403, "Permission Denied"
@@ -78,7 +76,7 @@ class LedgerAdminApiEndpoints:
78
76
  tags=self.tags,
79
77
  )
80
78
  def get_planetary_overview(request):
81
- chars_ids = CharacterAudit.objects.visible_eve_characters(
79
+ chars_ids = CharacterOwner.objects.visible_eve_characters(
82
80
  request.user
83
81
  ).values_list("character_id", flat=True)
84
82
 
@@ -114,7 +112,7 @@ class LedgerAdminApiEndpoints:
114
112
  tags=self.tags,
115
113
  )
116
114
  def get_corporation_overview(request):
117
- corporations = CorporationAudit.objects.visible_to(request.user)
115
+ corporations = CorporationOwner.objects.visible_to(request.user)
118
116
 
119
117
  if corporations is None:
120
118
  return 403, "Permission Denied"
@@ -124,9 +122,9 @@ class LedgerAdminApiEndpoints:
124
122
  for corporation in corporations:
125
123
  # pylint: disable=broad-exception-caught
126
124
  try:
127
- corporation_dict[corporation.corporation.corporation_id] = {
128
- "corporation_id": corporation.corporation.corporation_id,
129
- "corporation_name": corporation.corporation.corporation_name,
125
+ corporation_dict[corporation.eve_corporation.corporation_id] = {
126
+ "corporation_id": corporation.eve_corporation.corporation_id,
127
+ "corporation_name": corporation.eve_corporation.corporation_name,
130
128
  }
131
129
  except Exception:
132
130
  continue
@@ -142,7 +140,7 @@ class LedgerAdminApiEndpoints:
142
140
  tags=self.tags,
143
141
  )
144
142
  def get_alliance_overview(request):
145
- corporations = CorporationAudit.objects.visible_to(request.user)
143
+ corporations = CorporationOwner.objects.visible_to(request.user)
146
144
 
147
145
  if corporations is None:
148
146
  return 403, "Permission Denied"
@@ -152,9 +150,9 @@ class LedgerAdminApiEndpoints:
152
150
  for corporation in corporations:
153
151
  # pylint: disable=broad-exception-caught
154
152
  try:
155
- alliance_dict[corporation.corporation.alliance.alliance_id] = {
156
- "alliance_id": corporation.corporation.alliance.alliance_id,
157
- "alliance_name": corporation.corporation.alliance.alliance_name,
153
+ alliance_dict[corporation.eve_corporation.alliance.alliance_id] = {
154
+ "alliance_id": corporation.eve_corporation.alliance.alliance_id,
155
+ "alliance_name": corporation.eve_corporation.alliance.alliance_name,
158
156
  }
159
157
  except Exception:
160
158
  continue
@@ -169,22 +167,18 @@ class LedgerAdminApiEndpoints:
169
167
  tags=self.tags,
170
168
  )
171
169
  def get_character_dashboard(request, character_id: int):
172
- perm, character = get_character_or_none(request, character_id)
170
+ perm, character = get_characterowner_or_none(request, character_id)
173
171
 
174
172
  if not perm:
175
173
  return 403, "Permission Denied"
176
174
  if perm is None:
177
175
  return 403, "Character not found"
178
176
 
179
- linked_characters_ids = character.alts.values_list(
180
- "character_id", flat=True
181
- )
182
-
183
- characters = CharacterAudit.objects.filter(
184
- eve_character__character_id__in=linked_characters_ids
177
+ characters = CharacterOwner.objects.filter(
178
+ eve_character__character_id__in=character.alt_ids
185
179
  )
186
180
 
187
- auth_characters = len(linked_characters_ids)
181
+ auth_characters = len(character.alt_ids)
188
182
  active_characters = characters.filter(active=True).count()
189
183
  inactive_characters = characters.filter(active=False).count()
190
184
  missing_characters = (
@@ -221,7 +215,7 @@ class LedgerAdminApiEndpoints:
221
215
  tags=self.tags,
222
216
  )
223
217
  def get_corporation_dashboard(request, corporation_id: int):
224
- perm, corporation = get_corporation(request, corporation_id)
218
+ perm, corporation = get_corporationowner_or_none(request, corporation_id)
225
219
 
226
220
  if not perm:
227
221
  return 403, "Permission Denied"
@@ -229,7 +223,7 @@ class LedgerAdminApiEndpoints:
229
223
  return 403, "Corporation not found"
230
224
 
231
225
  auth_corp = EveCorporationInfo.objects.get(
232
- corporation_id=corporation.corporation.corporation_id
226
+ corporation_id=corporation.eve_corporation.corporation_id
233
227
  )
234
228
 
235
229
  corp_characters = CharacterOwnership.objects.filter(
@@ -270,7 +264,7 @@ class LedgerAdminApiEndpoints:
270
264
  alliance__alliance_id=alliance_id
271
265
  )
272
266
  corp_audit_ids = corporations.values_list(
273
- "corporation__corporation_id", flat=True
267
+ "eve_corporation__corporation_id", flat=True
274
268
  )
275
269
  missing_corporations = all_corporations.exclude(
276
270
  corporation_id__in=corp_audit_ids