[mb-commits] r11161 - in mb_server/branches/TemplateToolkit: lib/MusicBrainz/Server lib/MusicBrainz/Server/Form/Artist lib/MusicBrainz/Server/Moderation root/moderation/mods

root at musicbrainz.org root at musicbrainz.org
Wed Jan 28 19:10:53 UTC 2009


Author: acid2
Date: 2009-01-28 19:10:53 +0000 (Wed, 28 Jan 2009)
New Revision: 11161

Modified:
   mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Artist.pm
   mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Form/Artist/Edit.pm
   mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Moderation/MOD_EDIT_ARTIST.pm
   mb_server/branches/TemplateToolkit/root/moderation/mods/edit_artist.tt
Log:
Correctly set the artist type through the artist edit form.

Fixes #4636.

Modified: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Artist.pm
===================================================================
--- mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Artist.pm	2009-01-28 19:10:20 UTC (rev 11160)
+++ mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Artist.pm	2009-01-28 19:10:53 UTC (rev 11161)
@@ -175,7 +175,11 @@
 
 =cut
 
-sub is_valid_type { return defined $ArtistTypeNames{shift}; }
+sub is_valid_type
+{
+    my $type = shift;
+    return exists $ArtistTypeNames{$type . ""};
+}
 
 =head2 begin_date_ymd
 
@@ -619,7 +623,7 @@
     my $self = shift;
 
     require MusicBrainz::Server::Alias;
-    my $al = MusicBrainz::Server::Alias->new($self->dbh, table => 'ArtistAlias');
+    my $al = MusicBrainz::Server::Alias->new($self->dbh, 'ArtistAlias');
 
     my @aliases = map { $_->name } $al->load_all($self->id);
 

Modified: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Form/Artist/Edit.pm
===================================================================
--- mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Form/Artist/Edit.pm	2009-01-28 19:10:20 UTC (rev 11160)
+++ mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Form/Artist/Edit.pm	2009-01-28 19:10:53 UTC (rev 11161)
@@ -12,13 +12,17 @@
     my ($self) = @_;
     my $artist = $self->item;
 
+    my $artist_type = defined $self->value('artist_type')
+        ? $self->value('artist_type')
+        : $artist->type;
+
     $self->context->model('Artist')->edit(
         $artist,
         $self->value('edit_note'),
 
         name        => $self->value('name')        || $artist->name,
         sort_name   => $self->value('sortname')    || $artist->sort_name,
-        type        => $self->value('artist_type') || $artist->type,
+        type        => $artist_type,
         resolution  => $self->value('resolution')  || $artist->resolution,
         begin       => $self->value('start'),
         end         => $self->value('end'),

Modified: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Moderation/MOD_EDIT_ARTIST.pm
===================================================================
--- mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Moderation/MOD_EDIT_ARTIST.pm	2009-01-28 19:10:20 UTC (rev 11160)
+++ mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Moderation/MOD_EDIT_ARTIST.pm	2009-01-28 19:10:53 UTC (rev 11161)
@@ -71,7 +71,7 @@
 
 	if ( defined $type )
 	{
-		die $self->SetError('Artist type invalid')
+		die $self->SetError("Artist type $type invalid")
 			unless MusicBrainz::Server::Artist::is_valid_type($type);
 
 		$new{'Type'} = $type if $type != $ar->type();

Modified: mb_server/branches/TemplateToolkit/root/moderation/mods/edit_artist.tt
===================================================================
--- mb_server/branches/TemplateToolkit/root/moderation/mods/edit_artist.tt	2009-01-28 19:10:20 UTC (rev 11160)
+++ mb_server/branches/TemplateToolkit/root/moderation/mods/edit_artist.tt	2009-01-28 19:10:53 UTC (rev 11161)
@@ -4,4 +4,5 @@
     { label='Resolution', new=new.Resolution, prev=prev.Resolution },
     { label='Begin Date', new=new.BeginDate, prev=prev.BeginDate },
     { label='End Date', new=new.EndDate, prev=prev.EndDate },
+    { label='Type', new=new.Type, prev=prev.Type },
 ] -%]




More information about the MusicBrainz-commits mailing list