[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