On Sun, Aug 04, 2013 at 09:51:17PM +0200, Florian Pritz wrote:
> On 04.08.2013 17:43, Lukas Fleischer wrote:
> > 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 <archli...@cryptocrack.de>
> > ---
> >  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..d744f2f 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 1:
> > +                           /* Addition of a TU */
> > +                           $len = 7 * 24 * 60 * 60;
> > +                           $quorum = 0.66;
> > +                           break;
> > +                   case 2:
> > +                           /* Removal of a TU */
> > +                           $len = 7 * 24 * 60 * 60;
> > +                           $quorum = 0.75;
> > +                           break;
> > +                   case 3:
> > +                           /* Removal of a TU (undeclared inactivity) */
> > +                           $len = 5 * 24 * 60 * 60;
> > +                           $quorum = 0.66;
> > +                           break;
> > +                   case 4:
> > +                           /* 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 "<p class=\"pkgoutput\">" . __("New proposal submitted.") 
> > . "</p>\n";
> >     } else {
> > @@ -75,9 +93,13 @@ if ($atype == "Trusted User" || $atype == "Developer") {
> >                     <?= __("(empty if not applicable)") ?>
> >             </p>
> >             <p>
> > -                   <label for="id_length"><?= __("Length in days") 
> > ?></label>
> > -                   <input type="text" name="length" id="id_length" 
> > value="<?php if (!empty($_POST['length'])) { print 
> > htmlentities($_POST['length'], ENT_QUOTES); } ?>" />
> > -                   <?= __("(defaults to 7 if empty)") ?>
> > +                   <label for="id_type"><?= __("Type") ?></label>
> > +                   <select name="type" id="id_type">
> > +                           <option value="1"><?= __("Addition of a TU") 
> > ?></option>
> > +                           <option value="2"><?= __("Removal of a TU") 
> > ?></option>
> > +                           <option value="3"><?= __("Removal of a TU 
> > (undeclared inactivity)") ?></option>
> > +                           <option value="4"><?= __("Amendment of Bylaws") 
> > ?></option>
> 
> Could you change those to string values so the switch/case above is
> easier to read? Ymmv.

Yeah, sounds like a good idea :)

> 
> > +                   </select>
> >             </p>
> >             <p>
> >             <label for="id_agenda"><?= __("Proposal") ?></label><br />
> > diff --git a/web/lib/acctfuncs.inc.php b/web/lib/acctfuncs.inc.php
> > index 6fe70af..9df1856 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 AND ";
> > @@ -624,11 +624,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);
> >  }
> >  
> > 
> 
> 


Reply via email to