And finally, all those groups changes I've been whining and yammering
and complaining about this week. 1. editgroup: You can now edit the trust levels for existing group members (default group too), and you can specify trust levels when adding users to subgroups. 2. approveusers: When approving users in the approval page, you can specify different levels of trust. Before, I invisibly set all the trust values the same. I also added some ordering to the DB query to group users together. 3. I added a great deal of error checking to the processing pages for both forms. I split things up into a pre/post pass. The prepass goes through all of the form args and checks them for consistency and correctness. Nothing is changed in the DB unless all checks pass for all args. Then I do a second pass and make the changes. Both scripts set the ignore_user_abort() flag to prevent the user from stopping the script and causing a DB inconsistency. 4. Added trust consistency checks as well. Rather than allow the project or group leader to set inconsistent trust levels, I look for those and just plain disallow them. You may not give different trust levels in different subgroups of the *same* project, and you may not give a user a higher trust level in the default group than in the subgroups. Both edit and approve make these checks, and the code is absolutely awful.
Showing with 575 additions and 143 deletions