Created
October 16, 2009 00:34
-
-
Save relrod/211433 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# vim:ts=3 shiftwidth=3 | |
# Three sets of "###" (i.e. ### ### ###) means *IMPORTANT* | |
We want site administrators to be able to create polls, which only students in | |
grades that they (administrators) select can vote in. | |
There are going to be four groups. *always*. | |
- G-1: 9th grade | |
- G-2: 10th grade | |
- G-3: 11th grade | |
- G-4: 12th grade | |
This is broken down into three steps, or 'sub-apps': | |
- Nominations: | |
Administrative Actions: | |
These can basically be thought of as polls with the student body | |
as nominations. However, they will probably be done differently, | |
using a real django app (in the same project, of course). | |
'nominate' will be set up in the following way: | |
:: Administrator logs in, clicks new poll | |
:: Administrator chooses all groups allowed to nominate | |
:: Administrator chooses all groups of possible nominations | |
:: Administrator chooses the date which nominations open/close | |
:: Administrator hits submit, poll opens if it's supposed to. | |
* The poll open/close date is simple. If the current date is past | |
the close date, or before the open date, don't allow any voting ;). | |
Otherwise, allow it. | |
Student Actions: | |
Students will go to /nominate and see: | |
- Form to enter their student ID. | |
- When they enter their ID, as soon as it reaches 5-chars, we | |
start doing (AJAX) checks on every character input. | |
As soon as it matches a student ID, we inform the user | |
that it's valid. If after ~2 seconds it doesn\'t match, | |
show a red box, and the error (non-numeric, no match, etc). | |
- Form to enter the name of a candidate. | |
- This form *SEARCHES*, nothing in this form can submit as a | |
real nomination. EVER. BAD. ETC. NO! ### ### ### | |
- AJAX...More on this later. | |
- Submit button which runs a bunch of checks, and submits it. | |
- How do we do these checks in django? Are they necessary? | |
- Vote: | |
Administrative Actions: | |
:: Administrator logs in, goes to the current nomination | |
:: Administrator closes the nomination, if it is not already. | |
:: Administrator sees a list of all nominations, highest-count first, | |
and a checkbox and textfield next to each. | |
- He/she can select this nomination to be entered into the poll. | |
- He/she *must* edit the textfield to put the position. | |
- Shortcuts like 'q' and 'k' for king/queen, might not be a | |
bad idea. | |
:: Nominations are entered into the poll, at the touch of the Submit | |
button. | |
:: Administrator is sent to the poll options form, where he/she can | |
select poll-specific things, like duration. | |
:: Administrator then goes into the poll in the ACP, and opens voting. | |
Student Actions: | |
## TBA | |
- Viewing Votes: | |
Administrative Actions: | |
## TBA | |
Student Actions: | |
-- NONE --, this is part of the ACP only :) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment