[mb-commits] r9829 - in mb_server/branches/newbie-voting: cgi-bin htdocs/comp
root at musicbrainz.org
root at musicbrainz.org
Tue May 6 16:02:15 UTC 2008
Author: luks
Date: 2008-05-06 16:02:15 +0000 (Tue, 06 May 2008)
New Revision: 9829
Modified:
mb_server/branches/newbie-voting/cgi-bin/UserStuff.pm
mb_server/branches/newbie-voting/htdocs/comp/entermods
mb_server/branches/newbie-voting/htdocs/comp/relmods
mb_server/branches/newbie-voting/htdocs/comp/showmod
mb_server/branches/newbie-voting/htdocs/comp/showmoddetail
Log:
Don't allow users with less than 10 accepted (non-auto)edits to vote.
Modified: mb_server/branches/newbie-voting/cgi-bin/UserStuff.pm
===================================================================
--- mb_server/branches/newbie-voting/cgi-bin/UserStuff.pm 2008-05-06 15:56:53 UTC (rev 9828)
+++ mb_server/branches/newbie-voting/cgi-bin/UserStuff.pm 2008-05-06 16:02:15 UTC (rev 9829)
@@ -711,6 +711,15 @@
return ($privs & MBID_SUBMITTER_FLAG) > 0;
}
+# User can vote if they have at least 10 accepted edits and a confirmed
+# e-mail address.
+sub CanVote
+{
+ my $session = GetSession();
+
+ return ($session->{has_confirmed_email} > 0) && ($session->{editsaccepted} > 10);
+}
+
################################################################################
# E-mail
################################################################################
@@ -1180,6 +1189,7 @@
$session->{uid} = $self->GetId;
$session->{expire} = time() + &DBDefs::WEB_SESSION_SECONDS_TO_LIVE;
$session->{has_confirmed_email} = ($self->GetEmail ? 1 : 0);
+ $session->{editsaccepted} = $self->GetModsAccepted;
require Moderation;
my $mod = Moderation->new($self->{DBH});
Modified: mb_server/branches/newbie-voting/htdocs/comp/entermods
===================================================================
--- mb_server/branches/newbie-voting/htdocs/comp/entermods 2008-05-06 15:56:53 UTC (rev 9828)
+++ mb_server/branches/newbie-voting/htdocs/comp/entermods 2008-05-06 16:02:15 UTC (rev 9829)
@@ -39,7 +39,7 @@
ref($DBH) or die;
ref($sub) eq "CODE" or die;
- unless ($session{has_confirmed_email})
+ unless (UserStuff->CanVote)
{
$m->comp("/comp/sidebar", title => "Editing error");
$m->comp("/comp/stylemenu");
Modified: mb_server/branches/newbie-voting/htdocs/comp/relmods
===================================================================
--- mb_server/branches/newbie-voting/htdocs/comp/relmods 2008-05-06 15:56:53 UTC (rev 9828)
+++ mb_server/branches/newbie-voting/htdocs/comp/relmods 2008-05-06 16:02:15 UTC (rev 9829)
@@ -4,7 +4,7 @@
</%args>
-% return if !$session{uid} || !$session{PREF_show_inline_mods} || !$session{has_confirmed_email};
+% return if !$session{uid} || !$session{PREF_show_inline_mods} || !UserStuff->CanVote;
<script type="text/javascript" src="/scripts/iframe.js"></script>
Modified: mb_server/branches/newbie-voting/htdocs/comp/showmod
===================================================================
--- mb_server/branches/newbie-voting/htdocs/comp/showmod 2008-05-06 15:56:53 UTC (rev 9828)
+++ mb_server/branches/newbie-voting/htdocs/comp/showmod 2008-05-06 16:02:15 UTC (rev 9829)
@@ -15,6 +15,7 @@
my $is_open = ($edit->GetStatus == &ModDefs::STATUS_OPEN);
my $is_mine = ($edit->GetModerator == $session{"uid"});
+ my $can_vote = UserStuff->CanVote;
my $time = ($is_open ? $edit->GetExpireTime : $edit->GetCloseTime);
$time = $m->comp("/comp/datetime", $time);
@@ -143,9 +144,7 @@
<% MusicBrainz::Server::Vote->GetVoteName($voted) %><br />
% }
-% if (not $is_mine and
-% $is_open and
-% $session{"has_confirmed_email"})
+% if (!$is_mine && $is_open && $can_vote)
% {
% $$voteflag = 1 if $voteflag;
@@ -160,13 +159,12 @@
<% $changename |n %>
-% unless ($session{"has_confirmed_email"})
+% unless ($can_vote)
% {
- <span style="font-size: 8pt;">
- <br />(No email provided
- <br /> -- you cannot vote)
- </span>
+ <div style="font-size: 8pt;">
+ You cannot vote on this edit. (<a href="/doc/Voting">Details</a>)
+ </div>
% }
% }
Modified: mb_server/branches/newbie-voting/htdocs/comp/showmoddetail
===================================================================
--- mb_server/branches/newbie-voting/htdocs/comp/showmoddetail 2008-05-06 15:56:53 UTC (rev 9828)
+++ mb_server/branches/newbie-voting/htdocs/comp/showmoddetail 2008-05-06 16:02:15 UTC (rev 9829)
@@ -8,6 +8,7 @@
my $my_mod = ($edit->GetModerator == $my_uid);
my $my_vote = $edit->VoteFromUser($my_uid);
my $is_open = ($edit->GetStatus == &ModDefs::STATUS_OPEN);
+ my $can_vote = UserStuff->CanVote;
my $see_votes = 1; # ($my_mod or not $is_open);
@@ -145,16 +146,20 @@
<tr class="top">
<td class="label">My vote:</td>
+% if ($can_vote) {
<td><%
$my_vote ? $my_vote->GetVoteName
: $is_open
? "You have not voted yet. Please vote now!"
: "You did not vote"
%></td>
+% } else {
+ <td>You cannot vote on this edit. (<a href="/doc/Voting">Details</a>)</td>
+% }
</tr>
% }
-% if ($is_open)
+% if ($is_open && $can_vote)
% {
<tr>
More information about the MusicBrainz-commits
mailing list