psat-server-web 0.5.10__tar.gz → 0.6.1__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 (497) hide show
  1. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/MANIFEST.in +1 -1
  2. {psat_server_web-0.5.10/psat_server_web.egg-info → psat_server_web-0.6.1}/PKG-INFO +2 -1
  3. psat_server_web-0.6.1/psat_server_web/__version__.py +1 -0
  4. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/accounts/admin.py +16 -4
  5. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/accounts/models.py +25 -0
  6. psat_server_web-0.6.1/psat_server_web/atlas/accounts/permissions.py +29 -0
  7. psat_server_web-0.6.1/psat_server_web/atlas/accounts/utils.py +14 -0
  8. psat_server_web-0.6.1/psat_server_web/atlas/atlas/django-default.log +339 -0
  9. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlas/settings.py +18 -2
  10. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlas/urls.py +8 -2
  11. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlas/views.py +355 -116
  12. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlasapi/authentication.py +3 -2
  13. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlasapi/serializers.py +2 -2
  14. psat_server_web-0.6.1/psat_server_web/atlas/atlasapi/throttling.py +23 -0
  15. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlasapi/views.py +2 -1
  16. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/candidate.html +41 -36
  17. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/candidate_plotly.html +29 -24
  18. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/followup_quickview.html +12 -7
  19. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/followup_quickview_bs.html +6 -1
  20. psat_server_web-0.6.1/psat_server_web/atlas/templates/atlas/permissions_alert.html +4 -0
  21. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/search_results_plotly.html +12 -2
  22. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/base_bootstrap.html +15 -3
  23. psat_server_web-0.6.1/psat_server_web/atlas/templates/change_password.html +30 -0
  24. psat_server_web-0.6.1/psat_server_web/atlas/templates/django_registration/activation_complete.html +17 -0
  25. psat_server_web-0.6.1/psat_server_web/atlas/templates/django_registration/activation_email_body.txt +12 -0
  26. psat_server_web-0.6.1/psat_server_web/atlas/templates/django_registration/activation_email_subject.txt +1 -0
  27. psat_server_web-0.6.1/psat_server_web/atlas/templates/django_registration/activation_form.html +22 -0
  28. psat_server_web-0.6.1/psat_server_web/atlas/templates/django_registration/registration_closed.html +18 -0
  29. psat_server_web-0.6.1/psat_server_web/atlas/templates/django_registration/registration_complete.html +18 -0
  30. psat_server_web-0.6.1/psat_server_web/atlas/templates/django_registration/registration_form.html +27 -0
  31. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/login.html +1 -0
  32. psat_server_web-0.6.1/psat_server_web/atlas/templates/password_change_done.html +19 -0
  33. psat_server_web-0.6.1/psat_server_web/atlas/templates/privacy_policy.html +35 -0
  34. psat_server_web-0.6.1/psat_server_web/atlas/templates/register.html +30 -0
  35. psat_server_web-0.6.1/psat_server_web/atlas/tests/accounts/test_permissions.py +47 -0
  36. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/tests/atlasapi/test_authentication.py +89 -1
  37. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/tests/atlasapi/test_permissions.py +1 -0
  38. psat_server_web-0.6.1/psat_server_web/atlas/tests/atlasapi/test_throttling.py +66 -0
  39. {psat_server_web-0.5.10 → psat_server_web-0.6.1/psat_server_web.egg-info}/PKG-INFO +2 -1
  40. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web.egg-info/SOURCES.txt +18 -3
  41. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web.egg-info/requires.txt +1 -0
  42. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/setup.py +1 -0
  43. psat_server_web-0.5.10/psat_server_web/__version__.py +0 -1
  44. psat_server_web-0.5.10/psat_server_web/atlas/accounts/migrations/0001_initial.py +0 -32
  45. psat_server_web-0.5.10/psat_server_web/atlas/accounts/migrations/0002_groupprofile_api_write_access.py +0 -18
  46. psat_server_web-0.5.10/psat_server_web/atlas/django-default.log +0 -0
  47. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/LICENSE +0 -0
  48. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/README.md +0 -0
  49. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/.DS_Store +0 -0
  50. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/__init__.py +0 -0
  51. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/.DS_Store +0 -0
  52. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/__init__.py +0 -0
  53. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/accounts/apps.py +0 -0
  54. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/accounts/signals.py +0 -0
  55. {psat_server_web-0.5.10/psat_server_web/atlas/accounts/migrations → psat_server_web-0.6.1/psat_server_web/atlas/atlas}/__init__.py +0 -0
  56. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlas/apiutils.py +0 -0
  57. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlas/commonqueries.py +0 -0
  58. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlas/dbviews.py +0 -0
  59. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlas/document.sh +0 -0
  60. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlas/formchoices.py +0 -0
  61. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlas/helpers.py +0 -0
  62. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlas/insert_gravity_event.sql +0 -0
  63. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlas/lightcurvequeries.py +0 -0
  64. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlas/models.py +0 -0
  65. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlas/sqlpaginator.py +0 -0
  66. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlas/view_celestial.py +0 -0
  67. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlas/wsgi.atlas.conf +0 -0
  68. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlas/wsgi.py +0 -0
  69. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlas/wsgi_apache_example.conf +0 -0
  70. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlasapi/apps.py +0 -0
  71. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlasapi/permissions.py +0 -0
  72. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/atlasapi/urls.py +0 -0
  73. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/cow_backup.txt +0 -0
  74. {psat_server_web-0.5.10/psat_server_web/atlas → psat_server_web-0.6.1/psat_server_web}/atlas/django-default.log +0 -0
  75. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/generate_mod_wsgi_apachectl.sh +0 -0
  76. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/generate_mod_wsgi_apachectl_test.sh +0 -0
  77. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/manage.py +0 -0
  78. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/media/images/README.txt +0 -0
  79. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/css/aladin.css +0 -0
  80. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/css/brands.css +0 -0
  81. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/css/celestial.css +0 -0
  82. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/css/fontawesome.css +0 -0
  83. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/css/main.css +0 -0
  84. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/css/main_bootstrap.css +0 -0
  85. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/css/solid.css +0 -0
  86. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/images/atlas_logo.png +0 -0
  87. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/images/image_not_available.jpeg +0 -0
  88. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/aladin.js +0 -0
  89. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/bootstrap_utils.js +0 -0
  90. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/celestial/celestial.js +0 -0
  91. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/celestial/d3.geo.projection.js +0 -0
  92. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/celestial/d3.geo.projection.min.js +0 -0
  93. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/celestial/d3.geo.zoom.js +0 -0
  94. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/celestial/d3.min.js +0 -0
  95. {psat_server_web-0.5.10/psat_server_web/atlas/atlas → psat_server_web-0.6.1/psat_server_web/atlas/site_media/js/celestial/data}/__init__.py +0 -0
  96. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/celestial/data/constellations.bounds.json +0 -0
  97. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/celestial/data/constellations.json +0 -0
  98. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/celestial/data/constellations.lines.json +0 -0
  99. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/celestial/data/dsos.bright.json +0 -0
  100. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/celestial/data/lg.json +0 -0
  101. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/celestial/data/mw.json +0 -0
  102. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/celestial/data/planets.json +0 -0
  103. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/celestial/data/stars.6.json +0 -0
  104. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/colourplot.js +0 -0
  105. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/flot/excanvas.js +0 -0
  106. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/flot/jquery-1.7.2.js +0 -0
  107. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.axislabels.js +0 -0
  108. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.crosshair.js +0 -0
  109. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.errorbars.js +0 -0
  110. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.fillbetween.js +0 -0
  111. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.image.js +0 -0
  112. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.js +0 -0
  113. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.navigate.js +0 -0
  114. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.pie.js +0 -0
  115. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.resize.js +0 -0
  116. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.selection.js +0 -0
  117. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.stack.js +0 -0
  118. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.symbol.js +0 -0
  119. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.threshold.js +0 -0
  120. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/followup_selectall.js +0 -0
  121. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/heatmap.js +0 -0
  122. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/lightcurve.js +0 -0
  123. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/lightcurveplotly.js +0 -0
  124. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/mjdcalc.js +0 -0
  125. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/plotly/plotly-latest.kws.js +0 -0
  126. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/recurrenceplot.js +0 -0
  127. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/js/recurrenceplotplotly.js +0 -0
  128. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/webfonts/fa-brands-400.eot +0 -0
  129. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/webfonts/fa-brands-400.svg +0 -0
  130. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/webfonts/fa-brands-400.ttf +0 -0
  131. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/webfonts/fa-brands-400.woff +0 -0
  132. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/webfonts/fa-brands-400.woff2 +0 -0
  133. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/webfonts/fa-regular-400.eot +0 -0
  134. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/webfonts/fa-regular-400.svg +0 -0
  135. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/webfonts/fa-regular-400.ttf +0 -0
  136. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/webfonts/fa-regular-400.woff +0 -0
  137. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/webfonts/fa-regular-400.woff2 +0 -0
  138. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/webfonts/fa-solid-900.eot +0 -0
  139. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/webfonts/fa-solid-900.svg +0 -0
  140. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/webfonts/fa-solid-900.ttf +0 -0
  141. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/webfonts/fa-solid-900.woff +0 -0
  142. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/webfonts/fa-solid-900.woff2 +0 -0
  143. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/webfonts/fa-v4compatibility.ttf +0 -0
  144. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/site_media/webfonts/fa-v4compatibility.woff2 +0 -0
  145. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/sql/create_web_views.sql +0 -0
  146. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/tcs_detection_lists.sql +0 -0
  147. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/.DS_Store +0 -0
  148. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/400.html +0 -0
  149. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/403.html +0 -0
  150. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/404.html +0 -0
  151. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/500.html +0 -0
  152. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/atelfasttrackobject.txt +0 -0
  153. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/atelsdiscovery.txt +0 -0
  154. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/atelsfast.txt +0 -0
  155. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/candidate_plotly_test.html +0 -0
  156. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/crossmatch_external.html +0 -0
  157. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/error.html +0 -0
  158. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/followup.html +0 -0
  159. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/followup.txt +0 -0
  160. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/followup2.html +0 -0
  161. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/followup_bs.html +0 -0
  162. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/followup_bypass_django_tables.html +0 -0
  163. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/followup_subset.txt +0 -0
  164. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/gcn.txt +0 -0
  165. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/gcn_latex.txt +0 -0
  166. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/heatmap.html +0 -0
  167. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/heatmap_test.html +0 -0
  168. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/index.html +0 -0
  169. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/index_bs.html +0 -0
  170. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/index_bs_celestial.html +0 -0
  171. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/index_bs_celestial_experiment.html +0 -0
  172. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/iobserve.txt +0 -0
  173. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/lightcurve.txt +0 -0
  174. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/lightcurveddc.txt +0 -0
  175. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/lightcurveforced.txt +0 -0
  176. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/lightcurvestackedforced.txt +0 -0
  177. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/pesstorecurrences.txt +0 -0
  178. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/pesstorecurrencesddc.txt +0 -0
  179. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/pesstosummary.txt +0 -0
  180. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/search_results.html +0 -0
  181. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/sne.json +0 -0
  182. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/summary.csv +0 -0
  183. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/userdefinedlists.html +0 -0
  184. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/userdefinedlists_bs.html +0 -0
  185. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/atlas/visibility.txt +0 -0
  186. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/base.html +0 -0
  187. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/base_bootstrap_login.html +0 -0
  188. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/bootstrap4_django_tables2_atlas.html +0 -0
  189. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/invalid_login.html +0 -0
  190. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/loggedin.html +0 -0
  191. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/templates/logout.html +0 -0
  192. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/test.py +0 -0
  193. {psat_server_web-0.5.10/psat_server_web/atlas/site_media/js/celestial/data → psat_server_web-0.6.1/psat_server_web/atlas/tests}/__init__.py +0 -0
  194. {psat_server_web-0.5.10/psat_server_web/atlas/tests → psat_server_web-0.6.1/psat_server_web/atlas/tests/accounts}/__init__.py +0 -0
  195. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/tests/atlasapi/__init__.py +0 -0
  196. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/atlas/tests/atlasapi/test_failure.py +0 -0
  197. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/common/__init__.py +0 -0
  198. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/common/psat_api_client.py +0 -0
  199. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/config/wsgi.conf.template +0 -0
  200. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/__init__.py +0 -0
  201. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/createUsers.py +0 -0
  202. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/generate_mod_wsgi_apachectl.sh +0 -0
  203. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/manage.py +0 -0
  204. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/media/images/README.txt +0 -0
  205. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdb/__init__.py +0 -0
  206. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdb/admin.py.old +0 -0
  207. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdb/catalogueviews.py +0 -0
  208. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdb/commonqueries.py +0 -0
  209. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdb/dbviews.py +0 -0
  210. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdb/formchoices.py +0 -0
  211. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdb/helpers.py +0 -0
  212. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdb/img_scale.py +0 -0
  213. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdb/lightcurvequeries.py +0 -0
  214. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdb/models.py +0 -0
  215. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdb/settings.py +0 -0
  216. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdb/urls.py +0 -0
  217. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdb/views.py +0 -0
  218. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdb/wsgi.py +0 -0
  219. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdb/wsgi_apache_example.conf +0 -0
  220. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdbapi/apps.py +0 -0
  221. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdbapi/permissions.py +0 -0
  222. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdbapi/query_auth.py +0 -0
  223. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdbapi/serializers.py +0 -0
  224. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdbapi/urls.py +0 -0
  225. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/psdbapi/views.py +0 -0
  226. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/css/aladin.css +0 -0
  227. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/css/celestial.css +0 -0
  228. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/css/fontawesome.css +0 -0
  229. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/css/main.css +0 -0
  230. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/css/main_bootstrap.css +0 -0
  231. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/1-star-hover.jpg +0 -0
  232. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/1-star.jpg +0 -0
  233. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/2-star-hover.jpg +0 -0
  234. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/2-star.jpg +0 -0
  235. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/3-star-hover.jpg +0 -0
  236. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/3-star.jpg +0 -0
  237. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/aladin.gif +0 -0
  238. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/cfaIcon.jpg +0 -0
  239. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/cfaIconHover.jpg +0 -0
  240. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/confirmed-sne-hover.jpg +0 -0
  241. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/confirmed-sne.jpg +0 -0
  242. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/detection_example.jpg +0 -0
  243. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/down.jpeg +0 -0
  244. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/down.jpg +0 -0
  245. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/image_not_available.jpeg +0 -0
  246. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/jhuIcon.jpg +0 -0
  247. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/jhuIconHover.jpg +0 -0
  248. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/minus.jpg +0 -0
  249. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/ncuIcon.jpg +0 -0
  250. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/ncuIconHover.jpg +0 -0
  251. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/non_detection_example.jpg +0 -0
  252. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/others-hover.jpg +0 -0
  253. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/others.jpg +0 -0
  254. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/panstarrs-logo-hover.jpg +0 -0
  255. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/panstarrs-logo.jpg +0 -0
  256. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/panstarrs1_logo.jpg +0 -0
  257. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/panstarrs1_o3_logo.jpg +0 -0
  258. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/panstarrs2_logo.jpg +0 -0
  259. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/panstarrs2_o3_logo.jpg +0 -0
  260. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/panstarrs_logo.jpg +0 -0
  261. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/panstarrs_logo_o4.jpg +0 -0
  262. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/panstarrs_logo_original.jpg +0 -0
  263. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/panstarrs_logo_yse.jpg +0 -0
  264. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/panstarrs_logo_yse_stack.jpg +0 -0
  265. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/pittsIcon.jpg +0 -0
  266. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/pittsIconHover.jpg +0 -0
  267. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/plus.jpg +0 -0
  268. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/ps1Icon.jpg +0 -0
  269. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/ps1IconHover.jpg +0 -0
  270. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/ps1sc.gif +0 -0
  271. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/qub-logo-hover.jpg +0 -0
  272. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/qub-logo.jpg +0 -0
  273. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/qubIcon.jpg +0 -0
  274. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/qubIconHover.jpg +0 -0
  275. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/sdss.gif +0 -0
  276. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/table-background.jpg +0 -0
  277. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/table-bottom-left.jpg +0 -0
  278. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/table-bottom-right.jpg +0 -0
  279. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/table-row.jpg +0 -0
  280. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/table-top-left.jpg +0 -0
  281. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/table-top-right.jpg +0 -0
  282. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/uhifaIcon.jpg +0 -0
  283. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/uhifaIconHover.jpg +0 -0
  284. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/up.jpeg +0 -0
  285. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/up.jpg +0 -0
  286. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/variable-stars-hover.jpg +0 -0
  287. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/images/variable-stars.jpg +0 -0
  288. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/aladin.js +0 -0
  289. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/celestial/celestial.js +0 -0
  290. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/celestial/d3.geo.projection.js +0 -0
  291. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/celestial/d3.geo.projection.min.js +0 -0
  292. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/celestial/d3.geo.zoom.js +0 -0
  293. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/celestial/d3.min.js +0 -0
  294. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/celestial/data/__init__.py +0 -0
  295. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/celestial/data/constellations.bounds.json +0 -0
  296. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/celestial/data/constellations.json +0 -0
  297. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/celestial/data/constellations.lines.json +0 -0
  298. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/celestial/data/dsos.bright.json +0 -0
  299. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/celestial/data/lg.json +0 -0
  300. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/celestial/data/mw.json +0 -0
  301. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/celestial/data/planets.json +0 -0
  302. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/celestial/data/stars.6.json +0 -0
  303. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/colourplot.js +0 -0
  304. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/flot/excanvas.js +0 -0
  305. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/flot/jquery-1.7.2.js +0 -0
  306. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.axislabels.js +0 -0
  307. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.crosshair.js +0 -0
  308. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.errorbars.js +0 -0
  309. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.fillbetween.js +0 -0
  310. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.image.js +0 -0
  311. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.js +0 -0
  312. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.navigate.js +0 -0
  313. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.pie.js +0 -0
  314. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.resize.js +0 -0
  315. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.selection.js +0 -0
  316. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.stack.js +0 -0
  317. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.symbol.js +0 -0
  318. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.threshold.js +0 -0
  319. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/followup_selectall.js +0 -0
  320. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/lightcurve.js +0 -0
  321. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/lightcurveplotly.js +0 -0
  322. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/mjdcalc.js +0 -0
  323. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/plotly/plotly-latest.kws.js +0 -0
  324. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/recurrenceplot.js +0 -0
  325. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/js/recurrenceplotplotly.js +0 -0
  326. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/webfonts/fa-brands-400.eot +0 -0
  327. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/webfonts/fa-brands-400.svg +0 -0
  328. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/webfonts/fa-brands-400.ttf +0 -0
  329. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/webfonts/fa-brands-400.woff +0 -0
  330. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/webfonts/fa-brands-400.woff2 +0 -0
  331. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/webfonts/fa-regular-400.eot +0 -0
  332. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/webfonts/fa-regular-400.svg +0 -0
  333. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/webfonts/fa-regular-400.ttf +0 -0
  334. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/webfonts/fa-regular-400.woff +0 -0
  335. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/webfonts/fa-regular-400.woff2 +0 -0
  336. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/webfonts/fa-solid-900.eot +0 -0
  337. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/webfonts/fa-solid-900.svg +0 -0
  338. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/webfonts/fa-solid-900.ttf +0 -0
  339. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/webfonts/fa-solid-900.woff +0 -0
  340. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/site_media/webfonts/fa-solid-900.woff2 +0 -0
  341. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/sql/create_web_cat_views.sql +0 -0
  342. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/sql/create_web_user_grants.sql +0 -0
  343. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/sql/create_web_views.sql +0 -0
  344. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/sql/create_web_views_fgss.sql +0 -0
  345. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/400.html +0 -0
  346. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/403.html +0 -0
  347. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/404.html +0 -0
  348. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/500.html +0 -0
  349. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/admin/base_site.html +0 -0
  350. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/base.html +0 -0
  351. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/base_bootstrap.html +0 -0
  352. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/base_bootstrap_login.html +0 -0
  353. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/base_new.html +0 -0
  354. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/bootstrap4_django_tables2_atlas.html +0 -0
  355. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/invalid_login.html +0 -0
  356. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/loggedin.html +0 -0
  357. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/login.html +0 -0
  358. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/logout.html +0 -0
  359. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/atelsdiscovery.txt +0 -0
  360. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/candidate.html +0 -0
  361. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/candidate_plotly.html +0 -0
  362. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/candidate_quickview.html +0 -0
  363. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/candidateflot.html +0 -0
  364. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/candidates.html +0 -0
  365. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/colourdata.txt +0 -0
  366. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/crossmatch_cfa_with_ipp.html +0 -0
  367. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/crossmatch_external.html +0 -0
  368. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/dss2.html +0 -0
  369. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/error.html +0 -0
  370. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/fasttrackastronote.txt +0 -0
  371. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/filter.html +0 -0
  372. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/followup.html +0 -0
  373. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/followup.txt +0 -0
  374. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/followup_bs.html +0 -0
  375. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/followup_bs_old.html +0 -0
  376. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/followup_quickview.html +0 -0
  377. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/followup_quickview_bs.html +0 -0
  378. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/followup_quickview_bs_old.html +0 -0
  379. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/gcn.txt +0 -0
  380. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/gcn_latex.txt +0 -0
  381. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/index.html +0 -0
  382. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/index_bs_celestial.html +0 -0
  383. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/index_public.html +0 -0
  384. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/lightcurve.txt +0 -0
  385. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/lightcurveforced.txt +0 -0
  386. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/lightcurves.html +0 -0
  387. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/obscat.txt +0 -0
  388. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/obsmediawiki.txt +0 -0
  389. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/public.html +0 -0
  390. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/public_textonly.txt +0 -0
  391. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/reports.html +0 -0
  392. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/search_results.html +0 -0
  393. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/search_results_plotly.html +0 -0
  394. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/sne.json +0 -0
  395. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/userdefinedlists.html +0 -0
  396. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/ps1/templates/psdb/userdefinedlists_bs.html +0 -0
  397. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/atlas_detections.sql +0 -0
  398. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/atlas_detectionsddc.sql +0 -0
  399. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/atlas_detectionsnnc.sql +0 -0
  400. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/atlas_diff_detections.sql +0 -0
  401. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/atlas_diff_logs.sql +0 -0
  402. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/atlas_diff_moments.sql +0 -0
  403. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/atlas_diff_objects.sql +0 -0
  404. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/atlas_diff_subcell_logs.sql +0 -0
  405. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/atlas_diff_subcells.sql +0 -0
  406. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/atlas_forced_photometry.sql +0 -0
  407. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/atlas_heatmaps.sql +0 -0
  408. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/atlas_metadata.sql +0 -0
  409. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/atlas_metadataddc.sql +0 -0
  410. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/atlas_objects.sql +0 -0
  411. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/atlas_stacked_forced_photometry.sql +0 -0
  412. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/convert_backend_storage_to_innodb.sql +0 -0
  413. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/create_atlas_flattened_view.sql +0 -0
  414. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/create_photpipe_views.sql +0 -0
  415. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/create_schema.sql +0 -0
  416. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/create_user_grants.sql +0 -0
  417. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/create_user_grants_generic.sql +0 -0
  418. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/create_user_grants_root.sql +0 -0
  419. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/delete_transients.sql +0 -0
  420. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/generateATLASSchemaAndCPPClasses.py +0 -0
  421. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/get_table_columns_for_avro.py +0 -0
  422. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/get_table_columns_for_avro.sql +0 -0
  423. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/mjdnow.sql +0 -0
  424. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/refresh_django_views.py +0 -0
  425. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/setup_database.py +0 -0
  426. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/setup_database_utils.py +0 -0
  427. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/sherlock_classifications.sql +0 -0
  428. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/sherlock_crossmatches.sql +0 -0
  429. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/sherlock_triggers_atlas.sql +0 -0
  430. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/sherlock_triggers_ps1.sql +0 -0
  431. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_cat_gaia_dr1.sql +0 -0
  432. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_cat_gaia_dr2.sql +0 -0
  433. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_cat_gaia_dr2_cassandra.cql +0 -0
  434. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_cat_kepler_k2.sql +0 -0
  435. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_cat_kepler_k2_pixels.sql +0 -0
  436. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_cat_ps1_medium_deep_ref.sql +0 -0
  437. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_cat_ps1_ubercal_stars.sql +0 -0
  438. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_cat_satellites.sql +0 -0
  439. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_catalogue_tables.sql +0 -0
  440. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_cfa_detections.sql +0 -0
  441. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_cfa_to_ipp_lookup.sql +0 -0
  442. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_classification_flags.sql +0 -0
  443. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_classification_history.sql +0 -0
  444. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_cmf_metadata.sql +0 -0
  445. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_cross_matches.sql +0 -0
  446. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_cross_matches_external.sql +0 -0
  447. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_detection_lists.sql +0 -0
  448. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_detection_lists_atlas.sql +0 -0
  449. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_followup_photometry.sql +0 -0
  450. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_followup_telescope_instruments.sql +0 -0
  451. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_followup_telescopes.sql +0 -0
  452. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_forced_photometry.sql +0 -0
  453. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_function_lunation.sql +0 -0
  454. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_function_mjdlunation.sql +0 -0
  455. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_gravity_alerts.sql +0 -0
  456. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_gravity_event_annotations.sql +0 -0
  457. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_gravity_events.sql +0 -0
  458. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_guide_star_cat.sql +0 -0
  459. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_image_groups.sql +0 -0
  460. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_images.sql +0 -0
  461. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_ipp_to_cfa_lookup.sql +0 -0
  462. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_latest_object_stats.sql +0 -0
  463. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_object_comments.sql +0 -0
  464. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_object_group_definitions.sql +0 -0
  465. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_object_group_definitions_atlas.sql +0 -0
  466. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_object_groups.sql +0 -0
  467. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_parameter_definitions.sql +0 -0
  468. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_photpipe_detections.sql +0 -0
  469. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_postage_stamp_images.sql +0 -0
  470. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_postage_stamp_requests.sql +0 -0
  471. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_postage_stamp_status_codes.sql +0 -0
  472. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_processing_status.sql +0 -0
  473. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_search_parameters.sql +0 -0
  474. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_tns_requests.sql +0 -0
  475. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_tphot_detections.sql +0 -0
  476. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_transient_objects.sql +0 -0
  477. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_transient_reobservations.sql +0 -0
  478. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_vra_rank.sql +0 -0
  479. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_vra_scores.sql +0 -0
  480. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_vra_todo.sql +0 -0
  481. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_zoo_requests.sql +0 -0
  482. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/tcs_zooniverse_scores.sql +0 -0
  483. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/types_gaia_dr2_cassandra.txt +0 -0
  484. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/update_database_types_to_tns_types_atlas.sql +0 -0
  485. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/update_database_types_to_tns_types_panstarrs.sql +0 -0
  486. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/update_tcs_gravity_alerts_001.sql +0 -0
  487. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/update_tcs_gravity_event_annotations_001.sql +0 -0
  488. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/update_tcs_latest_object_stats_001.sql +0 -0
  489. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/update_tcs_vra_rank_20240814.sql +0 -0
  490. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/update_tcs_vra_rank_20250130.sql +0 -0
  491. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/update_tcs_vra_scores_20240814.sql +0 -0
  492. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/update_tcs_vra_scores_20250130.sql +0 -0
  493. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web/schema/vra_triggers_atlas.sql +0 -0
  494. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web.egg-info/dependency_links.txt +0 -0
  495. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web.egg-info/not-zip-safe +0 -0
  496. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/psat_server_web.egg-info/top_level.txt +0 -0
  497. {psat_server_web-0.5.10 → psat_server_web-0.6.1}/setup.cfg +0 -0
@@ -3,4 +3,4 @@ prune psat_server_web/atlas/media/images/data
3
3
  prune psat_server_web/atlas/static
4
4
  prune psat_server_web/ps1/static
5
5
  prune psat_server_web/ps1/media/images/data
6
- global-exclude .gitignore __pycache__ *.py[cod]
6
+ global-exclude .gitignore __pycache__ *.py[cod] */migrations/*.py */migrations/*.pyc */migrations/__pycache__/*
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: psat-server-web
3
- Version: 0.5.10
3
+ Version: 0.6.1
4
4
  Summary: Pan-STARRS and ATLAS web interface.
5
5
  Home-page: https://github.com/genghisken/psat-server-web
6
6
  Author: genghisken
@@ -18,6 +18,7 @@ Requires-Dist: mysqlclient
18
18
  Requires-Dist: django<4.2
19
19
  Requires-Dist: django_tables2
20
20
  Requires-Dist: djangorestframework
21
+ Requires-Dist: django-registration
21
22
  Requires-Dist: mod-wsgi
22
23
  Requires-Dist: pyyaml
23
24
  Requires-Dist: docopt
@@ -0,0 +1 @@
1
+ __version__ = '0.6.1'
@@ -5,9 +5,9 @@ expiry time for tokens can be set.
5
5
  import logging
6
6
 
7
7
  from django.contrib import admin
8
- from django.contrib.auth.models import Group
8
+ from django.contrib.auth.models import User, Group
9
9
  from django.forms.models import ModelForm
10
- from .models import GroupProfile
10
+ from .models import GroupProfile, UserProfile
11
11
 
12
12
 
13
13
  logger = logging.getLogger(__name__)
@@ -29,6 +29,18 @@ class GroupProfileInline(admin.StackedInline):
29
29
 
30
30
  class GroupAdmin(admin.ModelAdmin):
31
31
  inlines = (GroupProfileInline,)
32
-
32
+
33
33
  admin.site.unregister(Group)
34
- admin.site.register(Group, GroupAdmin)
34
+ admin.site.register(Group, GroupAdmin)
35
+
36
+ class UserProfileInline(admin.StackedInline):
37
+ model = UserProfile
38
+ can_delete = False
39
+ extra = 1
40
+ form = AlwaysChangedModelForm
41
+
42
+ class UserAdmin(admin.ModelAdmin):
43
+ inlines = (UserProfileInline,)
44
+
45
+ admin.site.unregister(User)
46
+ admin.site.register(User, UserAdmin)
@@ -3,6 +3,31 @@ from django.utils.timezone import timedelta
3
3
  from django.contrib.auth.models import Group
4
4
  from django.db import models
5
5
 
6
+ class UserProfile(models.Model):
7
+ """UserProfile.
8
+
9
+ Extension of the User model to store additional information, such as token
10
+ expiration time.
11
+ """
12
+ id = models.AutoField(primary_key=True)
13
+ user = models.OneToOneField(
14
+ 'auth.User',
15
+ on_delete=models.CASCADE,
16
+ related_name='profile'
17
+ )
18
+ password_unuseable_fl = models.BooleanField(
19
+ default=False,
20
+ help_text='If true, password requires changing before login'
21
+ )
22
+
23
+ class Meta:
24
+ """Meta.
25
+ """
26
+ app_label = 'accounts'
27
+ managed = True
28
+ verbose_name = 'User Profile'
29
+ verbose_name_plural = 'User Profiles'
30
+ db_table = 'auth_user_profile'
6
31
 
7
32
 
8
33
  class GroupProfile(models.Model):
@@ -0,0 +1,29 @@
1
+ import logging
2
+
3
+ from django.contrib.auth.models import User
4
+ from django.db import models
5
+
6
+ logger = logging.getLogger(__name__)
7
+
8
+ def has_write_permissions(user: User) -> bool:
9
+ """Check if the user has permission to edit observation data"""
10
+ if not user.is_authenticated:
11
+ logger.debug("User is not authenticated.")
12
+ return False
13
+
14
+ return user.has_perm('accounts.has_write_access') or user.is_staff or user.is_superuser
15
+
16
+
17
+ class GlobalPermissions(models.Model):
18
+ """
19
+ A dummy model used solely for global permissions.
20
+ This model does not store any data, but is simply used to define
21
+ global permissions for the application.
22
+ """
23
+
24
+ class Meta:
25
+ managed = False
26
+ default_permissions = ()
27
+ permissions = (
28
+ ('has_write_access', 'Write permission: can add and update observations'),
29
+ )
@@ -0,0 +1,14 @@
1
+ import logging
2
+
3
+ logger = logging.getLogger(__name__)
4
+
5
+ def needs_to_change_password(user):
6
+ """
7
+ Custom test to check if the user is logged in and has a specific attribute.
8
+ """
9
+ try:
10
+ logger.debug(f"Checking if user {user.username} needs to change password.")
11
+ logger.debug(f"User profile: {user.profile}")
12
+ return user.profile.password_unuseable_fl
13
+ except AttributeError:
14
+ return False
@@ -0,0 +1,339 @@
1
+ atlas.views DEBUG 2025-05-12 15:48:06,441 views User can edit observations: False
2
+ atlas.views DEBUG 2025-05-12 15:52:50,552 views User can edit observations: True
3
+ atlas.views DEBUG 2025-05-12 22:01:03,804 views User can edit observations: True
4
+ atlas.views DEBUG 2025-05-12 22:01:06,018 views User can edit observations: True
5
+ urllib3.connectionpool DEBUG 2025-05-12 22:01:06,339 connectionpool Starting new HTTPS connection (1): lasair-ztf.lsst.ac.uk:443
6
+ urllib3.connectionpool DEBUG 2025-05-12 22:01:06,562 connectionpool https://lasair-ztf.lsst.ac.uk:443 "POST /api/cone/ HTTP/1.1" 200 2
7
+ urllib3.connectionpool DEBUG 2025-05-12 22:01:06,575 connectionpool Starting new HTTP connection (1): localhost:8084
8
+ matplotlib DEBUG 2025-05-12 22:01:10,596 __init__ matplotlib data path: /Users/kws/.local/lib/python3.11/site-packages/matplotlib/mpl-data
9
+ matplotlib DEBUG 2025-05-12 22:01:10,599 __init__ CONFIGDIR=/Users/kws/.matplotlib
10
+ matplotlib DEBUG 2025-05-12 22:01:10,599 __init__ interactive is False
11
+ matplotlib DEBUG 2025-05-12 22:01:10,600 __init__ platform is darwin
12
+ matplotlib DEBUG 2025-05-12 22:01:10,630 __init__ CACHEDIR=/Users/kws/.matplotlib
13
+ matplotlib.font_manager DEBUG 2025-05-12 22:01:10,632 font_manager Using fontManager instance from /Users/kws/.matplotlib/fontlist-v390.json
14
+ urllib3.connectionpool DEBUG 2025-05-12 22:01:10,831 connectionpool Starting new HTTPS connection (1): dataverse.harvard.edu:443
15
+ urllib3.connectionpool DEBUG 2025-05-12 22:01:11,560 connectionpool https://dataverse.harvard.edu:443 "GET /api/datasets/:persistentId?persistentId=doi:10.7910/DVN/EWCNL5 HTTP/1.1" 200 None
16
+ urllib3.connectionpool DEBUG 2025-05-12 22:01:11,671 connectionpool Starting new HTTPS connection (1): dataverse.harvard.edu:443
17
+ urllib3.connectionpool DEBUG 2025-05-12 22:01:12,190 connectionpool https://dataverse.harvard.edu:443 "GET /api/access/datafile/2902687 HTTP/1.1" 303 0
18
+ urllib3.connectionpool DEBUG 2025-05-12 22:01:12,199 connectionpool Starting new HTTPS connection (1): dvn-cloud.s3.amazonaws.com:443
19
+ urllib3.connectionpool DEBUG 2025-05-12 22:01:12,738 connectionpool https://dvn-cloud.s3.amazonaws.com:443 "GET /10.7910/DVN/EWCNL5/157bb43e038-2856c7e44170?response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%27SFD_dust_4096_ngp.fits&response-content-type=application%2Ffits&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20250512T220112Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=AKIAIEJ3NV7UYCSRJC7A%2F20250512%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=1d4139e3dac30c2abc684be231005fd0c99224c7a207337a3911e50b315abd17 HTTP/1.1" 200 67115520
20
+ urllib3.connectionpool DEBUG 2025-05-12 22:01:16,190 connectionpool Starting new HTTPS connection (1): dataverse.harvard.edu:443
21
+ urllib3.connectionpool DEBUG 2025-05-12 22:01:16,845 connectionpool https://dataverse.harvard.edu:443 "GET /api/datasets/:persistentId?persistentId=doi:10.7910/DVN/EWCNL5 HTTP/1.1" 200 None
22
+ urllib3.connectionpool DEBUG 2025-05-12 22:01:16,954 connectionpool Starting new HTTPS connection (1): dataverse.harvard.edu:443
23
+ urllib3.connectionpool DEBUG 2025-05-12 22:01:17,471 connectionpool https://dataverse.harvard.edu:443 "GET /api/access/datafile/2902695 HTTP/1.1" 303 0
24
+ urllib3.connectionpool DEBUG 2025-05-12 22:01:17,479 connectionpool Starting new HTTPS connection (1): dvn-cloud.s3.amazonaws.com:443
25
+ urllib3.connectionpool DEBUG 2025-05-12 22:01:18,080 connectionpool https://dvn-cloud.s3.amazonaws.com:443 "GET /10.7910/DVN/EWCNL5/157bb8a4df2-7537b98d9920?response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%27SFD_dust_4096_sgp.fits&response-content-type=application%2Ffits&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20250512T220117Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=AKIAIEJ3NV7UYCSRJC7A%2F20250512%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=01690cfbe6f80894ff9aabe287f89b2190421ea5351d5ac4b01835d33cb4efcd HTTP/1.1" 200 67115520
26
+ atlas.views DEBUG 2025-05-13 17:07:09,848 views User can edit observations: True
27
+ atlas.views DEBUG 2025-05-13 17:07:12,949 views User can edit observations: True
28
+ accounts.utils DEBUG 2025-05-14 10:43:41,760 utils Checking if user needs to change password.
29
+ atlas.views WARNING 2025-05-14 10:43:45,699 views User rube has no profile.
30
+ accounts.utils DEBUG 2025-05-14 10:43:45,705 utils Checking if user rube needs to change password.
31
+ accounts.utils DEBUG 2025-05-14 10:43:45,755 utils Checking if user rube needs to change password.
32
+ accounts.utils DEBUG 2025-05-14 10:45:45,746 utils Checking if user ken.smith needs to change password.
33
+ accounts.utils DEBUG 2025-05-14 10:45:45,791 utils Checking if user ken.smith needs to change password.
34
+ accounts.utils DEBUG 2025-05-14 10:46:10,132 utils Checking if user rube needs to change password.
35
+ accounts.utils DEBUG 2025-05-14 10:46:10,135 utils User profile: UserProfile object (1)
36
+ accounts.utils DEBUG 2025-05-14 10:46:11,964 utils Checking if user rube needs to change password.
37
+ accounts.utils DEBUG 2025-05-14 10:46:11,966 utils User profile: UserProfile object (1)
38
+ accounts.utils DEBUG 2025-05-14 10:46:13,923 utils Checking if user rube needs to change password.
39
+ accounts.utils DEBUG 2025-05-14 10:46:13,925 utils User profile: UserProfile object (1)
40
+ accounts.utils DEBUG 2025-05-14 10:46:23,545 utils Checking if user rube needs to change password.
41
+ accounts.utils DEBUG 2025-05-14 10:46:23,547 utils User profile: UserProfile object (1)
42
+ accounts.utils DEBUG 2025-05-14 10:46:24,438 utils Checking if user rube needs to change password.
43
+ accounts.utils DEBUG 2025-05-14 10:46:24,440 utils User profile: UserProfile object (1)
44
+ accounts.utils DEBUG 2025-05-14 10:46:27,889 utils Checking if user rube needs to change password.
45
+ accounts.utils DEBUG 2025-05-14 10:46:27,890 utils User profile: UserProfile object (1)
46
+ accounts.utils DEBUG 2025-05-14 10:46:31,427 utils Checking if user rube needs to change password.
47
+ accounts.utils DEBUG 2025-05-14 10:46:31,429 utils User profile: UserProfile object (1)
48
+ django.request ERROR 2025-05-14 10:46:47,849 log Internal Server Error: /fruitbat/accounts/change_password/
49
+ Traceback (most recent call last):
50
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
51
+ response = get_response(request)
52
+ ^^^^^^^^^^^^^^^^^^^^^
53
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
54
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
55
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
56
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/generic/base.py", line 104, in view
57
+ return self.dispatch(request, *args, **kwargs)
58
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
59
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 48, in _wrapper
60
+ return bound_method(*args, **kwargs)
61
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/decorators/debug.py", line 143, in sensitive_post_parameters_wrapper
63
+ return view(request, *args, **kwargs)
64
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
65
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 48, in _wrapper
66
+ return bound_method(*args, **kwargs)
67
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
68
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 188, in _view_wrapper
69
+ result = _process_exception(request, e)
70
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
71
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 186, in _view_wrapper
72
+ response = view_func(request, *args, **kwargs)
73
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
74
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 48, in _wrapper
75
+ return bound_method(*args, **kwargs)
76
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
77
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/contrib/auth/decorators.py", line 60, in _view_wrapper
78
+ return view_func(request, *args, **kwargs)
79
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
80
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/contrib/auth/views.py", line 363, in dispatch
81
+ return super().dispatch(*args, **kwargs)
82
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
83
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/generic/base.py", line 143, in dispatch
84
+ return handler(request, *args, **kwargs)
85
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
86
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/generic/edit.py", line 150, in post
87
+ if form.is_valid():
88
+ ^^^^^^^^^^^^^^^
89
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 197, in is_valid
90
+ return self.is_bound and not self.errors
91
+ ^^^^^^^^^^^
92
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 192, in errors
93
+ self.full_clean()
94
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 325, in full_clean
95
+ self._clean_fields()
96
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 335, in _clean_fields
97
+ value = getattr(self, "clean_%s" % name)()
98
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
99
+ File "/Users/kws/Documents/code/gitdev/psat-server-web/psat_server_web/atlas/atlas/views.py", line 233, in clean_new_password1
100
+ old_password = self.cleaned_data['old_password']
101
+ ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
102
+ KeyError: 'old_password'
103
+ django.request ERROR 2025-05-14 10:48:47,748 log Internal Server Error: /fruitbat/accounts/change_password/
104
+ Traceback (most recent call last):
105
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
106
+ response = get_response(request)
107
+ ^^^^^^^^^^^^^^^^^^^^^
108
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
109
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
110
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
111
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/generic/base.py", line 104, in view
112
+ return self.dispatch(request, *args, **kwargs)
113
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
114
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 48, in _wrapper
115
+ return bound_method(*args, **kwargs)
116
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
117
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/decorators/debug.py", line 143, in sensitive_post_parameters_wrapper
118
+ return view(request, *args, **kwargs)
119
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
120
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 48, in _wrapper
121
+ return bound_method(*args, **kwargs)
122
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
123
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 188, in _view_wrapper
124
+ result = _process_exception(request, e)
125
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
126
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 186, in _view_wrapper
127
+ response = view_func(request, *args, **kwargs)
128
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
129
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 48, in _wrapper
130
+ return bound_method(*args, **kwargs)
131
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
132
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/contrib/auth/decorators.py", line 60, in _view_wrapper
133
+ return view_func(request, *args, **kwargs)
134
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
135
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/contrib/auth/views.py", line 363, in dispatch
136
+ return super().dispatch(*args, **kwargs)
137
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
138
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/generic/base.py", line 143, in dispatch
139
+ return handler(request, *args, **kwargs)
140
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
141
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/generic/edit.py", line 150, in post
142
+ if form.is_valid():
143
+ ^^^^^^^^^^^^^^^
144
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 197, in is_valid
145
+ return self.is_bound and not self.errors
146
+ ^^^^^^^^^^^
147
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 192, in errors
148
+ self.full_clean()
149
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 325, in full_clean
150
+ self._clean_fields()
151
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 335, in _clean_fields
152
+ value = getattr(self, "clean_%s" % name)()
153
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
154
+ File "/Users/kws/Documents/code/gitdev/psat-server-web/psat_server_web/atlas/atlas/views.py", line 233, in clean_new_password1
155
+ old_password = self.cleaned_data['old_password']
156
+ ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
157
+ KeyError: 'old_password'
158
+ django.request ERROR 2025-05-14 10:49:36,727 log Internal Server Error: /fruitbat/accounts/change_password/
159
+ Traceback (most recent call last):
160
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
161
+ response = get_response(request)
162
+ ^^^^^^^^^^^^^^^^^^^^^
163
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
164
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
165
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
166
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/generic/base.py", line 104, in view
167
+ return self.dispatch(request, *args, **kwargs)
168
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
169
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 48, in _wrapper
170
+ return bound_method(*args, **kwargs)
171
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
172
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/decorators/debug.py", line 143, in sensitive_post_parameters_wrapper
173
+ return view(request, *args, **kwargs)
174
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
175
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 48, in _wrapper
176
+ return bound_method(*args, **kwargs)
177
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
178
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 188, in _view_wrapper
179
+ result = _process_exception(request, e)
180
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
181
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 186, in _view_wrapper
182
+ response = view_func(request, *args, **kwargs)
183
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
184
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 48, in _wrapper
185
+ return bound_method(*args, **kwargs)
186
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
187
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/contrib/auth/decorators.py", line 60, in _view_wrapper
188
+ return view_func(request, *args, **kwargs)
189
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
190
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/contrib/auth/views.py", line 363, in dispatch
191
+ return super().dispatch(*args, **kwargs)
192
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
193
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/generic/base.py", line 143, in dispatch
194
+ return handler(request, *args, **kwargs)
195
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
196
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/generic/edit.py", line 150, in post
197
+ if form.is_valid():
198
+ ^^^^^^^^^^^^^^^
199
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 197, in is_valid
200
+ return self.is_bound and not self.errors
201
+ ^^^^^^^^^^^
202
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 192, in errors
203
+ self.full_clean()
204
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 325, in full_clean
205
+ self._clean_fields()
206
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 335, in _clean_fields
207
+ value = getattr(self, "clean_%s" % name)()
208
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
209
+ File "/Users/kws/Documents/code/gitdev/psat-server-web/psat_server_web/atlas/atlas/views.py", line 233, in clean_new_password1
210
+ old_password = self.cleaned_data['old_password']
211
+ ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
212
+ KeyError: 'old_password'
213
+ django.request ERROR 2025-05-14 10:49:52,978 log Internal Server Error: /fruitbat/accounts/change_password/
214
+ Traceback (most recent call last):
215
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
216
+ response = get_response(request)
217
+ ^^^^^^^^^^^^^^^^^^^^^
218
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
219
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
220
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
221
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/generic/base.py", line 104, in view
222
+ return self.dispatch(request, *args, **kwargs)
223
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
224
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 48, in _wrapper
225
+ return bound_method(*args, **kwargs)
226
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
227
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/decorators/debug.py", line 143, in sensitive_post_parameters_wrapper
228
+ return view(request, *args, **kwargs)
229
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
230
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 48, in _wrapper
231
+ return bound_method(*args, **kwargs)
232
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
233
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 188, in _view_wrapper
234
+ result = _process_exception(request, e)
235
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
236
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 186, in _view_wrapper
237
+ response = view_func(request, *args, **kwargs)
238
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
239
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 48, in _wrapper
240
+ return bound_method(*args, **kwargs)
241
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
242
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/contrib/auth/decorators.py", line 60, in _view_wrapper
243
+ return view_func(request, *args, **kwargs)
244
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
245
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/contrib/auth/views.py", line 363, in dispatch
246
+ return super().dispatch(*args, **kwargs)
247
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
248
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/generic/base.py", line 143, in dispatch
249
+ return handler(request, *args, **kwargs)
250
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
251
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/generic/edit.py", line 150, in post
252
+ if form.is_valid():
253
+ ^^^^^^^^^^^^^^^
254
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 197, in is_valid
255
+ return self.is_bound and not self.errors
256
+ ^^^^^^^^^^^
257
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 192, in errors
258
+ self.full_clean()
259
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 325, in full_clean
260
+ self._clean_fields()
261
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 335, in _clean_fields
262
+ value = getattr(self, "clean_%s" % name)()
263
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
264
+ File "/Users/kws/Documents/code/gitdev/psat-server-web/psat_server_web/atlas/atlas/views.py", line 233, in clean_new_password1
265
+ old_password = self.cleaned_data['old_password']
266
+ ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
267
+ KeyError: 'old_password'
268
+ django.request ERROR 2025-05-14 10:50:37,769 log Internal Server Error: /fruitbat/accounts/change_password/
269
+ Traceback (most recent call last):
270
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
271
+ response = get_response(request)
272
+ ^^^^^^^^^^^^^^^^^^^^^
273
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
274
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
275
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
276
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/generic/base.py", line 104, in view
277
+ return self.dispatch(request, *args, **kwargs)
278
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
279
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 48, in _wrapper
280
+ return bound_method(*args, **kwargs)
281
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
282
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/decorators/debug.py", line 143, in sensitive_post_parameters_wrapper
283
+ return view(request, *args, **kwargs)
284
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
285
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 48, in _wrapper
286
+ return bound_method(*args, **kwargs)
287
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
288
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 188, in _view_wrapper
289
+ result = _process_exception(request, e)
290
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
291
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 186, in _view_wrapper
292
+ response = view_func(request, *args, **kwargs)
293
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
294
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/utils/decorators.py", line 48, in _wrapper
295
+ return bound_method(*args, **kwargs)
296
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
297
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/contrib/auth/decorators.py", line 60, in _view_wrapper
298
+ return view_func(request, *args, **kwargs)
299
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
300
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/contrib/auth/views.py", line 363, in dispatch
301
+ return super().dispatch(*args, **kwargs)
302
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
303
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/generic/base.py", line 143, in dispatch
304
+ return handler(request, *args, **kwargs)
305
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
306
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/views/generic/edit.py", line 150, in post
307
+ if form.is_valid():
308
+ ^^^^^^^^^^^^^^^
309
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 197, in is_valid
310
+ return self.is_bound and not self.errors
311
+ ^^^^^^^^^^^
312
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 192, in errors
313
+ self.full_clean()
314
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 325, in full_clean
315
+ self._clean_fields()
316
+ File "/Users/kws/anaconda3/envs/atlas311/lib/python3.11/site-packages/django/forms/forms.py", line 335, in _clean_fields
317
+ value = getattr(self, "clean_%s" % name)()
318
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
319
+ File "/Users/kws/Documents/code/gitdev/psat-server-web/psat_server_web/atlas/atlas/views.py", line 233, in clean_new_password1
320
+ old_password = self.cleaned_data['old_password']
321
+ ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
322
+ KeyError: 'old_password'
323
+ atlas.views DEBUG 2025-05-14 11:07:17,604 views self.cleaned_data: {'new_password1': 'lksdjfkljsdfj'}
324
+ atlas.views DEBUG 2025-05-14 11:07:32,941 views self.cleaned_data: {'new_password1': 'kks'}
325
+ atlas.views DEBUG 2025-05-14 11:07:45,993 views self.cleaned_data: {'new_password1': 'lksdjkfj'}
326
+ atlas.views DEBUG 2025-05-14 11:07:59,407 views self.cleaned_data: {'old_password': 'rube123', 'new_password1': 'lsjldfjskdj'}
327
+ atlas.views DEBUG 2025-05-14 11:08:21,757 views self.cleaned_data: {'new_password1': 'skks'}
328
+ atlas.views DEBUG 2025-05-14 11:08:43,290 views self.cleaned_data: {'old_password': 'rube123', 'new_password1': 'lksdkjfkd'}
329
+ atlas.views DEBUG 2025-05-14 11:09:14,855 views self.cleaned_data: {'new_password1': 'rube'}
330
+ atlas.views DEBUG 2025-05-14 11:10:01,511 views self.cleaned_data: {'old_password': 'rube123', 'new_password1': 'rube'}
331
+ atlas.views DEBUG 2025-05-14 11:11:20,295 views self.cleaned_data: {'new_password1': 'rube'}
332
+ atlas.views DEBUG 2025-05-14 11:12:32,362 views self.cleaned_data: {'old_password': 'rube123', 'new_password1': 'rube'}
333
+ accounts.utils DEBUG 2025-05-14 11:27:29,209 utils Checking if user rube needs to change password.
334
+ accounts.utils DEBUG 2025-05-14 11:27:29,209 utils User profile: UserProfile object (1)
335
+ accounts.utils DEBUG 2025-05-14 11:27:29,247 utils Checking if user rube needs to change password.
336
+ accounts.utils DEBUG 2025-05-14 11:27:29,248 utils User profile: UserProfile object (1)
337
+ accounts.utils DEBUG 2025-05-14 11:27:41,679 utils Checking if user rube needs to change password.
338
+ accounts.utils DEBUG 2025-05-14 11:27:41,682 utils User profile: UserProfile object (1)
339
+ atlas.views DEBUG 2025-05-14 11:27:41,693 views User can edit observations: True
@@ -121,7 +121,7 @@ LOGGING = {
121
121
  # Implement the stderr logger as the default logger.
122
122
  "loggers": {
123
123
  "": {
124
- "handlers": ["stderr"],
124
+ "handlers": ["stderr","file"],
125
125
  "level": DJANGO_LOG_LEVEL,
126
126
  "propagate": True,
127
127
  },
@@ -225,6 +225,7 @@ INSTALLED_APPS = [
225
225
  'django.contrib.sessions',
226
226
  'django.contrib.sites',
227
227
  'django.contrib.staticfiles',
228
+ 'django_registration',
228
229
  'atlas',
229
230
  'accounts',
230
231
  'django_tables2',
@@ -232,5 +233,20 @@ INSTALLED_APPS = [
232
233
  'rest_framework.authtoken',
233
234
  ]
234
235
 
236
+ REST_FRAMEWORK = {
237
+ 'DEFAULT_THROTTLE_CLASSES': [
238
+ 'atlasapi.throttling.UserAdminRateThrottle', # Allow admin users unlimited rate, otherwise use the default rate
239
+ ],
240
+ 'DEFAULT_THROTTLE_RATES': {
241
+ 'anon': '10/hour', # The only anonymous endpoint is the token refresh endpoint
242
+ 'user': '100/hour', # Limit regular authenticated users to 100 requests per hour
243
+ 'admin': '100000/hour', # Allow admin users (basically) unlimited rate
244
+ }
245
+ }
246
+
235
247
  # Token expiry time in days, default 1 day (24*60*60 seconds)
236
- TOKEN_EXPIRY = int(os.environ.get("API_TOKEN_EXPIRY") or 86400) # seconds
248
+ TOKEN_EXPIRY = int(os.environ.get("API_TOKEN_EXPIRY") or 86400) # seconds
249
+
250
+ # Variables for the django_registration app
251
+ ACCOUNT_ACTIVATION_DAYS = int(os.environ.get("ACCOUNT_ACTIVATION_DAYS") or 7)
252
+ REGISTRATION_OPEN = True
@@ -2,6 +2,7 @@
2
2
  from django.urls import re_path as url
3
3
  from django.urls import path, include
4
4
  from django.contrib import admin
5
+ from django.contrib.auth import views as auth_views
5
6
  from atlas import views
6
7
  from django.conf import settings
7
8
  from django.conf.urls.static import static
@@ -14,13 +15,18 @@ urlpatterns = [
14
15
  path('admin/', admin.site.urls),
15
16
  path('', include('atlasapi.urls')),
16
17
  # 2016-02-26 KWS Add the authentication URLs
17
- url(r'^accounts/login/', views.login, name="login"),
18
- url(r'^accounts/logout/', views.logout, name="logout"),
18
+ url(r'^accounts/login/', views.loginView, name="login"),
19
+ # url(r'^accounts/register/', views.register_user, name="register"),
20
+ url(r'^accounts/logout/', views.logoutView, name="logout"),
19
21
  url(r'^accounts/auth/', views.authView, name="auth"),
20
22
  url(r'^accounts/loggedin/', views.loggedin, name="loggedin"),
21
23
  url(r'^accounts/invalid/', views.invalidLogin, name="invalid"),
24
+ url(r'^accounts/change_password/$', views.AtlasPasswordChangeView.as_view(), name="change_password"),
25
+ url(r'^accounts/password_change_done/$', auth_views.PasswordChangeDoneView.as_view(template_name="password_change_done.html"), name="password_change_done"),
26
+ path("accounts/", include("django_registration.backends.activation.urls")),
22
27
 
23
28
  url(r'^$', views.homepage, name='home'),
29
+ url(r'^privacy/$', views.privacy_policy, name='privacy_policy'),
24
30
 
25
31
  # 2019-09-28 KWS New error page.
26
32
  url(r'^error/$', views.errorpage, name='error'),