From 88b971c989a9c060004853c5da47aa859d02b52c Mon Sep 17 00:00:00 2001 From: jdonis Date: Fri, 9 Aug 2024 17:18:12 -0400 Subject: [PATCH 01/25] phases start & end --- assets/client/src/helpers/phaseHelpers.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/client/src/helpers/phaseHelpers.js b/assets/client/src/helpers/phaseHelpers.js index dca324970..29ae7ab00 100644 --- a/assets/client/src/helpers/phaseHelpers.js +++ b/assets/client/src/helpers/phaseHelpers.js @@ -1,20 +1,20 @@ export const phaseInPast = (phase) => { let now = new Date(); - let end = new Date(endDate); + let end = new Date(phase.end_date); return now > end; } export const phaseIsCurrent = (phase) => { let now = new Date(); - let start = new Date(startDate); - let end = new Date(endDate); + let start = new Date(phase.start_date); + let end = new Date(phase.end_date); return now >= start && now <= end; } export const phaseInFuture = (phase) => { let now = new Date(); - let targetDate = new Date(date); + let targetDate = new Date(phase.start_date); return now < targetDate; } From 82b060e9063981a90b002e1b4f6b76648e741a98 Mon Sep 17 00:00:00 2001 From: Kenny Krug Date: Thu, 8 Aug 2024 15:27:36 -0400 Subject: [PATCH 02/25] Dependencies: row 5 #1358 Upgrade yarn in staging --- .tool-versions | 2 +- assets/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.tool-versions b/.tool-versions index 0af1164d9..225bc2467 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,4 +1,4 @@ elixir 1.12.3 erlang 23.3.2 nodejs 18.17.1 -yarn 1.22.5 \ No newline at end of file +yarn 1.22.19 \ No newline at end of file diff --git a/assets/package.json b/assets/package.json index 2164d1025..c711d2378 100644 --- a/assets/package.json +++ b/assets/package.json @@ -42,7 +42,7 @@ "string-strip-html": "^8.3.0", "url-loader": "^4.1.1", "uswds": "2.14.0", - "yarn": "^1.13.0" + "yarn": "^1.22.19" }, "devDependencies": { "@babel/core": "^7.24.3", From 6a9d5d8a437d97943cb5127eb827907895cf6ae5 Mon Sep 17 00:00:00 2001 From: jdonis Date: Fri, 9 Aug 2024 15:45:21 -0400 Subject: [PATCH 03/25] yarn update assets --- assets/yarn.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/yarn.lock b/assets/yarn.lock index e23294ce2..266ecdf93 100644 --- a/assets/yarn.lock +++ b/assets/yarn.lock @@ -5540,7 +5540,7 @@ yargs@^17.2.1: y18n "^5.0.5" yargs-parser "^21.1.1" -yarn@^1.13.0: +yarn@^1.22.19: version "1.22.22" resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.22.22.tgz#ac34549e6aa8e7ead463a7407e1c7390f61a6610" - integrity sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg== \ No newline at end of file + integrity sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg== From 1b0007fb96e96bc3c135ce62965dd29a12681da6 Mon Sep 17 00:00:00 2001 From: jdonis Date: Mon, 12 Aug 2024 23:45:19 -0400 Subject: [PATCH 04/25] Non gov-mil users --- lib/challenge_gov/challenges.ex | 15 +++++++++++++++ lib/web/controllers/phase_controller.ex | 1 + .../challenge/show/_other_actions.html.eex | 2 ++ .../templates/challenge/table/_content.html.eex | 2 ++ 4 files changed, 20 insertions(+) diff --git a/lib/challenge_gov/challenges.ex b/lib/challenge_gov/challenges.ex index 8aed024f7..193f41284 100755 --- a/lib/challenge_gov/challenges.ex +++ b/lib/challenge_gov/challenges.ex @@ -755,6 +755,21 @@ defmodule ChallengeGov.Challenges do end end + defp validate_gov_mil(email) do + String.ends_with?(email, [".gov", ".mil"]) + end + + def allowed_to_view_submission(user = %{role: "challenge_manager"}, challenge) do + if validate_gov_mil(user.email) do + {:ok, challenge} + else + {:error, :not_permitted} + end + end + + def allowed_to_view_submission?(user = %{role: "challenge_manager"}), + do: validate_gov_mil(user.email) + def allowed_to_submit?(%{role: "super_admin"}), do: true def allowed_to_submit?(%{role: "admin"}), do: true diff --git a/lib/web/controllers/phase_controller.ex b/lib/web/controllers/phase_controller.ex index abe402596..7508507fd 100644 --- a/lib/web/controllers/phase_controller.ex +++ b/lib/web/controllers/phase_controller.ex @@ -54,6 +54,7 @@ defmodule Web.PhaseController do with {:ok, challenge} <- Challenges.get(challenge_id), {:ok, challenge} <- Challenges.allowed_to_edit(user, challenge), + {:ok, challenge} <- Challenges.allowed_to_view_submission(user, challenge), {:ok, phase} <- Phases.get(id) do submissions_filter = Map.merge(filter, %{ diff --git a/lib/web/templates/challenge/show/_other_actions.html.eex b/lib/web/templates/challenge/show/_other_actions.html.eex index c60780fc7..02ff4ead4 100644 --- a/lib/web/templates/challenge/show/_other_actions.html.eex +++ b/lib/web/templates/challenge/show/_other_actions.html.eex @@ -2,9 +2,11 @@

Other actions

    + <%= if Challenges.allowed_to_view_submission?(@user) do %>
  • <%= challenge_submissions_link(@conn, @challenge, @user, label: "View submissions", class: "usa-button") %>
  • + <% end %> <%= if Accounts.has_admin_access?(@user) or !(Challenges.is_archived?(@challenge) or Challenges.is_archived_new?(@challenge)) do %>
  • <%= link "Preview", to: Routes.public_preview_path(@conn, :index, challenge: @challenge.uuid), target: "_blank", class: "usa-button" %> diff --git a/lib/web/templates/challenge/table/_content.html.eex b/lib/web/templates/challenge/table/_content.html.eex index 48ddaff47..4ad695d37 100644 --- a/lib/web/templates/challenge/table/_content.html.eex +++ b/lib/web/templates/challenge/table/_content.html.eex @@ -27,7 +27,9 @@