[mb-commits] r11155 - in mb_server/branches/TemplateToolkit: lib/MusicBrainz/Server/Controller lib/MusicBrainz/Server/Form/Field lib/MusicBrainz/Server/Form/User root/user
root at musicbrainz.org
root at musicbrainz.org
Wed Jan 28 19:08:03 UTC 2009
Author: acid2
Date: 2009-01-28 19:08:02 +0000 (Wed, 28 Jan 2009)
New Revision: 11155
Modified:
mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/User.pm
mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Form/Field/URL.pm
mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Form/User/EditProfile.pm
mb_server/branches/TemplateToolkit/root/user/profile.tt
Log:
Various tweaks to the user profile page, fixes #4525
* Support clearing profile fields
* Better URL validation (less strict, more intuitive)
* Edit profile on completion redirects to profile page
* Edit profile page is pre-filled with existing values
Modified: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/User.pm
===================================================================
--- mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/User.pm 2009-01-27 23:47:02 UTC (rev 11154)
+++ mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/User.pm 2009-01-28 19:08:02 UTC (rev 11155)
@@ -319,7 +319,10 @@
$c->forward('login');
+ # We refresh $c->user as this is no longed loaded from the database
+ # on each request
my $form = $self->form;
+ $c->user->Refresh;
$form->init($c->user);
return unless $self->submit_and_validate($c);
@@ -327,6 +330,8 @@
$form->update_model;
$c->flash->{ok} = "Your profile has been sucessfully updated";
+ $c->response->redirect('/user/');
+ $c->detach;
}
=head2 change_password
Modified: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Form/Field/URL.pm
===================================================================
--- mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Form/Field/URL.pm 2009-01-27 23:47:02 UTC (rev 11154)
+++ mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Form/Field/URL.pm 2009-01-28 19:08:02 UTC (rev 11155)
@@ -13,7 +13,7 @@
my $url = $self->input;
- return $self->add_error('Enter a plain url "e.g. http://google.com/"')
+ return $self->add_error('Enter a valid url "e.g. http://google.com/"')
unless MusicBrainz::Server::URL->IsLegalURL($url);
return 1;
Modified: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Form/User/EditProfile.pm
===================================================================
--- mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Form/User/EditProfile.pm 2009-01-27 23:47:02 UTC (rev 11154)
+++ mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Form/User/EditProfile.pm 2009-01-28 19:08:02 UTC (rev 11155)
@@ -34,8 +34,8 @@
sub profile {
return {
optional => {
- email => '+MusicBrainz::Server::Form::Field::Email',
- homepage => 'URL',
+ email => '+MusicBrainz::Server::Form::Field::Email',
+ homepage => '+MusicBrainz::Server::Form::Field::URL',
biography => 'TextArea'
}
};
@@ -73,9 +73,9 @@
my $self = shift;
my %opts = (
- email => $self->value('email'),
- bio => $self->value('biography'),
- weburl => $self->value('homepage')
+ email => $self->value('email') || '',
+ bio => $self->value('biography') || '',
+ weburl => $self->value('homepage') || ''
);
$self->item->SetUserInfo(%opts)
Modified: mb_server/branches/TemplateToolkit/root/user/profile.tt
===================================================================
--- mb_server/branches/TemplateToolkit/root/user/profile.tt 2009-01-27 23:47:02 UTC (rev 11154)
+++ mb_server/branches/TemplateToolkit/root/user/profile.tt 2009-01-28 19:08:02 UTC (rev 11155)
@@ -71,7 +71,7 @@
[% WRAPPER property name="Homepage" %]
[% IF user.web_url %]
- <a href="[% user.web_url | url %]">[% user.web_url | html_entity %]</a>
+ <a href="[% user.web_url | url | html %]">[% user.web_url | html %]</a>
[% ELSE %]
[None]
[% END %]
@@ -102,7 +102,7 @@
[% ELSIF user.charter %]
charter member
[% ELSE %]
- [% user_date(user.member_since) %]
+ [% user.member_since %]
[% END %]
[% END %]
More information about the MusicBrainz-commits
mailing list