This allows quickly identifying accounts that have been approved but where the user did not pick a password.
Signed-off-by: Francois Gouget fgouget@codeweavers.com --- testbot/web/WineTestBot.css | 8 ++++++ testbot/web/admin/UsersList.pl | 47 ++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+)
diff --git a/testbot/web/WineTestBot.css b/testbot/web/WineTestBot.css index 1456036c0..f58835583 100644 --- a/testbot/web/WineTestBot.css +++ b/testbot/web/WineTestBot.css @@ -387,6 +387,14 @@ pre .boterror { color: #e55600; } .canceled { color: black; }
+.userrequest { color: #e55600; } +.userapproved { color: green; } +.useradmin { color: black; } +.userdevel { color: black; } +.usernone { color: red; } +.userdisabled { color: red; } +.userdeleted { color: red; } + .log-info { background-color: #d9ffcc; } .log-skip { color: blue; } .log-todo { color: #d08000; } diff --git a/testbot/web/admin/UsersList.pl b/testbot/web/admin/UsersList.pl index f46949d24..279907041 100644 --- a/testbot/web/admin/UsersList.pl +++ b/testbot/web/admin/UsersList.pl @@ -25,6 +25,7 @@ package UsersListPage; use ObjectModel::CGI::CollectionPage; our @ISA = qw(ObjectModel::CGI::CollectionPage);
+use URI::Escape; use WineTestBot::CGI::Sessions; use WineTestBot::Config; use WineTestBot::Users; @@ -55,6 +56,52 @@ sub DisplayProperty($$$) $PropertyName eq "Status" || $PropertyName eq "RealName"; }
+sub GenerateDataCell($$$$$) +{ + my ($self, $CollectionBlock, $Item, $PropertyDescriptor, $DetailsPage) = @_; + + my $PropertyName = $PropertyDescriptor->GetName(); + if ($PropertyName eq "Status") + { + my $Status = $Item->Status; + my ($Class, $Label); + if ($Status eq "disabled") + { + ($Class, $Label) = ('userdisabled', 'disabled'); + } + elsif ($Status eq "deleted") + { + ($Class, $Label) = ('userdeleted', 'deleted'); + } + elsif ($Item->WaitingForApproval()) + { + ($Class, $Label) = ('userrequest', 'request'); + } + elsif (!$Item->Activated()) + { + ($Class, $Label) = ('userapproved', 'approved'); + } + elsif ($Item->HasRole("admin")) + { + ($Class, $Label) = ('useradmin', 'admin'); + } + elsif ($Item->HasRole("wine-devel")) + { + ($Class, $Label) = ('userdevel', 'wine-devel'); + } + else + { + ($Class, $Label) = ('usernone', 'none'); + } + print "<td><a href='/admin/UserDetails.pl?Key=", uri_escape($Item->GetKey()), + "'><span class='$Class'>$Label</span></a></td>"; + } + else + { + $self->SUPER::GenerateDataCell($CollectionBlock, $Item, $PropertyDescriptor, $DetailsPage); + } +} + sub GetActions($$) { my ($self, $CollectionBlock) = @_;