diff --git a/mediagoblin/templates/mediagoblin/user_pages/user.html b/mediagoblin/templates/mediagoblin/user_pages/user.html index 71acd66c..50ad766a 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/user.html +++ b/mediagoblin/templates/mediagoblin/user_pages/user.html @@ -14,6 +14,9 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# + +# This is the main user homepage for active users #} {% extends "mediagoblin/base.html" %} @@ -38,134 +41,86 @@ {% block mediagoblin_content -%} - {# If no user... #} - {% if not user %} -

{% trans %}Sorry, no such user found.{% endtrans %}

- - {# User exists, but needs verification #} - {% elif user.status == "needs_email_verification" %} - {% if user == request.user %} - {# this should only be visible when you are this user #} -
-

{% trans %}Email verification needed{% endtrans %}

+

+ {%- trans username=user.username %}{{ username }}'s profile{% endtrans -%} +

+ {% if not user.url and not user.bio %} + {% if request.user and (request.user.id == user.id) %} +

- {% trans -%} - Almost done! Your account still needs to be activated. - {%- endtrans %} + {% trans %}Here's a spot to tell others about yourself.{% endtrans %}

-

- {% trans -%} - An email should arrive in a few moments with instructions on how to do so. - {%- endtrans %} -

-

{% trans %}In case it doesn't:{% endtrans %}

- - {% trans %}Resend verification email{% endtrans %} -
+ + {%- trans %}Edit profile{% endtrans -%} + {% else %} - {# if the user is not you, but still needs to verify their email #} -
-

{% trans %}Email verification needed{% endtrans %}

- +

{% trans -%} - Someone has registered an account with this username, but it still has to be activated. + This user hasn't filled in their profile (yet). {%- endtrans %}

- -

- {% trans login_url=request.urlgen('mediagoblin.auth.login') -%} - If you are that person but you've lost your verification email, you can log in and resend it. - {%- endtrans %} -

-
{% endif %} - - {# Active(?) (or at least verified at some point) user, horray! #} {% else %} -

- {%- trans username=user.username %}{{ username }}'s profile{% endtrans -%} -

- - {% if not user.url and not user.bio %} - {% if request.user and (request.user.id == user.id) %} -
-

- {% trans %}Here's a spot to tell others about yourself.{% endtrans %} -

- - {%- trans %}Edit profile{% endtrans -%} - - {% else %} -
-

- {% trans -%} - This user hasn't filled in their profile (yet). - {%- endtrans %} -

+
+ {% include "mediagoblin/utils/profile.html" %} + {% if request.user and + (request.user.id == user.id or request.user.is_admin) %} + + {%- trans %}Edit profile{% endtrans -%} + {% endif %} - {% else %} -
- {% include "mediagoblin/utils/profile.html" %} - {% if request.user and - (request.user.id == user.id or request.user.is_admin) %} - - {%- trans %}Edit profile{% endtrans -%} - - {% endif %} - {% endif %} + {% endif %} +

+ + {%- trans %}Browse collections{% endtrans -%} + +

+
+ + {% if media_entries.count() %} +
+ {{ object_gallery(request, media_entries, pagination, + pagination_base_url=user_gallery_url, col_number=3) }} + {% include "mediagoblin/utils/object_gallery.html" %} +

- - {%- trans %}Browse collections{% endtrans -%} + + {% trans username=user.username -%} + View all of {{ username }}'s media{% endtrans -%}

+ {% set feed_url = request.urlgen( + 'mediagoblin.user_pages.atom_feed', + user=user.username) %} + {% include "mediagoblin/utils/feed_link.html" %}
- - {% if media_entries.count() %} -
- {{ object_gallery(request, media_entries, pagination, - pagination_base_url=user_gallery_url, col_number=3) }} - {% include "mediagoblin/utils/object_gallery.html" %} -
+ {% else %} + {% if request.user and (request.user.id == user.id) %} +

- - {% trans username=user.username -%} - View all of {{ username }}'s media{% endtrans -%} - + {% trans -%} + This is where your media will appear, but you don't seem to have added anything yet. + {%- endtrans %}

- {% set feed_url = request.urlgen( - 'mediagoblin.user_pages.atom_feed', - user=user.username) %} - {% include "mediagoblin/utils/feed_link.html" %} + + {%- trans %}Add media{% endtrans -%} +
{% else %} - {% if request.user and (request.user.id == user.id) %} -
-

- {% trans -%} - This is where your media will appear, but you don't seem to have added anything yet. - {%- endtrans %} -

- - {%- trans %}Add media{% endtrans -%} - -
- {% else %} -
-

- {% trans -%} - There doesn't seem to be any media here yet... - {%- endtrans %} -

-
- {% endif %} +
+

+ {% trans -%} + There doesn't seem to be any media here yet... + {%- endtrans %} +

+
{% endif %} -
{% endif %} +
{% endblock %} diff --git a/mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html b/mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html new file mode 100644 index 00000000..b3066665 --- /dev/null +++ b/mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html @@ -0,0 +1,83 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +# This is the main user homepage for non-active users that still need +# registration etc. +#} +{% extends "mediagoblin/base.html" %} + +{% block title %} + {%- if user -%} + {%- trans username=user.username -%} + {{ username }}'s profile + {%- endtrans %} — {{ super() }} + {%- else -%} + {{ super() }} + {%- endif -%} +{% endblock %} + + +{% block mediagoblin_content -%} + {# User exists, but needs verification #} + {% if user.status == "needs_email_verification" %} + {% if user == request.user %} + {# this should only be visible when you are this user #} +
+

{% trans %}Email verification needed{% endtrans %}

+ +

+ {% trans -%} + Almost done! Your account still needs to be activated. + {%- endtrans %} +

+

+ {% trans -%} + An email should arrive in a few moments with instructions on how to do so. + {%- endtrans %} +

+

{% trans %}In case it doesn't:{% endtrans %}

+ + {% trans %}Resend verification email{% endtrans %} +
+ {% else %} + {# if the user is not you, but still needs to verify their email #} +
+

{% trans %}Email verification needed{% endtrans %}

+ +

+ {% trans -%} + Someone has registered an account with this username, but it still has to be activated. + {%- endtrans %} +

+

+ {% trans login_url=request.urlgen('mediagoblin.auth.login') -%} + If you are that person but you've lost your verification email, you can log in and resend it. + {%- endtrans %} +

+
+ {% endif %} + + {# Active(?) (or at least verified at some point) user, horray! #} + {% else %} +

+ {%- trans username=user.username %}{{ username }}{% endtrans -%} +

+

{{ username }} is not active.

+
+ {% endif %} +{% endblock %} diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py index 49691a29..ac39c4ba 100644 --- a/mediagoblin/user_pages/views.py +++ b/mediagoblin/user_pages/views.py @@ -47,16 +47,13 @@ _log.setLevel(logging.DEBUG) @uses_pagination def user_home(request, page): """'Homepage' of a User()""" - # TODO: decide if we only want homepages for active users, we can - # then use the @get_active_user decorator and also simplify the - # template html. user = User.query.filter_by(username=request.matchdict['user']).first() if not user: return render_404(request) elif user.status != u'active': return render_to_response( request, - 'mediagoblin/user_pages/user.html', + 'mediagoblin/user_pages/user_nonactive.html', {'user': user}) cursor = MediaEntry.query.\