* fix next redirect when using U2F 2FA auth (#1191)
* Added self identifier to API
* fix migrations hierarchy after merging in previous support branch
* campus object
Co-authored-by: Stefan Pratter <stefan@20c.com>
* fix out of bound error message
add city / country to campus view
* fix tests
* relock poetry
* linting
* linting
* fix docs regen
* regen docs
* linting
* refactor self entity view to support carrier and campus object types and also make it easier to support additional object types in the future
* remove debug message
---------
Co-authored-by: Gajanan Patil <dipaksavaliya.python@gmail.com>
* Carrier object implementation #909
* API keys: disabling of user account by a PeeringDB admin does not disable access via a User API key. Also no disable mech, only revoke. #1140
* Ops: django needs lightweight healthcheck route that confirms database connectivity #1284
* Ops: various indexes are needed #1285
* API requests with invalid Authentication headers should notify users in some way. #1220
* Allow user to change account username #1130
* UX to remove carriers from facilities more inline the other similar UX
* more UX fixes for removing carriers from facilities
* Cache hints are needed for optimal CDN use #970
* fixes Commandline tool "Run command" button gone #1278
* RIR status gets deleted when changes are made to the network #1279
* Improve MTU field #658
* CSRF cookie not set error from email confirmation view #1296
* expose CSP_CONNECT_SRC
* fix confirm email path checking in session middleware
* Ops: Emails to OPERATIONS_EMAIL need to be rate-limited #1282
* add website field to carrier ux
* website field on carrier optional with org fallback
* linting
* add *.google-analytics.com to CSP_CONNECT_SRC
* poetry relock
* fix issues with confirm-email reverse during session creation validation
* fix tests
* fix tests
* pin django-peeringdb to support_202211
* linting
* django ratelimit to <4
* regen docs
* fix automated net stats to only include networks with status `ok` #1283
* linting
* poetry lock
Co-authored-by: Matt Griswold <grizz@20c.com>
* Allow REALPEER to overwrite GHOSTPEER netixlan entry, if asn and IPv6/v4 addresses matches the IX-F Members Export information #983
* Lightweight user notification mechanism #758
* do not allow affiliation with a deleted organisation #953
* Improve readability when users have special permissions #659
* fix advanced search export when api-cache exist and no filters were supplied #1153
* Ops: Throttle strings with "Response size" should be renamed "Repeated request" #1168
* allow ixlan prefix to be changed / deleted regardless of existence of netixlans in the address space #924
* linting
* poetry relock
* remove debug code
* linting
* fixed Reset IX-F suggestions link non-functional #1253
* solved UI shows own email when viewing affiliation requests for an organization #1250
* Adjust "Add Facility" menu to include newly defined fields #1091
* Footer "Global System Statistics" should be cached within django instance, not updated with every page load #1283
* linting
* django-handleref to 1.1.0 and relock poetry
* GLOBAL_STATS_CACHE_DURATION default to 900 seconds
* remove vscode and idea
* remove Ctl/dev/docker-compose.debug.yml
* remove unsused variable
* rename STATS to __STATS
* linting
* regen docs
* Make it possible to display the TOTP secret in text form instead of QR code only #947
* Show username *and* email address when user is logged in #484
* fix asn auto tool #959
* Trigger IX-F import when network sets allow_ixp_update to "yes" #499
* Ops: Log Melissa payload in django.log #1150
* Error-handling of failed creation of DeskPRO ticket #981
* email management changes #267#736#737#738#907
* block api write operations when using basic-auth to authenticate an MFA enabled account
* add robots txt #1213
* DB clean-up of elderly ophaned user accounts #380
* linting
* fix migrations
* fix tests
* dont flag new users for deletion
* linting
* docs
Co-authored-by: dpoarch <dpoarch@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>
* 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
* Bad API keys need to return 401 just like a bad user/pass. Presently they return 200. #1117
Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: David Poarch <dpoarch@20c.com>
* New Field "Health Check" #512
* Add status_dashboard to fields #512
* RS Peer Checkbox also visible on IX Site #727
* Add "Management" search field to Advanced Search of Exchanges #506
* wrap correctly on mobile #881
* missing delete button for user #653
* Removed cruft from IX view template #881
* To force or not to force www, that is a question #916
* add health check fields to entity creation forms (fac, ix, net) (#512)
* status_dashboard should accept null values #512
* Sort usergroup names in https://peeringdb.com/cp/peeringdb_server/userpermission/xxxxx numerically #656
* fix issue with deleted entities showing up in search results #1042
* 2FA Backup Tokens language doesn't seem correct #908
* linting
* poetry relock
* fix user permission save trying to create a user
* add status_dashboard to mock data
* docs
* add api doc regen to gen_docs call
fix issue with run_tests if BASE_URL env var is set
* fix generate_schema typo
* linting
Co-authored-by: David Poarch <dpoarch@20c.com>
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
* 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
* add u2f api
* fix merge cruft
* fido u2f webauthn first steps
* dont need this
* typo
* first ux steps for security key management, u2f views
* u2f auth
* linting
* Cascade delete when performed by superuser in django-admin #735
* security key passwordless login
* reset webauthn migrations
* security key 2fa
* linting
* ux cleanup
* cleanup
* Add IXP to AS record / dropdown limited #469
* ignore orgs that have pre-dated or finished sponsorships attached
* split out to django_security_keys
* default to 90 days
* make URL required for new objects #374
* move CONN_MAX_AGE to proper location and expose as env var (#1060)
* Error message for invalid password on email change
* Registering a new facility or exchange organization is broken #1062
* Creating a facility that matches the name of a soft-deleted facility will cause the entry to bypass the verification queue #901
* irr source validator doesn't allow for hyphens in source #921
* split out javascript
* split out js
* Clicking "Add" to add a user api-key without providing a name for the key raises Internal Error #1033
* remove security key admin views
* global stats don't show up at login screen #284
* Possible for "pending" exchange to have "deleted" ixlan (#1077)
* webauthn finalizations
* oidc support for oauth provider #1070
* Revert "Merge branch 'gh_1070' into 'support_202111'"
* remove unused dev mounts
* linting
* add django-security-key and relock poetry
* re-add imports removed through linting
* docs regen
* oauth toolkit pinned to 1.6.1
django-security-keys pinned to 1.0.1
* remove debug message
* linting
* linting
Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: David Poarch <dpoarch@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
* 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>
* 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>
* 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
* 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 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>