[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