Ignore:
Timestamp:
04/18/09 04:57:22 (15 years ago)
Author:
nanardon
Message:
  • make difference between settings and their raw value
  • simplify template
  • allow to have a different number of elected people than choice in ballot
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/Vote/DB/Poll.pm

    r214 r217  
    128128} 
    129129 
    130 sub info { 
     130sub raw_info { 
    131131    my ($self, $var) = @_; 
    132  
    133     my $default = { 
    134         free_choice => 0, # avoid undef in some case 
    135     }; 
    136132 
    137133    if ($var) { 
     
    145141            my $res = $sth->fetchrow_hashref; 
    146142            $sth->finish; 
    147             return defined($res->{val}) 
    148                 ? $res->{val} 
    149                 : $default->{$var}; 
     143            return $res->{val} 
    150144        } 
    151145    } 
     
    159153            $res->{$set->{var}} = $set->{val}; 
    160154        } 
     155        return $res 
     156    } 
     157    return; 
     158} 
     159 
     160sub info { 
     161    my ($self, $var) = @_; 
     162 
     163    my $default = { 
     164        free_choice => 0, # avoid undef in some case 
     165        elected_count => $self->raw_info('choice_count'), 
     166    }; 
     167 
     168    if ($var) { 
     169        my $val = $self->raw_info($var); 
     170        return defined($val) 
     171            ? $val 
     172            : $default->{$var}; 
     173    } elsif (my $res = $self->raw_info) { 
    161174        foreach (keys %$default) { 
    162175            $res->{$_} = $default->{$_} if (!defined($res->{$_})); 
     
    164177        return $res 
    165178    } 
     179    return; 
    166180} 
    167181 
     
    169183    my ($self, $var, $val) = @_; 
    170184 
     185    $val = undef if(defined($val) && $val eq ''); 
    171186    my $upd = $self->db->prepare_cached( 
    172187        q{update settings set val = ? where poll = ? and var = ?} 
Note: See TracChangeset for help on using the changeset viewer.