Comments (3)
The surveys listed in the attached spreadsheet back to May 2015, so we can be fairly confident that whatever is going on is not related to recent changes in the application.
There is only once place in the code where new surveys are created, and if the mapper reaches the final preview page with the “Does this look right?” message then the survey must have been saved and the is_available field on the associated block edge must have been set to False.
nyc-trees/src/nyc_trees/apps/survey/views.py
Lines 638 to 666 in b61db81
If the mapper taps “No, Restart” from the final preview, and then taps “Restart” (or possibly double-taps on “No, Restart”) then the application, by design, updates the blockface record to set is_available back to True.
nyc-trees/src/nyc_trees/apps/survey/views.py
Lines 607 to 620 in b61db81
from nyc-trees.
Do we have any information on when the blockface is flipping back to available? Do we know if it is immediately after the survey is submitted, or sometime later?
It’s immediate, or put another way, the problem is that the blocks are never flipping to not available, so immediately after someone completes a survey they look at the map and the block they just did is still open.
It is “good” that it is happening immediately. That behavior matches the way the code is structured.
- The Mapper submits a survey
- The App saves a new survey row to the database and sets is_available on the blockface to False within the same database transaction.
- The App shows the output of the geometry constructor and presents 3 options
- If the Mapper taps “Yes,” the App just redirects to the survey page.
- If the Mapper taps “No, Restart” and then taps “Restart” (or possibly double-taps “No, Restart” since the buttons are in the same location and the associated text box does not require content) the App updates the blockface to set is_available back to True and redirects to the survey page.
- If the Mapper taps “No, Submit for Review” then enters a message and taps “Submit for Review” the App updates the survey to set is_flagged to True and leaves is_available set to False on the blockface.
If “No, Restart” is tapped by mistake, there is no way to go back and choose another option. The Mapper has to tap “Restart” to get back to the survey page, which sets is_available on the blockface back to True.
from nyc-trees.
Closing for now because:
- It cannot be reliably recreated in staging.
- The problem is not a recent regression
- Code auditing shows that block availability is only changed in 2 places, to False when a survey is submitted and to True when a survey is restarted.
If we want to dig into this further, we could make it required for users to complete the "why do you want to restart" box that appears after clicking "no, restart." That would likely serve as a check when people hit the restart button accidentally and potentially reduce the number of unintended multiple surveys.
from nyc-trees.
Related Issues (20)
- When you are logged out, the progress map does not show block edge tiles
- Deprecation warnings when using Ansible 2.0
- Create new failover site distribution after next deployment
- Allow a survey to be restarted from the preview map HOT 3
- Zoom the survey preview to the extent of the blockface and limit panning and zooming
- Implement final text changes HOT 4
- Respond to testing feedback HOT 1
- Preview screen layout incorrect on tablet HOT 9
- Crosshairs on Treecorder block selection misaligned HOT 5
- Tiles not loading when visit block preview for a second time
- Tree tab arrows stack after previewing a block HOT 5
- Side menu z-index is below the treecorder content
- Map on Reservations page only fills half of screen HOT 4
- ProgrammingError: could not determine polymorphic type because input has type "unknown" HOT 1
- Tool to append lat/lng to a CSV of tree measuements HOT 2
- Add rewards text
- TreesCount shutdown text changes and link removal
- Text change
- Support shutting down TreesCount HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nyc-trees.