Closed (fixed)
Project:
Signup Status
Version:
6.x-1.x-dev
Component:
Code
Priority:
Normal
Category:
Bug report
Assigned:
Reporter:
Created:
19 Sep 2009 at 01:14 UTC
Updated:
13 Dec 2009 at 01:53 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #1
dwwComment #2
dwwCommitted #1 to HEAD.
However, I just thought of an edge case we need to fix. If an admin changes the "Modifies signup count" value on status values that have existing signups in them, we need to do a potentially heavy operation of updating all the {signup_log} records accordingly. Plus, we need to check the effective signup total vs. the limit on any nodes we touched, so this definitely needs batch API...
So, this would be back to active, but it should be blocked on #581846: Cleanup the signup_status admin UI and provide status weights landing so that we don't touch the admin UI with separate patches...
Comment #3
dww#581846: Cleanup the signup_status admin UI and provide status weights is in, this is active again.
Comment #4
dwwComment #5
dwwRerolled to keep up with HEAD.
Comment #6
dwwNow that we've got this function, inside the schema update where signup is adding the {signup_log}.count_towards_limit column, we should invoke this batch-aware function to properly initialize {signup_log}.count_towards_limit on sites that have signup_status and have some status options configured to not modify the signup limit...
I tested this, and setting more batches inside an update.php batch works just fine. Phew. ;)
Comment #7
dww#582250: When you delete a status, signups are left with bogus data made me realize that we also need to deal with some of this batch stuff over there, since it's possible the new status we're reassigning signups to has a different value for mod_signup_count. ;) Fun... I'll see how quick/easy I can reroll this.
Comment #8
dwwThat could have been a lot worse. ;)
Comment #9
mlsamuelson commentedThe patch applies cleanly.
Any suggestions for how best to test the changes?
Comment #10
dwwSuggestions for testing:
a) create some signup-enabled test nodes, and give them some relatively low signup limits (e.g. only 3 slots).
b) define a few different status values that should/shouldn't impact the total, e.g. "yes", "maybe" and "no".
c) signup some dummy users with the different status values, using a few yes/no, and a lot of maybe.
d) visit admin/settings/signup_status, and tweak if "maybe" counts or not. you should see signups open and close on your nodes, assuming the maybes are enough to either push the effective total over/under the limits...
Comment #11
mlsamuelson commentedI setup a test as described. Works slick. I like it.
Comment #12
dwwCommitted to HEAD. Thanks for the tests!
Comment #14
Anonymous (not verified) commentedDoes this patch exist for the v5 module?
Comment #15
dww@Quartz: No. The v5 module is completely different from the D6 one, and basically abandoned at this point.
Comment #16
Anonymous (not verified) commentedThanks for the prompt reply dww.