mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-06-10 06:24:45 +02:00
Merge branch 'main' into nmb/field-validation
This commit is contained in:
commit
b0debba4e6
14 changed files with 521 additions and 287 deletions
|
@ -0,0 +1,21 @@
|
|||
# 14. Use existing Cloud.gov Pages site for content, Django app for registrar functionality
|
||||
|
||||
Date: 2022-10-04
|
||||
|
||||
## Status
|
||||
|
||||
Proposed
|
||||
|
||||
## Context
|
||||
|
||||
Currently web infrastructure for the dotgov program is split between a [home site hosted on Cloud.gov Pages](https://home.dotgov.gov/) and the registrar/registry [hosted by Verisign](https://domains.dotgov.gov/dotgov-web/). The two sites provide very different experiences, confusingly different domains, and don’t share the same technical infrastructure. As we award a new contract that formally splits the registry/registrar functions, we have an opportunity to reimagine how users learn about .gov and how they register and manage domains.
|
||||
|
||||
## Decision
|
||||
|
||||
Keep the Cloud.gov Pages site for program content (About, Guides, News, Docs, etc.) and as the front page for program services. Use the Django application we are building to solely host the registrar behind login.gov. Move the Cloud.gov Pages site to get.gov, and host the Django site at the subdomain registrar.get.gov. Both will use USWDS with the same settings.
|
||||
|
||||
This allows us to manage content separately from our applicaiton code. This both lets us write content in a markdown format rather than HTML in our application and update content without rebuilding the application.
|
||||
|
||||
## Consequences
|
||||
|
||||
This means we have to maintain two systems: Cloud.gov Pages and the Django app running in our Cloud.gov organization. When we have to update style settings for one, we will have to update the settings for the other.
|
351
docs/compliance/Pipfile.lock
generated
351
docs/compliance/Pipfile.lock
generated
|
@ -18,11 +18,11 @@
|
|||
"default": {
|
||||
"anyio": {
|
||||
"hashes": [
|
||||
"sha256:413adf95f93886e442aea925f3ee43baa5a765a64a0f52c6081894f9992fdd0b",
|
||||
"sha256:cb29b9c70620506a9a8f87a309591713446953302d7d995344d0d7c6c0c9a7be"
|
||||
"sha256:25ea0d673ae30af41a0c442f81cf3b38c7e79fdc7b60335a4c14e05eb0947421",
|
||||
"sha256:fbbe32bd270d2a2ef3ed1c5d45041250284e31fc0a4df4a5a6071842051a51e3"
|
||||
],
|
||||
"markers": "python_full_version >= '3.6.2'",
|
||||
"version": "==3.6.1"
|
||||
"version": "==3.6.2"
|
||||
},
|
||||
"argcomplete": {
|
||||
"hashes": [
|
||||
|
@ -42,58 +42,65 @@
|
|||
},
|
||||
"bcrypt": {
|
||||
"hashes": [
|
||||
"sha256:0b0f0c7141622a31e9734b7f649451147c04ebb5122327ac0bd23744df84be90",
|
||||
"sha256:1c3334446fac200499e8bc04a530ce3cf0b3d7151e0e4ac5c0dddd3d95e97843",
|
||||
"sha256:2d0dd19aad87e4ab882ef1d12df505f4c52b28b69666ce83c528f42c07379227",
|
||||
"sha256:594780b364fb45f2634c46ec8d3e61c1c0f1811c4f2da60e8eb15594ecbf93ed",
|
||||
"sha256:7c7dd6c1f05bf89e65261d97ac3a6520f34c2acb369afb57e3ea4449be6ff8fd",
|
||||
"sha256:845b1daf4df2dd94d2fdbc9454953ca9dd0e12970a0bfc9f3dcc6faea3fa96e4",
|
||||
"sha256:8780e69f9deec9d60f947b169507d2c9816e4f11548f1f7ebee2af38b9b22ae4",
|
||||
"sha256:bf413f2a9b0a2950fc750998899013f2e718d20fa4a58b85ca50b6df5ed1bbf9",
|
||||
"sha256:bfb67f6a6c72dfb0a02f3df51550aa1862708e55128b22543e2b42c74f3620d7",
|
||||
"sha256:c59c170fc9225faad04dde1ba61d85b413946e8ce2e5f5f5ff30dfd67283f319",
|
||||
"sha256:dc6ec3dc19b1c193b2f7cf279d3e32e7caf447532fbcb7af0906fe4398900c33",
|
||||
"sha256:ede0f506554571c8eda80db22b83c139303ec6b595b8f60c4c8157bdd0bdee36"
|
||||
"sha256:089098effa1bc35dc055366740a067a2fc76987e8ec75349eb9484061c54f535",
|
||||
"sha256:08d2947c490093a11416df18043c27abe3921558d2c03e2076ccb28a116cb6d0",
|
||||
"sha256:0eaa47d4661c326bfc9d08d16debbc4edf78778e6aaba29c1bc7ce67214d4410",
|
||||
"sha256:27d375903ac8261cfe4047f6709d16f7d18d39b1ec92aaf72af989552a650ebd",
|
||||
"sha256:2b3ac11cf45161628f1f3733263e63194f22664bf4d0c0f3ab34099c02134665",
|
||||
"sha256:2caffdae059e06ac23fce178d31b4a702f2a3264c20bfb5ff541b338194d8fab",
|
||||
"sha256:3100851841186c25f127731b9fa11909ab7b1df6fc4b9f8353f4f1fd952fbf71",
|
||||
"sha256:5ad4d32a28b80c5fa6671ccfb43676e8c1cc232887759d1cd7b6f56ea4355215",
|
||||
"sha256:67a97e1c405b24f19d08890e7ae0c4f7ce1e56a712a016746c8b2d7732d65d4b",
|
||||
"sha256:705b2cea8a9ed3d55b4491887ceadb0106acf7c6387699fca771af56b1cdeeda",
|
||||
"sha256:8a68f4341daf7522fe8d73874de8906f3a339048ba406be6ddc1b3ccb16fc0d9",
|
||||
"sha256:a522427293d77e1c29e303fc282e2d71864579527a04ddcfda6d4f8396c6c36a",
|
||||
"sha256:ae88eca3024bb34bb3430f964beab71226e761f51b912de5133470b649d82344",
|
||||
"sha256:b1023030aec778185a6c16cf70f359cbb6e0c289fd564a7cfa29e727a1c38f8f",
|
||||
"sha256:b3b85202d95dd568efcb35b53936c5e3b3600c7cdcc6115ba461df3a8e89f38d",
|
||||
"sha256:b57adba8a1444faf784394de3436233728a1ecaeb6e07e8c22c8848f179b893c",
|
||||
"sha256:bf4fa8b2ca74381bb5442c089350f09a3f17797829d958fad058d6e44d9eb83c",
|
||||
"sha256:ca3204d00d3cb2dfed07f2d74a25f12fc12f73e606fcaa6975d1f7ae69cacbb2",
|
||||
"sha256:cbb03eec97496166b704ed663a53680ab57c5084b2fc98ef23291987b525cb7d",
|
||||
"sha256:e9a51bbfe7e9802b5f3508687758b564069ba937748ad7b9e890086290d2f79e",
|
||||
"sha256:fbdaec13c5105f0c4e5c52614d04f0bca5f5af007910daa8b6b12095edaa67b3"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==4.0.0"
|
||||
"version": "==4.0.1"
|
||||
},
|
||||
"black": {
|
||||
"hashes": [
|
||||
"sha256:0a12e4e1353819af41df998b02c6742643cfef58282915f781d0e4dd7a200411",
|
||||
"sha256:0ad827325a3a634bae88ae7747db1a395d5ee02cf05d9aa7a9bd77dfb10e940c",
|
||||
"sha256:32a4b17f644fc288c6ee2bafdf5e3b045f4eff84693ac069d87b1a347d861497",
|
||||
"sha256:3b2c25f8dea5e8444bdc6788a2f543e1fb01494e144480bc17f806178378005e",
|
||||
"sha256:4a098a69a02596e1f2a58a2a1c8d5a05d5a74461af552b371e82f9fa4ada8342",
|
||||
"sha256:5107ea36b2b61917956d018bd25129baf9ad1125e39324a9b18248d362156a27",
|
||||
"sha256:53198e28a1fb865e9fe97f88220da2e44df6da82b18833b588b1883b16bb5d41",
|
||||
"sha256:5594efbdc35426e35a7defa1ea1a1cb97c7dbd34c0e49af7fb593a36bd45edab",
|
||||
"sha256:5b879eb439094751185d1cfdca43023bc6786bd3c60372462b6f051efa6281a5",
|
||||
"sha256:78dd85caaab7c3153054756b9fe8c611efa63d9e7aecfa33e533060cb14b6d16",
|
||||
"sha256:792f7eb540ba9a17e8656538701d3eb1afcb134e3b45b71f20b25c77a8db7e6e",
|
||||
"sha256:8ce13ffed7e66dda0da3e0b2eb1bdfc83f5812f66e09aca2b0978593ed636b6c",
|
||||
"sha256:a05da0430bd5ced89176db098567973be52ce175a55677436a271102d7eaa3fe",
|
||||
"sha256:a983526af1bea1e4cf6768e649990f28ee4f4137266921c2c3cee8116ae42ec3",
|
||||
"sha256:bc4d4123830a2d190e9cc42a2e43570f82ace35c3aeb26a512a2102bce5af7ec",
|
||||
"sha256:c3a73f66b6d5ba7288cd5d6dad9b4c9b43f4e8a4b789a94bf5abfb878c663eb3",
|
||||
"sha256:ce957f1d6b78a8a231b18e0dd2d94a33d2ba738cd88a7fe64f53f659eea49fdd",
|
||||
"sha256:cea1b2542d4e2c02c332e83150e41e3ca80dc0fb8de20df3c5e98e242156222c",
|
||||
"sha256:d2c21d439b2baf7aa80d6dd4e3659259be64c6f49dfd0f32091063db0e006db4",
|
||||
"sha256:d839150f61d09e7217f52917259831fe2b689f5c8e5e32611736351b89bb2a90",
|
||||
"sha256:dd82842bb272297503cbec1a2600b6bfb338dae017186f8f215c8958f8acf869",
|
||||
"sha256:e8166b7bfe5dcb56d325385bd1d1e0f635f24aae14b3ae437102dedc0c186747",
|
||||
"sha256:e981e20ec152dfb3e77418fb616077937378b322d7b26aa1ff87717fb18b4875"
|
||||
"sha256:14ff67aec0a47c424bc99b71005202045dc09270da44a27848d534600ac64fc7",
|
||||
"sha256:197df8509263b0b8614e1df1756b1dd41be6738eed2ba9e9769f3880c2b9d7b6",
|
||||
"sha256:1e464456d24e23d11fced2bc8c47ef66d471f845c7b7a42f3bd77bf3d1789650",
|
||||
"sha256:2039230db3c6c639bd84efe3292ec7b06e9214a2992cd9beb293d639c6402edb",
|
||||
"sha256:21199526696b8f09c3997e2b4db8d0b108d801a348414264d2eb8eb2532e540d",
|
||||
"sha256:2644b5d63633702bc2c5f3754b1b475378fbbfb481f62319388235d0cd104c2d",
|
||||
"sha256:432247333090c8c5366e69627ccb363bc58514ae3e63f7fc75c54b1ea80fa7de",
|
||||
"sha256:444ebfb4e441254e87bad00c661fe32df9969b2bf224373a448d8aca2132b395",
|
||||
"sha256:5b9b29da4f564ba8787c119f37d174f2b69cdfdf9015b7d8c5c16121ddc054ae",
|
||||
"sha256:5cc42ca67989e9c3cf859e84c2bf014f6633db63d1cbdf8fdb666dcd9e77e3fa",
|
||||
"sha256:5d8f74030e67087b219b032aa33a919fae8806d49c867846bfacde57f43972ef",
|
||||
"sha256:72ef3925f30e12a184889aac03d77d031056860ccae8a1e519f6cbb742736383",
|
||||
"sha256:819dc789f4498ecc91438a7de64427c73b45035e2e3680c92e18795a839ebb66",
|
||||
"sha256:915ace4ff03fdfff953962fa672d44be269deb2eaf88499a0f8805221bc68c87",
|
||||
"sha256:9311e99228ae10023300ecac05be5a296f60d2fd10fff31cf5c1fa4ca4b1988d",
|
||||
"sha256:974308c58d057a651d182208a484ce80a26dac0caef2895836a92dd6ebd725e0",
|
||||
"sha256:b8b49776299fece66bffaafe357d929ca9451450f5466e997a7285ab0fe28e3b",
|
||||
"sha256:c957b2b4ea88587b46cf49d1dc17681c1e672864fd7af32fc1e9664d572b3458",
|
||||
"sha256:e41a86c6c650bcecc6633ee3180d80a025db041a8e2398dcc059b3afa8382cd4",
|
||||
"sha256:f513588da599943e0cde4e32cc9879e825d58720d6557062d1098c5ad80080e1",
|
||||
"sha256:fba8a281e570adafb79f7755ac8721b6cf1bbf691186a287e990c7929c7692ff"
|
||||
],
|
||||
"markers": "python_full_version >= '3.6.2'",
|
||||
"version": "==22.8.0"
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==22.10.0"
|
||||
},
|
||||
"certifi": {
|
||||
"hashes": [
|
||||
"sha256:0aa1a42fbd57645fabeb6290a7687c21755b0344ecaeaa05f4e9f6207ae2e9a8",
|
||||
"sha256:aa08c101214127b9b0472ca6338315113c9487d45376fd3e669201b477c71003"
|
||||
"sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3",
|
||||
"sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==2022.6.15.2"
|
||||
"index": "pypi",
|
||||
"version": "==2022.12.7"
|
||||
},
|
||||
"cffi": {
|
||||
"hashes": [
|
||||
|
@ -282,11 +289,11 @@
|
|||
"http"
|
||||
],
|
||||
"hashes": [
|
||||
"sha256:437d84345be5603a78e555f2febf35155dc0376277cd4458f49381eaa2514659",
|
||||
"sha256:c61a0e18a32278490f2854ae13dda9097fb39fa116f47d209c3da0590d3ed2ab"
|
||||
"sha256:0a92afc78aff6ed6b7bc23401bdd376d9af765997af013b2c013ba735f3a6a4f",
|
||||
"sha256:d54e07fdf4650ba63f2379a0c95932bb71a4d279cec79252ada581294c4747f7"
|
||||
],
|
||||
"markers": "python_version < '4' and python_full_version >= '3.6.1'",
|
||||
"version": "==0.13.1"
|
||||
"markers": "python_version >= '3.7' and python_version < '4.0'",
|
||||
"version": "==0.14.0"
|
||||
},
|
||||
"defusedxml": {
|
||||
"hashes": [
|
||||
|
@ -301,15 +308,15 @@
|
|||
"sha256:0f7569a4a6ff151958b64304071d370daa3243d15941a7beedf0c9fe5105603e",
|
||||
"sha256:a851e51367fb93e9e1361732c1d60dab63eff98712e503ea7d92e6eccb109b4f"
|
||||
],
|
||||
"markers": "python_version >= '3.6' and python_version < '4'",
|
||||
"markers": "python_version >= '3.6' and python_version < '4.0'",
|
||||
"version": "==2.2.1"
|
||||
},
|
||||
"email-validator": {
|
||||
"hashes": [
|
||||
"sha256:6757aea012d40516357c0ac2b1a4c31219ab2f899d26831334c5d069e8b6c3d8",
|
||||
"sha256:c8589e691cf73eb99eed8d10ce0e9cbb05a0886ba920c8bcb7c82873f4c5789c"
|
||||
"sha256:553a66f8be2ec2dea641ae1d3f29017ab89e9d603d4a25cdaac39eefa283d769",
|
||||
"sha256:816073f2a7cffef786b29928f58ec16cdac42710a53bb18aa94317e3e145ec5c"
|
||||
],
|
||||
"version": "==1.2.1"
|
||||
"version": "==1.3.0"
|
||||
},
|
||||
"et-xmlfile": {
|
||||
"hashes": [
|
||||
|
@ -334,26 +341,26 @@
|
|||
},
|
||||
"h11": {
|
||||
"hashes": [
|
||||
"sha256:36a3cb8c0a032f56e2da7084577878a035d3b61d104230d4bd49c0c6b555a9c6",
|
||||
"sha256:47222cb6067e4a307d535814917cd98fd0a57b6788ce715755fa2b6c28b56042"
|
||||
"sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d",
|
||||
"sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==0.12.0"
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==0.14.0"
|
||||
},
|
||||
"httpcore": {
|
||||
"hashes": [
|
||||
"sha256:1105b8b73c025f23ff7c36468e4432226cbb959176eab66864b8e31c4ee27fa6",
|
||||
"sha256:18b68ab86a3ccf3e7dc0f43598eaddcf472b602aba29f9aa6ab85fe2ada3980b"
|
||||
"sha256:52c79095197178856724541e845f2db86d5f1527640d9254b5b8f6f6cebfdee6",
|
||||
"sha256:c35c5176dc82db732acfd90b581a3062c999a72305df30c0fc8fafd8e4aca068"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==0.15.0"
|
||||
"version": "==0.16.2"
|
||||
},
|
||||
"httpx": {
|
||||
"hashes": [
|
||||
"sha256:42974f577483e1e932c3cdc3cd2303e883cbfba17fe228b0f63589764d7b9c4b",
|
||||
"sha256:f28eac771ec9eb4866d3fb4ab65abd42d38c424739e80c08d8d20570de60b0ef"
|
||||
"sha256:0b9b1f0ee18b9978d637b0776bfd7f54e2ca278e063e3586d8f01cda89e042a8",
|
||||
"sha256:202ae15319be24efe9a8bd4ed4360e68fde7b38bcc2ce87088d416f026667d19"
|
||||
],
|
||||
"version": "==0.23.0"
|
||||
"version": "==0.23.1"
|
||||
},
|
||||
"idna": {
|
||||
"hashes": [
|
||||
|
@ -390,7 +397,7 @@
|
|||
"sha256:6f62d78e2f89b4500b080fe3a81690850cd254227f27f75c3a0c491a1f351ba7",
|
||||
"sha256:e8443a5e7a020e9d7f97f1d7d9cd17c88bcb3bc7e218bf9cf5095fe550be2951"
|
||||
],
|
||||
"markers": "python_version < '4' and python_full_version >= '3.6.1'",
|
||||
"markers": "python_version < '4.0' and python_full_version >= '3.6.1'",
|
||||
"version": "==5.10.1"
|
||||
},
|
||||
"jinja2": {
|
||||
|
@ -495,82 +502,92 @@
|
|||
},
|
||||
"orjson": {
|
||||
"hashes": [
|
||||
"sha256:02d638d43951ba346a80f0abd5942a872cc87db443e073f6f6fc530fee81e19b",
|
||||
"sha256:03ed95814140ff09f550b3a42e6821f855d981c94d25b9cc83e8cca431525d70",
|
||||
"sha256:1b1cd25acfa77935bb2e791b75211cec0cfc21227fe29387e553c545c3ff87e1",
|
||||
"sha256:2058653cc12b90e482beacb5c2d52dc3d7606f9e9f5a52c1c10ef49371e76f52",
|
||||
"sha256:2065b6d280dc58f131ffd93393737961ff68ae7eb6884b68879394074cc03c13",
|
||||
"sha256:25b5e48fbb9f0b428a5e44cf740675c9281dd67816149fc33659803399adbbe8",
|
||||
"sha256:2bdb1042970ca5f544a047d6c235a7eb4acdb69df75441dd1dfcbc406377ab37",
|
||||
"sha256:2d81e6e56bbea44be0222fb53f7b255b4e7426290516771592738ca01dbd053b",
|
||||
"sha256:3c7225e8b08996d1a0c804d3a641a53e796685e8c9a9fd52bd428980032cad9a",
|
||||
"sha256:3e2459d441ab8fd8b161aa305a73d5269b3cda13b5a2a39eba58b4dd3e394f49",
|
||||
"sha256:4065906ce3ad6195ac4d1bddde862fe811a42d7be237a1ff762666c3a4bb2151",
|
||||
"sha256:5b072ef8520cfe7bd4db4e3c9972d94336763c2253f7c4718a49e8733bada7b8",
|
||||
"sha256:5edb93cdd3eb32977633fa7aaa6a34b8ab54d9c49cdcc6b0d42c247a29091b22",
|
||||
"sha256:5f856279872a4449fc629924e6a083b9821e366cf98b14c63c308269336f7c14",
|
||||
"sha256:5fd6cac83136e06e538a4d17117eaeabec848c1e86f5742d4811656ad7ee475f",
|
||||
"sha256:6433c956f4a18112342a18281e0bec67fcd8b90be3a5271556c09226e045d805",
|
||||
"sha256:655d7387a1634a9a477c545eea92a1ee902ab28626d701c6de4914e2ed0fecd2",
|
||||
"sha256:66c19399bb3b058e3236af7910b57b19a4fc221459d722ed72a7dc90370ca090",
|
||||
"sha256:6a23b40c98889e9abac084ce5a1fb251664b41da9f6bdb40a4729e2288ed2ed4",
|
||||
"sha256:6e3da2e4bd27c3b796519ca74132c7b9e5348fb6746315e0f6c1592bc5cf1caf",
|
||||
"sha256:6ea5fe20ef97545e14dd4d0263e4c5c3bc3d2248d39b4b0aed4b84d528dfc0af",
|
||||
"sha256:7536a2a0b41672f824912aeab545c2467a9ff5ca73a066ff04fb81043a0a177a",
|
||||
"sha256:7990a9caf3b34016ac30be5e6cfc4e7efd76aa85614a1215b0eae4f0c7e3db59",
|
||||
"sha256:7b0e72974a5d3b101226899f111368ec2c9824d3e9804af0e5b31567f53ad98a",
|
||||
"sha256:87462791dd57de2e3e53068bf4b7169c125c50960f1bdda08ed30c797cb42a56",
|
||||
"sha256:896a21a07f1998648d9998e881ab2b6b80d5daac4c31188535e9d50460edfcf7",
|
||||
"sha256:8b391d5c2ddc2f302d22909676b306cb6521022c3ee306c861a6935670291b2c",
|
||||
"sha256:8f687776a03c19f40b982fb5c414221b7f3d19097841571be2223d1569a59877",
|
||||
"sha256:9a93850a1bdc300177b111b4b35b35299f046148ba23020f91d6efd7bf6b9d20",
|
||||
"sha256:9e6ac22cec72d5b39035b566e4b86c74b84866f12b5b0b6541506a080fb67d6d",
|
||||
"sha256:a709c2249c1f2955dbf879506fd43fa08c31fdb79add9aeb891e3338b648bf60",
|
||||
"sha256:b68a42a31f8429728183c21fb440c21de1b62e5378d0d73f280e2d894ef8942e",
|
||||
"sha256:be02f6acee33bb63862eeff80548cd6b8a62e2d60ad2d8dfd5a8824cc43d8887",
|
||||
"sha256:d189e2acb510e374700cb98cf11b54f0179916ee40f8453b836157ae293efa79",
|
||||
"sha256:d2b5dafbe68237a792143137cba413447f60dd5df428e05d73dcba10c1ea6fcf",
|
||||
"sha256:e1418feeb8b698b9224b1f024555895169d481604d5d884498c1838d7412794c",
|
||||
"sha256:e2defd9527651ad39ec20ae03c812adf47ef7662bdd6bc07dabb10888d70dc62",
|
||||
"sha256:e2f4a5542f50e3d336a18cb224fc757245ca66b1fd0b70b5dd4471b8ff5f2b0e",
|
||||
"sha256:e68c699471ea3e2dd1b35bfd71c6a0a0e4885b64abbe2d98fce1ef11e0afaff3",
|
||||
"sha256:f4b46dbdda2f0bd6480c39db90b21340a19c3b0fcf34bc4c6e465332930ca539",
|
||||
"sha256:fb42f7cf57d5804a9daa6b624e3490ec9e2631e042415f3aebe9f35a8492ba6c",
|
||||
"sha256:ff13410ddbdda5d4197a4a4c09969cb78c722a67550f0a63c02c07aadc624833"
|
||||
"sha256:0379ad4c0246281f136a93ed357e342f24070c7055f00aeff9a69c2352e38d10",
|
||||
"sha256:0459893746dc80dbfb262a24c08fdba2a737d44d26691e85f27b2223cac8075f",
|
||||
"sha256:068febdc7e10655a68a381d2db714d0a90ce46dc81519a4962521a0af07697fb",
|
||||
"sha256:194aef99db88b450b0005406f259ad07df545e6c9632f2a64c04986a0faf2c68",
|
||||
"sha256:3497dde5c99dd616554f0dcb694b955a2dc3eb920fe36b150f88ce53e3be2a46",
|
||||
"sha256:37196a7f2219508c6d944d7d5ea0000a226818787dadbbed309bfa6174f0402b",
|
||||
"sha256:3e9e54ff8c9253d7f01ebc5836a1308d0ebe8e5c2edee620867a49556a158484",
|
||||
"sha256:4b0c13e05da5bc1a6b2e1d3b117cc669e2267ce0a131e94845056d506ef041c6",
|
||||
"sha256:4b587ec06ab7dd4fb5acf50af98314487b7d56d6e1a7f05d49d8367e0e0b23bc",
|
||||
"sha256:4cd0bb7e843ceba759e4d4cc2ca9243d1a878dac42cdcfc2295883fbd5bd2400",
|
||||
"sha256:4fff44ca121329d62e48582850a247a487e968cfccd5527fab20bd5b650b78c3",
|
||||
"sha256:52540572c349179e2a7b6a7b98d6e9320e0333533af809359a95f7b57a61c506",
|
||||
"sha256:54f3ef512876199d7dacd348a0fc53392c6be15bdf857b2d67fa1b089d561b98",
|
||||
"sha256:65ea3336c2bda31bc938785b84283118dec52eb90a2946b140054873946f60a4",
|
||||
"sha256:6bf425bba42a8cee49d611ddd50b7fea9e87787e77bf90b2cb9742293f319480",
|
||||
"sha256:75de90c34db99c42ee7608ff88320442d3ce17c258203139b5a8b0afb4a9b43b",
|
||||
"sha256:78d69020fa9cf28b363d2494e5f1f10210e8fecf49bf4a767fcffcce7b9d7f58",
|
||||
"sha256:7f0ec0ca4e81492569057199e042607090ba48289c4f59f29bbc219282b8dc60",
|
||||
"sha256:83891e9c3a172841f63cae75ff9ce78f12e4c2c5161baec7af725b1d71d4de21",
|
||||
"sha256:8fe6188ea2a1165280b4ff5fab92753b2007665804e8214be3d00d0b83b5764e",
|
||||
"sha256:94bd4295fadea984b6284dc55f7d1ea828240057f3b6a1d8ec3fe4d1ea596964",
|
||||
"sha256:961bc1dcbc3a89b52e8979194b3043e7d28ffc979187e46ad23efa8ada612d04",
|
||||
"sha256:989bf5980fc8aca43a9d0a50ea0a0eee81257e812aaceb1e9c0dbd0856fc5230",
|
||||
"sha256:a30503ee24fc3c59f768501d7a7ded5119a631c79033929a5035a4c91901eac7",
|
||||
"sha256:aa57fe8b32750a64c816840444ec4d1e4310630ecd9d1d7b3db4b45d248b5585",
|
||||
"sha256:b7018494a7a11bcd04da1173c3a38fa5a866f905c138326504552231824ac9c1",
|
||||
"sha256:b70782258c73913eb6542c04b6556c841247eb92eeace5db2ee2e1d4cb6ffaa5",
|
||||
"sha256:ca61e6c5a86efb49b790c8e331ff05db6d5ed773dfc9b58667ea3b260971cfb2",
|
||||
"sha256:cbdfbd49d58cbaabfa88fcdf9e4f09487acca3d17f144648668ea6ae06cc3183",
|
||||
"sha256:cf3dad7dbf65f78fefca0eb385d606844ea58a64fe908883a32768dfaee0b952",
|
||||
"sha256:d30d427a1a731157206ddb1e95620925298e4c7c3f93838f53bd19f6069be244",
|
||||
"sha256:d46241e63df2d39f4b7d44e2ff2becfb6646052b963afb1a99f4ef8c2a31aba0",
|
||||
"sha256:d5870ced447a9fbeb5aeb90f362d9106b80a32f729a57b59c64684dbc9175e92",
|
||||
"sha256:d746da1260bbe7cb06200813cc40482fb1b0595c4c09c3afffe34cfc408d0a4a",
|
||||
"sha256:dbd74d2d3d0b7ac8ca968c3be51d4cfbecec65c6d6f55dabe95e975c234d0338",
|
||||
"sha256:dc29ff612030f3c2e8d7c0bc6c74d18b76dde3726230d892524735498f29f4b2",
|
||||
"sha256:e570fdfa09b84cc7c42a3a6dd22dbd2177cb5f3798feefc430066b260886acae",
|
||||
"sha256:eda1534a5289168614f21422861cbfb1abb8a82d66c00a8ba823d863c0797178",
|
||||
"sha256:ef3b4c7931989eb973fbbcc38accf7711d607a2b0ed84817341878ec8effb9c5",
|
||||
"sha256:f06ef273d8d4101948ebc4262a485737bcfd440fb83dd4b125d3e5f4226117bc",
|
||||
"sha256:f1612e08b8254d359f9b72c4a4099d46cdc0f58b574da48472625a0e80222b6e",
|
||||
"sha256:f8ff793a3188c21e646219dc5e2c60a74dde25c26de3075f4c2e33cf25835340",
|
||||
"sha256:faf44a709f54cf490a27ccb0fb1cb5a99005c36ff7cb127d222306bf84f5493f",
|
||||
"sha256:ff96c61127550ae25caab325e1f4a4fba2740ca77f8e81640f1b8b575e95f784"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==3.8.0"
|
||||
"version": "==3.8.3"
|
||||
},
|
||||
"packaging": {
|
||||
"hashes": [
|
||||
"sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb",
|
||||
"sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==21.3"
|
||||
},
|
||||
"paramiko": {
|
||||
"hashes": [
|
||||
"sha256:003e6bee7c034c21fbb051bf83dc0a9ee4106204dd3c53054c71452cc4ec3938",
|
||||
"sha256:655f25dc8baf763277b933dfcea101d636581df8d6b9774d1fb653426b72c270"
|
||||
"sha256:376885c05c5d6aa6e1f4608aac2a6b5b0548b1add40274477324605903d9cd49",
|
||||
"sha256:b2df1a6325f6996ef55a8789d0462f5b502ea83b3c990cbb5bbe57345c6812c4"
|
||||
],
|
||||
"version": "==2.11.0"
|
||||
"version": "==2.12.0"
|
||||
},
|
||||
"pathspec": {
|
||||
"hashes": [
|
||||
"sha256:46846318467efc4556ccfd27816e004270a9eeeeb4d062ce5e6fc7a87c573f93",
|
||||
"sha256:7ace6161b621d31e7902eb6b5ae148d12cfd23f4a249b9ffb6b9fee12084323d"
|
||||
"sha256:88c2606f2c1e818b978540f73ecc908e13999c6c3a383daf3705652ae79807a5",
|
||||
"sha256:8f6bf73e5758fd365ef5d58ce09ac7c27d2833a8d7da51712eac6e27e35141b0"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==0.10.1"
|
||||
"version": "==0.10.2"
|
||||
},
|
||||
"platformdirs": {
|
||||
"hashes": [
|
||||
"sha256:027d8e83a2d7de06bbac4e5ef7e023c02b863d7ea5d079477e722bb41ab25788",
|
||||
"sha256:58c8abb07dcb441e6ee4b11d8df0ac856038f944ab98b7be6b27b2a3c7feef19"
|
||||
"sha256:1a89a12377800c81983db6be069ec068eee989748799b946cce2a6e80dcc54ca",
|
||||
"sha256:b46ffafa316e6b83b47489d240ce17173f123a9b9c83282141c3daf26ad9ac2e"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==2.5.2"
|
||||
"version": "==2.6.0"
|
||||
},
|
||||
"prance": {
|
||||
"hashes": [
|
||||
"sha256:51ec41d10b317bf5d4e74782a7f7f0c0488c6042433b5b4fde2a988cd069d235",
|
||||
"sha256:ce06feef8814c3436645f3b094e91067b1a111bc860a51f239f93437a8d4b00e"
|
||||
"sha256:814a523bc1ff18383c12cb523ce44c90fe8792bf5f48d8cc33c9f658276658ed",
|
||||
"sha256:c15e9ca889b56262e4c2aee354f52918ba5e54f46bb3da42b806d8bbd8255ee9"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==0.21.8.0"
|
||||
"version": "==0.22.11.4.0"
|
||||
},
|
||||
"pycparser": {
|
||||
"hashes": [
|
||||
|
@ -640,6 +657,14 @@
|
|||
"markers": "python_version >= '3.6'",
|
||||
"version": "==1.5.0"
|
||||
},
|
||||
"pyparsing": {
|
||||
"hashes": [
|
||||
"sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb",
|
||||
"sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"
|
||||
],
|
||||
"markers": "python_full_version >= '3.6.8'",
|
||||
"version": "==3.0.9"
|
||||
},
|
||||
"pyrsistent": {
|
||||
"hashes": [
|
||||
"sha256:aa2ae1c2e496f4d6777f869ea5de7166a8ccb9c2e06ebcf6c7ff1b670c98c5ef"
|
||||
|
@ -720,7 +745,7 @@
|
|||
"sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983",
|
||||
"sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"
|
||||
],
|
||||
"markers": "python_version >= '3.7' and python_version < '4'",
|
||||
"markers": "python_version >= '3.7' and python_version < '4.0'",
|
||||
"version": "==2.28.1"
|
||||
},
|
||||
"rfc3986": {
|
||||
|
@ -743,39 +768,43 @@
|
|||
},
|
||||
"ruamel.yaml.clib": {
|
||||
"hashes": [
|
||||
"sha256:066f886bc90cc2ce44df8b5f7acfc6a7e2b2e672713f027136464492b0c34d7c",
|
||||
"sha256:0847201b767447fc33b9c235780d3aa90357d20dd6108b92be544427bea197dd",
|
||||
"sha256:1070ba9dd7f9370d0513d649420c3b362ac2d687fe78c6e888f5b12bf8bc7bee",
|
||||
"sha256:1866cf2c284a03b9524a5cc00daca56d80057c5ce3cdc86a52020f4c720856f0",
|
||||
"sha256:1b4139a6ffbca8ef60fdaf9b33dec05143ba746a6f0ae0f9d11d38239211d335",
|
||||
"sha256:210c8fcfeff90514b7133010bf14e3bad652c8efde6b20e00c43854bf94fa5a6",
|
||||
"sha256:221eca6f35076c6ae472a531afa1c223b9c29377e62936f61bc8e6e8bdc5f9e7",
|
||||
"sha256:31ea73e564a7b5fbbe8188ab8b334393e06d997914a4e184975348f204790277",
|
||||
"sha256:3fb9575a5acd13031c57a62cc7823e5d2ff8bc3835ba4d94b921b4e6ee664104",
|
||||
"sha256:4ff604ce439abb20794f05613c374759ce10e3595d1867764dd1ae675b85acbd",
|
||||
"sha256:61bc5e5ca632d95925907c569daa559ea194a4d16084ba86084be98ab1cec1c6",
|
||||
"sha256:6e7be2c5bcb297f5b82fee9c665eb2eb7001d1050deaba8471842979293a80b0",
|
||||
"sha256:72a2b8b2ff0a627496aad76f37a652bcef400fd861721744201ef1b45199ab78",
|
||||
"sha256:77df077d32921ad46f34816a9a16e6356d8100374579bc35e15bab5d4e9377de",
|
||||
"sha256:78988ed190206672da0f5d50c61afef8f67daa718d614377dcd5e3ed85ab4a99",
|
||||
"sha256:7b2927e92feb51d830f531de4ccb11b320255ee95e791022555971c466af4527",
|
||||
"sha256:7f7ecb53ae6848f959db6ae93bdff1740e651809780822270eab111500842a84",
|
||||
"sha256:825d5fccef6da42f3c8eccd4281af399f21c02b32d98e113dbc631ea6a6ecbc7",
|
||||
"sha256:846fc8336443106fe23f9b6d6b8c14a53d38cef9a375149d61f99d78782ea468",
|
||||
"sha256:89221ec6d6026f8ae859c09b9718799fea22c0e8da8b766b0b2c9a9ba2db326b",
|
||||
"sha256:9efef4aab5353387b07f6b22ace0867032b900d8e91674b5d8ea9150db5cae94",
|
||||
"sha256:a32f8d81ea0c6173ab1b3da956869114cae53ba1e9f72374032e33ba3118c233",
|
||||
"sha256:a49e0161897901d1ac9c4a79984b8410f450565bbad64dbfcbf76152743a0cdb",
|
||||
"sha256:ada3f400d9923a190ea8b59c8f60680c4ef8a4b0dfae134d2f2ff68429adfab5",
|
||||
"sha256:bf75d28fa071645c529b5474a550a44686821decebdd00e21127ef1fd566eabe",
|
||||
"sha256:cfdb9389d888c5b74af297e51ce357b800dd844898af9d4a547ffc143fa56751",
|
||||
"sha256:d3c620a54748a3d4cf0bcfe623e388407c8e85a4b06b8188e126302bcab93ea8",
|
||||
"sha256:d67f273097c368265a7b81e152e07fb90ed395df6e552b9fa858c6d2c9f42502",
|
||||
"sha256:dc6a613d6c74eef5a14a214d433d06291526145431c3b964f5e16529b1842bed",
|
||||
"sha256:de9c6b8a1ba52919ae919f3ae96abb72b994dd0350226e28f3686cb4f142165c"
|
||||
"sha256:045e0626baf1c52e5527bd5db361bc83180faaba2ff586e763d3d5982a876a9e",
|
||||
"sha256:15910ef4f3e537eea7fe45f8a5d19997479940d9196f357152a09031c5be59f3",
|
||||
"sha256:184faeaec61dbaa3cace407cffc5819f7b977e75360e8d5ca19461cd851a5fc5",
|
||||
"sha256:1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497",
|
||||
"sha256:2aa261c29a5545adfef9296b7e33941f46aa5bbd21164228e833412af4c9c75f",
|
||||
"sha256:3110a99e0f94a4a3470ff67fc20d3f96c25b13d24c6980ff841e82bafe827cac",
|
||||
"sha256:3243f48ecd450eddadc2d11b5feb08aca941b5cd98c9b1db14b2fd128be8c697",
|
||||
"sha256:370445fd795706fd291ab00c9df38a0caed0f17a6fb46b0f607668ecb16ce763",
|
||||
"sha256:40d030e2329ce5286d6b231b8726959ebbe0404c92f0a578c0e2482182e38282",
|
||||
"sha256:41d0f1fa4c6830176eef5b276af04c89320ea616655d01327d5ce65e50575c94",
|
||||
"sha256:4a4d8d417868d68b979076a9be6a38c676eca060785abaa6709c7b31593c35d1",
|
||||
"sha256:4b3a93bb9bc662fc1f99c5c3ea8e623d8b23ad22f861eb6fce9377ac07ad6072",
|
||||
"sha256:5bc0667c1eb8f83a3752b71b9c4ba55ef7c7058ae57022dd9b29065186a113d9",
|
||||
"sha256:721bc4ba4525f53f6a611ec0967bdcee61b31df5a56801281027a3a6d1c2daf5",
|
||||
"sha256:763d65baa3b952479c4e972669f679fe490eee058d5aa85da483ebae2009d231",
|
||||
"sha256:7bdb4c06b063f6fd55e472e201317a3bb6cdeeee5d5a38512ea5c01e1acbdd93",
|
||||
"sha256:8831a2cedcd0f0927f788c5bdf6567d9dc9cc235646a434986a852af1cb54b4b",
|
||||
"sha256:91a789b4aa0097b78c93e3dc4b40040ba55bef518f84a40d4442f713b4094acb",
|
||||
"sha256:92460ce908546ab69770b2e576e4f99fbb4ce6ab4b245345a3869a0a0410488f",
|
||||
"sha256:99e77daab5d13a48a4054803d052ff40780278240a902b880dd37a51ba01a307",
|
||||
"sha256:a234a20ae07e8469da311e182e70ef6b199d0fbeb6c6cc2901204dd87fb867e8",
|
||||
"sha256:a7b301ff08055d73223058b5c46c55638917f04d21577c95e00e0c4d79201a6b",
|
||||
"sha256:be2a7ad8fd8f7442b24323d24ba0b56c51219513cfa45b9ada3b87b76c374d4b",
|
||||
"sha256:bf9a6bc4a0221538b1a7de3ed7bca4c93c02346853f44e1cd764be0023cd3640",
|
||||
"sha256:c3ca1fbba4ae962521e5eb66d72998b51f0f4d0f608d3c0347a48e1af262efa7",
|
||||
"sha256:d000f258cf42fec2b1bbf2863c61d7b8918d31ffee905da62dede869254d3b8a",
|
||||
"sha256:d5859983f26d8cd7bb5c287ef452e8aacc86501487634573d260968f753e1d71",
|
||||
"sha256:d5e51e2901ec2366b79f16c2299a03e74ba4531ddcfacc1416639c557aef0ad8",
|
||||
"sha256:debc87a9516b237d0466a711b18b6ebeb17ba9f391eb7f91c649c5c4ec5006c7",
|
||||
"sha256:df5828871e6648db72d1c19b4bd24819b80a755c4541d3409f0f7acd0f335c80",
|
||||
"sha256:ecdf1a604009bd35c674b9225a8fa609e0282d9b896c03dd441a91e5f53b534e",
|
||||
"sha256:efa08d63ef03d079dcae1dfe334f6c8847ba8b645d08df286358b1f5293d24ab",
|
||||
"sha256:f01da5790e95815eb5a8a138508c01c758e5f5bc0ce4286c4f7028b8dd7ac3d0",
|
||||
"sha256:f34019dced51047d6f70cb9383b2ae2853b7fc4dce65129a5acd49f4f9256646"
|
||||
],
|
||||
"markers": "python_version < '3.11' and platform_python_implementation == 'CPython'",
|
||||
"version": "==0.2.6"
|
||||
"version": "==0.2.7"
|
||||
},
|
||||
"semver": {
|
||||
"hashes": [
|
||||
|
@ -787,11 +816,11 @@
|
|||
},
|
||||
"setuptools": {
|
||||
"hashes": [
|
||||
"sha256:2e24e0bec025f035a2e72cdd1961119f557d78ad331bb00ff82efb2ab8da8e82",
|
||||
"sha256:7732871f4f7fa58fb6bdcaeadb0161b2bd046c85905dbaa066bdcbcc81953b57"
|
||||
"sha256:57f6f22bde4e042978bcd50176fdb381d7c21a9efa4041202288d3737a0c6a54",
|
||||
"sha256:a7620757bf984b58deaf32fc8a4577a9bbc0850cf92c20e1ce41c38c19e5fb75"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==65.3.0"
|
||||
"version": "==65.6.3"
|
||||
},
|
||||
"six": {
|
||||
"hashes": [
|
||||
|
@ -857,19 +886,19 @@
|
|||
},
|
||||
"typing-extensions": {
|
||||
"hashes": [
|
||||
"sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02",
|
||||
"sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"
|
||||
"sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa",
|
||||
"sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==4.3.0"
|
||||
"version": "==4.4.0"
|
||||
},
|
||||
"urllib3": {
|
||||
"hashes": [
|
||||
"sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e",
|
||||
"sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"
|
||||
"sha256:47cc05d99aaa09c9e72ed5809b60e7ba354e64b59c9c173ac3018642d8bb41fc",
|
||||
"sha256:c083dd0dce68dbfbe1129d5271cb90f9447dea7d52097c6e0126120c521ddea8"
|
||||
],
|
||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5' and python_version < '4'",
|
||||
"version": "==1.26.12"
|
||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'",
|
||||
"version": "==1.26.13"
|
||||
}
|
||||
},
|
||||
"develop": {}
|
||||
|
|
|
@ -2,7 +2,9 @@
|
|||
Purpose: Clarify our focus for developing a new .gov TLD system and align it to the needs of its users, CISA's mission and standards, and the vision for the .gov program.
|
||||
|
||||
## Product Vision
|
||||
_TBD - once we synthesize initial research and align as a product team_
|
||||
|
||||
CISA intends to create a modern, user-centered, responsive web application to enable .gov registrants to manage their domain’s registration lifecycle, DNS settings, and useful supporting services. The registrar should be the central .gov hub for CISA, supporting registrant management and tracking technical performance indicators for the TLD. For CISA and registrants, the registrar should help generate insights into the security of an organization’s internet-accessible systems.
|
||||
|
||||
|
||||
## Primary, Secondary, Tertiary Users
|
||||
### Primary:
|
||||
|
@ -12,7 +14,9 @@ _TBD - once we synthesize initial research and align as a product team_
|
|||
|
||||
|
||||
## Problem Statements
|
||||
_TBD - once we synthesize initial research and prioritize areas of need_
|
||||
U.S.-based government organizations and publicly controlled entities lack a clear, usable, and efficient way to apply, register, and a .gov domain and related infrastructure in order to build public trust of their website and communications.
|
||||
|
||||
CISA lacks a scalable, efficient, and secure method of managing the outreach and operations of .gov TLD program in order to facilitate government agencies building public trust of their website and communications.
|
||||
|
||||
## Short-term Success for .gov
|
||||
* A production-ready, modern .gov registrar that can replace the current system with improved user experience and operational efficiency
|
||||
|
@ -25,12 +29,6 @@ _TBD - once we synthesize initial research and prioritize areas of need_
|
|||
* Develop services to support “the security, privacy, reliability, accessibility, and speed of registered .gov internet domains” (DOTGOV ACT)
|
||||
* Sustainable long-term skills and capacity to scale up the program
|
||||
|
||||
## Problems .gov system needs to solve (now)
|
||||
_TBD - once we synthesize initial research and align as a product team_
|
||||
|
||||
## Problems .gov system doesn’t need to solve (next or later)
|
||||
_TBD - once we synthesize initial research and align as a product team_
|
||||
|
||||
## Risks
|
||||
_To be prioritized and posted_
|
||||
|
||||
|
|
30
src/Pipfile.lock
generated
30
src/Pipfile.lock
generated
|
@ -22,12 +22,6 @@
|
|||
"markers": "python_version >= '3.7'",
|
||||
"version": "==3.5.2"
|
||||
},
|
||||
"beaker": {
|
||||
"hashes": [
|
||||
"sha256:2d5f427e3b13259c98c934cab0e428fc1c18a4c4b94acbdae930df7e7f51d1ec"
|
||||
],
|
||||
"version": "==1.12.0"
|
||||
},
|
||||
"cachetools": {
|
||||
"hashes": [
|
||||
"sha256:6a94c6402995a99c3970cc7e4884bb60b4a8639938157eeed436098bf9831757",
|
||||
|
@ -171,10 +165,10 @@
|
|||
},
|
||||
"dj-database-url": {
|
||||
"hashes": [
|
||||
"sha256:5f2f6b3f65786bac5d3b9e749bff1dcac83398d95778576909697f7b16aee6b9",
|
||||
"sha256:8be4253439d75412aaad4f82af7aecda956893c87fb8d10edc0adb2d34312527"
|
||||
"sha256:5c2993b91801c0f78a8b19e642b497b90831124cbade0c265900d4c1037b4730",
|
||||
"sha256:b23b15046cb38180e0c95207bcc90fe5e9dbde8eef16065907dd85cf4ca7036c"
|
||||
],
|
||||
"version": "==1.1.0"
|
||||
"version": "==1.2.0"
|
||||
},
|
||||
"dj-email-url": {
|
||||
"hashes": [
|
||||
|
@ -279,7 +273,7 @@
|
|||
"hashes": [
|
||||
"sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d"
|
||||
],
|
||||
"markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
||||
"markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'",
|
||||
"version": "==0.18.2"
|
||||
},
|
||||
"gunicorn": {
|
||||
|
@ -362,11 +356,11 @@
|
|||
},
|
||||
"oic": {
|
||||
"hashes": [
|
||||
"sha256:b82316c4b9633781b8fcb091a7d082ffc863f850a87d8725ead454746aeae677",
|
||||
"sha256:c1a46dd5f803349f1eea7393d70a3f2bdbc97e73b96f3ebb54843e1dc190f5e4"
|
||||
"sha256:1bb80d7717faed750f1d8d482c06616a45f1fa5b2295d0620049040b4b48b97e",
|
||||
"sha256:6cd66c5203baa8cd90dd2b73d0cc83785e96c91fab67fa7b587549fcadb3c092"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==1.4.0"
|
||||
"version": "==1.5.0"
|
||||
},
|
||||
"orderedmultidict": {
|
||||
"hashes": [
|
||||
|
@ -518,7 +512,7 @@
|
|||
"sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86",
|
||||
"sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"
|
||||
],
|
||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'",
|
||||
"version": "==2.8.2"
|
||||
},
|
||||
"python-dotenv": {
|
||||
|
@ -550,7 +544,7 @@
|
|||
"sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926",
|
||||
"sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"
|
||||
],
|
||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'",
|
||||
"version": "==1.16.0"
|
||||
},
|
||||
"sqlparse": {
|
||||
|
@ -859,7 +853,7 @@
|
|||
"sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926",
|
||||
"sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"
|
||||
],
|
||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'",
|
||||
"version": "==1.16.0"
|
||||
},
|
||||
"smmap": {
|
||||
|
@ -899,7 +893,7 @@
|
|||
"sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc",
|
||||
"sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"
|
||||
],
|
||||
"markers": "python_full_version < '3.11.0a7'",
|
||||
"markers": "python_version < '3.11'",
|
||||
"version": "==2.0.1"
|
||||
},
|
||||
"types-cachetools": {
|
||||
|
@ -960,7 +954,7 @@
|
|||
"sha256:73aae30359291c14fa3b956f8b5ca31960e420c28c1bec002547fb04928cf89b",
|
||||
"sha256:b64ef5141be559cfade448f044fa45c2260351edcb6a8ef6b7e00c7dcef0c323"
|
||||
],
|
||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'",
|
||||
"version": "==1.8.7"
|
||||
},
|
||||
"webtest": {
|
||||
|
|
12
src/package-lock.json
generated
12
src/package-lock.json
generated
|
@ -1485,9 +1485,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/decode-uri-component": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
|
||||
"integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==",
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
|
||||
"integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10"
|
||||
|
@ -8084,9 +8084,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"decode-uri-component": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
|
||||
"integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==",
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
|
||||
"integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
|
||||
"dev": true
|
||||
},
|
||||
"default-compare": {
|
||||
|
|
|
@ -81,17 +81,22 @@ class OrganizationContactForm(RegistrarForm):
|
|||
required=False,
|
||||
choices=DomainApplication.AGENCY_CHOICES,
|
||||
)
|
||||
organization_name = forms.CharField(label="Organization name")
|
||||
address_line1 = forms.CharField(label="Address line 1")
|
||||
organization_name = forms.CharField(label="Organization Name")
|
||||
address_line1 = forms.CharField(label="Street address")
|
||||
address_line2 = forms.CharField(
|
||||
required=False,
|
||||
label="Address line 2",
|
||||
label="Street address line 2",
|
||||
)
|
||||
city = forms.CharField(label="City")
|
||||
state_territory = forms.ChoiceField(
|
||||
label="State/territory",
|
||||
label="State, territory, or military post",
|
||||
choices=[("", "--Select--")] + DomainApplication.StateTerritoryChoices.choices,
|
||||
)
|
||||
zipcode = forms.CharField(label="ZIP code")
|
||||
urbanization = forms.CharField(
|
||||
required=False,
|
||||
label="Urbanization (Puerto Rico only)",
|
||||
)
|
||||
|
||||
|
||||
class AuthorizingOfficialForm(RegistrarForm):
|
||||
|
@ -480,6 +485,10 @@ class ApplicationWizard(LoginRequiredMixin, NamedUrlSessionWizardView):
|
|||
context["form_titles"] = TITLES
|
||||
if self.steps.current == Step.ORGANIZATION_CONTACT:
|
||||
context["is_federal"] = self._is_federal()
|
||||
if self.steps.current == Step.REVIEW:
|
||||
context["step_cls"] = Step
|
||||
application = self.get_application_object()
|
||||
context["application"] = application
|
||||
return context
|
||||
|
||||
def get_application_object(self) -> DomainApplication:
|
||||
|
@ -502,9 +511,7 @@ class ApplicationWizard(LoginRequiredMixin, NamedUrlSessionWizardView):
|
|||
self.storage.extra_data["application_id"] = application.id
|
||||
return application
|
||||
|
||||
def forms_to_database(
|
||||
self, forms: dict = None, form: RegistrarForm = None
|
||||
) -> DomainApplication:
|
||||
def form_to_database(self, form: RegistrarForm) -> DomainApplication:
|
||||
"""
|
||||
Unpack the form responses onto the model object properties.
|
||||
|
||||
|
@ -512,14 +519,6 @@ class ApplicationWizard(LoginRequiredMixin, NamedUrlSessionWizardView):
|
|||
"""
|
||||
application = self.get_application_object()
|
||||
|
||||
if forms:
|
||||
itr = forms
|
||||
elif form:
|
||||
itr = {"form": form}
|
||||
else:
|
||||
raise TypeError("forms and form cannot both be None")
|
||||
|
||||
for form in itr.values():
|
||||
if form is not None and hasattr(form, "to_database"):
|
||||
form.to_database(application)
|
||||
|
||||
|
@ -532,7 +531,7 @@ class ApplicationWizard(LoginRequiredMixin, NamedUrlSessionWizardView):
|
|||
Do not manipulate the form data here.
|
||||
"""
|
||||
# save progress
|
||||
self.forms_to_database(form=form)
|
||||
self.form_to_database(form=form)
|
||||
return self.get_form_step_data(form)
|
||||
|
||||
def get_form(self, step=None, data=None, files=None):
|
||||
|
@ -572,7 +571,7 @@ class ApplicationWizard(LoginRequiredMixin, NamedUrlSessionWizardView):
|
|||
|
||||
def done(self, form_list, form_dict, **kwargs):
|
||||
"""Called when the data for every form is submitted and validated."""
|
||||
application = self.forms_to_database(forms=form_dict)
|
||||
application = self.get_application_object()
|
||||
application.submit() # change the status to submitted
|
||||
application.save()
|
||||
logger.debug("Application object saved: %s", application.id)
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
# Generated by Django 4.1.3 on 2022-12-12 21:00
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("registrar", "0004_domainapplication_federal_agency"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="domainapplication",
|
||||
name="city",
|
||||
field=models.TextField(blank=True, help_text="City", null=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="domainapplication",
|
||||
name="urbanization",
|
||||
field=models.TextField(blank=True, help_text="Urbanization", null=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="domainapplication",
|
||||
name="federal_agency",
|
||||
field=models.TextField(
|
||||
blank=True, help_text="Top level federal agency", null=True
|
||||
),
|
||||
),
|
||||
]
|
|
@ -42,9 +42,14 @@ class Contact(models.Model):
|
|||
db_index=True,
|
||||
)
|
||||
|
||||
def get_formatted_name(self):
|
||||
"""Returns the contact's name in Western order."""
|
||||
names = [n for n in [self.first_name, self.middle_name, self.last_name] if n]
|
||||
return " ".join(names) if names else "Unknown"
|
||||
|
||||
def __str__(self):
|
||||
if self.first_name or self.last_name:
|
||||
return f"{self.title or ''} {self.first_name or ''} {self.last_name or ''}"
|
||||
return self.get_formatted_name()
|
||||
elif self.email:
|
||||
return self.email
|
||||
elif self.pk:
|
||||
|
|
|
@ -28,62 +28,69 @@ class DomainApplication(TimeStampedModel):
|
|||
]
|
||||
|
||||
class StateTerritoryChoices(models.TextChoices):
|
||||
ALABAMA = "AL", "Alabama"
|
||||
ALASKA = "AK", "Alaska"
|
||||
ARIZONA = "AZ", "Arizona"
|
||||
ARKANSAS = "AR", "Arkansas"
|
||||
CALIFORNIA = "CA", "California"
|
||||
COLORADO = "CO", "Colorado"
|
||||
CONNECTICUT = "CT", "Connecticut"
|
||||
DELAWARE = "DE", "Delaware"
|
||||
DISTRICT_OF_COLUMBIA = "DC", "District of Columbia"
|
||||
FLORIDA = "FL", "Florida"
|
||||
GEORGIA = "GA", "Georgia"
|
||||
HAWAII = "HI", "Hawaii"
|
||||
IDAHO = "ID", "Idaho"
|
||||
ILLINOIS = "IL", "Illinois"
|
||||
INDIANA = "IN", "Indiana"
|
||||
IOWA = "IA", "Iowa"
|
||||
KANSAS = "KS", "Kansas"
|
||||
KENTUCKY = "KY", "Kentucky"
|
||||
LOUISIANA = "LA", "Louisiana"
|
||||
MAINE = "ME", "Maine"
|
||||
MARYLAND = "MD", "Maryland"
|
||||
MASSACHUSETTS = "MA", "Massachusetts"
|
||||
MICHIGAN = "MI", "Michigan"
|
||||
MINNESOTA = "MN", "Minnesota"
|
||||
MISSISSIPPI = "MS", "Mississippi"
|
||||
MISSOURI = "MO", "Missouri"
|
||||
MONTANA = "MT", "Montana"
|
||||
NEBRASKA = "NE", "Nebraska"
|
||||
NEVADA = "NV", "Nevada"
|
||||
NEW_HAMPSHIRE = "NH", "New Hampshire"
|
||||
NEW_JERSEY = "NJ", "New Jersey"
|
||||
NEW_MEXICO = "NM", "New Mexico"
|
||||
NEW_YORK = "NY", "New York"
|
||||
NORTH_CAROLINA = "NC", "North Carolina"
|
||||
NORTH_DAKOTA = "ND", "North Dakota"
|
||||
OHIO = "OH", "Ohio"
|
||||
OKLAHOMA = "OK", "Oklahoma"
|
||||
OREGON = "OR", "Oregon"
|
||||
PENNSYLVANIA = "PA", "Pennsylvania"
|
||||
RHODE_ISLAND = "RI", "Rhode Island"
|
||||
SOUTH_CAROLINA = "SC", "South Carolina"
|
||||
SOUTH_DAKOTA = "SD", "South Dakota"
|
||||
TENNESSEE = "TN", "Tennessee"
|
||||
TEXAS = "TX", "Texas"
|
||||
UTAH = "UT", "Utah"
|
||||
VERMONT = "VT", "Vermont"
|
||||
VIRGINIA = "VA", "Virginia"
|
||||
WASHINGTON = "WA", "Washington"
|
||||
WEST_VIRGINIA = "WV", "West Virginia"
|
||||
WISCONSIN = "WI", "Wisconsin"
|
||||
WYOMING = "WY", "Wyoming"
|
||||
AMERICAN_SAMOA = "AS", "American Samoa"
|
||||
GUAM = "GU", "Guam"
|
||||
NORTHERN_MARIANA_ISLANDS = "MP", "Northern Mariana Islands"
|
||||
PUERTO_RICO = "PR", "Puerto Rico"
|
||||
VIRGIN_ISLANDS = "VI", "Virgin Islands"
|
||||
ALABAMA = "AL", "Alabama (AL)"
|
||||
ALASKA = "AK", "Alaska (AK)"
|
||||
AMERICAN_SAMOA = "AS", "American Samoa (AS)"
|
||||
ARIZONA = "AZ", "Arizona (AZ)"
|
||||
ARKANSAS = "AR", "Arkansas (AR)"
|
||||
CALIFORNIA = "CA", "California (CA)"
|
||||
COLORADO = "CO", "Colorado (CO)"
|
||||
CONNECTICUT = "CT", "Connecticut (CT)"
|
||||
DELAWARE = "DE", "Delaware (DE)"
|
||||
DISTRICT_OF_COLUMBIA = "DC", "District of Columbia (DC)"
|
||||
FLORIDA = "FL", "Florida (FL)"
|
||||
GEORGIA = "GA", "Georgia (GA)"
|
||||
GUAM = "GU", "Guam (GU)"
|
||||
HAWAII = "HI", "Hawaii (HI)"
|
||||
IDAHO = "ID", "Idaho (ID)"
|
||||
ILLINOIS = "IL", "Illinois (IL)"
|
||||
INDIANA = "IN", "Indiana (IN)"
|
||||
IOWA = "IA", "Iowa (IA)"
|
||||
KANSAS = "KS", "Kansas (KS)"
|
||||
KENTUCKY = "KY", "Kentucky (KY)"
|
||||
LOUISIANA = "LA", "Louisiana (LA)"
|
||||
MAINE = "ME", "Maine (ME)"
|
||||
MARYLAND = "MD", "Maryland (MD)"
|
||||
MASSACHUSETTS = "MA", "Massachusetts (MA)"
|
||||
MICHIGAN = "MI", "Michigan (MI)"
|
||||
MINNESOTA = "MN", "Minnesota (MN)"
|
||||
MISSISSIPPI = "MS", "Mississippi (MS)"
|
||||
MISSOURI = "MO", "Missouri (MO)"
|
||||
MONTANA = "MT", "Montana (MT)"
|
||||
NEBRASKA = "NE", "Nebraska (NE)"
|
||||
NEVADA = "NV", "Nevada (NV)"
|
||||
NEW_HAMPSHIRE = "NH", "New Hampshire (NH)"
|
||||
NEW_JERSEY = "NJ", "New Jersey (NJ)"
|
||||
NEW_MEXICO = "NM", "New Mexico (NM)"
|
||||
NEW_YORK = "NY", "New York (NY)"
|
||||
NORTH_CAROLINA = "NC", "North Carolina (NC)"
|
||||
NORTH_DAKOTA = "ND", "North Dakota (ND)"
|
||||
NORTHERN_MARIANA_ISLANDS = "MP", "Northern Mariana Islands (MP)"
|
||||
OHIO = "OH", "Ohio (OH)"
|
||||
OKLAHOMA = "OK", "Oklahoma (OK)"
|
||||
OREGON = "OR", "Oregon (OR)"
|
||||
PENNSYLVANIA = "PA", "Pennsylvania (PA)"
|
||||
PUERTO_RICO = "PR", "Puerto Rico (PR)"
|
||||
RHODE_ISLAND = "RI", "Rhode Island (RI)"
|
||||
SOUTH_CAROLINA = "SC", "South Carolina (SC)"
|
||||
SOUTH_DAKOTA = "SD", "South Dakota (SD)"
|
||||
TENNESSEE = "TN", "Tennessee (TN)"
|
||||
TEXAS = "TX", "Texas (TX)"
|
||||
UNITED_STATES_MINOR_OUTLYING_ISLANDS = (
|
||||
"UM",
|
||||
"United States Minor Outlying Islands (UM)",
|
||||
)
|
||||
UTAH = "UT", "Utah (UT)"
|
||||
VERMONT = "VT", "Vermont (VT)"
|
||||
VIRGIN_ISLANDS = "VI", "Virgin Islands (VI)"
|
||||
VIRGINIA = "VA", "Virginia (VA)"
|
||||
WASHINGTON = "WA", "Washington (WA)"
|
||||
WEST_VIRGINIA = "WV", "West Virginia (WV)"
|
||||
WISCONSIN = "WI", "Wisconsin (WI)"
|
||||
WYOMING = "WY", "Wyoming (WY)"
|
||||
ARMED_FORCES_AA = "AA", "Armed Forces Americas (AA)"
|
||||
ARMED_FORCES_AE = "AE", "Armed Forces Africa, Canada, Europe, Middle East (AE)"
|
||||
ARMED_FORCES_AP = "AP", "Armed Forces Pacific (AP)"
|
||||
|
||||
class OrganizationChoices(models.TextChoices):
|
||||
FEDERAL = "federal", "Federal: a federal agency"
|
||||
|
@ -280,7 +287,7 @@ class DomainApplication(TimeStampedModel):
|
|||
|
||||
federal_agency = models.TextField(
|
||||
null=True,
|
||||
blank=False,
|
||||
blank=True,
|
||||
help_text="Top level federal agency",
|
||||
)
|
||||
|
||||
|
@ -315,6 +322,11 @@ class DomainApplication(TimeStampedModel):
|
|||
blank=True,
|
||||
help_text="Address line 2",
|
||||
)
|
||||
city = models.TextField(
|
||||
null=True,
|
||||
blank=True,
|
||||
help_text="City",
|
||||
)
|
||||
state_territory = models.CharField(
|
||||
max_length=2,
|
||||
null=True,
|
||||
|
@ -328,6 +340,11 @@ class DomainApplication(TimeStampedModel):
|
|||
help_text="ZIP code",
|
||||
db_index=True,
|
||||
)
|
||||
urbanization = models.TextField(
|
||||
null=True,
|
||||
blank=True,
|
||||
help_text="Urbanization",
|
||||
)
|
||||
|
||||
authorizing_official = models.ForeignKey(
|
||||
"registrar.Contact",
|
||||
|
|
|
@ -8,16 +8,87 @@
|
|||
{{ wizard.management_form }}
|
||||
{% csrf_token %}
|
||||
|
||||
{% for this_step in wizard.steps.all|slice:":-1" %}
|
||||
<div class="review__step margin-top-2">
|
||||
{% for step in wizard.steps.all|slice:":-1" %}
|
||||
<section class="review__step margin-top-205">
|
||||
<hr />
|
||||
<div class="review__step__title display-flex flex-justify">
|
||||
<span class="review__step__name">{{ form_titles|get_item:this_step }}</span>
|
||||
<a href="{% url wizard.url_name step=this_step %}">Edit </a>
|
||||
</div>
|
||||
<div class="review__step__value">
|
||||
<Answer value>
|
||||
<div class="review__step__name">{{ form_titles|get_item:step }}</div>
|
||||
<div>
|
||||
{% if step == step_cls.ORGANIZATION_TYPE %}
|
||||
{{ application.get_organization_type_display|default:"Incomplete" }}
|
||||
{% endif %}
|
||||
{% if step == step_cls.ORGANIZATION_FEDERAL %}
|
||||
{{ application.get_federal_type_display|default:"Incomplete" }}
|
||||
{% endif %}
|
||||
{% if step == step_cls.ORGANIZATION_ELECTION %}
|
||||
{{ application.is_election_board|yesno:"Yes,No,Incomplete" }}
|
||||
{% endif %}
|
||||
{% if step == step_cls.ORGANIZATION_CONTACT %}
|
||||
{% if application.organization_name %}
|
||||
{% include "includes/organization_address.html" with organization=application %}
|
||||
{% else %}
|
||||
Incomplete
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if step == step_cls.AUTHORIZING_OFFICIAL %}
|
||||
{% if application.authorizing_official %}
|
||||
{% include "includes/contact.html" with contact=application.authorizing_official %}
|
||||
{% else %}
|
||||
Incomplete
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if step == step_cls.CURRENT_SITES %}
|
||||
<ul class="add-list-reset">
|
||||
{% for site in application.current_websites.all %}
|
||||
<li>{{ site.website }}</li>
|
||||
{% empty %}
|
||||
<li>None</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% if step == step_cls.DOTGOV_DOMAIN %}
|
||||
<ul class="add-list-reset">
|
||||
<li>{{ application.requested_domain.name|default:"Incomplete" }}</li>
|
||||
{% for site in application.alternative_domains.all %}
|
||||
<li>{{ site.website }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% if step == step_cls.PURPOSE %}
|
||||
{{ application.purpose|default:"Incomplete" }}
|
||||
{% endif %}
|
||||
{% if step == step_cls.YOUR_CONTACT %}
|
||||
{% if application.submitter %}
|
||||
{% include "includes/contact.html" with contact=application.submitter %}
|
||||
{% else %}
|
||||
Incomplete
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if step == step_cls.OTHER_CONTACTS %}
|
||||
{% for other in application.other_contacts.all %}
|
||||
{% include "includes/contact.html" with contact=other %}
|
||||
{% empty %}
|
||||
None
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if step == step_cls.SECURITY_EMAIL %}
|
||||
{{ application.security_email|default:"None" }}
|
||||
{% endif %}
|
||||
{% if step == step_cls.ANYTHING_ELSE %}
|
||||
{{ application.anything_else|default:"No" }}
|
||||
{% endif %}
|
||||
{% if step == step_cls.REQUIREMENTS %}
|
||||
{{ application.is_policy_acknowledged|yesno:"Agree,Do not agree,Do not agree" }}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<a
|
||||
aria-describedby="review_step_title__{{step}}"
|
||||
href="{% url wizard.url_name step=step %}"
|
||||
>Edit<span class="sr-only"> {{ form_titles|get_item:step }}</span></a>
|
||||
</div>
|
||||
</section>
|
||||
{% endfor %}
|
||||
|
||||
{{ block.super }}
|
||||
|
|
6
src/registrar/templates/includes/contact.html
Normal file
6
src/registrar/templates/includes/contact.html
Normal file
|
@ -0,0 +1,6 @@
|
|||
<address>
|
||||
{{ contact.get_formatted_name }}<br />
|
||||
{% if contact.title %}{{ contact.title }}<br />{% endif %}
|
||||
{% if contact.email %}{{ contact.email }}<br />{% endif %}
|
||||
{% if contact.phone %}{{ contact.phone }}{% endif %}
|
||||
</address>
|
25
src/registrar/templates/includes/organization_address.html
Normal file
25
src/registrar/templates/includes/organization_address.html
Normal file
|
@ -0,0 +1,25 @@
|
|||
<address>
|
||||
{% if organization.organization_name %}
|
||||
{{ organization.organization_name }}
|
||||
{% endif %}
|
||||
{% if organization.address_line1 %}
|
||||
<br />{{ organization.address_line1 }}
|
||||
{% endif %}
|
||||
{% if organization.address_line2 %}
|
||||
<br />{{ organization.address_line2 }}
|
||||
{% endif %}
|
||||
{% if organization.city %}
|
||||
<br />{{ organization.city }}{% if organization.state_territory %},
|
||||
{% else %}<br />
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if organization.state_territory %}
|
||||
{{ organization.state_territory }}
|
||||
{% endif %}
|
||||
{% if organization.zipcode %}
|
||||
<br />{{ organization.zipcode }}
|
||||
{% endif %}
|
||||
{% if organization.urbanization %}
|
||||
<br />{{ organization.urbanization }}
|
||||
{% endif %}
|
||||
</address>
|
|
@ -183,8 +183,11 @@ class DomainApplicationTests(TestWithUser, WebTest):
|
|||
org_contact_form = org_contact_page.form
|
||||
org_contact_form["organization_contact-organization_name"] = "Testorg"
|
||||
org_contact_form["organization_contact-address_line1"] = "address 1"
|
||||
org_contact_form["organization_contact-address_line2"] = "address 2"
|
||||
org_contact_form["organization_contact-city"] = "NYC"
|
||||
org_contact_form["organization_contact-state_territory"] = "NY"
|
||||
org_contact_form["organization_contact-zipcode"] = "10002"
|
||||
org_contact_form["organization_contact-urbanization"] = "URB Royal Oaks"
|
||||
|
||||
# test saving the page
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
@ -195,8 +198,11 @@ class DomainApplicationTests(TestWithUser, WebTest):
|
|||
application = DomainApplication.objects.get() # there's only one
|
||||
self.assertEquals(application.organization_name, "Testorg")
|
||||
self.assertEquals(application.address_line1, "address 1")
|
||||
self.assertEquals(application.address_line2, "address 2")
|
||||
self.assertEquals(application.city, "NYC")
|
||||
self.assertEquals(application.state_territory, "NY")
|
||||
self.assertEquals(application.zipcode, "10002")
|
||||
self.assertEquals(application.urbanization, "URB Royal Oaks")
|
||||
|
||||
# test next button
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
@ -212,8 +218,8 @@ class DomainApplicationTests(TestWithUser, WebTest):
|
|||
# Follow the redirect to the next form page
|
||||
ao_page = org_contact_result.follow()
|
||||
ao_form = ao_page.form
|
||||
ao_form["authorizing_official-first_name"] = "Testy"
|
||||
ao_form["authorizing_official-last_name"] = "Tester"
|
||||
ao_form["authorizing_official-first_name"] = "Testy ATO"
|
||||
ao_form["authorizing_official-last_name"] = "Tester ATO"
|
||||
ao_form["authorizing_official-title"] = "Chief Tester"
|
||||
ao_form["authorizing_official-email"] = "testy@town.com"
|
||||
ao_form["authorizing_official-phone"] = "(555) 555 5555"
|
||||
|
@ -225,8 +231,8 @@ class DomainApplicationTests(TestWithUser, WebTest):
|
|||
self.assertEquals(result["Location"], "/register/authorizing_official/")
|
||||
# should see results in db
|
||||
application = DomainApplication.objects.get() # there's only one
|
||||
self.assertEquals(application.authorizing_official.first_name, "Testy")
|
||||
self.assertEquals(application.authorizing_official.last_name, "Tester")
|
||||
self.assertEquals(application.authorizing_official.first_name, "Testy ATO")
|
||||
self.assertEquals(application.authorizing_official.last_name, "Tester ATO")
|
||||
self.assertEquals(application.authorizing_official.title, "Chief Tester")
|
||||
self.assertEquals(application.authorizing_official.email, "testy@town.com")
|
||||
self.assertEquals(application.authorizing_official.phone, "(555) 555 5555")
|
||||
|
@ -294,7 +300,7 @@ class DomainApplicationTests(TestWithUser, WebTest):
|
|||
# Follow the redirect to the next form page
|
||||
purpose_page = dotgov_result.follow()
|
||||
purpose_form = purpose_page.form
|
||||
purpose_form["purpose-purpose"] = "Purpose of the site"
|
||||
purpose_form["purpose-purpose"] = "For all kinds of things."
|
||||
|
||||
# test saving the page
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
@ -303,7 +309,7 @@ class DomainApplicationTests(TestWithUser, WebTest):
|
|||
self.assertEquals(result["Location"], "/register/purpose/")
|
||||
# should see results in db
|
||||
application = DomainApplication.objects.get() # there's only one
|
||||
self.assertEquals(application.purpose, "Purpose of the site")
|
||||
self.assertEquals(application.purpose, "For all kinds of things.")
|
||||
|
||||
# test next button
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
@ -413,7 +419,7 @@ class DomainApplicationTests(TestWithUser, WebTest):
|
|||
anything_else_page = security_email_result.follow()
|
||||
anything_else_form = anything_else_page.form
|
||||
|
||||
anything_else_form["anything_else-anything_else"] = "No"
|
||||
anything_else_form["anything_else-anything_else"] = "Nothing else."
|
||||
|
||||
# test saving the page
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
@ -422,7 +428,7 @@ class DomainApplicationTests(TestWithUser, WebTest):
|
|||
self.assertEquals(result["Location"], "/register/anything_else/")
|
||||
# should see results in db
|
||||
application = DomainApplication.objects.get() # there's only one
|
||||
self.assertEquals(application.anything_else, "No")
|
||||
self.assertEquals(application.anything_else, "Nothing else.")
|
||||
|
||||
# test next button
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
@ -458,9 +464,42 @@ class DomainApplicationTests(TestWithUser, WebTest):
|
|||
|
||||
# ---- REVIEW AND FINSIHED PAGES ----
|
||||
# Follow the redirect to the next form page
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
review_page = requirements_result.follow()
|
||||
review_form = review_page.form
|
||||
|
||||
# Review page contains all the previously entered data
|
||||
self.assertContains(review_page, "Federal")
|
||||
self.assertContains(review_page, "Executive")
|
||||
self.assertContains(review_page, "Testorg")
|
||||
self.assertContains(review_page, "address 1")
|
||||
self.assertContains(review_page, "address 2")
|
||||
self.assertContains(review_page, "NYC")
|
||||
self.assertContains(review_page, "NY")
|
||||
self.assertContains(review_page, "10002")
|
||||
self.assertContains(review_page, "URB Royal Oaks")
|
||||
self.assertContains(review_page, "Testy ATO")
|
||||
self.assertContains(review_page, "Tester ATO")
|
||||
self.assertContains(review_page, "Chief Tester")
|
||||
self.assertContains(review_page, "testy@town.com")
|
||||
self.assertContains(review_page, "(555) 555 5555")
|
||||
self.assertContains(review_page, "city.com")
|
||||
self.assertContains(review_page, "city.gov")
|
||||
self.assertContains(review_page, "city1.gov")
|
||||
self.assertContains(review_page, "For all kinds of things.")
|
||||
self.assertContains(review_page, "Testy you")
|
||||
self.assertContains(review_page, "Tester you")
|
||||
self.assertContains(review_page, "Admin Tester")
|
||||
self.assertContains(review_page, "testy-admin@town.com")
|
||||
self.assertContains(review_page, "(555) 555 5556")
|
||||
self.assertContains(review_page, "Testy2")
|
||||
self.assertContains(review_page, "Tester2")
|
||||
self.assertContains(review_page, "Another Tester")
|
||||
self.assertContains(review_page, "testy2@town.com")
|
||||
self.assertContains(review_page, "(555) 555 5557")
|
||||
self.assertContains(review_page, "security@city.com")
|
||||
self.assertContains(review_page, "Nothing else.")
|
||||
|
||||
# test saving the page
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
result = review_page.form.submit("submit_button", value="save")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue