Merge lp:~acoconut/systers/flexible_essays into lp:systers
Status: | Superseded |
---|---|
Proposed branch: | lp:~acoconut/systers/flexible_essays |
Merge into: | lp:systers |
Diff against target: |
286 lines (+131/-28) 5 files modified
Mailman/Cgi/admindb.py (+10/-7) Mailman/Cgi/listinfo.py (+20/-7) Mailman/Cgi/subscribe.py (+46/-7) Mailman/DlistUtils.py (+54/-1) bin/rmlist (+1/-6) |
To merge this branch: | bzr merge lp:~acoconut/systers/flexible_essays |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Robin J | Pending | ||
beachbrake | Pending | ||
Review via email:
|
Description of the change
I added the functionality to show the pending subscriptions with the new types of essays (in admindb.py)
I fixed the bug found when users tried to write an answer longer than what the database holds (and changed the database schema so it holds up to 1500 characters for the essay answers)
I fixed what happens when a user tries to subscribe twice while their application is being reviewed by making changes to the storm function and counting the number of answers with that question ID and email address. We will have to go through this approach again when we have different form versions, because it will probably not work. I also had to modify subscribe.py, check the return value of the function that writes to the database and give an appropriate error message.
Unmerged revisions
- 99. By Ana Cutillas <email address hidden>
-
Added support for setting answers to rejected in the database.
- 98. By Ana Cutillas <email address hidden>
-
Changed the logic in the checking of answers in subscribe.py
Cleaned up DlistUtils.py - 97. By Ana Cutillas <email address hidden>
-
Made the changes suggested by Robin: concerning error messages and
asserting the size of the answers.Added the code to mark answers as accepted in the database when a user
is accepted. - 96. By Ana Cutillas <email address hidden>
-
Added the error message saying that the user hasn't been subscribe to
the list when a user tries to subscribe with a pending subscription. - 95. By Ana Cutillas <email address hidden>
-
Added the functionality to check that the answers aren't longer than
what the database can hold. - 94. By Ana Cutillas <email address hidden>
-
Added changes to show the new essays in the pending subscriptions table.
Handle the possibility of a user trying to subscribe twice before the
subscription is reviewed. - 93. By Ana Cutillas <email address hidden>
-
Removed the unused function get_answer from DlistUtils.py
- 92. By Ana Cutillas <email address hidden>
-
Cleaned up DlistUtils and changed the error message in subscribe. Added
comments. - 91. By Ana Cutillas <email address hidden>
-
Cleaned up.
- 90. By Ana Cutillas <email address hidden>
-
Cleaned up listinfo.py
Ahh, now I understand why we can never make sense of the order the questions come in. Could you change it so they are ordered by subscribe time? (maybe we have to add that field? Or does the database know when the item is entered?) I have always considered the ordering to be random, and when you have "saved" some items to process later, they get reordered and you can't tell the old ones from the new ones.
Also change the comment about modifying this to add essays, since it's not an essay any more. Something like "the answers to the questions asked on the subscribe page?
I think you need to rethink the error checking in subscribe.py First, it's going to confuse the next person who reads your code when you say if len(answer)<1500, since that only applies to text boxes - a checkbox can't be that big. So a branch that has different logic for textboxes than checkboxes will make it clearer. Also, this error message
results. append( _('At least one of your answers is too long. Your answers must be less than 1500 characters long.'))
is not very use friendly. Tell them which question is too long. You already have info about the questions -- use the long text. (Suppose there are 2 checkboxes and one is under 1500 chars, but not by a lot and the other is over. That will drive the subscriber crazy trying to figure out which ones needs to change)
For results = _("""There is a pending subscription with this email.""")
how about adding "You may not subscribe a second time. The moderator will contact you if there are any questions about the answers you gave originally."
Can you look up and see if there is a way to set a given change (e.g., one that has been approved) as the baseline, so that I can look at only new changes. It's hard to review this stuff when the diffs don't give me much information about what you changed since I last looked at it.