aa-bb 3.2.3__tar.gz → 3.2.4__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 (200) hide show
  1. {aa_bb-3.2.3 → aa_bb-3.2.4}/.gitignore +1 -0
  2. {aa_bb-3.2.3 → aa_bb-3.2.4}/PKG-INFO +2 -2
  3. {aa_bb-3.2.3 → aa_bb-3.2.4}/README.md +1 -1
  4. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/__init__.py +1 -1
  5. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/admin.py +76 -44
  6. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/app_settings.py +474 -19
  7. aa_bb-3.2.4/aa_bb/apps.py +68 -0
  8. aa_bb-3.2.3/aa_bb/checks/corp_blacklist.py → aa_bb-3.2.4/aa_bb/checks/add_to_blacklist.py +14 -14
  9. aa_bb-3.2.4/aa_bb/checks/alliance_blacklist.py +21 -0
  10. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/checks/awox.py +68 -47
  11. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/checks/clone_state.py +27 -13
  12. aa_bb-3.2.4/aa_bb/checks/coalition_blacklist.py +19 -0
  13. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/checks/hostile_assets.py +18 -13
  14. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/checks/hostile_clones.py +24 -16
  15. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/checks/sus_contacts.py +10 -7
  16. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/checks/sus_contracts.py +81 -22
  17. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/checks/sus_mails.py +68 -40
  18. aa_bb-3.2.4/aa_bb/checks/sus_trans.py +632 -0
  19. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/checks_cb/hostile_assets.py +19 -9
  20. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/checks_cb/sus_contracts.py +54 -9
  21. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/checks_cb/sus_trans.py +283 -25
  22. aa_bb-3.2.4/aa_bb/migrations/0093_eveitemprice_delete_bigbrotherredditmessage_and_more.py +154 -0
  23. aa_bb-3.2.4/aa_bb/migrations/0094_bigbrotherconfig_corp_compliance_webhook_and_more.py +28 -0
  24. aa_bb-3.2.4/aa_bb/migrations/0095_alter_bigbrotherconfig_limit_to_main_corp.py +18 -0
  25. aa_bb-3.2.4/aa_bb/migrations/0096_bigbrotherconfig_clone_state_notify_and_more.py +23 -0
  26. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/models.py +369 -312
  27. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/signals.py +22 -6
  28. aa_bb-3.2.4/aa_bb/static/aa_bb/js/admin_market_toggle.js +21 -0
  29. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/tasks.py +193 -270
  30. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/tasks_bot.py +29 -2
  31. aa_bb-3.2.4/aa_bb/tasks_cb.py +929 -0
  32. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/tasks_ct.py +41 -23
  33. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/tasks_other.py +72 -17
  34. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/tasks_tickets.py +92 -40
  35. aa_bb-3.2.4/aa_bb/tasks_utils.py +328 -0
  36. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/aa_bb/index.html +4 -3
  37. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/faq/faq.html +34 -0
  38. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/faq/settings_bigbrother.html +134 -2
  39. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/faq/settings_nav.html +6 -0
  40. aa_bb-3.2.4/aa_bb/templates/faq/settings_stats.html +116 -0
  41. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/loa/admin.html +18 -17
  42. aa_bb-3.2.4/aa_bb/tests/test_clone_state_logic.py +75 -0
  43. aa_bb-3.2.4/aa_bb/tests/test_performance.py +129 -0
  44. aa_bb-3.2.4/aa_bb/tests/test_price_timer.py +62 -0
  45. aa_bb-3.2.4/aa_bb/tests/test_sus_trans.py +226 -0
  46. aa_bb-3.2.4/aa_bb/tests/test_task_setup.py +83 -0
  47. aa_bb-3.2.4/aa_bb/tests/test_tasks_notifications.py +70 -0
  48. aa_bb-3.2.4/aa_bb/tests/test_views.py +203 -0
  49. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/urls.py +5 -6
  50. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/views.py +171 -84
  51. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/views_cb.py +28 -11
  52. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/views_faq.py +64 -158
  53. aa_bb-3.2.3/aa_bb/apps.py +0 -529
  54. aa_bb-3.2.3/aa_bb/checks/alliance_blacklist.py +0 -19
  55. aa_bb-3.2.3/aa_bb/checks/coalition_blacklist.py +0 -9
  56. aa_bb-3.2.3/aa_bb/checks/sus_trans.py +0 -332
  57. aa_bb-3.2.3/aa_bb/management/commands/manual_notif_test.py +0 -655
  58. aa_bb-3.2.3/aa_bb/reddit.py +0 -123
  59. aa_bb-3.2.3/aa_bb/tasks_cb.py +0 -1053
  60. aa_bb-3.2.3/aa_bb/tasks_reddit.py +0 -173
  61. aa_bb-3.2.3/aa_bb/tests/test_example.py +0 -31
  62. {aa_bb-3.2.3 → aa_bb-3.2.4}/LICENSE +0 -0
  63. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/auth_hooks.py +0 -0
  64. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/celery.py +0 -0
  65. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/checks/__init__.py +0 -0
  66. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/checks/alpha_skills.json +0 -0
  67. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/checks/corp_changes.py +0 -0
  68. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/checks/cyno.py +0 -0
  69. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/checks/roles_and_tokens.py +0 -0
  70. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/checks/skills.json +0 -0
  71. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/checks/skills.py +0 -0
  72. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/checks_cb/__init__.py +0 -0
  73. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/esi_cache.py +0 -0
  74. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/esi_client.py +0 -0
  75. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/forms.py +0 -0
  76. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/locale/.gitkeep +0 -0
  77. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/management/__init__.py +0 -0
  78. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/management/commands/__init__.py +0 -0
  79. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0001_initial.py +0 -0
  80. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0002_bigbrotherconfig_userstatus.py +0 -0
  81. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0003_alter_bigbrotherconfig_pingroleid.py +0 -0
  82. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0004_alter_bigbrotherconfig_is_active_and_more.py +0 -0
  83. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0005_alter_bigbrotherconfig_hostile_alliances.py +0 -0
  84. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0006_alter_bigbrotherconfig_pingroleid.py +0 -0
  85. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0007_alter_general_options.py +0 -0
  86. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0008_alliance_names_corporation_names.py +0 -0
  87. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0009_userstatus_sus_contacts_userstatus_sus_contracts_and_more.py +0 -0
  88. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0010_alter_userstatus_awox_kill_links_and_more.py +0 -0
  89. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0011_character_names.py +0 -0
  90. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0012_id_types.py +0 -0
  91. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0013_bigbrotherconfig_mail_keywords.py +0 -0
  92. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0014_processedcontract_processedmail_and_more.py +0 -0
  93. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0015_processedtransaction_sustransactionnote.py +0 -0
  94. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0016_warmprogress.py +0 -0
  95. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0017_entityinfocache.py +0 -0
  96. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0018_userstatus_cyno_userstatus_has_skills_and_more.py +0 -0
  97. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0019_bigbrotherconfig_whitelist_alliances_and_more.py +0 -0
  98. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0020_messages_bigbrotherconfig_are_daily_messages_active_and_more.py +0 -0
  99. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0021_alter_messages_id_alter_messages_text.py +0 -0
  100. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0022_messages_sent_in_cycle.py +0 -0
  101. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0023_optmessages1_optmessages2_optmessages3_optmessages4_and_more.py +0 -0
  102. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0024_bigbrotherconfig_dailyschedule_and_more.py +0 -0
  103. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0025_alter_messages_options_alter_optmessages1_options_and_more.py +0 -0
  104. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0026_alter_general_options_alter_bigbrotherconfig_id_and_more.py +0 -0
  105. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0027_alter_general_options_bigbrotherconfig_is_loa_active_and_more.py +0 -0
  106. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0028_alter_bigbrotherconfig_is_loa_active.py +0 -0
  107. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0029_leaverequest_main_character.py +0 -0
  108. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0030_alter_general_options.py +0 -0
  109. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0031_bigbrotherconfig_loa_max_logoff_days_and_more.py +0 -0
  110. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0032_alter_leaverequest_status.py +0 -0
  111. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0033_messagetype_bigbrotherconfig_pingroleid2_and_more.py +0 -0
  112. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0034_rename_last_updated_userstatus_updated.py +0 -0
  113. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0035_alter_userstatus_options.py +0 -0
  114. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0036_alter_general_options.py +0 -0
  115. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0037_corpstatus.py +0 -0
  116. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0038_bigbrotherconfig_ignored_corporations.py +0 -0
  117. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0039_alter_bigbrotherconfig_ignored_corporations.py +0 -0
  118. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0040_sovereigntymapcache_corporationinfocache_and_more.py +0 -0
  119. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0041_bigbrotherconfig_is_warmer_active.py +0 -0
  120. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0042_alter_general_options_and_more.py +0 -0
  121. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0043_bigbrotherconfig_bb_member_states_and_more.py +0 -0
  122. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0044_bigbrotherconfig_character_scopes_and_more.py +0 -0
  123. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0045_userstatus_sp_age_ratio_result.py +0 -0
  124. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0046_bigbrotherconfig_member_corporations.py +0 -0
  125. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0047_bigbrotherconfig_member_alliances.py +0 -0
  126. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0048_characteraccountstate.py +0 -0
  127. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0049_userstatus_clone_status.py +0 -0
  128. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0050_alter_general_options_and_more.py +0 -0
  129. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0051_monthlypapstats.py +0 -0
  130. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0052_papsconfig_delete_monthlypapstats.py +0 -0
  131. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0053_alter_papsconfig_corp_modifier_and_more.py +0 -0
  132. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0054_alter_general_options.py +0 -0
  133. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0055_papsconfig_group_paps_papsconfig_group_paps_modifier.py +0 -0
  134. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0056_alter_papsconfig_group_paps.py +0 -0
  135. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0057_papsconfig_excluded_groups_papsconfig_excluded_users_and_more.py +0 -0
  136. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0058_papsconfig_excluded_groups_get_paps_and_more.py +0 -0
  137. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0059_alter_papsconfig_excluded_groups_get_paps.py +0 -0
  138. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0060_papsconfig_cap_group_papsconfig_cap_group_paps_and_more.py +0 -0
  139. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0061_remove_papsconfig_cap_group_and_more.py +0 -0
  140. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0062_complianceticket.py +0 -0
  141. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0063_alter_complianceticket_user.py +0 -0
  142. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0064_alter_complianceticket_reason.py +0 -0
  143. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0065_alter_complianceticket_reason_and_more.py +0 -0
  144. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0066_tickettoolconfig_papcompliance.py +0 -0
  145. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0067_remove_tickettoolconfig_category_id_and_more.py +0 -0
  146. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0068_tickettoolconfig_category_id_and_more.py +0 -0
  147. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0069_tickettoolconfig_ticket_counter.py +0 -0
  148. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0070_remove_tickettoolconfig_role_id_and_more.py +0 -0
  149. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0071_tickettoolconfig_role_id.py +0 -0
  150. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0072_alter_complianceticket_reason.py +0 -0
  151. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0073_tickettoolconfig_starting_pap_compliance.py +0 -0
  152. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0074_alter_bigbrotherconfig_hostile_alliances.py +0 -0
  153. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0075_bbupdatestate_tickettoolconfig_afk_check_frequency_and_more.py +0 -0
  154. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0076_id_types_last_accessed_frequentcorpchangescache_and_more.py +0 -0
  155. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0077_complianceticket_ticket_id_and_more.py +0 -0
  156. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0078_tickettoolconfig_awox_monitor_enabled.py +0 -0
  157. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0079_helptext_guidance.py +0 -0
  158. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0080_bigbrotherconfig_dlc_flags.py +0 -0
  159. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0081_remove_papsconfig_imp_modifier_and_more.py +0 -0
  160. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0082_remove_bigbrotherconfig_token_and_more.py +0 -0
  161. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0083_alter_bigbrotherredditmessage_options_and_more.py +0 -0
  162. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0084_bigbrotherconfig_consider_all_structures_hostile_and_more.py +0 -0
  163. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0085_bigbrotherconfig_awox_notify_and_more.py +0 -0
  164. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0086_bigbrotherconfig_are_recurring_stats_active_and_more.py +0 -0
  165. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0087_bigbrotherconfig_dlc_are_recurring_stats_active.py +0 -0
  166. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0088_bigbrotherconfig_cyno_notify.py +0 -0
  167. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0089_bigbrotherconfig_asset_notify_and_more.py +0 -0
  168. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0090_alter_papsconfig_options_and_more.py +0 -0
  169. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0091_remove_bigbrotherconfig_dlc_are_recurring_stats_active_and_more.py +0 -0
  170. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/0092_userstatus_baseline_initialized.py +0 -0
  171. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/migrations/__init__.py +0 -0
  172. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/static/aa_bb/.gitkeep +0 -0
  173. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/aa_bb/base.html +0 -0
  174. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/aa_bb/disabled.html +0 -0
  175. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/aa_cb/base.html +0 -0
  176. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/aa_cb/disabled.html +0 -0
  177. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/aa_cb/index.html +0 -0
  178. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/faq/base.html +0 -0
  179. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/faq/cards.html +0 -0
  180. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/faq/menu.html +0 -0
  181. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/faq/modules.html +0 -0
  182. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/faq/settings_paps.html +0 -0
  183. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/faq/settings_tickets.html +0 -0
  184. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/loa/_loa_subtabs.html +0 -0
  185. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/loa/base.html +0 -0
  186. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/loa/disabled.html +0 -0
  187. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/loa/index.html +0 -0
  188. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/loa/menu.html +0 -0
  189. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/loa/request.html +0 -0
  190. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/paps/base.html +0 -0
  191. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/paps/disabled.html +0 -0
  192. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/paps/history.html +0 -0
  193. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/paps/index.html +0 -0
  194. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/templates/paps/menu.html +0 -0
  195. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/tests/__init__.py +0 -0
  196. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/urls_cb.py +0 -0
  197. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/urls_loa.py +0 -0
  198. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/urls_paps.py +0 -0
  199. {aa_bb-3.2.3 → aa_bb-3.2.4}/aa_bb/views_paps.py +0 -0
  200. {aa_bb-3.2.3 → aa_bb-3.2.4}/pyproject.toml +0 -0
@@ -14,3 +14,4 @@ __pycache__
14
14
  .coverage
15
15
  /coverage.xml
16
16
  alliance_auth.sqlite3
17
+ .output.txt
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aa_bb
3
- Version: 3.2.3
3
+ Version: 3.2.4
4
4
  Summary: BigBrother
5
5
  Project-URL: Changelog, https://github.com/BroodLK/aa_bb/blob/main/CHANGELOG.md
6
6
  Project-URL: Issue / Bug Reports, https://github.com/BroodLK/aa_bb/issues
@@ -98,7 +98,7 @@ After making sure to add the above prerequisite applications.
98
98
  source /home/allianceserver/venv/auth/bin/activate && cd /home/allianceserver/myauth/
99
99
  ```
100
100
  ```bash
101
- pip install aa-bb==3.2.2
101
+ pip install aa-bb==3.2.4
102
102
  ```
103
103
  ```bash
104
104
  vi myauth/settings/local.py
@@ -58,7 +58,7 @@ After making sure to add the above prerequisite applications.
58
58
  source /home/allianceserver/venv/auth/bin/activate && cd /home/allianceserver/myauth/
59
59
  ```
60
60
  ```bash
61
- pip install aa-bb==3.2.2
61
+ pip install aa-bb==3.2.4
62
62
  ```
63
63
  ```bash
64
64
  vi myauth/settings/local.py
@@ -1,4 +1,4 @@
1
1
  """Initialize the app"""
2
2
 
3
- __version__ = "3.2.3"
3
+ __version__ = "3.2.4"
4
4
  __title__ = "BigBrother"
@@ -29,8 +29,7 @@ from .models import (
29
29
  PapCompliance,
30
30
  LeaveRequest,
31
31
  ComplianceTicket,
32
- BigBrotherRedditSettings,
33
- BigBrotherRedditMessage
32
+ EveItemPrice,
34
33
  )
35
34
 
36
35
  @admin.register(BigBrotherConfig)
@@ -64,15 +63,58 @@ class BB_ConfigAdmin(SingletonModelAdmin):
64
63
  "cyno_notify",
65
64
  "sp_inject_notify",
66
65
  "clone_notify",
66
+ "clone_state_notify",
67
67
  "asset_notify",
68
68
  "contact_notify",
69
69
  "contract_notify",
70
70
  "mail_notify",
71
71
  "transaction_notify",
72
+ "show_market_transactions",
72
73
  "new_user_notify",
73
74
  ),
74
75
  },
75
76
  ),
77
+ (
78
+ "Update Performance",
79
+ {
80
+ "fields": (
81
+ "clone_state_always_recheck",
82
+ "update_stagger_seconds",
83
+ "update_cache_ttl_hours",
84
+ "update_maintenance_window_start",
85
+ "update_maintenance_window_end",
86
+ "update_backlog_threshold",
87
+ "update_backlog_notify",
88
+ ),
89
+ },
90
+ ),
91
+ (
92
+ "Market Transaction Settings",
93
+ {
94
+ "classes": ("market-transaction-settings-fieldset",),
95
+ "fields": (
96
+ "market_transactions_show_major_hubs",
97
+ "market_transactions_show_secondary_hubs",
98
+ "market_transactions_excluded_systems",
99
+ "market_transactions_threshold_alert",
100
+ "market_transactions_threshold_percent",
101
+ "market_transactions_price_method",
102
+ "market_transactions_janice_api_key",
103
+ "market_transactions_fuzzwork_station_id",
104
+ "market_transactions_price_instant",
105
+ "market_transactions_price_max_age",
106
+ )
107
+ },
108
+ ),
109
+ (
110
+ "Blacklist Settings",
111
+ {
112
+ "fields": (
113
+ "alliance_blacklist_url",
114
+ "external_blacklist_url",
115
+ )
116
+ },
117
+ ),
76
118
  (
77
119
  "Ping / Messaging Roles",
78
120
  {
@@ -98,6 +140,8 @@ class BB_ConfigAdmin(SingletonModelAdmin):
98
140
  "optwebhook3",
99
141
  "optwebhook4",
100
142
  "optwebhook5",
143
+ "user_compliance_webhook",
144
+ "corp_compliance_webhook",
101
145
  "stats_webhook",
102
146
  )
103
147
  },
@@ -120,6 +164,7 @@ class BB_ConfigAdmin(SingletonModelAdmin):
120
164
  "User State & Membership",
121
165
  {
122
166
  "fields": (
167
+ "limit_to_main_corp",
123
168
  "bb_guest_states",
124
169
  "bb_member_states",
125
170
  "member_corporations",
@@ -147,6 +192,7 @@ class BB_ConfigAdmin(SingletonModelAdmin):
147
192
  (
148
193
  "auto_import_contacts_enabled",
149
194
  "contacts_source_alliances",
195
+ "contacts_source_corporations",
150
196
  "contacts_handle_neutrals",
151
197
  )
152
198
  if AA_CONTACTS_INSTALLED
@@ -184,6 +230,7 @@ class BB_ConfigAdmin(SingletonModelAdmin):
184
230
  "main_corporation_id",
185
231
  "main_alliance_id",
186
232
  "is_active",
233
+ "update_last_dispatch_count",
187
234
  )
188
235
  filter_horizontal = (
189
236
  "pingrole1_messages",
@@ -194,12 +241,15 @@ class BB_ConfigAdmin(SingletonModelAdmin):
194
241
  "bb_member_states",
195
242
  # aa-contacts M2M (only if installed)
196
243
  *(
197
- ("contacts_source_alliances",)
244
+ ("contacts_source_alliances", "contacts_source_corporations")
198
245
  if AA_CONTACTS_INSTALLED
199
246
  else ()
200
247
  ),
201
248
  )
202
249
 
250
+ class Media:
251
+ js = ("aa_bb/js/admin_market_toggle.js",)
252
+
203
253
  def has_add_permission(self, request):
204
254
  """Prevent duplicate singleton rows."""
205
255
  if BigBrotherConfig.objects.exists(): # Disallow when a config already exists.
@@ -241,7 +291,7 @@ class TicketToolConfigAdmin(SingletonModelAdmin):
241
291
 
242
292
  def has_add_permission(self, request):
243
293
  """Prevent duplicate ticket config entries."""
244
- if PapsConfig.objects.exists(): # Ticket config should remain singleton.
294
+ if TicketToolConfig.objects.exists(): # Ticket config should remain singleton.
245
295
  return False
246
296
  return super().has_add_permission(request)
247
297
 
@@ -250,41 +300,12 @@ class TicketToolConfigAdmin(SingletonModelAdmin):
250
300
  return True
251
301
 
252
302
 
253
- @admin.register(BigBrotherRedditSettings)
254
- class BigBrotherRedditSettingsAdmin(SingletonModelAdmin):
255
- """OAuth tokens + scheduling info for the Reddit autoposter."""
256
- exclude = (
257
- "reddit_access_token",
258
- "reddit_refresh_token",
259
- "reddit_token_type",
260
- "last_submission_id",
261
- "last_submission_permalink",
262
- "reddit_account_name",
263
- )
264
- readonly_fields = (
265
- "reddit_token_obtained",
266
- "last_submission_at",
267
- "last_reply_checked_at",
268
- "reddit_account_name",
269
- )
270
-
271
- def has_add_permission(self, request):
272
- """Limit the settings model to a single row."""
273
- if BigBrotherRedditSettings.objects.exists(): # Disallow duplicate settings.
274
- return False
275
- return super().has_add_permission(request)
276
-
277
- def has_delete_permission(self, request, obj=None):
278
- """Never allow deleting the Reddit credentials row."""
279
- return False
280
303
 
281
304
 
282
- @admin.register(BigBrotherRedditMessage)
283
- class BigBrotherRedditMessageAdmin(admin.ModelAdmin):
284
- """Manage the pool of canned Reddit ads."""
285
- list_display = ("title", "used_in_cycle", "created")
286
- list_filter = ("used_in_cycle",)
287
- search_fields = ("title", "content")
305
+ @admin.register(EveItemPrice)
306
+ class EveItemPriceAdmin(admin.ModelAdmin):
307
+ list_display = ("eve_type_id", "buy", "sell", "updated")
308
+ search_fields = ("eve_type_id",)
288
309
 
289
310
 
290
311
  @admin.register(Messages)
@@ -413,28 +434,39 @@ if not afat_active():
413
434
  pass
414
435
 
415
436
  _PAP_OBJECT_NAMES = {"PapsConfig", "PapCompliance"}
437
+ _MARKET_OBJECT_NAMES = {"EveItemPrice", "ProcessedTransaction", "SusTransactionNote"}
416
438
  _ORIG_GET_APP_LIST = admin.site.get_app_list
417
439
 
418
440
 
419
441
  def _filtered_get_app_list(request, app_label=None):
420
442
  app_list = _ORIG_GET_APP_LIST(request, app_label)
421
443
 
422
- if afat_active():
423
- return app_list
444
+ is_afat = afat_active()
445
+ config = BigBrotherConfig.get_solo()
446
+ show_market = getattr(config, "show_market_transactions", False)
424
447
 
425
448
  filtered = []
426
449
  for app in app_list:
450
+ label = app.get("app_label")
451
+
427
452
  # Exclude AFAT's own admin section if present.
428
- if app.get("app_label") == "afat":
453
+ if not is_afat and label == "afat":
429
454
  continue
430
455
 
431
- # PAP models (in this project) are under aa_bb, so remove them when AFAT is not active.
432
- if app.get("app_label") == "aa_bb":
456
+ # Filter models within our app
457
+ if label == "aa_bb":
433
458
  models = app.get("models", [])
434
- models = [m for m in models if m.get("object_name") not in _PAP_OBJECT_NAMES]
459
+ if not is_afat:
460
+ models = [
461
+ m for m in models if m.get("object_name") not in _PAP_OBJECT_NAMES
462
+ ]
463
+ if not show_market:
464
+ models = [
465
+ m for m in models if m.get("object_name") not in _MARKET_OBJECT_NAMES
466
+ ]
435
467
  app = {**app, "models": models}
436
468
 
437
- # Drop empty app groups so the menu section disappears entirely.
469
+ # Drop empty app groups
438
470
  if app.get("models"):
439
471
  filtered.append(app)
440
472