Author: acid2
Date: 2009-10-31 12:28:23 +0000 (Sat, 31 Oct 2009)
New Revision: 12272
Added:
mb_server/trunk/lib/MusicBrainz/Server/Edit/Alias/Delete.pm
mb_server/trunk/lib/MusicBrainz/Server/Edit/Artist/DeleteAlias.pm
mb_server/trunk/lib/MusicBrainz/Server/Edit/Label/DeleteAlias.pm
mb_server/trunk/root/alias/delete.tt
mb_server/trunk/root/artist/delete_alias.tt
mb_server/trunk/root/label/delete_alias.tt
mb_server/trunk/t/edit_artist_delete_alias.t
mb_server/trunk/t/edit_label_delete_alias.t
Modified:
mb_server/trunk/lib/MusicBrainz/Server/Constants.pm
mb_server/trunk/lib/MusicBrainz/Server/Controller/Alias.pm
mb_server/trunk/lib/MusicBrainz/Server/EditRegistry.pm
mb_server/trunk/root/artist/aliases.tt
mb_server/trunk/root/components/aliases.tt
mb_server/trunk/root/label/aliases.tt
mb_server/trunk/t/controller_artist.t
mb_server/trunk/t/controller_label.t
Log:
Delete alias type and form
See review 445
Merge branch 'delete-alias'
Modified: mb_server/trunk/lib/MusicBrainz/Server/Constants.pm
===================================================================
--- mb_server/trunk/lib/MusicBrainz/Server/Constants.pm 2009-10-31 08:33:03 UTC (rev 12271)
+++ mb_server/trunk/lib/MusicBrainz/Server/Constants.pm 2009-10-31 12:28:23 UTC (rev 12272)
@@ -50,6 +50,7 @@
Readonly our $EDIT_ARTIST_MERGE => 4;
Readonly our $EDIT_ARTIST_ADD_ANNOTATION => 5;
Readonly our $EDIT_ARTIST_ADD_ALIAS => 6;
+Readonly our $EDIT_ARTIST_DELETE_ALIAS => 7;
Readonly our $EDIT_LABEL_CREATE => 10;
Readonly our $EDIT_LABEL_EDIT => 11;
@@ -57,6 +58,7 @@
Readonly our $EDIT_LABEL_MERGE => 14;
Readonly our $EDIT_LABEL_ADD_ANNOTATION => 15;
Readonly our $EDIT_LABEL_ADD_ALIAS => 16;
+Readonly our $EDIT_LABEL_DELETE_ALIAS => 17;
Readonly our $EDIT_RELEASEGROUP_DELETE => 23;
Readonly our $EDIT_RELEASEGROUP_MERGE => 24;
Modified: mb_server/trunk/lib/MusicBrainz/Server/Controller/Alias.pm
===================================================================
--- mb_server/trunk/lib/MusicBrainz/Server/Controller/Alias.pm 2009-10-31 08:33:03 UTC (rev 12271)
+++ mb_server/trunk/lib/MusicBrainz/Server/Controller/Alias.pm 2009-10-31 12:28:23 UTC (rev 12272)
@@ -3,13 +3,22 @@
requires 'load';
-use MusicBrainz::Server::Constants qw( $EDIT_ARTIST_ADD_ALIAS $EDIT_LABEL_ADD_ALIAS );
+use MusicBrainz::Server::Constants qw(
+ $EDIT_ARTIST_ADD_ALIAS $EDIT_LABEL_ADD_ALIAS
+ $EDIT_ARTIST_DELETE_ALIAS $EDIT_LABEL_DELETE_ALIAS
+);
use MusicBrainz::Server::Edit::Artist::AddAlias;
use MusicBrainz::Server::Edit::Label::AddAlias;
my %model_to_edit_type = (
- Artist => $EDIT_ARTIST_ADD_ALIAS,
- Label => $EDIT_LABEL_ADD_ALIAS,
+ add => {
+ Artist => $EDIT_ARTIST_ADD_ALIAS,
+ Label => $EDIT_LABEL_ADD_ALIAS,
+ },
+ delete => {
+ Artist => $EDIT_ARTIST_DELETE_ALIAS,
+ Label => $EDIT_LABEL_DELETE_ALIAS,
+ }
);
sub aliases : Chained('load') PathPart('aliases')
@@ -23,6 +32,14 @@
);
}
+sub alias : Chained('load') PathPart('alias') CaptureArgs(1)
+{
+ my ($self, $c, $alias_id) = @_;
+ my $alias = $c->model($self->{model})->alias->get_by_id($alias_id)
+ or $c->detach('/error_404');
+ $c->stash( alias => $alias );
+}
+
sub add_alias : Chained('load') PathPart('add-alias') RequireAuth
{
my ($self, $c) = @_;
@@ -31,17 +48,40 @@
my $entity = $c->stash->{ $type };
if ($c->form_posted && $form->submitted_and_valid($c->req->params)) {
my $edit = $c->model('Edit')->create(
- edit_type => $model_to_edit_type{ $self->{model} },
+ edit_type => $model_to_edit_type{add}->{ $self->{model} },
editor_id => $c->user->id,
alias => $form->field('alias')->value,
$type.'_id' => $entity->id,
);
- my $action = $c->controller->action_for('aliases');
- $c->response->redirect($c->uri_for($action, [ $entity->gid ]));
+ $self->_redir_to_aliases($c);
}
}
+sub delete_alias : Chained('alias') PathPart('delete') RequireAuth
+{
+ my ($self, $c, $alias_id) = @_;
+ my $alias = $c->stash->{alias};
+ my $form = $c->form( form => 'Confirm' );
+ if ($c->form_posted && $form->submitted_and_valid($c->req->params)) {
+ my $edit = $c->model('Edit')->create(
+ edit_type => $model_to_edit_type{delete}->{ $self->{model} },
+ editor_id => $c->user->id,
+ alias_id => $alias->id,
+ entity_id => $c->stash->{ $self->{entity_name} }->id,
+ );
+ $self->_redir_to_aliases($c);
+ }
+}
+
+sub _redir_to_aliases
+{
+ my ($self, $c) = @_;
+ my $action = $c->controller->action_for('aliases');
+ my $entity = $c->stash->{ $self->{entity_name} };
+ $c->response->redirect($c->uri_for($action, [ $entity->gid ]));
+}
+
no Moose::Role;
1;
Modified: mb_server/trunk/lib/MusicBrainz/Server/EditRegistry.pm
===================================================================
--- mb_server/trunk/lib/MusicBrainz/Server/EditRegistry.pm 2009-10-31 08:33:03 UTC (rev 12271)
+++ mb_server/trunk/lib/MusicBrainz/Server/EditRegistry.pm 2009-10-31 12:28:23 UTC (rev 12272)
@@ -9,10 +9,12 @@
MusicBrainz::Server::Edit::Artist::AddAlias
MusicBrainz::Server::Edit::Artist::AddAnnotation
MusicBrainz::Server::Edit::Artist::Create
+ MusicBrainz::Server::Edit::Artist::DeleteAlias
MusicBrainz::Server::Edit::Artist::Delete
MusicBrainz::Server::Edit::Artist::Edit
MusicBrainz::Server::Edit::Artist::Merge
MusicBrainz::Server::Edit::Label::AddAlias
+ MusicBrainz::Server::Edit::Label::DeleteAlias
MusicBrainz::Server::Edit::Label::AddAnnotation
MusicBrainz::Server::Edit::Label::Create
MusicBrainz::Server::Edit::Label::Delete
Modified: mb_server/trunk/root/artist/aliases.tt
===================================================================
--- mb_server/trunk/root/artist/aliases.tt 2009-10-31 08:33:03 UTC (rev 12271)
+++ mb_server/trunk/root/artist/aliases.tt 2009-10-31 12:28:23 UTC (rev 12272)
@@ -1,3 +1,4 @@
[%- WRAPPER "artist/layout.tt" title=l("Aliases") page='aliases' -%]
- [%- INCLUDE "components/aliases.tt" entity=artist -%]
+ [%- INCLUDE "components/aliases.tt" entity=artist
+ delete_path='/artist/delete_alias' -%]
[%- END -%]
Modified: mb_server/trunk/root/components/aliases.tt
===================================================================
--- mb_server/trunk/root/components/aliases.tt 2009-10-31 08:33:03 UTC (rev 12271)
+++ mb_server/trunk/root/components/aliases.tt 2009-10-31 12:28:23 UTC (rev 12272)
@@ -3,7 +3,7 @@
<table class="tbl">
<thead>
<tr>
- <th>[% l('Alias') %]</th>
+ <th colspan="[% c.user_exists ? 2 : 1 %]">[% l('Alias') %]</th>
</tr>
</thead>
<tbody>
@@ -13,12 +13,10 @@
[% alias.name | html %]
</td>
[% IF c.user_exists %]
- <td>
- [% links = [
- { link => c.entity_url(entity, 'remove_alias', alias.id), text => l('Remove'), }
- { link => c.entity_url(entity, 'edit_alias', alias.id), text => l('Edit'), }
- ] %]
- [% INCLUDE 'components/piped-list.tt' list=links %]
+ <td style="width: 10em">
+ <a href="[% c.uri_for_action(delete_path, [ entity.gid, alias.id ]) %]">
+ [% l('Delete') %]
+ </a>
</td>
[% END %]
</tr>
Modified: mb_server/trunk/root/label/aliases.tt
===================================================================
--- mb_server/trunk/root/label/aliases.tt 2009-10-31 08:33:03 UTC (rev 12271)
+++ mb_server/trunk/root/label/aliases.tt 2009-10-31 12:28:23 UTC (rev 12272)
@@ -1,3 +1,4 @@
[%- WRAPPER "label/layout.tt" title=l('Aliases') page='aliases' -%]
-[%- INCLUDE "components/aliases.tt" entity=label -%]
+ [%- INCLUDE "components/aliases.tt" entity=label
+ delete_path='/label/delete_alias' -%]
[%- END -%]
Modified: mb_server/trunk/t/controller_artist.t
===================================================================
--- mb_server/trunk/t/controller_artist.t 2009-10-31 08:33:03 UTC (rev 12271)
+++ mb_server/trunk/t/controller_artist.t 2009-10-31 12:28:23 UTC (rev 12272)
@@ -288,4 +288,18 @@
alias => 'An alias',
});
+# Test deleting aliases
+$mech->get_ok('/artist/945c079d-374e-4436-9448-da92dedef3cf/alias/1/delete');
+my $response = $mech->submit_form(
+ with_fields => {
+ 'confirm.edit_note' => ''
+ });
+
+my $edit = MusicBrainz::Server::Test->get_latest_edit($c);
+isa_ok($edit, 'MusicBrainz::Server::Edit::Artist::DeleteAlias');
+is_deeply($edit->data, {
+ entity_id => 4,
+ alias_id => 1,
+});
+
done_testing;
Modified: mb_server/trunk/t/controller_label.t
===================================================================
--- mb_server/trunk/t/controller_label.t 2009-10-31 08:33:03 UTC (rev 12271)
+++ mb_server/trunk/t/controller_label.t 2009-10-31 12:28:23 UTC (rev 12272)
@@ -225,4 +225,18 @@
alias => 'An alias',
});
+# Test deleting aliases
+$mech->get_ok('/label/46f0f4cd-8aab-4b33-b698-f459faf64190/alias/1/delete');
+my $response = $mech->submit_form(
+ with_fields => {
+ 'confirm.edit_note' => ''
+ });
+
+my $edit = MusicBrainz::Server::Test->get_latest_edit($c);
+isa_ok($edit, 'MusicBrainz::Server::Edit::Label::DeleteAlias');
+is_deeply($edit->data, {
+ entity_id => 2,
+ alias_id => 1,
+});
+
done_testing;
_______________________________________________
MusicBrainz-commits mailing list
MusicBrainz-commits@...
http://lists.musicbrainz.org/mailman/listinfo/musicbrainz-commits