[mb-commits] r11158 - in mb_server/branches/TemplateToolkit: lib/MusicBrainz/Server lib/MusicBrainz/Server/Authentication lib/MusicBrainz/Server/Controller root/components root/moderation root/user
root at musicbrainz.org
root at musicbrainz.org
Wed Jan 28 19:09:27 UTC 2009
Author: acid2
Date: 2009-01-28 19:09:27 +0000 (Wed, 28 Jan 2009)
New Revision: 11158
Modified:
mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Authentication/Store.pm
mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Root.pm
mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/User.pm
mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Editor.pm
mb_server/branches/TemplateToolkit/root/components/common-macros.tt
mb_server/branches/TemplateToolkit/root/moderation/list.tt
mb_server/branches/TemplateToolkit/root/moderation/notes.tt
mb_server/branches/TemplateToolkit/root/moderation/show.tt
mb_server/branches/TemplateToolkit/root/user/profile.tt
Log:
Implemented a UserDate plugin
* When a user logs in, their preferences are saved to the session
* Preprocessed template loads the UserDate plugin
* All places a datetime are used have been replaced with UserDate.format
Modified: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Authentication/Store.pm
===================================================================
--- mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Authentication/Store.pm 2009-01-28 19:08:43 UTC (rev 11157)
+++ mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Authentication/Store.pm 2009-01-28 19:09:27 UTC (rev 11158)
@@ -2,7 +2,9 @@
use strict;
use warnings;
+
use MusicBrainz::Server::Editor;
+use UserPreference;
sub new
{
@@ -19,12 +21,14 @@
sub for_session
{
my ($self, $c, $user) = @_;
+
return {
'id' => $user->id,
'privs' => $user->privs,
'name' => $user->name,
'edits_accepted' => $user->mods_accepted,
'has_confirmed_email' => $user->email ? 1 : 0,
+ 'prefs' => $user->preferences->{prefs},
};
}
@@ -37,6 +41,11 @@
$user->privs($frozen_user->{privs});
$user->mods_accepted($frozen_user->{edits_accepted});
$user->{has_confirmed_email} = $frozen_user->{has_confirmed_email};
+
+ my $prefs = UserPreference->new;
+ $prefs->{prefs} = $frozen_user->{prefs} || {};
+ $user->preferences($prefs);
+
return $user;
}
Modified: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Root.pm
===================================================================
--- mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Root.pm 2009-01-28 19:08:43 UTC (rev 11157)
+++ mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Root.pm 2009-01-28 19:09:27 UTC (rev 11158)
@@ -168,8 +168,6 @@
$c->stash->{begin_date_name} = \&MusicBrainz::Server::Artist::begin_date_name;
$c->stash->{end_date_name } = \&MusicBrainz::Server::Artist::end_date_name;
- $c->stash->{date} = \&MusicBrainz::Server::Validation::MakeDisplayDateStr;
-
$c->stash->{vote} = \&ModDefs::vote_name;
$c->stash->{release_format} = \&MusicBrainz::Server::ReleaseEvent::release_format_name;
Modified: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/User.pm
===================================================================
--- mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/User.pm 2009-01-28 19:08:43 UTC (rev 11157)
+++ mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/User.pm 2009-01-28 19:09:27 UTC (rev 11158)
@@ -585,6 +585,7 @@
return unless $self->submit_and_validate($c);
$form->update_from_form ($c->req->params);
+ $c->persist_user;
}
=head2 donate
Modified: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Editor.pm
===================================================================
--- mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Editor.pm 2009-01-28 19:08:43 UTC (rev 11157)
+++ mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Editor.pm 2009-01-28 19:09:27 UTC (rev 11158)
@@ -192,6 +192,19 @@
}
}
+sub preferences
+{
+ my $self = shift;
+ if (@_) { $self->{preferences} = shift; }
+ unless ($self->{preferences})
+ {
+ my $prefs = UserPreference->newFromUser($self->dbh, $self->id);
+ $prefs->load;
+ $self->{preferences} = $prefs;
+ }
+ return $self->{preferences};
+}
+
sub _id_cache_key
{
my ($class, $id) = @_;
Modified: mb_server/branches/TemplateToolkit/root/components/common-macros.tt
===================================================================
--- mb_server/branches/TemplateToolkit/root/components/common-macros.tt 2009-01-28 19:08:43 UTC (rev 11157)
+++ mb_server/branches/TemplateToolkit/root/components/common-macros.tt 2009-01-28 19:09:27 UTC (rev 11158)
@@ -1,3 +1,5 @@
+[% USE UserDate(user.preferences) %]
+
[%- MACRO doc_link(to, text) BLOCK -%]
<a href="/doc/[% to %]">[% (text or to) %]</a>
[%- END -%]
Modified: mb_server/branches/TemplateToolkit/root/moderation/list.tt
===================================================================
--- mb_server/branches/TemplateToolkit/root/moderation/list.tt 2009-01-28 19:08:43 UTC (rev 11157)
+++ mb_server/branches/TemplateToolkit/root/moderation/list.tt 2009-01-28 19:09:27 UTC (rev 11158)
@@ -27,7 +27,7 @@
<tr>
<th>Expired:</th>
- <td>[% user_date(moderation.expire_time) %]</td>
+ <td>[% UserDate.format(moderation.expire_time) %]</td>
</tr>
</table>
</td>
Modified: mb_server/branches/TemplateToolkit/root/moderation/notes.tt
===================================================================
--- mb_server/branches/TemplateToolkit/root/moderation/notes.tt 2009-01-28 19:08:43 UTC (rev 11157)
+++ mb_server/branches/TemplateToolkit/root/moderation/notes.tt 2009-01-28 19:09:27 UTC (rev 11158)
@@ -6,7 +6,7 @@
<a href="[% c.uri_for('/user/profile', note.user.name) %]">[% note.user.name %]</a>:
</td>
<td>
- <div class="note_date">[% note.GetNoteTime %]</div>
+ <div class="note_date">[% UserDate.format(note.GetNoteTime) %]</div>
[% note.text_as_html %]
</td>
</tr>
Modified: mb_server/branches/TemplateToolkit/root/moderation/show.tt
===================================================================
--- mb_server/branches/TemplateToolkit/root/moderation/show.tt 2009-01-28 19:08:43 UTC (rev 11157)
+++ mb_server/branches/TemplateToolkit/root/moderation/show.tt 2009-01-28 19:09:27 UTC (rev 11158)
@@ -19,18 +19,18 @@
<tr>
<th>Opened:</th>
- <td>[% user_date(moderation.open_time) %]</td>
+ <td>[% UserDate.format(moderation.open_time) %]</td>
</tr>
<tr>
<th>Expires:</th>
- <td>[% user_date(moderation.expire_time) %]</td>
+ <td>[% UserDate.format(moderation.expire_time) %]</td>
</tr>
<tr>
<th>Closed:</th>
[% moderation.close_time %]
- <td>[% user_date(moderation.close_time || "-") %]</td>
+ <td>[% UserDate.format(moderation.close_time || "-") %]</td>
</tr>
<tr>
Modified: mb_server/branches/TemplateToolkit/root/user/profile.tt
===================================================================
--- mb_server/branches/TemplateToolkit/root/user/profile.tt 2009-01-28 19:08:43 UTC (rev 11157)
+++ mb_server/branches/TemplateToolkit/root/user/profile.tt 2009-01-28 19:09:27 UTC (rev 11158)
@@ -1,4 +1,3 @@
-[% USE date %]
[% extra_css = "user.css" %]
[% WRAPPER "layout.tt" title="Editor \"$user.name\"" %]
@@ -14,7 +13,7 @@
{ link => c.uri_for("/review/$user.name/edits/open"), text => "Open Edits" },
{ link => c.uri_for("/review/$user.name/edits/failed"), text => "Failed Edits" },
{ link => c.uri_for("/review/$user.name/edits/cancelled"), text => "Cancelled Edits" },
- { link => c.uri_for('/user/subscriptions'), text => "Subscriptions", hide => not (viewing_own_profile or user.public_subscriptions) },
+ { link => c.uri_for('/user/subscriptions'), text => "Subscriptions", hide => not (viewing_own_profile or preferences.get('subscriptionspublic')) },
] %]
[% edit_account_options = [
@@ -60,7 +59,7 @@
[% IF user.email %]
[% IF user.email_confirmation_date %]
- (verified [% user.email_confirmation_date %])
+ (verified [% UserDate.format(user.email_confirmation_date) %])
[% ELSE %]
[% IF viewing_own_profile %]
(<em>unverified!</em>)
@@ -102,7 +101,7 @@
[% ELSIF user.charter %]
charter member
[% ELSE %]
- [% user.member_since %]
+ [% UserDate.format(user.member_since) %]
[% END %]
[% END %]
More information about the MusicBrainz-commits
mailing list