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,

+ +
    + +
  1. The proposal will pass through a screening process to check that it is +eligible for a special-use permit.
  2. + +
  3. 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.
  4. + +
  5. If your application is approved, you will be issued a permit.
  6. + +
+ +

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.

- -
-
- - Select your - forest - Select a - product - - -
-
- -
-
- Welcome to Forest Service Special Forest Product - E-Permit Application -
- -
-
-
- -
-

How E-Permits Works

- -
-
-
-
-
Step - 1 -
-
- Find & Select Your - Forest From this - homepage, select your forest and desired product to get - started. -
-
- -
-
-
-
Step - 2 -
-
- Review Permit Details - Read important information - about your permit before you obtain it. -
-
- -
-
-
-
Step - 3 -
-
- Get Your Permit - Complete your permit form, then - pay with Pay.gov using a debit card, credit card, or - check to purchase your permit. -
-
- -
-
-
-
Step - 4 -
-
- 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,

+ +
    +
  1. The proposal will pass through a screening process to check that it is eligible for a special-use permit.
  2. + +
  3. 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.
  4. + +
  5. If your application is approved, you will be issued a permit.
  6. +
+ +

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

+ + + +

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", ""); + } +}