aa-structures 2.16.0__tar.gz → 3.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 (235) hide show
  1. {aa_structures-2.16.0 → aa_structures-3.0.0}/PKG-INFO +5 -4
  2. {aa_structures-2.16.0 → aa_structures-3.0.0}/pyproject.toml +2 -2
  3. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/__init__.py +1 -1
  4. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/core/notification_embeds/corporate_embeds.py +58 -0
  5. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/core/notification_embeds/main.py +8 -2
  6. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/core/notification_types.py +86 -76
  7. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/core/serializers.py +6 -6
  8. aa_structures-3.0.0/structures/migrations/0009_add_project_goal_notifications.py +152 -0
  9. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/models/owners.py +1 -1
  10. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/js/public.js +9 -3
  11. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/js/structures.js +5 -1
  12. aa_structures-3.0.0/structures/templates/structures/base.html +46 -0
  13. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/modals/poco_details.html +15 -15
  14. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/modals/starbase_detail.html +19 -20
  15. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/modals/structure_details.html +19 -21
  16. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/partials/menu.html +2 -2
  17. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/public.html +28 -34
  18. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/statistics.html +11 -19
  19. aa_structures-3.0.0/structures/templates/structures/structures.html +197 -0
  20. aa_structures-3.0.0/structures/templates/structures/templatetags/list_asset.html +11 -0
  21. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/templatetags/list_item.html +3 -3
  22. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/templatetags/list_tax_item.html +3 -3
  23. aa_structures-3.0.0/structures/templates/structures/templatetags/list_title.html +1 -0
  24. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/testdata/entities.json +30 -0
  25. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/testdata/generate_notifications.py +1 -1
  26. aa_structures-2.16.0/structures/templates/structures/base.html +0 -13
  27. aa_structures-2.16.0/structures/templates/structures/structures.html +0 -207
  28. aa_structures-2.16.0/structures/templates/structures/templatetags/list_asset.html +0 -9
  29. aa_structures-2.16.0/structures/templates/structures/templatetags/list_title.html +0 -1
  30. {aa_structures-2.16.0 → aa_structures-3.0.0}/LICENSE +0 -0
  31. {aa_structures-2.16.0 → aa_structures-3.0.0}/README.md +0 -0
  32. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/admin.py +0 -0
  33. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/app_settings.py +0 -0
  34. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/apps.py +0 -0
  35. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/auth_hooks.py +0 -0
  36. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/constants.py +0 -0
  37. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/core/__init__.py +0 -0
  38. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/core/notification_embeds/__init__.py +0 -0
  39. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/core/notification_embeds/billing_embeds.py +0 -0
  40. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/core/notification_embeds/helpers.py +0 -0
  41. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/core/notification_embeds/moonmining_embeds.py +0 -0
  42. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/core/notification_embeds/orbital_embeds.py +0 -0
  43. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/core/notification_embeds/skyhook_embeds.py +0 -0
  44. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/core/notification_embeds/sov_embeds.py +0 -0
  45. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/core/notification_embeds/structures_embeds.py +0 -0
  46. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/core/notification_embeds/tower_embeds.py +0 -0
  47. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/core/notification_embeds/war_embeds.py +0 -0
  48. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/core/notification_timers.py +0 -0
  49. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/core/sovereignty.py +0 -0
  50. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/core/starbases.py +0 -0
  51. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/forms.py +0 -0
  52. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/helpers.py +0 -0
  53. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/de/LC_MESSAGES/django.mo +0 -0
  54. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/de/LC_MESSAGES/django.po +0 -0
  55. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/django.pot +0 -0
  56. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/en/LC_MESSAGES/django.mo +0 -0
  57. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/en/LC_MESSAGES/django.po +0 -0
  58. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/es/LC_MESSAGES/django.mo +0 -0
  59. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/es/LC_MESSAGES/django.po +0 -0
  60. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
  61. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/fr_FR/LC_MESSAGES/django.po +0 -0
  62. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/it_IT/LC_MESSAGES/django.mo +0 -0
  63. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/it_IT/LC_MESSAGES/django.po +0 -0
  64. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/ja/LC_MESSAGES/django.mo +0 -0
  65. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/ja/LC_MESSAGES/django.po +0 -0
  66. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/ko_KR/LC_MESSAGES/django.mo +0 -0
  67. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/ko_KR/LC_MESSAGES/django.po +0 -0
  68. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/ru/LC_MESSAGES/django.mo +0 -0
  69. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/ru/LC_MESSAGES/django.po +0 -0
  70. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/uk/LC_MESSAGES/django.mo +0 -0
  71. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/uk/LC_MESSAGES/django.po +0 -0
  72. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  73. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/locale/zh_Hans/LC_MESSAGES/django.po +0 -0
  74. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/management/commands/__init__.py +0 -0
  75. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/management/commands/structures_load_eve.py +0 -0
  76. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/management/commands/structures_preload_eveuniverse.py +0 -0
  77. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/management/commands/structures_update_poco_planets.py +0 -0
  78. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/managers.py +0 -0
  79. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/migrations/0001_initial_new.py +0 -0
  80. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/migrations/0002_remove_eveuniverse_relation_names.py +0 -0
  81. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/migrations/0003_add_localization_and_unique_key.py +0 -0
  82. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/migrations/0004_improve_localization.py +0 -0
  83. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/migrations/0005_add_notification_types.py +0 -0
  84. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/migrations/0006_add_ownercharacter_disabled.py +0 -0
  85. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/migrations/0007_add_notificationtypes_skyhook_metenox.py +0 -0
  86. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/migrations/0008_add_notificationtypes_skyhook_metenox.py +0 -0
  87. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/migrations/__init__.py +0 -0
  88. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/models/__init__.py +0 -0
  89. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/models/eveuniverse.py +0 -0
  90. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/models/notifications.py +0 -0
  91. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/models/structures_1.py +0 -0
  92. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/models/structures_2.py +0 -0
  93. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/providers.py +0 -0
  94. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/css/global.css +0 -0
  95. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/css/main.css +0 -0
  96. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/css/public.css +0 -0
  97. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/css/statistics.css +0 -0
  98. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/css/structures.css +0 -0
  99. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/bars-rotate-fade-black-36.svg +0 -0
  100. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/bars-rotate-fade-white-36.svg +0 -0
  101. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/eve_symbol_128.png +0 -0
  102. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/0h.png +0 -0
  103. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/0l.png +0 -0
  104. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/0m.png +0 -0
  105. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/0r.png +0 -0
  106. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/0s.png +0 -0
  107. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/1h.png +0 -0
  108. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/1l.png +0 -0
  109. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/1m.png +0 -0
  110. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/1r.png +0 -0
  111. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/2h.png +0 -0
  112. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/2l.png +0 -0
  113. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/2m.png +0 -0
  114. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/2r.png +0 -0
  115. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/3h.png +0 -0
  116. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/3l.png +0 -0
  117. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/3m.png +0 -0
  118. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/3r.png +0 -0
  119. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/4h.png +0 -0
  120. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/4l.png +0 -0
  121. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/4m.png +0 -0
  122. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/4s.png +0 -0
  123. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/5h.png +0 -0
  124. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/5l.png +0 -0
  125. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/5m.png +0 -0
  126. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/5s.png +0 -0
  127. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/6h.png +0 -0
  128. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/6l.png +0 -0
  129. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/6m.png +0 -0
  130. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/7h.png +0 -0
  131. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/7l.png +0 -0
  132. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/7m.png +0 -0
  133. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/8h.png +0 -0
  134. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/8l.png +0 -0
  135. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/8m.png +0 -0
  136. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/blank.png +0 -0
  137. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/circle.png +0 -0
  138. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/dustwheel.png +0 -0
  139. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/h.png +0 -0
  140. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/l.png +0 -0
  141. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/m.png +0 -0
  142. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/noship.png +0 -0
  143. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/r.png +0 -0
  144. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/tyrannis.png +0 -0
  145. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/tyrannis_blue.png +0 -0
  146. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/tyrannis_darkred.png +0 -0
  147. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/tyrannis_default.png +0 -0
  148. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/panel/tyrannis_revelations.png +0 -0
  149. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/img/structures_logo.png +0 -0
  150. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/js/global.js +0 -0
  151. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/js/statistics.js +0 -0
  152. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/vendor/datatables/plugins/dataTables.rowGroup.min.js +0 -0
  153. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/vendor/datatables/plugins/datetime.js +0 -0
  154. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/vendor/datatables/plugins/filterDropDown.min.js +0 -0
  155. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/vendor/datatables/plugins/rowGroup.bootstrap.min.css +0 -0
  156. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/static/structures/vendor/datatables/plugins/rowGroup.dataTables.min.css +0 -0
  157. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tasks.py +0 -0
  158. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/modals/fitting_assets.html +0 -0
  159. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/modals/fitting_gfx.html +0 -0
  160. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/modals/tab_general_detail.html +0 -0
  161. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/modals/tab_services_detail.html +0 -0
  162. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/partials/public/poco_list.html +0 -0
  163. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/partials/statistics/structure_summary.html +0 -0
  164. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/partials/structures/active_tags.html +0 -0
  165. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/partials/structures/jump_gate_list.html +0 -0
  166. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/partials/structures/orbital_list.html +0 -0
  167. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/partials/structures/starbase_list.html +0 -0
  168. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/partials/structures/structure_list.html +0 -0
  169. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templates/structures/templatetags/detail_title.html +0 -0
  170. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templatetags/__init__.py +0 -0
  171. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/templatetags/structures.py +0 -0
  172. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/__init__.py +0 -0
  173. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/core/__init__.py +0 -0
  174. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/core/notification_embeds/__init__.py +0 -0
  175. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/core/notification_embeds/test_helpers.py +0 -0
  176. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/core/notification_embeds/test_main.py +0 -0
  177. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/core/test_notification_structuretimers.py +0 -0
  178. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/core/test_notification_types.py +0 -0
  179. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/core/test_notifications_timers.py +0 -0
  180. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/core/test_serializers.py +0 -0
  181. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/core/test_sovereignty.py +0 -0
  182. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/core/test_starbases.py +0 -0
  183. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/integration/__init__.py +0 -0
  184. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/integration/test_tasks.py +0 -0
  185. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/integration/test_views.py +0 -0
  186. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/models/__init__.py +0 -0
  187. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/models/test_eveuniverse.py +0 -0
  188. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/models/test_notifications_1.py +0 -0
  189. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/models/test_notifications_2.py +0 -0
  190. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/models/test_notifications_3.py +0 -0
  191. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/models/test_notifications_discord.py +0 -0
  192. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/models/test_owners_1.py +0 -0
  193. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/models/test_owners_2.py +0 -0
  194. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/models/test_owners_3.py +0 -0
  195. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/models/test_owners_4.py +0 -0
  196. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/models/test_owners_5.py +0 -0
  197. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/models/test_owners_6.py +0 -0
  198. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/models/test_structures.py +0 -0
  199. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/test_admin.py +0 -0
  200. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/test_helpers.py +0 -0
  201. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/test_managers_1.py +0 -0
  202. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/test_managers_2.py +0 -0
  203. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/test_tasks.py +0 -0
  204. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/testdata/__init__.py +0 -0
  205. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/testdata/constants.py +0 -0
  206. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/testdata/create_eveuniverse.py +0 -0
  207. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/testdata/esi_data.json +0 -0
  208. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/testdata/eveuniverse.json +0 -0
  209. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/testdata/factories.py +0 -0
  210. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/testdata/generate_notifications_2.py +0 -0
  211. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/testdata/generate_structures.py +0 -0
  212. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/testdata/helpers.py +0 -0
  213. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/testdata/load_eveuniverse.py +0 -0
  214. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/testdata/tasks_loadtest.py +0 -0
  215. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/testdata/test_generate_structures.py +0 -0
  216. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/views/__init__.py +0 -0
  217. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/views/test_public.py +0 -0
  218. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/views/test_service_status.py +0 -0
  219. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/views/test_statistics.py +0 -0
  220. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/views/test_structures.py +0 -0
  221. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/tests/views/utils.py +0 -0
  222. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/urls.py +0 -0
  223. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/views/__init__.py +0 -0
  224. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/views/common.py +0 -0
  225. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/views/public.py +0 -0
  226. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/views/statistics.py +0 -0
  227. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/views/status.py +0 -0
  228. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/views/structures.py +0 -0
  229. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/webhooks/__init__.py +0 -0
  230. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/webhooks/core.py +0 -0
  231. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/webhooks/managers.py +0 -0
  232. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/webhooks/models.py +0 -0
  233. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/webhooks/tests/__init__.py +0 -0
  234. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/webhooks/tests/test_core.py +0 -0
  235. {aa_structures-2.16.0 → aa_structures-3.0.0}/structures/webhooks/tests/test_utils.py +0 -0
@@ -1,13 +1,12 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: aa-structures
3
- Version: 2.16.0
3
+ Version: 3.0.0
4
4
  Summary: App for managing Eve Online structures with Alliance Auth.
5
5
  Author-email: Erik Kalkoken <kalkoken87@gmail.com>
6
6
  Requires-Python: >=3.8
7
7
  Description-Content-Type: text/markdown
8
8
  Classifier: Environment :: Web Environment
9
9
  Classifier: Framework :: Django
10
- Classifier: Framework :: Django :: 4.0
11
10
  Classifier: Framework :: Django :: 4.2
12
11
  Classifier: Intended Audience :: End Users/Desktop
13
12
  Classifier: License :: OSI Approved :: MIT License
@@ -17,10 +16,12 @@ Classifier: Programming Language :: Python :: 3.8
17
16
  Classifier: Programming Language :: Python :: 3.9
18
17
  Classifier: Programming Language :: Python :: 3.10
19
18
  Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
20
  Classifier: Topic :: Internet :: WWW/HTTP
21
21
  Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
22
+ License-File: LICENSE
22
23
  Requires-Dist: allianceauth-app-utils>=1.22
23
- Requires-Dist: allianceauth>=3.0
24
+ Requires-Dist: allianceauth>=4
24
25
  Requires-Dist: dhooks-lite>=1.0
25
26
  Requires-Dist: django-eveuniverse>=1.5.2
26
27
  Requires-Dist: django-multiselectfield
@@ -12,7 +12,6 @@ authors = [{ name = "Erik Kalkoken", email = "kalkoken87@gmail.com" }]
12
12
  classifiers = [
13
13
  "Environment :: Web Environment",
14
14
  "Framework :: Django",
15
- "Framework :: Django :: 4.0",
16
15
  "Framework :: Django :: 4.2",
17
16
  "Intended Audience :: End Users/Desktop",
18
17
  "License :: OSI Approved :: MIT License",
@@ -22,12 +21,13 @@ classifiers = [
22
21
  "Programming Language :: Python :: 3.9",
23
22
  "Programming Language :: Python :: 3.10",
24
23
  "Programming Language :: Python :: 3.11",
24
+ "Programming Language :: Python :: 3.12",
25
25
  "Topic :: Internet :: WWW/HTTP",
26
26
  "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
27
27
  ]
28
28
  dependencies = [
29
29
  "allianceauth-app-utils>=1.22",
30
- "allianceauth>=3.0",
30
+ "allianceauth>=4",
31
31
  "dhooks-lite>=1.0",
32
32
  "django-eveuniverse>=1.5.2",
33
33
  "django-multiselectfield",
@@ -3,5 +3,5 @@
3
3
  # pylint: disable = invalid-name
4
4
  default_app_config = "structures.apps.StructuresConfig"
5
5
 
6
- __version__ = "2.16.0"
6
+ __version__ = "3.0.0"
7
7
  __title__ = "Structures"
@@ -157,3 +157,61 @@ class NotificationCharLeftCorpMsg(NotificationCorpCharEmbed):
157
157
  "corporation_name": self._corporation_link,
158
158
  }
159
159
  self._color = Webhook.Color.INFO
160
+
161
+
162
+ class NotificationCorpGoalEmbed(NotificationBaseEmbed):
163
+ def __init__(self, notification: Notification) -> None:
164
+ super().__init__(notification)
165
+ self._creator = get_or_create_eve_entity(id=self._data["creator_id"])
166
+ self._creator_link = gen_eve_entity_link(self._creator)
167
+ self._corporation = get_or_create_eve_entity(id=self._data["corporation_id"])
168
+ self._goal_name = self._data["goal_name"]
169
+ self._thumbnail = dhooks_lite.Thumbnail(
170
+ self._corporation.icon_url(size=self.ICON_DEFAULT_SIZE)
171
+ )
172
+
173
+
174
+ class NotificationCorpGoalClosed(NotificationCorpGoalEmbed):
175
+ def __init__(self, notification: Notification) -> None:
176
+ super().__init__(notification)
177
+ self._title = _("Project canceled")
178
+ closer = get_or_create_eve_entity(id=self._data["closer_id"])
179
+ self._description = _(
180
+ "Project **%(goal_name)s** has ben closed by %(closer)s "
181
+ "and will not accept further contributions."
182
+ % {
183
+ "goal_name": self._goal_name,
184
+ "closer": gen_eve_entity_link(closer),
185
+ }
186
+ )
187
+ self._color = Webhook.Color.INFO
188
+
189
+
190
+ class NotificationCorpGoalCompleted(NotificationCorpGoalEmbed):
191
+ def __init__(self, notification: Notification) -> None:
192
+ super().__init__(notification)
193
+ self._title = _("Project completed")
194
+ self._description = _(
195
+ "Project **%(goal_name)s** created by %(creator)s "
196
+ "has been successfully completed after reaching it's target."
197
+ % {
198
+ "goal_name": self._goal_name,
199
+ "creator": self._creator_link,
200
+ }
201
+ )
202
+ self._color = Webhook.Color.SUCCESS
203
+
204
+
205
+ class NotificationCorpGoalCreated(NotificationCorpGoalEmbed):
206
+ def __init__(self, notification: Notification) -> None:
207
+ super().__init__(notification)
208
+ self._title = _("New Project Available")
209
+ self._description = _(
210
+ "Project **%(goal_name)s** has been created by %(creator)s "
211
+ "and is open for contributions."
212
+ % {
213
+ "goal_name": self._goal_name,
214
+ "creator": self._creator_link,
215
+ }
216
+ )
217
+ self._color = Webhook.Color.INFO
@@ -1,4 +1,4 @@
1
- """Billing embeds."""
1
+ """Dispatcher for all embeds."""
2
2
 
3
3
  # pylint: disable=missing-class-docstring
4
4
 
@@ -198,6 +198,9 @@ class NotificationBaseEmbed:
198
198
  NotificationCorpAppInvitedMsg,
199
199
  NotificationCorpAppNewMsg,
200
200
  NotificationCorpAppRejectCustomMsg,
201
+ NotificationCorpGoalClosed,
202
+ NotificationCorpGoalCompleted,
203
+ NotificationCorpGoalCreated,
201
204
  )
202
205
  from .moonmining_embeds import (
203
206
  NotificationMoonminningAutomaticFracture,
@@ -283,7 +286,7 @@ class NotificationBaseEmbed:
283
286
  NT.BILLING_CORP_ALL_BILL_MSG: NotificationCorpAllBillMsg,
284
287
  NT.BILLING_I_HUB_BILL_ABOUT_TO_EXPIRE: NotificationBillingIHubBillAboutToExpire,
285
288
  NT.BILLING_I_HUB_DESTROYED_BY_BILL_FAILURE: NotificationBillingIHubDestroyedByBillFailure,
286
- # character
289
+ # Corporate
287
290
  NT.CHAR_APP_ACCEPT_MSG: NotificationCharAppAcceptMsg,
288
291
  NT.CHAR_APP_WITHDRAW_MSG: NotificationCharAppWithdrawMsg,
289
292
  NT.CHAR_LEFT_CORP_MSG: NotificationCharLeftCorpMsg,
@@ -291,6 +294,9 @@ class NotificationBaseEmbed:
291
294
  NT.CORP_APP_NEW_MSG: NotificationCorpAppNewMsg,
292
295
  NT.CORP_APP_REJECT_CUSTOM_MSG: NotificationCorpAppRejectCustomMsg,
293
296
  NT.CORP_APP_REJECT_MSG: NotificationCharAppRejectMsg,
297
+ NT.CORPORATION_GOAL_CLOSED: NotificationCorpGoalClosed,
298
+ NT.CORPORATION_GOAL_COMPLETED: NotificationCorpGoalCompleted,
299
+ NT.CORPORATION_GOAL_CREATED: NotificationCorpGoalCreated,
294
300
  # moonmining
295
301
  NT.MOONMINING_AUTOMATIC_FRACTURE: NotificationMoonminningAutomaticFracture,
296
302
  NT.MOONMINING_EXTRACTION_CANCELLED: NotificationMoonminningExtractionCanceled,
@@ -11,61 +11,42 @@ from structures.app_settings import STRUCTURES_FEATURE_REFUELED_NOTIFICATIONS
11
11
  class NotificationType(models.TextChoices):
12
12
  """Definition of all supported notification types."""
13
13
 
14
- # upwell structures
15
- OWNERSHIP_TRANSFERRED = "OwnershipTransferred", _(
16
- "Upwell structure ownership transferred"
17
- )
18
- STRUCTURE_ANCHORING = "StructureAnchoring", _("Upwell structure anchoring")
19
- STRUCTURE_DESTROYED = "StructureDestroyed", _("Upwell structure destroyed")
20
- STRUCTURE_FUEL_ALERT = "StructureFuelAlert", _("Upwell structure fuel alert")
21
- STRUCTURE_JUMP_FUEL_ALERT = "StructureJumpFuelAlert", _(
22
- "Upwell structure jump fuel alert"
23
- )
24
- STRUCTURE_LOST_ARMOR = "StructureLostArmor", _("Upwell structure lost armor")
25
- STRUCTURE_LOST_SHIELD = "StructureLostShields", _("Upwell structure lost shields")
26
- STRUCTURE_LOW_REAGENTS_ALERT = "StructureLowReagentsAlert", _(
27
- "Structure low reagents alert"
28
- )
29
- STRUCTURE_NO_REAGENTS_ALERT = "StructureNoReagentsAlert", _(
30
- "Structure no reagents alert"
31
- )
32
- STRUCTURE_ONLINE = "StructureOnline", _("Upwell structure went online")
33
- STRUCTURE_REFUELED_EXTRA = "StructureRefueledExtra", _("Upwell structure refueled")
34
- STRUCTURE_REINFORCEMENT_CHANGED = "StructuresReinforcementChanged", _(
35
- "Upwell structure reinforcement time changed"
36
- )
37
- STRUCTURE_SERVICES_OFFLINE = "StructureServicesOffline", _(
38
- "Upwell structure services went offline"
14
+ # billing
15
+ BILLING_BILL_OUT_OF_MONEY_MSG = "BillOutOfMoneyMsg", _("Bill out of money")
16
+ BILLING_CORP_ALL_BILL_MSG = "CorpAllBillMsg", _("Corp alliance billing message")
17
+ BILLING_I_HUB_BILL_ABOUT_TO_EXPIRE = (
18
+ "InfrastructureHubBillAboutToExpire",
19
+ _("I-HUB bill about to expire"),
39
20
  )
40
- STRUCTURE_UNANCHORING = "StructureUnanchoring", _("Upwell structure unanchoring")
41
- STRUCTURE_UNDER_ATTACK = "StructureUnderAttack", _(
42
- "Upwell structure is under attack"
21
+ BILLING_I_HUB_DESTROYED_BY_BILL_FAILURE = (
22
+ "IHubDestroyedByBillFailure",
23
+ _("I_HUB destroyed by bill failure"),
43
24
  )
44
- STRUCTURE_WENT_HIGH_POWER = "StructureWentHighPower", _(
45
- "Upwell structure went high power"
25
+
26
+ # Corporation Membership
27
+ CHAR_APP_ACCEPT_MSG = "CharAppAcceptMsg", _("Character joins corporation")
28
+ CORP_APP_INVITED_MSG = "CorpAppInvitedMsg", _(
29
+ "Character invited to join corporation"
46
30
  )
47
- STRUCTURE_WENT_LOW_POWER = "StructureWentLowPower", _(
48
- "Upwell structure went low power"
31
+ CORP_APP_NEW_MSG = "CorpAppNewMsg", _("Character submitted application")
32
+ CORP_APP_REJECT_MSG = "CharAppRejectMsg", _("Corp application rejected message")
33
+ CORP_APP_REJECT_CUSTOM_MSG = "CorpAppRejectCustomMsg", _(
34
+ "Corp application rejected custom message"
49
35
  )
36
+ CHAR_APP_WITHDRAW_MSG = "CharAppWithdrawMsg", _("Character withdrew application")
37
+ CHAR_LEFT_CORP_MSG = "CharLeftCorpMsg", _("Character leaves corporation")
50
38
 
51
- # Skyhook structures
52
- SKYHOOK_DEPLOYED = "SkyhookDeployed", _("Skyhook deployed")
53
- SKYHOOK_DESTROYED = "SkyhookDestroyed", _("Skyhook destroyed")
54
- SKYHOOK_LOST_SHIELDS = "SkyhookLostShields", _("Skyhook lost shields")
55
- SKYHOOK_ONLINE = "SkyhookOnline", _("Skyhook online")
56
- SKYHOOK_UNDER_ATTACK = "SkyhookUnderAttack", _("Skyhook under attack")
57
-
58
- # customs offices
59
- ORBITAL_ATTACKED = "OrbitalAttacked", _("Customs office attacked")
60
- ORBITAL_REINFORCED = "OrbitalReinforced", _("Customs office reinforced")
39
+ # Corporation Goals
40
+ CORPORATION_GOAL_CLOSED = "CorporationGoalClosed", _("Corporation goal closed")
41
+ CORPORATION_GOAL_COMPLETED = "CorporationGoalCompleted", _(
42
+ "Corporation goal completed"
43
+ )
44
+ CORPORATION_GOAL_CREATED = "CorporationGoalCreated", _("Corporation goal created")
45
+ # CORPORATION_GOAL_NAME_CHANGE = "CorporationGoalNameChange", _(
46
+ # "Corporation goal name change"
47
+ # )
61
48
 
62
- # starbases
63
- TOWER_ALERT_MSG = "TowerAlertMsg", _("Starbase attacked")
64
- TOWER_REFUELED_EXTRA = "TowerRefueledExtra", _("Starbase refueled (BETA)")
65
- TOWER_REINFORCED_EXTRA = "TowerReinforcedExtra", _("Starbase reinforced (BETA)")
66
- TOWER_RESOURCE_ALERT_MSG = "TowerResourceAlertMsg", _("Starbase fuel alert")
67
-
68
- # moon mining
49
+ # Moon Mining
69
50
  MOONMINING_AUTOMATIC_FRACTURE = "MoonminingAutomaticFracture", _(
70
51
  "Moon mining automatic fracture triggered"
71
52
  )
@@ -80,7 +61,18 @@ class NotificationType(models.TextChoices):
80
61
  )
81
62
  MOONMINING_LASER_FIRED = "MoonminingLaserFired", _("Moonmining laser fired")
82
63
 
83
- # sov
64
+ # Skyhook structures
65
+ SKYHOOK_DEPLOYED = "SkyhookDeployed", _("Skyhook deployed")
66
+ SKYHOOK_DESTROYED = "SkyhookDestroyed", _("Skyhook destroyed")
67
+ SKYHOOK_LOST_SHIELDS = "SkyhookLostShields", _("Skyhook lost shields")
68
+ SKYHOOK_ONLINE = "SkyhookOnline", _("Skyhook online")
69
+ SKYHOOK_UNDER_ATTACK = "SkyhookUnderAttack", _("Skyhook under attack")
70
+
71
+ # Orbitals
72
+ ORBITAL_ATTACKED = "OrbitalAttacked", _("Customs office attacked")
73
+ ORBITAL_REINFORCED = "OrbitalReinforced", _("Customs office reinforced")
74
+
75
+ # Sov
84
76
  SOV_ALL_CLAIM_ACQUIRED_MSG = "SovAllClaimAquiredMsg", _(
85
77
  "Sovereignty claim acknowledgment" # SovAllClaimAquiredMsg [sic!]
86
78
  )
@@ -101,7 +93,50 @@ class NotificationType(models.TextChoices):
101
93
  "Sovereignty command node event started"
102
94
  )
103
95
 
104
- # wars
96
+ # Starbases
97
+ TOWER_ALERT_MSG = "TowerAlertMsg", _("Starbase attacked")
98
+ TOWER_REFUELED_EXTRA = "TowerRefueledExtra", _("Starbase refueled (BETA)")
99
+ TOWER_REINFORCED_EXTRA = "TowerReinforcedExtra", _("Starbase reinforced (BETA)")
100
+ TOWER_RESOURCE_ALERT_MSG = "TowerResourceAlertMsg", _("Starbase fuel alert")
101
+
102
+ # Upwell Structures
103
+ OWNERSHIP_TRANSFERRED = "OwnershipTransferred", _(
104
+ "Upwell structure ownership transferred"
105
+ )
106
+ STRUCTURE_ANCHORING = "StructureAnchoring", _("Upwell structure anchoring")
107
+ STRUCTURE_DESTROYED = "StructureDestroyed", _("Upwell structure destroyed")
108
+ STRUCTURE_FUEL_ALERT = "StructureFuelAlert", _("Upwell structure fuel alert")
109
+ STRUCTURE_JUMP_FUEL_ALERT = "StructureJumpFuelAlert", _(
110
+ "Upwell structure jump fuel alert"
111
+ )
112
+ STRUCTURE_LOST_ARMOR = "StructureLostArmor", _("Upwell structure lost armor")
113
+ STRUCTURE_LOST_SHIELD = "StructureLostShields", _("Upwell structure lost shields")
114
+ STRUCTURE_LOW_REAGENTS_ALERT = "StructureLowReagentsAlert", _(
115
+ "Structure low reagents alert"
116
+ )
117
+ STRUCTURE_NO_REAGENTS_ALERT = "StructureNoReagentsAlert", _(
118
+ "Structure no reagents alert"
119
+ )
120
+ STRUCTURE_ONLINE = "StructureOnline", _("Upwell structure went online")
121
+ STRUCTURE_REFUELED_EXTRA = "StructureRefueledExtra", _("Upwell structure refueled")
122
+ STRUCTURE_REINFORCEMENT_CHANGED = "StructuresReinforcementChanged", _(
123
+ "Upwell structure reinforcement time changed"
124
+ )
125
+ STRUCTURE_SERVICES_OFFLINE = "StructureServicesOffline", _(
126
+ "Upwell structure services went offline"
127
+ )
128
+ STRUCTURE_UNANCHORING = "StructureUnanchoring", _("Upwell structure unanchoring")
129
+ STRUCTURE_UNDER_ATTACK = "StructureUnderAttack", _(
130
+ "Upwell structure is under attack"
131
+ )
132
+ STRUCTURE_WENT_HIGH_POWER = "StructureWentHighPower", _(
133
+ "Upwell structure went high power"
134
+ )
135
+ STRUCTURE_WENT_LOW_POWER = "StructureWentLowPower", _(
136
+ "Upwell structure went low power"
137
+ )
138
+
139
+ # Wars
105
140
  WAR_ACCEPTED_ALLY = "AcceptedAlly", _("War accepted ally")
106
141
  WAR_ALL_WAR_CORP_JOINED_ALLIANCE_MSG = "AllWarCorpJoinedAllianceMsg", _(
107
142
  "Alliance war corporation joined alliance message"
@@ -142,31 +177,6 @@ class NotificationType(models.TextChoices):
142
177
  )
143
178
  WAR_WAR_SURRENDER_OFFER_MSG = "WarSurrenderOfferMsg", _("War surrender offered")
144
179
 
145
- # corporation membership
146
- CHAR_APP_ACCEPT_MSG = "CharAppAcceptMsg", _("Character joins corporation")
147
- CORP_APP_INVITED_MSG = "CorpAppInvitedMsg", _(
148
- "Character invited to join corporation"
149
- )
150
- CORP_APP_NEW_MSG = "CorpAppNewMsg", _("Character submitted application")
151
- CORP_APP_REJECT_MSG = "CharAppRejectMsg", _("Corp application rejected message")
152
- CORP_APP_REJECT_CUSTOM_MSG = "CorpAppRejectCustomMsg", _(
153
- "Corp application rejected custom message"
154
- )
155
- CHAR_APP_WITHDRAW_MSG = "CharAppWithdrawMsg", _("Character withdrew application")
156
- CHAR_LEFT_CORP_MSG = "CharLeftCorpMsg", _("Character leaves corporation")
157
-
158
- # billing
159
- BILLING_BILL_OUT_OF_MONEY_MSG = "BillOutOfMoneyMsg", _("Bill out of money")
160
- BILLING_CORP_ALL_BILL_MSG = "CorpAllBillMsg", _("Corp alliance billing message")
161
- BILLING_I_HUB_BILL_ABOUT_TO_EXPIRE = (
162
- "InfrastructureHubBillAboutToExpire",
163
- _("I-HUB bill about to expire"),
164
- )
165
- BILLING_I_HUB_DESTROYED_BY_BILL_FAILURE = (
166
- "IHubDestroyedByBillFailure",
167
- _("I_HUB destroyed by bill failure"),
168
- )
169
-
170
180
  @classmethod
171
181
  def esi_notifications(cls) -> Set["NotificationType"]:
172
182
  """Return all ESI notification types."""
@@ -330,8 +330,8 @@ class _AbstractStructureListSerializer(ABC):
330
330
  ):
331
331
  ajax_url = reverse("structures:structure_details", args=[structure.id])
332
332
  row["details"] = format_html(
333
- '<button type="button" class="btn btn-default" '
334
- 'data-toggle="modal" data-target="#modalUpwellDetails" '
333
+ '<button type="button" class="btn btn-secondary" '
334
+ 'data-bs-toggle="modal" data-bs-target="#modalUpwellDetails" '
335
335
  f"data-ajax_url={ajax_url} "
336
336
  f'title="{_("Show fitting")}">'
337
337
  '<i class="fas fa-search"></i></button>'
@@ -340,8 +340,8 @@ class _AbstractStructureListSerializer(ABC):
340
340
  elif structure.is_poco:
341
341
  ajax_url = reverse("structures:poco_details", args=[structure.id])
342
342
  row["details"] = format_html(
343
- '<button type="button" class="btn btn-default" '
344
- 'data-toggle="modal" data-target="#modalPocoDetails" '
343
+ '<button type="button" class="btn btn-secondary" '
344
+ 'data-bs-toggle="modal" data-bs-target="#modalPocoDetails" '
345
345
  f"data-ajax_url={ajax_url} "
346
346
  f'title="{_("Show details")}">'
347
347
  '<i class="fas fa-search"></i></button>'
@@ -350,8 +350,8 @@ class _AbstractStructureListSerializer(ABC):
350
350
  elif structure.is_starbase:
351
351
  ajax_url = reverse("structures:starbase_detail", args=[structure.id])
352
352
  row["details"] = format_html(
353
- '<button type="button" class="btn btn-default" '
354
- 'data-toggle="modal" data-target="#modalStarbaseDetail" '
353
+ '<button type="button" class="btn btn-secondary" '
354
+ 'data-bs-toggle="modal" data-bs-target="#modalStarbaseDetail" '
355
355
  f"data-ajax_url={ajax_url} "
356
356
  f'title="{_("Show details")}">'
357
357
  '<i class="fas fa-search"></i></button>'
@@ -0,0 +1,152 @@
1
+ # Generated by Django 4.2.16 on 2024-11-05 14:05
2
+
3
+ import multiselectfield.db.fields
4
+
5
+ from django.db import migrations
6
+
7
+
8
+ class Migration(migrations.Migration):
9
+
10
+ dependencies = [
11
+ ("structures", "0008_add_notificationtypes_skyhook_metenox"),
12
+ ]
13
+
14
+ operations = [
15
+ migrations.AlterField(
16
+ model_name="webhook",
17
+ name="notification_types",
18
+ field=multiselectfield.db.fields.MultiSelectField(
19
+ choices=[
20
+ ("BillOutOfMoneyMsg", "Bill out of money"),
21
+ ("CorpAllBillMsg", "Corp alliance billing message"),
22
+ (
23
+ "InfrastructureHubBillAboutToExpire",
24
+ "I-HUB bill about to expire",
25
+ ),
26
+ ("IHubDestroyedByBillFailure", "I_HUB destroyed by bill failure"),
27
+ ("CharAppAcceptMsg", "Character joins corporation"),
28
+ ("CorpAppInvitedMsg", "Character invited to join corporation"),
29
+ ("CorpAppNewMsg", "Character submitted application"),
30
+ ("CharAppRejectMsg", "Corp application rejected message"),
31
+ (
32
+ "CorpAppRejectCustomMsg",
33
+ "Corp application rejected custom message",
34
+ ),
35
+ ("CharAppWithdrawMsg", "Character withdrew application"),
36
+ ("CharLeftCorpMsg", "Character leaves corporation"),
37
+ ("CorporationGoalClosed", "Corporation goal closed"),
38
+ ("CorporationGoalCompleted", "Corporation goal completed"),
39
+ ("CorporationGoalCreated", "Corporation goal created"),
40
+ (
41
+ "MoonminingAutomaticFracture",
42
+ "Moon mining automatic fracture triggered",
43
+ ),
44
+ (
45
+ "MoonminingExtractionCancelled",
46
+ "Moon mining extraction cancelled",
47
+ ),
48
+ ("MoonminingExtractionFinished", "Moon mining extraction finished"),
49
+ ("MoonminingExtractionStarted", "Moon mining extraction started"),
50
+ ("MoonminingLaserFired", "Moonmining laser fired"),
51
+ ("SkyhookDeployed", "Skyhook deployed"),
52
+ ("SkyhookDestroyed", "Skyhook destroyed"),
53
+ ("SkyhookLostShields", "Skyhook lost shields"),
54
+ ("SkyhookOnline", "Skyhook online"),
55
+ ("SkyhookUnderAttack", "Skyhook under attack"),
56
+ ("OrbitalAttacked", "Customs office attacked"),
57
+ ("OrbitalReinforced", "Customs office reinforced"),
58
+ ("SovAllClaimAquiredMsg", "Sovereignty claim acknowledgment"),
59
+ ("SovAllClaimLostMsg", "Sovereignty lost"),
60
+ ("AllAnchoringMsg", "Structure anchoring in alliance space"),
61
+ ("EntosisCaptureStarted", "Sovereignty entosis capture started"),
62
+ ("SovStructureDestroyed", "Sovereignty structure destroyed"),
63
+ ("SovStructureReinforced", "Sovereignty structure reinforced"),
64
+ (
65
+ "SovCommandNodeEventStarted",
66
+ "Sovereignty command node event started",
67
+ ),
68
+ ("TowerAlertMsg", "Starbase attacked"),
69
+ ("TowerRefueledExtra", "Starbase refueled (BETA)"),
70
+ ("TowerReinforcedExtra", "Starbase reinforced (BETA)"),
71
+ ("TowerResourceAlertMsg", "Starbase fuel alert"),
72
+ ("OwnershipTransferred", "Upwell structure ownership transferred"),
73
+ ("StructureAnchoring", "Upwell structure anchoring"),
74
+ ("StructureDestroyed", "Upwell structure destroyed"),
75
+ ("StructureFuelAlert", "Upwell structure fuel alert"),
76
+ ("StructureJumpFuelAlert", "Upwell structure jump fuel alert"),
77
+ ("StructureLostArmor", "Upwell structure lost armor"),
78
+ ("StructureLostShields", "Upwell structure lost shields"),
79
+ ("StructureLowReagentsAlert", "Structure low reagents alert"),
80
+ ("StructureNoReagentsAlert", "Structure no reagents alert"),
81
+ ("StructureOnline", "Upwell structure went online"),
82
+ ("StructureRefueledExtra", "Upwell structure refueled"),
83
+ (
84
+ "StructuresReinforcementChanged",
85
+ "Upwell structure reinforcement time changed",
86
+ ),
87
+ (
88
+ "StructureServicesOffline",
89
+ "Upwell structure services went offline",
90
+ ),
91
+ ("StructureUnanchoring", "Upwell structure unanchoring"),
92
+ ("StructureUnderAttack", "Upwell structure is under attack"),
93
+ ("StructureWentHighPower", "Upwell structure went high power"),
94
+ ("StructureWentLowPower", "Upwell structure went low power"),
95
+ ("AcceptedAlly", "War accepted ally"),
96
+ (
97
+ "AllWarCorpJoinedAllianceMsg",
98
+ "Alliance war corporation joined alliance message",
99
+ ),
100
+ ("AllWarSurrenderMsg", "Alliance war surrender message"),
101
+ ("AllyJoinedWarAggressorMsg", "War ally joined aggressor"),
102
+ ("AllyJoinedWarAllyMsg", "War ally joined ally"),
103
+ ("AllyJoinedWarDefenderMsg", "War ally joined defender"),
104
+ ("CorpWarSurrenderMsg", "War party surrendered"),
105
+ ("CorpBecameWarEligible", "War corporation became eligible"),
106
+ ("CorpNoLongerWarEligible", "War corporation no longer eligible"),
107
+ ("DeclareWar", "War declared"),
108
+ ("WarHQRemovedFromSpace", "War HQ removed from space"),
109
+ ("WarInvalid", "War invalid"),
110
+ (
111
+ "MercOfferedNegotiationMsg",
112
+ "War mercenary offered negotiation message",
113
+ ),
114
+ ("MercOfferRetractedMsg", "War mercenary offer retracted message"),
115
+ ("OfferedSurrender", "War offered surrender"),
116
+ ("OfferedToAlly", "War offered to become ally"),
117
+ ("WarAdopted", "War adopted"),
118
+ ("WarDeclared", "War declared"),
119
+ ("WarInherited", "War inherited"),
120
+ ("WarRetractedByConcord", "War retracted by Concord"),
121
+ ("WarSurrenderOfferMsg", "War surrender offered"),
122
+ ],
123
+ default=[
124
+ "OrbitalAttacked",
125
+ "OrbitalReinforced",
126
+ "SkyhookDestroyed",
127
+ "SkyhookLostShields",
128
+ "SkyhookOnline",
129
+ "SkyhookUnderAttack",
130
+ "SovStructureDestroyed",
131
+ "SovStructureReinforced",
132
+ "StructureAnchoring",
133
+ "StructureDestroyed",
134
+ "StructureFuelAlert",
135
+ "StructureLostArmor",
136
+ "StructureLostShields",
137
+ "StructureLowReagentsAlert",
138
+ "StructureNoReagentsAlert",
139
+ "StructureOnline",
140
+ "StructureServicesOffline",
141
+ "StructureUnderAttack",
142
+ "StructureWentHighPower",
143
+ "StructureWentLowPower",
144
+ "TowerAlertMsg",
145
+ "TowerResourceAlertMsg",
146
+ ],
147
+ help_text="Select which type of notifications should be forwarded to this webhook",
148
+ max_length=1544,
149
+ verbose_name="notification types",
150
+ ),
151
+ ),
152
+ ]
@@ -703,7 +703,7 @@ class Owner(models.Model):
703
703
 
704
704
  s.eve_moon = celestial.eve_object
705
705
  s.save()
706
- logger.info("%s: Resolved moon for Metenox: %d", self, s.name)
706
+ logger.info("%s: Resolved moon for Metenox: %s", self, s.name)
707
707
 
708
708
  def _fetch_custom_offices(self, token: Token) -> bool:
709
709
  """Fetch custom offices from ESI for this owner.
@@ -92,41 +92,47 @@ $(document).ready(function () {
92
92
  {
93
93
  idx: pocos_idx_start,
94
94
  title: filterTitles.constellation,
95
- maxWidth: "11em",
95
+ maxWidth: "10em",
96
96
  },
97
97
  {
98
98
  idx: pocos_idx_start + 1,
99
99
  title: filterTitles.planet_type,
100
+ maxWidth: "10em",
100
101
  },
101
102
  {
102
103
  idx: pocos_idx_start + 2,
103
104
  title: filterTitles.space_type,
105
+ maxWidth: "10em",
104
106
  },
105
107
  {
106
108
  idx: pocos_idx_start + 3,
107
109
  title: filterTitles.region,
110
+ maxWidth: "10em",
108
111
  },
109
112
  {
110
113
  idx: pocos_idx_start + 4,
111
114
  title: filterTitles.solar_system,
115
+ maxWidth: "10em",
112
116
  },
113
117
  {
114
118
  idx: pocos_idx_start + 5,
115
119
  title: filterTitles.corporation,
116
- maxWidth: "11em",
120
+ maxWidth: "10em",
117
121
  },
118
122
  {
119
123
  idx: pocos_idx_start + 6,
120
124
  title: filterTitles.alliance,
121
- maxWidth: "11em",
125
+ maxWidth: "10em",
122
126
  },
123
127
  {
124
128
  idx: pocos_idx_start + 7,
125
129
  title: filterTitles.access,
130
+ maxWidth: "10em",
126
131
  },
127
132
  ],
128
133
  autoSize: false,
129
134
  bootstrap: true,
135
+ bootstrap_version: 5,
130
136
  },
131
137
  });
132
138
  });
@@ -22,7 +22,7 @@ $(document).ready(function () {
22
22
  $('a[href="#' + tabId + '"]').tab("show");
23
23
 
24
24
  /* remember last selected tab */
25
- $('a[data-toggle="tab"]').on("shown.bs.tab", function (e) {
25
+ $('a[data-bs-toggle="tab"]').on("shown.bs.tab", function (e) {
26
26
  const selectedTabId = $(e.target).attr("href").substr(1);
27
27
  setCookie(COOKIE_LAST_TAB_ID, selectedTabId, COOKIE_LAST_TAB_HOURS);
28
28
  });
@@ -155,6 +155,7 @@ $(document).ready(function () {
155
155
  ],
156
156
  autoSize: false,
157
157
  bootstrap: true,
158
+ bootstrap_version: 5,
158
159
  },
159
160
  },
160
161
  });
@@ -242,6 +243,7 @@ $(document).ready(function () {
242
243
  ],
243
244
  autoSize: false,
244
245
  bootstrap: true,
246
+ bootstrap_version: 5,
245
247
  },
246
248
  },
247
249
  });
@@ -328,6 +330,7 @@ $(document).ready(function () {
328
330
  ],
329
331
  autoSize: false,
330
332
  bootstrap: true,
333
+ bootstrap_version: 5,
331
334
  },
332
335
  },
333
336
  });
@@ -455,6 +458,7 @@ $(document).ready(function () {
455
458
  ],
456
459
  autoSize: false,
457
460
  bootstrap: true,
461
+ bootstrap_version: 5,
458
462
  },
459
463
  createdRow: function (row, data, dataIndex) {
460
464
  if (data["is_reinforced"]) {