From 00f39a1fb9c70e94a2cdb8f20a62eef9c4e71291 Mon Sep 17 00:00:00 2001 From: Ather Sharif Date: Fri, 15 Feb 2019 15:08:57 -0800 Subject: [PATCH 001/143] improve load times after changes from within Docker container --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index b514f125ef..c62940fbeb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,7 +10,7 @@ services: depends_on: - db volumes: - - "./:/opt/" + - "./:/opt/:delegated" ports: - "127.0.0.1:9000:9000" environment: From 9c375f0b04e04cda5316f50fff97ea4dc1adbe87 Mon Sep 17 00:00:00 2001 From: Matthew Johnson <32688680+MattJ12@users.noreply.github.com> Date: Sat, 27 Jun 2020 13:31:37 -0700 Subject: [PATCH 002/143] Add clickable button to clear internal cache in admin overview interface --- app/views/admin/index.scala.html | 1 + 1 file changed, 1 insertion(+) diff --git a/app/views/admin/index.scala.html b/app/views/admin/index.scala.html index a87eb80ce6..46abf3584c 100644 --- a/app/views/admin/index.scala.html +++ b/app/views/admin/index.scala.html @@ -287,6 +287,7 @@

Coverage

+

Comments

From b4ad6c887829bbfa2991bccfecbe0fabcc719906 Mon Sep 17 00:00:00 2001 From: shokiami Date: Wed, 1 Jul 2020 22:34:57 -0700 Subject: [PATCH 003/143] Displaying the user's total validations on the mission complete page. --- app/views/mobileValidate.scala.html | 4 ++++ app/views/rapidValidation.scala.html | 4 ++++ app/views/validation.scala.html | 4 ++++ conf/messages.en | 1 + conf/messages.es | 1 + .../javascripts/SVValidate/mobile/mobileValidate.css | 4 ++++ public/javascripts/SVValidate/src/Main.js | 1 + .../SVValidate/src/modal/ModalMissionComplete.js | 1 + .../javascripts/SVValidate/src/status/StatusField.js | 8 ++++++++ public/locales/en/validate.json | 10 +++++----- 10 files changed, 33 insertions(+), 5 deletions(-) diff --git a/app/views/mobileValidate.scala.html b/app/views/mobileValidate.scala.html index 3e67a22dfd..44e7f08a03 100644 --- a/app/views/mobileValidate.scala.html +++ b/app/views/mobileValidate.scala.html @@ -130,6 +130,10 @@

@Messages("validate.mission.complete.category")

@Messages("validate.mission.complete.not.sure") + + @Messages("validate.mission.complete.your.overall.total") + + diff --git a/app/views/rapidValidation.scala.html b/app/views/rapidValidation.scala.html index 56a48b7deb..027c9f6eb4 100644 --- a/app/views/rapidValidation.scala.html +++ b/app/views/rapidValidation.scala.html @@ -268,6 +268,10 @@

@Messages("validate.mission.complete.category")

@Messages("validate.mission.complete.not.sure") + + @Messages("validate.mission.complete.your.overall.total") + + diff --git a/app/views/validation.scala.html b/app/views/validation.scala.html index a5a516f186..07115c38e0 100644 --- a/app/views/validation.scala.html +++ b/app/views/validation.scala.html @@ -151,6 +151,10 @@

@Messages("validate.mission.complete.category")

@Messages("validate.mission.complete.not.sure") + + @Messages("validate.mission.complete.your.overall.total") + + diff --git a/conf/messages.en b/conf/messages.en index 5f61794b50..318a10a3ba 100644 --- a/conf/messages.en +++ b/conf/messages.en @@ -166,6 +166,7 @@ validate.mission.complete.category = Category validate.mission.complete.agree = Agree validate.mission.complete.disagree = Disagree validate.mission.complete.not.sure = Not Sure +validate.mission.complete.your.overall.total = Your Overall Total mobile.validate.leave.feedback = Leave Feedback diff --git a/conf/messages.es b/conf/messages.es index 8519367010..1a5904b743 100644 --- a/conf/messages.es +++ b/conf/messages.es @@ -165,6 +165,7 @@ validate.mission.complete.category = Categoría validate.mission.complete.agree = De Acuerdo validate.mission.complete.disagree = No Estoy de acuerdo validate.mission.complete.not.sure = No Estoy de seguro +validate.mission.complete.your.overall.total = Su total en general mobile.validate.leave.feedback = Retroalimentación diff --git a/public/javascripts/SVValidate/mobile/mobileValidate.css b/public/javascripts/SVValidate/mobile/mobileValidate.css index ac70a322ee..49fe7d7ce4 100644 --- a/public/javascripts/SVValidate/mobile/mobileValidate.css +++ b/public/javascripts/SVValidate/mobile/mobileValidate.css @@ -277,3 +277,7 @@ html { width: 730px; z-index: 1; } + +#your-overall-total { + border-top: 3px solid #999999; +} \ No newline at end of file diff --git a/public/javascripts/SVValidate/src/Main.js b/public/javascripts/SVValidate/src/Main.js index 337d1278a2..bdd7db6cab 100644 --- a/public/javascripts/SVValidate/src/Main.js +++ b/public/javascripts/SVValidate/src/Main.js @@ -96,6 +96,7 @@ function Main (param) { svv.ui.modalMissionComplete.message = $("#modal-mission-complete-message"); svv.ui.modalMissionComplete.missionTitle = $("#modal-mission-complete-title"); svv.ui.modalMissionComplete.notSureCount = $("#modal-mission-complete-not-sure-count"); + svv.ui.modalMissionComplete.yourOverallTotalCount = $("#modal-mission-complete-your-overall-total-count"); svv.ui.status = {}; svv.ui.status.labelCount = $("#status-neighborhood-label-count"); diff --git a/public/javascripts/SVValidate/src/modal/ModalMissionComplete.js b/public/javascripts/SVValidate/src/modal/ModalMissionComplete.js index c680ed43ca..124c899630 100644 --- a/public/javascripts/SVValidate/src/modal/ModalMissionComplete.js +++ b/public/javascripts/SVValidate/src/modal/ModalMissionComplete.js @@ -85,6 +85,7 @@ function ModalMissionComplete (uiModalMissionComplete, user, confirmationCode) { uiModalMissionComplete.agreeCount.html(mission.getProperty("agreeCount")); uiModalMissionComplete.disagreeCount.html(mission.getProperty("disagreeCount")); uiModalMissionComplete.notSureCount.html(mission.getProperty("notSureCount")); + svv.ui.modalMissionComplete.yourOverallTotalCount.html(svv.statusField.getCompletedValidations()); uiModalMissionComplete.holder.css('visibility', 'visible'); uiModalMissionComplete.foreground.css('visibility', 'visible'); diff --git a/public/javascripts/SVValidate/src/status/StatusField.js b/public/javascripts/SVValidate/src/status/StatusField.js index 12b2855166..cf7a074561 100644 --- a/public/javascripts/SVValidate/src/status/StatusField.js +++ b/public/javascripts/SVValidate/src/status/StatusField.js @@ -97,6 +97,13 @@ function StatusField(param) { svv.ui.status.progressText.html(completionRate); } + /** + * Returns the user's total validation count. + */ + function getCompletedValidations(){ + return completedValidations; + } + self.setProgressBar = setProgressBar; self.setProgressText = setProgressText; self.updateLabelText = updateLabelText; @@ -104,6 +111,7 @@ function StatusField(param) { self.refreshLabelCountsDisplay = refreshLabelCountsDisplay; self.incrementLabelCounts = incrementLabelCounts; self.reset = reset; + self.getCompletedValidations = getCompletedValidations; return this; } diff --git a/public/locales/en/validate.json b/public/locales/en/validate.json index 7a0084e7e0..8f9fb6ac51 100644 --- a/public/locales/en/validate.json +++ b/public/locales/en/validate.json @@ -122,11 +122,11 @@ }, "mission-complete": { "title": "Great Job!", - "body-1": "You just validated {{n}} Curb Ramp labels!", - "body-2": "You just validated {{n}} Missing Curb Ramp labels!", - "body-3": "You just validated {{n}} Obstacle labels!", - "body-4": "You just validated {{n}} Surface Problem labels!", - "body-7": "You just validated {{n}} No Sidewalk labels!", + "body-1": "You just validated {{n}} Curb Ramp labels.", + "body-2": "You just validated {{n}} Missing Curb Ramp labels.", + "body-3": "You just validated {{n}} Obstacle labels.", + "body-4": "You just validated {{n}} Surface Problem labels.", + "body-7": "You just validated {{n}} No Sidewalk labels.", "validate-more": "Validate more labels", "continue": "Continue validating", "explore": "Start an exploration mission", From 8ecd5dc3d00012e787d438f1af3d9a1151651dda Mon Sep 17 00:00:00 2001 From: shokiami Date: Fri, 3 Jul 2020 21:17:36 -0700 Subject: [PATCH 004/143] Cleaned up code and added functionality for mobile. --- app/controllers/ValidationController.scala | 4 ++-- app/views/mobileValidate.scala.html | 3 ++- app/views/rapidValidation.scala.html | 3 ++- public/css/main.css | 4 ++++ public/javascripts/SVValidate/mobile/mobileValidate.css | 4 ---- .../javascripts/SVValidate/src/modal/ModalMissionComplete.js | 2 +- 6 files changed, 11 insertions(+), 9 deletions(-) diff --git a/app/controllers/ValidationController.scala b/app/controllers/ValidationController.scala index b22256b282..8162ca4017 100644 --- a/app/controllers/ValidationController.scala +++ b/app/controllers/ValidationController.scala @@ -80,7 +80,7 @@ class ValidationController @Inject() (implicit val env: Environment[User, Sessio if (validationData._4.missionType != "validation" || user.role.getOrElse("") == "Turker" || !isMobile(request)) { Future.successful(Redirect("/audit")) } else { - Future.successful(Ok(views.html.mobileValidate("Project Sidewalk - Validate", Some(user), validationData._1, validationData._2, validationData._3, validationData._4.numComplete, validationData._5))) + Future.successful(Ok(views.html.mobileValidate("Project Sidewalk - Validate", Some(user), validationData._1, validationData._2, validationData._3, validationData._4.numComplete, validationData._5, validationData._6))) } case None => Future.successful(Redirect(s"/anonSignUp?url=/mobile")); @@ -100,7 +100,7 @@ class ValidationController @Inject() (implicit val env: Environment[User, Sessio if (validationData._4.missionType != "validation" || user.role.getOrElse("") == "Turker") { Future.successful(Redirect("/audit")) } else { - Future.successful(Ok(views.html.rapidValidation("Project Sidewalk - Validate", Some(user), validationData._1, validationData._2, validationData._3, validationData._4.numComplete, validationData._5))) + Future.successful(Ok(views.html.rapidValidation("Project Sidewalk - Validate", Some(user), validationData._1, validationData._2, validationData._3, validationData._4.numComplete, validationData._5, validationData._6))) } case None => Future.successful(Redirect(s"/anonSignUp?url=/rapidValidate")); diff --git a/app/views/mobileValidate.scala.html b/app/views/mobileValidate.scala.html index 44e7f08a03..40370d726d 100644 --- a/app/views/mobileValidate.scala.html +++ b/app/views/mobileValidate.scala.html @@ -9,7 +9,7 @@ @import play.api.Play.current @import views.html.bootstrap._ -@(title: String, user: Option[User] = None, mission: Option[JsValue], labelList: Option[JsValue], progress: Option[JsValue], missionSetProgress: Int, hasNextMission: Boolean)(implicit lang: Lang) +@(title: String, user: Option[User] = None, mission: Option[JsValue], labelList: Option[JsValue], progress: Option[JsValue], missionSetProgress: Int, hasNextMission: Boolean, completedValidations: Int)(implicit lang: Lang) @main(title) { @@ -191,6 +191,7 @@

@Messages("validate.mission.complete.category")

param.beaconDataStoreUrl = param.dataStoreUrl + "Beacon"; param.hasNextMission = @hasNextMission; param.missionSetProgress = @missionSetProgress; + param.completedValidations = @completedValidations; param.canvasHeight = window.innerHeight; param.canvasWidth = window.innerWidth; param.canvasCount = 1; diff --git a/app/views/rapidValidation.scala.html b/app/views/rapidValidation.scala.html index 027c9f6eb4..d36e387fa2 100644 --- a/app/views/rapidValidation.scala.html +++ b/app/views/rapidValidation.scala.html @@ -7,7 +7,7 @@ @import play.api.libs.json.JsValue @import views.html.bootstrap._ -@(title: String, user: Option[User] = None, mission: Option[JsValue], labelList: Option[JsValue], progress: Option[JsValue], missionSetProgress: Int, hasNextMission: Boolean)(implicit lang: Lang) +@(title: String, user: Option[User] = None, mission: Option[JsValue], labelList: Option[JsValue], progress: Option[JsValue], missionSetProgress: Int, hasNextMission: Boolean, completedValidations: Int)(implicit lang: Lang) @main(title, Some("/validate")) { @navbar(user, Some("/validate")) @@ -406,6 +406,7 @@

param.dataStoreUrl = '@routes.ValidationTaskController.post'; param.hasNextMission = @hasNextMission; param.missionSetProgress = @missionSetProgress; + param.completedValidations = @completedValidations; // Set information about panorama size (to be used by JS), number of panoramas param.canvasHeight = 130; diff --git a/public/css/main.css b/public/css/main.css index 5901c7394c..1df642ecef 100644 --- a/public/css/main.css +++ b/public/css/main.css @@ -1347,6 +1347,10 @@ kbd { visibility: hidden; } +#your-overall-total { + border-top: 3px solid #999999; +} + /* * Hamburger Menu styling based on Bootstrap 3.3.5's collapsible navbar * https://bootstrapdocs.com/v3.3.5/docs/components/#navbar diff --git a/public/javascripts/SVValidate/mobile/mobileValidate.css b/public/javascripts/SVValidate/mobile/mobileValidate.css index 49fe7d7ce4..1003c1c1b6 100644 --- a/public/javascripts/SVValidate/mobile/mobileValidate.css +++ b/public/javascripts/SVValidate/mobile/mobileValidate.css @@ -276,8 +276,4 @@ html { height: 90px; width: 730px; z-index: 1; -} - -#your-overall-total { - border-top: 3px solid #999999; } \ No newline at end of file diff --git a/public/javascripts/SVValidate/src/modal/ModalMissionComplete.js b/public/javascripts/SVValidate/src/modal/ModalMissionComplete.js index 124c899630..960fc22e77 100644 --- a/public/javascripts/SVValidate/src/modal/ModalMissionComplete.js +++ b/public/javascripts/SVValidate/src/modal/ModalMissionComplete.js @@ -85,7 +85,7 @@ function ModalMissionComplete (uiModalMissionComplete, user, confirmationCode) { uiModalMissionComplete.agreeCount.html(mission.getProperty("agreeCount")); uiModalMissionComplete.disagreeCount.html(mission.getProperty("disagreeCount")); uiModalMissionComplete.notSureCount.html(mission.getProperty("notSureCount")); - svv.ui.modalMissionComplete.yourOverallTotalCount.html(svv.statusField.getCompletedValidations()); + uiModalMissionComplete.yourOverallTotalCount.html(svv.statusField.getCompletedValidations()); uiModalMissionComplete.holder.css('visibility', 'visible'); uiModalMissionComplete.foreground.css('visibility', 'visible'); From ad10aeb8e31d5f7c12f474c1e7774f8f2fcfd8c7 Mon Sep 17 00:00:00 2001 From: shokiami Date: Fri, 3 Jul 2020 23:13:34 -0700 Subject: [PATCH 005/143] Fixed overflow issue of the mobile info page. --- public/javascripts/SVValidate/mobile/mobileValidate.css | 6 +----- public/javascripts/SVValidate/mobile/mobileValidate.js | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/public/javascripts/SVValidate/mobile/mobileValidate.css b/public/javascripts/SVValidate/mobile/mobileValidate.css index ac70a322ee..1a877887e1 100644 --- a/public/javascripts/SVValidate/mobile/mobileValidate.css +++ b/public/javascripts/SVValidate/mobile/mobileValidate.css @@ -101,11 +101,11 @@ html { position: absolute; min-height: 480px; border: 5px solid black; - border-radius: 3px 3px 3px 3px; z-index: 4; -webkit-border-radius: 3px 3px 3px 3px; -moz-border-radius: 3px 3px 3px 3px; + overflow: auto; } #modal-info-background { @@ -174,10 +174,6 @@ html { width: 350px; } -.status-box { - height: 500px; -} - #status-current-mission-completion-bar { height: 50px; width: 190px; diff --git a/public/javascripts/SVValidate/mobile/mobileValidate.js b/public/javascripts/SVValidate/mobile/mobileValidate.js index 9ed4a64758..8520b96d43 100644 --- a/public/javascripts/SVValidate/mobile/mobileValidate.js +++ b/public/javascripts/SVValidate/mobile/mobileValidate.js @@ -98,7 +98,7 @@ function resizeMobileValidation() { } let statusBoxes = document.getElementsByClassName("status-box"); for (let i = 0; i < statusBoxes.length; i++) { - statusBoxes[i].style.height = w * (83 / 95) / 2 + 20 + "px"; + statusBoxes[i].style.height = w * (83 / 95) / 2 + statusBoxes[i].childElementCount * 20 + "px"; } document.getElementById("modal-info-close-button").style.left = w - 75 + "px"; From 9a16d7e1f8457d293b5f5ad58752b7de6bd01f54 Mon Sep 17 00:00:00 2001 From: Naomi Bashkansky Date: Mon, 6 Jul 2020 14:35:43 -0700 Subject: [PATCH 006/143] Resolves issue --- app/views/admin/user.scala.html | 3 +++ public/javascripts/Admin/src/Admin.User.js | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/app/views/admin/user.scala.html b/app/views/admin/user.scala.html index 558aa79345..370ab63f4f 100644 --- a/app/views/admin/user.scala.html +++ b/app/views/admin/user.scala.html @@ -42,6 +42,7 @@

General Info and Stats

Mission Count Audited Street Count Label Count + Total Distance Audited @user.get.username @@ -50,6 +51,7 @@

General Info and Stats

@MissionTable.countCompletedMissionsByUserId(UUID.fromString(user.get.userId), includeOnboarding = false) @AuditTaskTable.countCompletedAuditsByUserId(UUID.fromString(user.get.userId)) @LabelTable.countLabelsByUserId(UUID.fromString(user.get.userId)) +
@@ -191,6 +193,7 @@

Feedback

+ diff --git a/public/javascripts/Admin/src/Admin.User.js b/public/javascripts/Admin/src/Admin.User.js index 06ed24b4e5..94cf8f2ca1 100644 --- a/public/javascripts/Admin/src/Admin.User.js +++ b/public/javascripts/Admin/src/Admin.User.js @@ -47,6 +47,13 @@ function AdminUser(params) { } }) .addTo(map); + + // Calculate total distance audited + var distanceAudited = 0; + for (var i = data.features.length - 1; i >= 0; i--) { + distanceAudited += turf.length(data.features[i], {units: 'miles'}); + } + document.getElementById("td-total-distance-audited-admin").innerHTML = distanceAudited.toPrecision(2) + " mi"; }); // Visualize the labels collected From 0aa1abdce9096d8f1c876ec63c501484ea79064a Mon Sep 17 00:00:00 2001 From: shokiami Date: Mon, 6 Jul 2020 15:13:20 -0700 Subject: [PATCH 007/143] Slightly enlarged statux-box element to better fit pictures. --- public/javascripts/SVValidate/mobile/mobileValidate.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/javascripts/SVValidate/mobile/mobileValidate.js b/public/javascripts/SVValidate/mobile/mobileValidate.js index 8520b96d43..87c2b2ca7a 100644 --- a/public/javascripts/SVValidate/mobile/mobileValidate.js +++ b/public/javascripts/SVValidate/mobile/mobileValidate.js @@ -98,7 +98,7 @@ function resizeMobileValidation() { } let statusBoxes = document.getElementsByClassName("status-box"); for (let i = 0; i < statusBoxes.length; i++) { - statusBoxes[i].style.height = w * (83 / 95) / 2 + statusBoxes[i].childElementCount * 20 + "px"; + statusBoxes[i].style.height = w * (83 / 95) / 2 + 40 + "px"; } document.getElementById("modal-info-close-button").style.left = w - 75 + "px"; From e33f1e38f8fa0e73d2cc7c8ced75b72660ef3802 Mon Sep 17 00:00:00 2001 From: jstadeusiak Date: Mon, 6 Jul 2020 15:22:17 -0700 Subject: [PATCH 008/143] Lists collaborators per city --- app/views/index.scala.html | 23 +++-- .../columbus-oh/open_columbus_light.svg | 90 ++++++++++++++++++ .../assets/columbus-oh/open_columbus_logo.png | Bin 0 -> 109087 bytes public/css/main.css | 13 ++- 4 files changed, 114 insertions(+), 12 deletions(-) create mode 100644 public/assets/columbus-oh/open_columbus_light.svg create mode 100644 public/assets/columbus-oh/open_columbus_logo.png diff --git a/app/views/index.scala.html b/app/views/index.scala.html index 70939927d9..962295632b 100644 --- a/app/views/index.scala.html +++ b/app/views/index.scala.html @@ -289,14 +289,21 @@

@Messages("landing.collaborators.title")
- -
- Makeability_Logo -
- -
- LIGA_Logo -
+
+
+ Makeability_Logo +
+ +
+ LIGA_Logo +
+ @if("Columbus"== cityName){ +
+ Open_Columbus_Logo +
+ + } +
diff --git a/public/assets/columbus-oh/open_columbus_light.svg b/public/assets/columbus-oh/open_columbus_light.svg new file mode 100644 index 0000000000..de54fc3a5b --- /dev/null +++ b/public/assets/columbus-oh/open_columbus_light.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Columbus + Open + + + diff --git a/public/assets/columbus-oh/open_columbus_logo.png b/public/assets/columbus-oh/open_columbus_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..57ae108c046daaced69723769231883377cc9575 GIT binary patch literal 109087 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%0AK*|~ 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 img { + height: 220px; +} #press-container2, #brought-to-you-by-container { position: relative; max-width: 900px; From aa8332292df835ee6062660decf4de4eaccf8a91 Mon Sep 17 00:00:00 2001 From: jstadeusiak Date: Mon, 6 Jul 2020 15:28:28 -0700 Subject: [PATCH 009/143] Spacing and syntax adjustments --- app/views/index.scala.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/views/index.scala.html b/app/views/index.scala.html index 962295632b..504668965d 100644 --- a/app/views/index.scala.html +++ b/app/views/index.scala.html @@ -293,7 +293,6 @@
Makeability_Logo
-
LIGA_Logo
@@ -301,7 +300,6 @@
Open_Columbus_Logo
- } From 8f694cad938bedee7f79e6d6269fdcebd81ee21b Mon Sep 17 00:00:00 2001 From: jstadeusiak Date: Tue, 7 Jul 2020 13:05:03 -0700 Subject: [PATCH 010/143] Mouseover shows popup --- public/javascripts/AccessibilityChoropleth.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/javascripts/AccessibilityChoropleth.js b/public/javascripts/AccessibilityChoropleth.js index f1f2627f10..9b83602408 100644 --- a/public/javascripts/AccessibilityChoropleth.js +++ b/public/javascripts/AccessibilityChoropleth.js @@ -180,7 +180,7 @@ function AccessibilityChoropleth(_, $, turf, difficultRegionIds) { layer.on('mouseover', function (e) { this.setStyle({opacity: 1.0, weight: 3, color: "#000"}); - + this.openPopup() }); layer.on('mouseout', function (e) { for (var i = layers.length - 1; i >= 0; i--) { From c1fe8c02e8b00370e8c2cac2bccd9280f38a32a0 Mon Sep 17 00:00:00 2001 From: ronpechuk Date: Tue, 7 Jul 2020 13:16:54 -0700 Subject: [PATCH 011/143] #1817: Fixed Notes and Temporary_Label_Id columns --- public/javascripts/SVLabel/src/SVLabel/Tracker.js | 2 +- public/javascripts/SVLabel/src/SVLabel/label/LabelContainer.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/public/javascripts/SVLabel/src/SVLabel/Tracker.js b/public/javascripts/SVLabel/src/SVLabel/Tracker.js index 4fc169e9f0..d3caae79f5 100644 --- a/public/javascripts/SVLabel/src/SVLabel/Tracker.js +++ b/public/javascripts/SVLabel/src/SVLabel/Tracker.js @@ -218,7 +218,7 @@ function Tracker () { } //we are no longer interacting with a label, set currentLabel to null - if(self._isContextMenuClose(action) || self._isDeleteLabelAction(action) || !contextMenuLabel){ + if(self._isContextMenuClose(action) || !contextMenuLabel){ currentLabel = null; } diff --git a/public/javascripts/SVLabel/src/SVLabel/label/LabelContainer.js b/public/javascripts/SVLabel/src/SVLabel/label/LabelContainer.js index ba954a09fb..d192dcc92f 100644 --- a/public/javascripts/SVLabel/src/SVLabel/label/LabelContainer.js +++ b/public/javascripts/SVLabel/src/SVLabel/label/LabelContainer.js @@ -190,7 +190,7 @@ function LabelContainer($) { */ this.removeLabel = function (label) { if (!label) { return false; } - svl.tracker.push('RemoveLabel', {labelId: label.getProperty('labelId')}); + svl.tracker.push('RemoveLabel', {labelType: label.getProperty('labelType')}); svl.labelCounter.decrement(label.getProperty("labelType")); label.remove(); From ce52aabd1e685293534f86f15b2f415a9b2a33d6 Mon Sep 17 00:00:00 2001 From: shokiami Date: Tue, 7 Jul 2020 16:11:08 -0700 Subject: [PATCH 012/143] Fixed mobile feedback zoom in issue. --- public/javascripts/SVValidate/mobile/mobileValidate.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/public/javascripts/SVValidate/mobile/mobileValidate.css b/public/javascripts/SVValidate/mobile/mobileValidate.css index ac70a322ee..1e99cf2db8 100644 --- a/public/javascripts/SVValidate/mobile/mobileValidate.css +++ b/public/javascripts/SVValidate/mobile/mobileValidate.css @@ -82,11 +82,12 @@ html { } #modal-comment-textarea { - font-size: 30pt; + font-size: 32pt; } #modal-comment-title { - font-size: 30pt; + font-size: 32pt; + text-align: left; } .modal-foreground { From 139c98b1404474610cf2ae32288a49e703875e07 Mon Sep 17 00:00:00 2001 From: jstadeusiak Date: Wed, 8 Jul 2020 12:40:13 -0700 Subject: [PATCH 013/143] Mouseover for other choropleths --- public/javascripts/Admin/src/Admin.js | 4 ++-- public/javascripts/Choropleth.js | 1 + public/javascripts/LabelMap.js | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/public/javascripts/Admin/src/Admin.js b/public/javascripts/Admin/src/Admin.js index 9a0ccd0518..b35dca5e06 100644 --- a/public/javascripts/Admin/src/Admin.js +++ b/public/javascripts/Admin/src/Admin.js @@ -123,7 +123,7 @@ function Admin(_, $, c3, turf, difficultRegionIds) { layer.on('mouseover', function (e) { this.setStyle({color: "red", fillColor: "red"}); - + this.openPopup(); }); layer.on('mouseout', function (e) { for (var i = layers.length - 1; i >= 0; i--) { @@ -255,7 +255,7 @@ function Admin(_, $, c3, turf, difficultRegionIds) { layer.on('mouseover', function (e) { this.setStyle({opacity: 1.0, weight: 3, color: "#000"}); - + this.openPopup(); }); layer.on('mouseout', function (e) { for (var i = layers.length - 1; i >= 0; i--) { diff --git a/public/javascripts/Choropleth.js b/public/javascripts/Choropleth.js index 9e676d64c1..27c8bba1d2 100644 --- a/public/javascripts/Choropleth.js +++ b/public/javascripts/Choropleth.js @@ -140,6 +140,7 @@ function Choropleth(_, $, difficultRegionIds) { layer.on('mouseover', function (e) { this.setStyle({opacity: 1.0, weight: 3, color: "#000"}); + this.openPopup() }); layer.on('mouseout', function (e) { diff --git a/public/javascripts/LabelMap.js b/public/javascripts/LabelMap.js index 61d9b7e17b..30d5488e7a 100644 --- a/public/javascripts/LabelMap.js +++ b/public/javascripts/LabelMap.js @@ -135,6 +135,7 @@ function LabelMap(_, $) { layer.on('mouseover', function (e) { this.setStyle({color: "red", fillColor: "red"}); + this.openPopup(); }); layer.on('mouseout', function (e) { From a77d4ca935b95f93d6a5df16beb2730972a8ef09 Mon Sep 17 00:00:00 2001 From: John Tadeusiak Date: Wed, 8 Jul 2020 12:41:47 -0700 Subject: [PATCH 014/143] Update Choropleth.js --- public/javascripts/Choropleth.js | 1 - 1 file changed, 1 deletion(-) diff --git a/public/javascripts/Choropleth.js b/public/javascripts/Choropleth.js index 27c8bba1d2..834936beca 100644 --- a/public/javascripts/Choropleth.js +++ b/public/javascripts/Choropleth.js @@ -141,7 +141,6 @@ function Choropleth(_, $, difficultRegionIds) { layer.on('mouseover', function (e) { this.setStyle({opacity: 1.0, weight: 3, color: "#000"}); this.openPopup() - }); layer.on('mouseout', function (e) { for (var i = layers.length - 1; i >= 0; i--) { From 138b583e7c66c24bf1d3ceff0bdb566a99c39cd3 Mon Sep 17 00:00:00 2001 From: John Tadeusiak Date: Wed, 8 Jul 2020 12:42:06 -0700 Subject: [PATCH 015/143] Update LabelMap.js --- public/javascripts/LabelMap.js | 1 - 1 file changed, 1 deletion(-) diff --git a/public/javascripts/LabelMap.js b/public/javascripts/LabelMap.js index 30d5488e7a..f6dd336284 100644 --- a/public/javascripts/LabelMap.js +++ b/public/javascripts/LabelMap.js @@ -136,7 +136,6 @@ function LabelMap(_, $) { layer.on('mouseover', function (e) { this.setStyle({color: "red", fillColor: "red"}); this.openPopup(); - }); layer.on('mouseout', function (e) { for (var i = layers.length - 1; i >= 0; i--) { From 18d3d15431662a197f9ed6e9287a0acc927a152a Mon Sep 17 00:00:00 2001 From: shokiami Date: Wed, 8 Jul 2020 18:21:28 -0700 Subject: [PATCH 016/143] Just some fixes I missed. --- .../javascripts/SVValidate/mobile/mobileValidate.css | 2 +- public/locales/es/validate.json | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/public/javascripts/SVValidate/mobile/mobileValidate.css b/public/javascripts/SVValidate/mobile/mobileValidate.css index 1003c1c1b6..ac70a322ee 100644 --- a/public/javascripts/SVValidate/mobile/mobileValidate.css +++ b/public/javascripts/SVValidate/mobile/mobileValidate.css @@ -276,4 +276,4 @@ html { height: 90px; width: 730px; z-index: 1; -} \ No newline at end of file +} diff --git a/public/locales/es/validate.json b/public/locales/es/validate.json index 20aebe91b9..54c9178a09 100644 --- a/public/locales/es/validate.json +++ b/public/locales/es/validate.json @@ -122,11 +122,11 @@ }, "mission-complete": { "title": "¡Gran trabajo!", - "body-1": "¡Acabas de validar {{n}} etiquetas de Rampas Peatonales!", - "body-2": "Acabas de validar {{n}} etiquetas de Rampas Peatonales Ausentes!", - "body-3": "Acabas de validar {{n}} etiquetas de Obstáculos!", - "body-4": "Acabas de validar {{n}} etiquetas de Problemas en Superficie!", - "body-7": "Acabas de validar {{n}} etiquetas de que No Hay Banqueta!", + "body-1": "¡Acabas de validar {{n}} etiquetas de Rampas Peatonales.", + "body-2": "Acabas de validar {{n}} etiquetas de Rampas Peatonales Ausentes.", + "body-3": "Acabas de validar {{n}} etiquetas de Obstáculos.", + "body-4": "Acabas de validar {{n}} etiquetas de Problemas en Superficie.", + "body-7": "Acabas de validar {{n}} etiquetas de que No Hay Banqueta.", "validate-more": "Validar más etiquetas", "continue": "Continuar validando", "explore": "Comienza una misión de exploración", From dfdb3a6bbd7eaff68d0501028e878edf66a19b5c Mon Sep 17 00:00:00 2001 From: shokiami Date: Wed, 8 Jul 2020 18:24:55 -0700 Subject: [PATCH 017/143] Test if newline is working... --- public/javascripts/SVValidate/mobile/mobileValidate.css | 1 + 1 file changed, 1 insertion(+) diff --git a/public/javascripts/SVValidate/mobile/mobileValidate.css b/public/javascripts/SVValidate/mobile/mobileValidate.css index ac70a322ee..0b8ae7481c 100644 --- a/public/javascripts/SVValidate/mobile/mobileValidate.css +++ b/public/javascripts/SVValidate/mobile/mobileValidate.css @@ -277,3 +277,4 @@ html { width: 730px; z-index: 1; } + From 767f7ebc5a8aac3a82bd4798c998e5b5957a11cf Mon Sep 17 00:00:00 2001 From: shokiami Date: Wed, 8 Jul 2020 18:26:35 -0700 Subject: [PATCH 018/143] Testing newline setting --- public/javascripts/SVValidate/mobile/mobileValidate.css | 1 - 1 file changed, 1 deletion(-) diff --git a/public/javascripts/SVValidate/mobile/mobileValidate.css b/public/javascripts/SVValidate/mobile/mobileValidate.css index 0b8ae7481c..ac70a322ee 100644 --- a/public/javascripts/SVValidate/mobile/mobileValidate.css +++ b/public/javascripts/SVValidate/mobile/mobileValidate.css @@ -277,4 +277,3 @@ html { width: 730px; z-index: 1; } - From 8ef2a9c37b25b716d83f58114e9792bcb77bfb34 Mon Sep 17 00:00:00 2001 From: misaugstad Date: Wed, 8 Jul 2020 18:26:44 -0700 Subject: [PATCH 019/143] fixes bug with mobile translations --- public/locales/en/validate.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/public/locales/en/validate.json b/public/locales/en/validate.json index 7a0084e7e0..ff83490a87 100644 --- a/public/locales/en/validate.json +++ b/public/locales/en/validate.json @@ -135,10 +135,10 @@ "no-new-mission-button": "Start Exploring" }, "mobile": { - "info-title-title-CurbRamp": "What is a Curb Ramp?", - "info-title-title-NoCurbRamp": "What is a Missing Curb Ramp?", - "info-title-title-Obstacle": "What is an Obstacle?", - "info-title-title-SurfaceProblem": "What is a Surface Problem?", - "info-title-title-NoSidewalk": "What is a \"No Sidewalk\"" + "info-title-CurbRamp": "What is a Curb Ramp?", + "info-title-NoCurbRamp": "What is a Missing Curb Ramp?", + "info-title-Obstacle": "What is an Obstacle?", + "info-title-SurfaceProblem": "What is a Surface Problem?", + "info-title-NoSidewalk": "What is a \"No Sidewalk\"" } } \ No newline at end of file From 8f1b66c9ca1212190cce6649e9127ff207c5b6a8 Mon Sep 17 00:00:00 2001 From: misaugstad Date: Wed, 8 Jul 2020 18:27:11 -0700 Subject: [PATCH 020/143] fixes bug with date formatting on admin user page --- public/javascripts/Admin/src/Admin.User.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/javascripts/Admin/src/Admin.User.js b/public/javascripts/Admin/src/Admin.User.js index 06ed24b4e5..c8306d273d 100644 --- a/public/javascripts/Admin/src/Admin.User.js +++ b/public/javascripts/Admin/src/Admin.User.js @@ -145,7 +145,7 @@ function AdminUser(params) { var localDate = moment(new Date(grouped[auditTaskId][0]["task_end"])); tableRows += "" + - "" + localDate.formt('L') + "" + + "" + localDate.format('L') + "" + "" + labelCounter["CurbRamp"] + "" + "" + labelCounter["NoCurbRamp"] + "" + "" + labelCounter["Obstacle"] + "" + From ef00e92795e42cbc1da7a2650d82823331ef46db Mon Sep 17 00:00:00 2001 From: shokiami Date: Wed, 8 Jul 2020 18:27:51 -0700 Subject: [PATCH 021/143] Final newline test --- public/javascripts/SVValidate/mobile/mobileValidate.css | 1 + 1 file changed, 1 insertion(+) diff --git a/public/javascripts/SVValidate/mobile/mobileValidate.css b/public/javascripts/SVValidate/mobile/mobileValidate.css index ac70a322ee..0b8ae7481c 100644 --- a/public/javascripts/SVValidate/mobile/mobileValidate.css +++ b/public/javascripts/SVValidate/mobile/mobileValidate.css @@ -277,3 +277,4 @@ html { width: 730px; z-index: 1; } + From a15d119bb1ad28c4763f9ce336e8daa53f092856 Mon Sep 17 00:00:00 2001 From: shokiami Date: Wed, 8 Jul 2020 18:55:40 -0700 Subject: [PATCH 022/143] Alright, I think I got everything...? --- public/javascripts/SVValidate/mobile/mobileValidate.css | 1 - public/locales/es/validate.json | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/public/javascripts/SVValidate/mobile/mobileValidate.css b/public/javascripts/SVValidate/mobile/mobileValidate.css index 0b8ae7481c..ac70a322ee 100644 --- a/public/javascripts/SVValidate/mobile/mobileValidate.css +++ b/public/javascripts/SVValidate/mobile/mobileValidate.css @@ -277,4 +277,3 @@ html { width: 730px; z-index: 1; } - diff --git a/public/locales/es/validate.json b/public/locales/es/validate.json index 54c9178a09..8cb6b0fc43 100644 --- a/public/locales/es/validate.json +++ b/public/locales/es/validate.json @@ -122,7 +122,7 @@ }, "mission-complete": { "title": "¡Gran trabajo!", - "body-1": "¡Acabas de validar {{n}} etiquetas de Rampas Peatonales.", + "body-1": "Acabas de validar {{n}} etiquetas de Rampas Peatonales.", "body-2": "Acabas de validar {{n}} etiquetas de Rampas Peatonales Ausentes.", "body-3": "Acabas de validar {{n}} etiquetas de Obstáculos.", "body-4": "Acabas de validar {{n}} etiquetas de Problemas en Superficie.", @@ -141,4 +141,4 @@ "info-title-SurfaceProblem": "¿Qué es un Problema en Superficie?", "info-title-NoSidewalk": "¿Qué es un \"No Hay Banqueta\"?" } -} \ No newline at end of file +} From f7c69b0627a0cf1a26e853b76f5300b274f13fa6 Mon Sep 17 00:00:00 2001 From: shokiami Date: Wed, 8 Jul 2020 21:42:20 -0700 Subject: [PATCH 023/143] Added some padding to the feedback button. --- public/javascripts/SVValidate/mobile/mobileValidate.css | 2 ++ 1 file changed, 2 insertions(+) diff --git a/public/javascripts/SVValidate/mobile/mobileValidate.css b/public/javascripts/SVValidate/mobile/mobileValidate.css index 1a877887e1..b3a5231277 100644 --- a/public/javascripts/SVValidate/mobile/mobileValidate.css +++ b/public/javascripts/SVValidate/mobile/mobileValidate.css @@ -49,6 +49,7 @@ html { #left-column-feedback-button { font-size: 30pt; + width: 90% } #left-column-jump-button { @@ -106,6 +107,7 @@ html { -webkit-border-radius: 3px 3px 3px 3px; -moz-border-radius: 3px 3px 3px 3px; overflow: auto; + padding-bottom: 20px; } #modal-info-background { From dcb507a2f0494f9c05773fe6f57e8e1d6fb987c5 Mon Sep 17 00:00:00 2001 From: ronpechuk Date: Thu, 9 Jul 2020 14:16:09 -0700 Subject: [PATCH 024/143] #12: added changes to legend and chart --- app/views/userProfile.scala.html | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/app/views/userProfile.scala.html b/app/views/userProfile.scala.html index 08c7d42a7d..57c742a0d1 100644 --- a/app/views/userProfile.scala.html +++ b/app/views/userProfile.scala.html @@ -13,11 +13,11 @@
- - - - - + + + + +
@Messages("curb.ramp")
@Messages("missing.ramp")
@Messages("obstacle")
@Messages("surface.problem")
@Messages("no.sidewalk")
@Messages("curb.ramp")
@Messages("missing.ramp")
@Messages("obstacle")
@Messages("surface.problem")
@Messages("no.sidewalk")
@Messages("dashboard.audited.street")
@@ -42,24 +42,6 @@ - - - - - - - - - - - - - - - - - -
@Messages("dashboard.label.type")@Messages("curb.ramp")@Messages("missing.ramp")@Messages("obstacle")@Messages("surface.problem")@Messages("no.sidewalk")
@Messages("dashboard.number.of.labels")
From 1e037f4fdf772282b3508e802c3e8d04af7b62bc Mon Sep 17 00:00:00 2001 From: ronpechuk Date: Fri, 10 Jul 2020 10:11:02 -0700 Subject: [PATCH 025/143] #1817: fixed the logging issue with mouse movements after RemoveLabel --- public/javascripts/SVLabel/src/SVLabel/Tracker.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/javascripts/SVLabel/src/SVLabel/Tracker.js b/public/javascripts/SVLabel/src/SVLabel/Tracker.js index d3caae79f5..d9b77abc0e 100644 --- a/public/javascripts/SVLabel/src/SVLabel/Tracker.js +++ b/public/javascripts/SVLabel/src/SVLabel/Tracker.js @@ -63,7 +63,7 @@ function Tracker () { }; this._isDeleteLabelAction = function (action) { - return action.indexOf("Click_LabelDelete") >= 0; + return action.indexOf("RemoveLabel") >= 0; }; this._isTaskStartAction = function (action) { @@ -210,7 +210,6 @@ function Tracker () { var item = self.create(action, notes, extraData); actions.push(item); - var contextMenuLabel = true; if(self._isFinishLabelingAction(action) && (notes['labelType'] === 'NoSidewalk' || notes['labelType'] === 'Occlusion')){ @@ -218,7 +217,7 @@ function Tracker () { } //we are no longer interacting with a label, set currentLabel to null - if(self._isContextMenuClose(action) || !contextMenuLabel){ + if(self._isContextMenuClose(action) || self._isDeleteLabelAction(action) || !contextMenuLabel){ currentLabel = null; } @@ -226,6 +225,7 @@ function Tracker () { if (actions.length > 200 && !self._isCanvasInteraction(action) && !self._isContextMenuAction(action)) { self.submitForm(); } + return this; }; From 88e6622613635ee65f5d1ff72198afcafa0d7680 Mon Sep 17 00:00:00 2001 From: Matthew Johnson <32688680+MattJ12@users.noreply.github.com> Date: Fri, 10 Jul 2020 13:58:02 -0700 Subject: [PATCH 026/143] Adds function to AdminController.scala that clears the internal cache in EhCachePlugin, Play's defult cache plugin --- app/controllers/AdminController.scala | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/controllers/AdminController.scala b/app/controllers/AdminController.scala index 881f43059d..00b3559282 100644 --- a/app/controllers/AdminController.scala +++ b/app/controllers/AdminController.scala @@ -25,6 +25,10 @@ import org.geotools.referencing.CRS import play.api.libs.json.{JsArray, JsError, JsObject, Json} import play.extras.geojson import play.api.mvc.BodyParsers +import play.api.Play +import play.api.Play.current +import play.api.cache.Cache +import play.api.cache.EhCachePlugin import scala.concurrent.Future import scala.collection.mutable.ListBuffer @@ -521,4 +525,12 @@ class AdminController @Inject() (implicit val env: Environment[User, SessionAuth } ) } + + /** Clears all internal caches stored in the EhCachePlugin, which is play's default cache plugin. */ + def clearInternalCache() = UserAwareAction.async { implicit request => + val cacheController = Play.application.plugin[EhCachePlugin].get.manager + val cache = cacheController.getCache("play") + cache.removeAll() + Future.successful(Ok("success")) + } } From 047e7ee80843b7d96043b1d717396b784e098924 Mon Sep 17 00:00:00 2001 From: Matthew Johnson <32688680+MattJ12@users.noreply.github.com> Date: Fri, 10 Jul 2020 13:59:03 -0700 Subject: [PATCH 027/143] Creates an onclick button that triggers the clearing of the internal cache and displays success text upon completion --- app/views/admin/index.scala.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/admin/index.scala.html b/app/views/admin/index.scala.html index 597222952f..8d64454194 100644 --- a/app/views/admin/index.scala.html +++ b/app/views/admin/index.scala.html @@ -291,7 +291,8 @@

Coverage

- + +

Comments

From 309f2f2685b92f66734e085700ff9c25241a4ad9 Mon Sep 17 00:00:00 2001 From: Matthew Johnson <32688680+MattJ12@users.noreply.github.com> Date: Fri, 10 Jul 2020 13:59:48 -0700 Subject: [PATCH 028/143] Adds 'es' and 'en' translations for the button to clear the internal cache --- conf/messages.en | 2 ++ conf/messages.es | 2 ++ 2 files changed, 4 insertions(+) diff --git a/conf/messages.en b/conf/messages.en index 76c2ccf8e2..f2b0901533 100644 --- a/conf/messages.en +++ b/conf/messages.en @@ -242,3 +242,5 @@ labeling.guide.no.sidewalk.summary = You should place a No Sidewalk label starti labeling.guide.occlusion.summary = Occlusion is when you can't see something at all. In these cases, you should place an Occlusion label. This should rarely be used, so only place the Occlusion label when a sidewalk, ramp, or other accessibility problem cannot be viewed from any angle due to obstructions, such as cars. admin.overview.distance = km + +admin.clear.internal.cache = Clear Internal Cache diff --git a/conf/messages.es b/conf/messages.es index abe64d57bc..71c4fb7bcb 100644 --- a/conf/messages.es +++ b/conf/messages.es @@ -241,3 +241,5 @@ labeling.guide.no.sidewalk.summary = Se debe colocar una etiqueta de "No hay ban labeling.guide.occlusion.summary = La oclusión es cuando no puedes ver nada en absoluto. En estos casos, debes colocar una etiqueta de "Oclusión". Esta etiqueta debe usarse en muy pocas ocasiones, así que sólo coloca la etiqueta de "Oclusión" cuando una banqueta, rampa u otro problema de accesibilidad no se pueda ver desde ningún ángulo debido a obstrucciones, como los automóviles. admin.overview.distance = km + +admin.clear.internal.cache = Borrar Caché Interna From 6bea485d03e56b0dbca6510bfbe48b6be4fa4cdf Mon Sep 17 00:00:00 2001 From: Matthew Johnson <32688680+MattJ12@users.noreply.github.com> Date: Fri, 10 Jul 2020 14:00:51 -0700 Subject: [PATCH 029/143] Adds function clearInternalCache() to Admin.js that uses ajax to handle the request to clear internal cache --- public/javascripts/Admin/src/Admin.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/public/javascripts/Admin/src/Admin.js b/public/javascripts/Admin/src/Admin.js index 9a0ccd0518..fb1bc022ef 100644 --- a/public/javascripts/Admin/src/Admin.js +++ b/public/javascripts/Admin/src/Admin.js @@ -1419,6 +1419,16 @@ function Admin(_, $, c3, turf, difficultRegionIds) { }); } + function clearInternalCache() { + $.ajax( { + url: '/adminapi/clearInternalCache', + type: 'put', + success: function () { + clearInternalCacheSuccess.innerHTML = i18next.t("admin-clear-internal-cache"); + } + } ) + } + initializeLabelTable(); initializeAdminGSVLabelView(); initializeAdminLabelSearch(); @@ -1429,6 +1439,7 @@ function Admin(_, $, c3, turf, difficultRegionIds) { self.redrawAuditedStreetLayer = redrawAuditedStreetLayer; self.toggleLayers = toggleLayers; self.toggleAuditedStreetLayer = toggleAuditedStreetLayer; + self.clearInternalCache = clearInternalCache; $('.change-role').on('click', changeRole); From 6121331fc1c5ce9c243efdc58cfb9977a8bf1e72 Mon Sep 17 00:00:00 2001 From: Matthew Johnson <32688680+MattJ12@users.noreply.github.com> Date: Fri, 10 Jul 2020 14:01:47 -0700 Subject: [PATCH 030/143] Adds 'en-US', 'en', and 'es' translations for the success method when the internal cache has been cleared --- public/locales/en-US/common.json | 1 + public/locales/en/common.json | 1 + public/locales/es/common.json | 1 + 3 files changed, 3 insertions(+) diff --git a/public/locales/en-US/common.json b/public/locales/en-US/common.json index 223ea83f5f..f4150ff75f 100644 --- a/public/locales/en-US/common.json +++ b/public/locales/en-US/common.json @@ -1,5 +1,6 @@ { "measurement-system": "IS", + "admin-clear-internal-cache": "All Internal Caches Cleared", "unit-abbreviation-distance-user-dashboard": "mi", "unit-abbreviation-mission-distance": "ft", "unit-distance": "miles", diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 9ee5e891a8..e7e74a5ebc 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -1,5 +1,6 @@ { "measurement-system": "metric", + "admin-clear-internal-cache": "All Internal Caches Cleared", "unit-abbreviation-distance-user-dashboard": "km", "unit-abbreviation-mission-distance": "m", "unit-distance": "kilometers", diff --git a/public/locales/es/common.json b/public/locales/es/common.json index af97f743ca..1a99ab9607 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -1,5 +1,6 @@ { "measurement-system": "metric", + "admin-clear-internal-cache": "Todas las Cachés Internas Borradas", "unit-abbreviation-distance-user-dashboard": "km", "unit-abbreviation-mission-distance": "m", "unit-distance": "kilometers", From f8adab60403d8b7fc90c651d5789bc486c3ece55 Mon Sep 17 00:00:00 2001 From: Matthew Johnson <32688680+MattJ12@users.noreply.github.com> Date: Fri, 10 Jul 2020 14:04:46 -0700 Subject: [PATCH 031/143] Adds route for the /adminapi/clearInternalCache request --- conf/routes | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/routes b/conf/routes index f17037d18f..a49fd2c5a4 100644 --- a/conf/routes +++ b/conf/routes @@ -66,6 +66,7 @@ GET /adminapi/label/id/:labelId @controllers.AdminC GET /adminapi/labelCounts @controllers.AdminController.getAllUserLabelCounts GET /adminapi/attributes/all @controllers.AdminController.getAllAttributes GET /adminapi/validationCounts @controllers.AdminController.getAllUserValidationCounts +PUT /adminapi/clearInternalCache @controllers.AdminController.clearInternalCache GET /adminapi/webpageActivity @controllers.AdminController.getAllWebpageActivities GET /adminapi/webpageActivity/:activity @controllers.AdminController.getWebpageActivities(activity: String) From 953740fe3a2742508a7f9bd102913acfa87db116 Mon Sep 17 00:00:00 2001 From: Matthew Johnson <32688680+MattJ12@users.noreply.github.com> Date: Fri, 10 Jul 2020 15:15:16 -0700 Subject: [PATCH 032/143] Updates Clear Internal Caches button --- conf/messages.en | 2 +- conf/messages.es | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/messages.en b/conf/messages.en index f2b0901533..dbb7bf0c1d 100644 --- a/conf/messages.en +++ b/conf/messages.en @@ -243,4 +243,4 @@ labeling.guide.occlusion.summary = Occlusion is when you can't see something at admin.overview.distance = km -admin.clear.internal.cache = Clear Internal Cache +admin.clear.internal.cache = Clear Internal Caches diff --git a/conf/messages.es b/conf/messages.es index 71c4fb7bcb..881491f4bc 100644 --- a/conf/messages.es +++ b/conf/messages.es @@ -242,4 +242,4 @@ labeling.guide.occlusion.summary = La oclusión es cuando no puedes ver nada en admin.overview.distance = km -admin.clear.internal.cache = Borrar Caché Interna +admin.clear.internal.cache = Borrar Cachés Internas From b5e951064f2fc606556c5f92d39907e8e11d789c Mon Sep 17 00:00:00 2001 From: Naomi Bashkansky Date: Mon, 13 Jul 2020 20:11:07 -0700 Subject: [PATCH 033/143] Might be a bit hacky to just delete that whole segment of if a path doesn't exist already, but my thorough testing yielded no errors, and it fixes the issue. --- .../javascripts/SVLabel/src/SVLabel/task/Task.js | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/public/javascripts/SVLabel/src/SVLabel/task/Task.js b/public/javascripts/SVLabel/src/SVLabel/task/Task.js index b23222d708..0f0c9be50f 100644 --- a/public/javascripts/SVLabel/src/SVLabel/task/Task.js +++ b/public/javascripts/SVLabel/src/SVLabel/task/Task.js @@ -479,23 +479,9 @@ function Task (geojson, tutorialTask, currentLat, currentLng, startPointReversed strokeWeight: 2 }) ]; - } else if (paths) { + } else { // Sets green var latlng = svl.map.getPosition(); paths = self.getGooglePolylines(latlng.lat, latlng.lng); - } else { - // If this is a new task and the this Task instance's `paths` is not set yet, create a red GMaps Polyline. - var gCoordinates = _geojson.features[0].geometry.coordinates.map(function (coord) { - return new google.maps.LatLng(coord[1], coord[0]); - }); - paths = [ - new google.maps.Polyline({ - path: gCoordinates, - geodesic: true, - strokeColor: '#ff0000', - strokeOpacity: 1.0, - strokeWeight: 2 - }) - ]; } for (var i = 0, len = paths.length; i < len; i++) { From 357273dcb0eea27d5ad1e24f65f2984cd2161eea Mon Sep 17 00:00:00 2001 From: Naomi Bashkansky Date: Mon, 13 Jul 2020 20:20:14 -0700 Subject: [PATCH 034/143] Deletes comment --- public/javascripts/SVLabel/src/SVLabel/task/Task.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/javascripts/SVLabel/src/SVLabel/task/Task.js b/public/javascripts/SVLabel/src/SVLabel/task/Task.js index 0f0c9be50f..018cf5790d 100644 --- a/public/javascripts/SVLabel/src/SVLabel/task/Task.js +++ b/public/javascripts/SVLabel/src/SVLabel/task/Task.js @@ -479,7 +479,7 @@ function Task (geojson, tutorialTask, currentLat, currentLng, startPointReversed strokeWeight: 2 }) ]; - } else { // Sets green + } else { var latlng = svl.map.getPosition(); paths = self.getGooglePolylines(latlng.lat, latlng.lng); } From 986a52ad5265dfb667e9059ee0896fabb3da5497 Mon Sep 17 00:00:00 2001 From: Naomi Bashkansky Date: Mon, 13 Jul 2020 20:24:04 -0700 Subject: [PATCH 035/143] Deletes accidental changes --- app/views/admin/user.scala.html | 3 --- public/javascripts/Admin/src/Admin.User.js | 7 ------- 2 files changed, 10 deletions(-) diff --git a/app/views/admin/user.scala.html b/app/views/admin/user.scala.html index 370ab63f4f..558aa79345 100644 --- a/app/views/admin/user.scala.html +++ b/app/views/admin/user.scala.html @@ -42,7 +42,6 @@

General Info and Stats

- @@ -51,7 +50,6 @@

General Info and Stats

-
Mission Count Audited Street Count Label CountTotal Distance Audited
@user.get.username @MissionTable.countCompletedMissionsByUserId(UUID.fromString(user.get.userId), includeOnboarding = false) @AuditTaskTable.countCompletedAuditsByUserId(UUID.fromString(user.get.userId)) @LabelTable.countLabelsByUserId(UUID.fromString(user.get.userId))
@@ -193,7 +191,6 @@

Feedback

- diff --git a/public/javascripts/Admin/src/Admin.User.js b/public/javascripts/Admin/src/Admin.User.js index 94cf8f2ca1..06ed24b4e5 100644 --- a/public/javascripts/Admin/src/Admin.User.js +++ b/public/javascripts/Admin/src/Admin.User.js @@ -47,13 +47,6 @@ function AdminUser(params) { } }) .addTo(map); - - // Calculate total distance audited - var distanceAudited = 0; - for (var i = data.features.length - 1; i >= 0; i--) { - distanceAudited += turf.length(data.features[i], {units: 'miles'}); - } - document.getElementById("td-total-distance-audited-admin").innerHTML = distanceAudited.toPrecision(2) + " mi"; }); // Visualize the labels collected From f11ccef97ca526e2c0c60fcd4537c4007f89ede6 Mon Sep 17 00:00:00 2001 From: shokiami Date: Mon, 13 Jul 2020 21:02:03 -0700 Subject: [PATCH 036/143] Removed faint lines under status-box elements in the mobile info page. --- app/views/mobileValidate.scala.html | 4 ++-- public/javascripts/SVValidate/mobile/mobileValidate.css | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/views/mobileValidate.scala.html b/app/views/mobileValidate.scala.html index 7db8ebc5b4..26fec3e62c 100644 --- a/app/views/mobileValidate.scala.html +++ b/app/views/mobileValidate.scala.html @@ -74,14 +74,14 @@