From d41e40d9d6598d13ac35c7301316e4dba481be4a Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Sun, 4 Aug 2013 17:27:41 +0200 Subject: Add a vote type to the TU proposal form There are only four valid reasons for starting a TU vote, so instead of letting the user choose a vote length, let her pick a reason and set vote length and quorum based on that selection. Signed-off-by: Lukas Fleischer --- web/html/addvote.php | 46 ++++++++++++++++++++++++++++++++++------------ web/lib/acctfuncs.inc.php | 7 ++++--- 2 files changed, 38 insertions(+), 15 deletions(-) diff --git a/web/html/addvote.php b/web/html/addvote.php index 43973f3..3ce99c0 100644 --- a/web/html/addvote.php +++ b/web/html/addvote.php @@ -37,16 +37,34 @@ if ($atype == "Trusted User" || $atype == "Developer") { } } - if (!empty($_POST['length'])) { - if (!is_numeric($_POST['length'])) { - $error.= __("Length must be a number.") ; - } else if ($_POST['length'] < 1) { - $error.= __("Length must be at least 1."); - } else { - $len = (60*60*24)*$_POST['length']; + if (!empty($_POST['type'])) { + switch ($_POST['type']) { + case "add_tu": + /* Addition of a TU */ + $len = 7 * 24 * 60 * 60; + $quorum = 0.66; + break; + case "remove_tu": + /* Removal of a TU */ + $len = 7 * 24 * 60 * 60; + $quorum = 0.75; + break; + case "remove_inactive_tu": + /* Removal of a TU (undeclared inactivity) */ + $len = 5 * 24 * 60 * 60; + $quorum = 0.66; + break; + case "bylaws": + /* Amendment of Bylaws */ + $len = 7 * 24 * 60 * 60; + $quorum = 0.75; + break; + default: + $error.= __("Invalid type.") ; + break; } } else { - $len = 60*60*24*7; + $error.= __("Invalid type.") ; } if (empty($_POST['agenda'])) { @@ -55,7 +73,7 @@ if ($atype == "Trusted User" || $atype == "Developer") { } if (!empty($_POST['addVote']) && empty($error)) { - add_tu_proposal($_POST['agenda'], $_POST['user'], $len, $uid); + add_tu_proposal($_POST['agenda'], $_POST['user'], $len, $quorum, $uid); print "

" . __("New proposal submitted.") . "

\n"; } else { @@ -75,9 +93,13 @@ if ($atype == "Trusted User" || $atype == "Developer") {

- - - + +


diff --git a/web/lib/acctfuncs.inc.php b/web/lib/acctfuncs.inc.php index 738c7b2..31cdd79 100644 --- a/web/lib/acctfuncs.inc.php +++ b/web/lib/acctfuncs.inc.php @@ -615,7 +615,7 @@ function open_user_proposals($user) { * * @return void */ -function add_tu_proposal($agenda, $user, $votelength, $submitteruid) { +function add_tu_proposal($agenda, $user, $votelength, $quorum, $submitteruid) { $dbh = DB::connect(); $q = "SELECT COUNT(*) FROM Users WHERE AccountTypeID = 2"; @@ -623,11 +623,12 @@ function add_tu_proposal($agenda, $user, $votelength, $submitteruid) { $row = $result->fetch(PDO::FETCH_NUM); $active_tus = $row[0]; - $q = "INSERT INTO TU_VoteInfo (Agenda, User, Submitted, End, "; + $q = "INSERT INTO TU_VoteInfo (Agenda, User, Submitted, End, Quorum, "; $q.= "SubmitterID, ActiveTUs) VALUES "; $q.= "(" . $dbh->quote($agenda) . ", " . $dbh->quote($user) . ", "; $q.= "UNIX_TIMESTAMP(), UNIX_TIMESTAMP() + " . $dbh->quote($votelength); - $q.= ", " . $submitteruid . ", " . $active_tus . ")"; + $q.= ", " . $dbh->quote($quorum) . ", " . $submitteruid . ", "; + $q.= $active_tus . ")"; $result = $dbh->exec($q); } -- cgit v1.2.3-54-g00ecf