* Block registering private ASN ranges
* Add a continental region field for facilities #1007
* Incorrect order of search results #232
* Allow users to upload a small logo to their record #346
* Sponsor badge CSS and text translation issues #453
* IXP and Facility summary #18
* Add sales email and phone contact to ix object #949
* Increase timeout timer for IX-F JSON importer to 30s #962
* IX-F manually triggered import bugs #1054
* remove survey notifications
* IX-F importer: manual add followed by IX-F prompted add can result in "The server rejected your data" #807
* performance fix for net view
* api documentation generate broken #956
* fix poc set missing from net view
* Auto focus cursor on search field on main website #695
* PeeringDB website has a poor choice of line-breaks for IPv6 addresses. #748
* Delete childless org objects #838
* linting
* poetry lock
* re-add mistakingly dropped translation to email template
* fix template variables
* regen docs
* regen api docs
* fix merge cruft
* django-peeringdb to 2.11 and poetry relock
* linting
* comment out django-peeringdb volume mount
* add missing declaration
Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: David Poarch <dpoarch@20c.com>
* remove survey notifications
* humanize file size error when nginx triggers a 413 response (#346)
* linting
* add max file size note to logo help tooltip
* fix issue with advanced search no longer show entries for non-sponsor organizations (#453)
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>
* remove survey notifications
* remove old logo file when a new logo file is uploaded #346
loading-shim for upload
Co-authored-by: Stefan Pratter <stefan@20c.com>
* org logo now uploads to separate directory than sponsorship logos and normalizes file name to org-{id} #346
* validation fixes for logo upload (#346)
Co-authored-by: Stefan Pratter <stefan@20c.com>
* Block registering private ASN ranges
* Add a continental region field for facilities #1007
* Incorrect order of search results #232
* Allow users to upload a small logo to their record #346
* Sponsor badge CSS and text translation issues #453
* IXP and Facility summary #18
* poetry relock
* linting
* add libgcc
* lint
* bump version to 2.31.0-beta
Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: David Poarch <dpoarch@20c.com>
* add OPERATIONS_EMAIL setting
* fixes#1019: redundant saves to deleted netixlans during ix-f import
* private pocs are no longer valid (#944)
* poetry relock (handleref update)
* fixes#1032: __id api filter not working
* Additional self-selection fields for Facilities #800
* advanced search fields for available voltage, property and diverse serving substations (#1016)
* When network sets netixlan speed to 1200000 only 1T is shown instead of 1.2T ... sometimes #500
* add search-data
* comment out mount points for api-cache, search-data, django-peeringdb
* poetry relock (django-peeringdb 2.9.0)
* linting
Co-authored-by: Stefan Pratter <stefan@20c.com>
* fix signals not being imported
* move utility funciton out of signals
remove signals import from migrations
* note for signals import to be not removed
* better explanation
* fix user auto verify test
Co-authored-by: Stefan Pratter <stefan@20c.com>
* django3, py39, lgtm, linting (#715)
* IX-F Importer: ticket status change when posting re-occuring conflict to existing resolved ticket (#920)
* fix recaptcha requirement for user creation in django-admin (#715)
* IX-F Importer: fix command output buffering #967
* Drop dot1q_support field #903
* fix test (#967)
* Add name, city, country to ixfac (GET operation) #166
* additional tests fir #166
* Allow IXP to trigger ix-f importer for their exchange #779
* add docker compose for dev
* add selinux labels for mountpoints
* fixes#1013: The process to permanently remove old soft-deleted network contacts pdb_delete_pocs raises a false ProtectedAction
* fix api test
* relock poetry
* remove django_namespace_perms from installed apps
* fix user permissios ui
* remove remaining references to django namespace perms
* linting
* copy tox.ini
* comment flake8 check until we figure out why it ignores configs from tox.ini
* black format
* poetry lock
Co-authored-by: Stefan Pratter <stefan@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>
* fix advanced search error when not logged in
* fix error with data/my_organizations if user is not logged in
* fix 500 error when viewing advanced search as a user that is not affiliated with any org
* tests for adv search init and anonymous data/my_organizations request
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>
* Add check for existing pending affiliations to org
* Fix message
* 883 consolidation for deskpro tickets
* add views tests
* ipaddress normalization during search (#913)
* remove unused imports
* Update lat and long admin fields to not required
* black formatting
* relock pipfile
* fix conditions for failing asn affil test
* Update affiliation logic and add tests
* make name search case insensitive
* add asn to org_id lookup
* black format
* skip sync test while test.peeringdb.com is down
Co-authored-by: Elliot Frank <elliot@20c.com>
Co-authored-by: Stefan Pratter <stefan@20c.com>
Proposed additional question added to help us identify if a feature requires admin tools to be developed as well as a user feature. This change discussed with Arnold, following experience with APKI Keys.