From 5baa533c155fe76959193bb393284c2754713b6a Mon Sep 17 00:00:00 2001
From: Neil Martinsen-Burrell
Date: Fri, 20 Sep 2024 13:48:52 -0500
Subject: [PATCH 1/5] Confirmation page
---
src/confirmation.html | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
create mode 100644 src/confirmation.html
diff --git a/src/confirmation.html b/src/confirmation.html
new file mode 100644
index 0000000..da9128f
--- /dev/null
+++ b/src/confirmation.html
@@ -0,0 +1,37 @@
+---
+layout: layouts/question.njk
+title: Form summary
+---
+
+Confirmation
+
+Thank you! We have received your SF-299 and supporting documents.
+
+What happens next?
+
+A member of the Forest Service national broadband team will contact you to
+help you complete your proposal.
+
+After your proposal is complete,
+
+
+
+ - The proposal will pass through a screening process to check that it is
+eligible for a special-use permit.
+
+ - If the proposal is accepted, it will become an application. The
+application will undergo additional review, such as environmental review, that
+is specific to the proposed project and location.
+
+ - If your application is approved, you will be issued a permit.
+
+
+
+How long this process takes depends on many factors, including the location
+and complexity of your proposed project.
+
+Who can I contact for help?
+
+For help, contact the National Broadband Action Team at sm.fs.broadband@usda.gov.
+
From 6cac3e1b9f6db7e045adf7fd51c34d2187b3aa61 Mon Sep 17 00:00:00 2001
From: Neil Martinsen-Burrell
Date: Fri, 20 Sep 2024 11:35:30 -0500
Subject: [PATCH 2/5] New landing page content
---
src/index.html | 189 ++++++++++++-------------------------------------
1 file changed, 47 insertions(+), 142 deletions(-)
diff --git a/src/index.html b/src/index.html
index 9f17b26..589f487 100644
--- a/src/index.html
+++ b/src/index.html
@@ -3,145 +3,50 @@
title: USDA Forest Service E-Permits
---
-
-
-
-
-
-
Choose Your Permit
-
-
The USDA Forest Service invites you to obtain
- permits for select forest products now available
- online, with more to come in the future.
-
- Get started by selecting your desired forest and
- product.
-
-
-
-
-
- Welcome to Forest Service Special Forest Product
- E-Permit Application
-
-
-
-
-
-
-
- How E-Permits Works
-
-
-
-
-
- Find & Select Your
- Forest From this
- homepage, select your forest and desired product to get
- started.
-
-
-
-
-
-
- Review Permit Details
- Read important information
- about your permit before you obtain it.
-
-
-
-
-
-
- Get Your Permit
- Complete your permit form, then
- pay with Pay.gov using a debit card, credit card, or
- check to purchase your permit.
-
-
-
-
-
-
- Print Your Permit
- You will immediately be able to
- view and print your permit, and will receive a
- confirmation email to access your permit later.
-
-
-
-
- What is E-Permits
-
- With E-Permits
- you can obtain firewood permits for a few forests. More
- forests and permits for items like berries and mushrooms will
- be added over time.
-
- Visit 'About' to learn more
-
-
+Get started with special-use permits for broadband
+
+This website will guide you through the process of initiating a proposal for a special-use permit.
+
+You will be asked to provide information about your broadband project. We
+will use this information to help you complete and submit form SF-299, along
+with additional documents that you will need to support your proposal.
+
+What happens after I submit the form?
+
+A member of the Forest Service National Broadband Team will contact you to help you complete your proposal.
+
+After your proposal is complete,
+
+
+- The proposal will pass through a screening process to check that it is eligible for a special-use permit.
+
+- If the proposal is accepted, it will become an application. The application
+will undergo additional review, such as environmental review, that is specific
+to the proposed project and location.
+
+- If your application is approved, you will be issued a permit.
+
+
+How long this process takes depends on many factors, including the location
+and complexity of your proposed project.
+
+You can find more information about this process on the Forest
+Service special-uses website.
+
+Tips and reminders
+
+
+
+- The best way to help the proposal screening process move more quickly is to
+provide complete and accurate information about your project.
+
+- The Forest Service advises that you do not begin work on any project that
+requires a special-use authorization until a permit has been issued.
+
+
+
+Who can I contact for help?
+
+For help, contact the National Broadband Action Team at sm.fs.broadband@usda.gov.
From ed4ad1923c004cb8dc107a8af61fd545e6080151 Mon Sep 17 00:00:00 2001
From: Neil Martinsen-Burrell
Date: Fri, 20 Sep 2024 13:47:34 -0500
Subject: [PATCH 3/5] Submit copy
---
src/submit.html | 25 ++++++++++++++++++++++---
1 file changed, 22 insertions(+), 3 deletions(-)
diff --git a/src/submit.html b/src/submit.html
index 9165532..389ea2e 100644
--- a/src/submit.html
+++ b/src/submit.html
@@ -5,9 +5,24 @@
-Your information so far
+Review and submit
-Here is a summary of the information you have submitted so far:
+Review your information
+
+SF-299
+
+We have entered the information you have share into SF-299, the official
+form for initiating a proposal for a special-use permit.
+
+Preview your completed SF-299
+
+To edit the form, use the navigation menus to return to your previous response.
+
+Supporting documents
+
+You have uploaded these supporting documents.
+
+
@@ -19,6 +34,10 @@
Your information so far
Existing permit:
-
+
+
+
From 65dc1e10e4f74e7ea7b5cd8e882f2ed9aae4ba44 Mon Sep 17 00:00:00 2001
From: Neil Martinsen-Burrell
Date: Thu, 26 Sep 2024 15:02:11 -0500
Subject: [PATCH 4/5] Add CTA button on home page
---
src/index.html | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/index.html b/src/index.html
index 589f487..d78b307 100644
--- a/src/index.html
+++ b/src/index.html
@@ -11,6 +11,8 @@ This website will guide you through the process of initiating a proposal for
will use this information to help you complete and submit form SF-299, along
with additional documents that you will need to support your proposal.
+Start my application
+
What happens after I submit the form?
A member of the Forest Service National Broadband Team will contact you to help you complete your proposal.
From d9732f54bd44f669d7c87d4818d05b544933ce0a Mon Sep 17 00:00:00 2001
From: Neil Martinsen-Burrell
Date: Thu, 26 Sep 2024 15:11:53 -0500
Subject: [PATCH 5/5] Add hand-rolled javascript
---
site/assets/js/question1.js | 54 +++++++++++++++++++++++++++++++++++++
site/assets/js/question2.js | 42 +++++++++++++++++++++++++++++
2 files changed, 96 insertions(+)
create mode 100644 site/assets/js/question1.js
create mode 100644 site/assets/js/question2.js
diff --git a/site/assets/js/question1.js b/site/assets/js/question1.js
new file mode 100644
index 0000000..e65f79c
--- /dev/null
+++ b/site/assets/js/question1.js
@@ -0,0 +1,54 @@
+// Conditional state handling for question1.html
+
+if (document.readyState !== 'loading') {
+ attachRadioStateChangeHandlers();
+} else {
+ window.addEventListener("DOMContentLoaded", function () {
+ attachRadioStateChangeHandlers();
+ // adjust the initial visibilty to match
+ adjustDynamicContent();
+ });
+}
+
+function attachRadioStateChangeHandlers() {
+ // need a listener on each radio input because un-checking a radio button
+ // doesn't fire the "change" event
+ document.getElementById("individual-organization").querySelectorAll("input").forEach((item) => {
+ item.addEventListener("change", adjustDynamicContent);
+ });
+ document.getElementById("organization-type").querySelectorAll("input").forEach((item) => {
+ item.addEventListener("change", adjustDynamicContent);
+ });
+}
+
+function adjustDynamicContent(event) {
+ // check if certain radio buttons are checked and decide whether to
+ // enable certain questions
+
+ var organization_radio_button = document.getElementById("organization");
+ if (organization_radio_button.checked) {
+ document.getElementById("organization-type").removeAttribute("disabled");
+ // form goes to question 2 for an org
+ document.getElementById("question1").setAttribute("action", "/question2/")
+ } else {
+ document.getElementById("organization-type").setAttribute("disabled", "");
+ // form goes straight to submit if they aren't submitting for an
+ // org
+ document.getElementById("question1").setAttribute("action", "/submit/")
+ }
+
+ // second dynamic question
+ var corporation_radio_button = document.getElementById("corporation");
+ if (organization_radio_button.checked && corporation_radio_button.checked ) {
+ document.getElementById("corporation-type").removeAttribute("disabled");
+ } else {
+ document.getElementById("corporation-type").setAttribute("disabled", "");
+ }
+
+ var agency_radio_button = document.getElementById("agency");
+ if (organization_radio_button.checked && agency_radio_button.checked ) {
+ document.getElementById("agency-type").removeAttribute("disabled");
+ } else {
+ document.getElementById("agency-type").setAttribute("disabled", "");
+ }
+}
diff --git a/site/assets/js/question2.js b/site/assets/js/question2.js
new file mode 100644
index 0000000..d926b97
--- /dev/null
+++ b/site/assets/js/question2.js
@@ -0,0 +1,42 @@
+// Conditional state handling for question1.html
+
+if (document.readyState !== 'loading') {
+ attachRadioStateChangeHandlers();
+} else {
+ window.addEventListener("DOMContentLoaded", function () {
+ attachRadioStateChangeHandlers();
+ // adjust the initial visibilty to match
+ adjustDynamicContent();
+ });
+}
+
+function attachRadioStateChangeHandlers() {
+ // need a listener on each radio input because un-checking a radio button
+ // doesn't fire the "change" event
+ document.getElementById("parent-company").querySelectorAll("input").forEach((item) => {
+ item.addEventListener("change", adjustDynamicContent);
+ });
+ document.getElementById("other-permits").querySelectorAll("input").forEach((item) => {
+ item.addEventListener("change", adjustDynamicContent);
+ });
+}
+
+function adjustDynamicContent(event) {
+ // check if certain radio buttons are checked and decide whether to
+ // enable certain questions
+
+ var permits_radio_button = document.getElementById("has-permits");
+ if (permits_radio_button.checked) {
+ document.getElementById("permit-numbers").removeAttribute("disabled");
+ } else {
+ document.getElementById("permit-numbers").setAttribute("disabled", "");
+ }
+
+ // second dynamic question
+ var parent_radio_button = document.getElementById("has-parent");
+ if (parent_radio_button.checked) {
+ document.getElementById("parent-info").removeAttribute("disabled");
+ } else {
+ document.getElementById("parent-info").setAttribute("disabled", "");
+ }
+}