are different for the generalized regex match.
> A username can only contain alphanumeric characters (letters A-Z, numbers 0-9) with the
> exception of underscores, as noted above. Check to make sure your desired username
> does not contain any symbols, dashes, or spaces.
https://help.twitter.com/en/managing-your-account/x-username-rules
Add a specific if-else regex match for X usernames to take into account
that PeeringDB users are able to have X usernames of less than 4 characters
that are the current minimum our generalized username regexer checks in
the string length match. I.e. We currently accept 4-32. X allows 1-15 in length.
* Support 202403 prepare
* refactor peeringdb_server/management/commands/pdb_delete_outdated_pending_affil_request.py for improved code structure
fix tests/test_settings.py::TestAutoApproveAffiliation::test_setting by using rdap mocking
* db schema docs and api docs regen
* rir should be RIR
---------
Co-authored-by: 20C <code@20c.com>
v2 search - support for ISO 3166 alpha-2 country codes - fixed#1447
Enable .KMZ export for Advanced Search results - fixed#1495
BFD support field in Global and IX specific views - fixed#1331
Remove unneeded fields from the KMZ - fixed#1489
Return auth error when multiple auth methods are used - fixed#1133
Social link controls showing up when not logged in - fixed#1478
Tab URLs don't work anymore - fixed#1152
Update social media icons in footer - fixed#1425
Co-authored-by: 20C <code@20c.com>
* Add field ixf_ixp_import_enabled to object ixlan #1229
pdb_load_data no longer creates necessary org usergroups #1480
API list net documentation says "org" is a string, but it actually contains a dictionary #1438
Allow users to edit their objects Geocode #1464
* escape lat lng input
* only notify for `ok` facilities
linting
---------
Co-authored-by: 20C <code@20c.com>
* fix oversight where bad to good rir_status updates would be missed
* fix layout issues
fix double search box
fix search not always toggled
* add elasticsearch env_file for dev docker-compose
fix mobile search
* missing template
* linting
* relock
* 1280 fixes
* cleanup and fixes for rir_status update, also add --reset
* linting
* comment
* fix tests and some adjustments
* fix mock according to new rir_status values
* more rir_status update fixes and safety checks
fix tests
* remove listening env vars from docker file
* allow env override of STATIC and MEDIA root
* add uwsgi file to tester target
* add output_dir to kmz gen, kmz-gen-only
Add a "flag bad data" button on various places #170
Add a "last synced at $date" to beta.peeringdb.com #410
Improve RIR Update Procedure #1303
Only indicate availability of DC voltage for facilities #1341
Clarifying the Network Type field #1357
Changing ASN field on "Add Network" to be numbers only #1430
Update website to take advantage of wider screen and improve mobile device support #1463
v2 search - not able to find IX participant based on IP #1469
v2 search not able to find organization and network - Marconi Solutions Srls #1476
Improve RIR Update Procedure #1280
Co-authored-by: 20C <code@20c.com>
* Make dates ISO 8601 compliant everywhere in PeeringDB (#1432).
Timestamps should be consistent (#1433).
Display dates consistently (#1252).
Show connected networks, exchanges, and carriers on campus results pages (#1362).
Improve visibility of contact data settings (#1327).
Keep the list of IRR up to date (#1385).
Store language preference in the user's profile instead of cookies (#1247).
* linting
* Cache changes
* final linting and tests
* fix kmz export test to read from the correct location
---------
Co-authored-by: 20C <code@20c.com>
Co-authored-by: Matt Griswold <grizz@20c.com>
* fixes#1260 - playwright tests
fixes#1394 - v2 search failing to find some names
fixes#1374 - Search to include new objects: Campus & Carrier
fixes#1164 - better rdap error reporting
fixes#1368 - Facility data export into Google Earth KMZ
fixes#1328 - Support web updates from a source of truth
fixes#1257 - Help text covers non-compliant email addresses
fixes#1313 - Improve email confirmation control - add 3 month option & maybe set new default value
fixes#1380 - Reset 'Social Media' to '[]' if field has no value
* linting
* remove target=_blank
* bump ES version to 8.10
* Cache and ES updates (#1459)
* elasticsearch major version pin and relock
* set decimal fields to python value on client save for load_data
* force use of redis password
* add default_meta to render
* add generated, clean up var names
* run pre-commit
* update ES for https and password
* rm cruft
* isort
---------
Co-authored-by: 20C <code@20c.com>
Co-authored-by: Matt Griswold <grizz@20c.com>
Correct typo - PEERINGDB-202309AMLNQ1
FROM:
Geocode data for this entity could not obtained at this point
TO:
Geocode data for this entity could not be obtained at this point
* Sorting icon from google material icons #1419
Manual IX-F import request queue can get stuck #1182
IX Object Creation Per Policy #1364
Creating a new network not possible #1401
IX-F Importer: Cosmetic issue with "resolved" emails and double-slashes in URLs after the FQDN #1334
Add a "Delete Affiliation" button/option to the profile #1226
Redis and negative caching #1431
* linting
* update gen_docs to use py3.11
* fix issue with api docs schema regen
* regen apidoc schema and db schema graph
* fix username validation for social media
* Add test case for social media validation
* linting
* tests shouldnt use redis
* also fix session cache setup (although not used atm)
* linting
* all caches to localmemcache during testing
---------
Co-authored-by: 20C <code@20c.com>
Co-authored-by: Matt Griswold <grizz@20c.com>
* Support 202307
Add hover tip to describe meaning of routeserver icon #1381
Add Campus and Carrier Tooltips #1361
Display website URL on all non-org objects #1300
Make the search field on cp/peeringdb_server/network/ aware of leading AS/ASN #1027
Add search field to `/cp/peeringdb_server/` AC views (#1239)
IX-F Importer: IX-F Member Data not being nullified after IX stops/changes import #1360
Include carrier and campus objects in the API #1352
* fixes to website propagation
* fix tests
* django-security-keys to 1.1.0 and relock
* poetry relock
* linting
* comment django-peeringdb dev mount
* add org website field to admin forms
* fix templatetag name collision between django-security-keys and peeringdb
* linting
* django-peeringdb to 3.2.0 and poetry relock
* remove debug message
---------
Co-authored-by: 20C <code@20c.com>