* remove survey notifications
* fixing old reference of IXF_IMPORTER_DAYS_UNTIL_TICKET through EnvironmentSettings, this setting is no longer controlled through that and should come straight from settings
* fix session auth not setting x-auth-id header (#1120)
fix basic auth not setting x-auth-id header on success (#1120)
fix api key auth only setting prefix in x-auth-id header (#1120)
fix x-auth-id header not being cleared between requests (#1120)
* fix issue with rest throttling breaking api-cache generation (#1146)
* add caching for get_permission_holder_from_request - fixes perfomance issues in #1147
* fix intermediate issue with api_cache rest throttle tests
* sanitize cache key names for state normalization (#1079)
each state normalization lookup moved into its own transaction so errors dont cause us to lose already obtained data (#1079)
write cache regardess of --commit on or off (#1079)
add a sanity check for running non-committal mode without --limit (#1079)
* fix issue with ip block rate limiting if x-forwarded-for is set (#1126)
* better handling of melissa timeouts through retrying (#1079)
fix state normalization cache timeout to have no expiry (#1079)
normalization command will display validation errors at the end and exit with a return code if there are any (#1079)
* automatically apply address field normalization for `state` (#1079)
* additional tests
* only do a sanity check for --limit if no specific object is targeted
* linting
Co-authored-by: Stefan Pratter <stefan@20c.com>
* Do not show objects in status "pending" on the UI #784
* Fix peeringdb.js bug introduced in #784
* 500 Error during login for 2FA enabled accounts with unverified email address #996
* Django-Admin: adding a network with existing asn fails with internal error #1035
* Some command-line-tool executions are not logged #1119
* Ops: API throttling of repeated requests #1126
* Ops: response header X-Auth-ID to augment logging #1120
* Allow rate-limiting of melissa enabled api functionality. #1124
* State / Province normalization #1079
* Log melissa requests #1122
* remove debug messages
* bump django-handleref to 1.0.2
* Need consolidated app logs #845
* pin django peeringdb to 2.13 and relock poetry
* pin django-restframework-apikey to 2.1.0
* linting
* migrations
* docs regenerate
* docs
* linting
Co-authored-by: David Poarch <dpoarch@20c.com>
Co-authored-by: Stefan Pratter <stefan@20c.com>
* module docstrings
* db schema graph
* dev docs first pass
* dev docs pass 2
* add generated notification to top of generated docs files
* linting
* regen docs
Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: Sunshine Buchholz <sunshine@20c.com>
* stub in poetry for pipenv
* re-add tester image
* add pre-commit / formatting
* fix ghactions
* revert test data whitespace, exclude tests/data
* revert ws
* decruft, rm tox/pipenv
* install dev packages for base image
* add lgtm config to force to py3
* fixes#965: intermittent bug during consolidation of notifications
* fixes#863: better visibility for input validation errors
* fixes#375: re-evaluate affiliation requests on email change
* fixes#741: remove data quality validation for superusers
* fixes#587: customizable pagination in django admin
* fixes#923: Prevent deletion of a last technical contact if there is an existing netixlan object
* better search #23 (first pass)
* black format
* haystack test config to run_tests.py
remove old django_init.py test settings
* black format
* haystack test config fixes
* #23 better search (pt.2)
* rate limit distance queries (#23)
rate limiting based on query filters
* settings controlled blocking of distance filter for unauthenticated / unverified users (#23)
* fix distance filter throttling with api key auth (#23)
* fix anon user access check on distance queries
* search index and performance tweaks
* fix org_id not set in search results
* org id to int
Co-authored-by: Stefan Pratter <stefan@20c.com>
* Add migration for service level and terms
* Add service level and terms to UI and serializer, as well as data/enum
* Wire up data/enum endpoint and loader
* remove proto_ from ix UI
* derive fields for proto_unicast and proto_ipv6
* update tests for readonly fields
* Fix query for protocols
* Fix api bug with protocol
* add readonly fields to django admin
* rename readonly fields
* Add translation to names
* Add pdb api test for suggested facility re-add
* Add printing debuggin test
* add printing debugging serializer
* Update _undelete with _reapprove to handle pending cases
* Update tests (one is still failing)
* adjust suggest test
* Add ix_count to fac (834)
* Add test for ix_count on fac (834)
* Add fac_count to IX (836)
* add ix_count and fac_count to Network
* Refactor ix net_count filtering
* Add filtering for 834, 835, 836
* Remove duplicates from the Network's ix_count
* Setup Network for ix_count and fac_count (835)
* initial obj_counts for Facilities and Exchanges
* Add signals for updates to all counts
* add migration
* Add print statements to test
* introduce reversion to tests
* rename network count to net count across codebase
* fix network_count typo
* add migration to set default vals
* fix filter tests for obj_counts
* speed up migration
* fix failing tests
* fix final test
* sort out migration tree and add fac offered fields
* update frontend for facility dropdown offered_resilience
* First pass at advanced api search for user story 1
* melissa geo lookup first steps
* fix migration hierarchy
* working melissa integration
* begin ending filters for api endpoints
* add more org_present endpoints
* add search for IXs that match multiple networks
* extend logic to facility
* Add service level and terms to advanced search
* use address2 field for lookup
* melissa tests
* cleanup and docs
* uncomment offered_power
* developed offered_power component
* fix geo normalize existing cmd
normalize state
* change migration to match django-peeringdb
* add offered_space field
* Fill out remaining api filter fields
* Add org_not_present endpoint filter
* fix unit input ux
* more ux fixes
* remove merge cruft
* google for geocoding
various melissa improvements (consider result quality)
* fix tests
* refactor org_preset and org_not_present queries
* ix capacity api filters
* ix capacity filters for #802
advanced search ux for #802
* finalize advanced search UX for #802
* css fixes
* remove cruft
* fix net_count fac_count queries
* add new fields to create facility (#800)
tests for #802 and #800
* fix tests
* remove #800 changes
* fix capacity search
* more #800 changes to remove
* django-peeringdb 2.7.0 and pipenv relock
* black format
* pin black version
Co-authored-by: Elliot Frank <elliot@20c.com>
Co-authored-by: Stefan Pratter <stefan@20c.com>