diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2013-09-28 13:32:11 -0500 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2013-09-28 13:32:11 -0500 |
commit | 16ef14ba41f581ed950ae319f363e90540b2cbd7 (patch) | |
tree | 54b0949a2f5e6b9137b4c57151223d6061a32d9a | |
parent | d4edbfd5701be607f2f2c15c7e354baf0f6a8885 (diff) | |
parent | 51b4318079d2dce51e58be3f5ea95bc825301e54 (diff) | |
download | mediagoblin-16ef14ba41f581ed950ae319f363e90540b2cbd7.tar.lz mediagoblin-16ef14ba41f581ed950ae319f363e90540b2cbd7.tar.xz mediagoblin-16ef14ba41f581ed950ae319f363e90540b2cbd7.zip |
Merge remote-tracking branch 'spaetz/master'
-rw-r--r-- | mediagoblin/templates/mediagoblin/user_pages/user.html | 173 | ||||
-rw-r--r-- | mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html | 83 | ||||
-rw-r--r-- | mediagoblin/user_pages/views.py | 5 |
3 files changed, 148 insertions, 113 deletions
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 <http://www.gnu.org/licenses/>. +# + +# 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 %} - <p>{% trans %}Sorry, no such user found.{% endtrans %}</p> - - {# 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 #} - <div class="form_box"> - <h1>{% trans %}Email verification needed{% endtrans %}</h1> + <h1> + {%- trans username=user.username %}{{ username }}'s profile{% endtrans -%} + </h1> + {% if not user.url and not user.bio %} + {% if request.user and (request.user.id == user.id) %} + <div class="profile_sidebar empty_space"> <p> - {% trans -%} - Almost done! Your account still needs to be activated. - {%- endtrans %} - </p> - <p> - {% trans -%} - An email should arrive in a few moments with instructions on how to do so. - {%- endtrans %} + {% trans %}Here's a spot to tell others about yourself.{% endtrans %} </p> - <p>{% trans %}In case it doesn't:{% endtrans %}</p> - - <a href="{{ request.urlgen('mediagoblin.auth.resend_verification') }}" - class="button_action_highlight">{% trans %}Resend verification email{% endtrans %}</a> - </div> + <a href="{{ request.urlgen('mediagoblin.edit.profile', + user=user.username) }}" class="button_action"> + {%- trans %}Edit profile{% endtrans -%} + </a> {% else %} - {# if the user is not you, but still needs to verify their email #} - <div class="form_box"> - <h1>{% trans %}Email verification needed{% endtrans %}</h1> - + <div class="profile_sidebar empty_space"> <p> {% trans -%} - Someone has registered an account with this username, but it still has to be activated. - {%- endtrans %} - </p> - - <p> - {% trans login_url=request.urlgen('mediagoblin.auth.login') -%} - If you are that person but you've lost your verification email, you can <a href="{{ login_url }}">log in</a> and resend it. + This user hasn't filled in their profile (yet). {%- endtrans %} </p> - </div> {% endif %} - - {# Active(?) (or at least verified at some point) user, horray! #} {% else %} - <h1> - {%- trans username=user.username %}{{ username }}'s profile{% endtrans -%} - </h1> - - {% if not user.url and not user.bio %} - {% if request.user and (request.user.id == user.id) %} - <div class="profile_sidebar empty_space"> - <p> - {% trans %}Here's a spot to tell others about yourself.{% endtrans %} - </p> - <a href="{{ request.urlgen('mediagoblin.edit.profile', - user=user.username) }}" class="button_action"> - {%- trans %}Edit profile{% endtrans -%} - </a> - {% else %} - <div class="profile_sidebar empty_space"> - <p> - {% trans -%} - This user hasn't filled in their profile (yet). - {%- endtrans %} - </p> + <div class="profile_sidebar"> + {% include "mediagoblin/utils/profile.html" %} + {% if request.user and + (request.user.id == user.id or request.user.is_admin) %} + <a href="{{ request.urlgen('mediagoblin.edit.profile', + user=user.username) }}"> + {%- trans %}Edit profile{% endtrans -%} + </a> {% endif %} - {% else %} - <div class="profile_sidebar"> - {% include "mediagoblin/utils/profile.html" %} - {% if request.user and - (request.user.id == user.id or request.user.is_admin) %} - <a href="{{ request.urlgen('mediagoblin.edit.profile', - user=user.username) }}"> - {%- trans %}Edit profile{% endtrans -%} - </a> - {% endif %} - {% endif %} + {% endif %} + <p> + <a href="{{ request.urlgen('mediagoblin.user_pages.collection_list', + user=user.username) }}"> + {%- trans %}Browse collections{% endtrans -%} + </a> + </p> + </div> + + {% if media_entries.count() %} + <div class="profile_showcase"> + {{ object_gallery(request, media_entries, pagination, + pagination_base_url=user_gallery_url, col_number=3) }} + {% include "mediagoblin/utils/object_gallery.html" %} + <div class="clear"></div> <p> - <a href="{{ request.urlgen('mediagoblin.user_pages.collection_list', - user=user.username) }}"> - {%- trans %}Browse collections{% endtrans -%} + <a href="{{ user_gallery_url }}"> + {% trans username=user.username -%} + View all of {{ username }}'s media{% endtrans -%} </a> </p> + {% set feed_url = request.urlgen( + 'mediagoblin.user_pages.atom_feed', + user=user.username) %} + {% include "mediagoblin/utils/feed_link.html" %} </div> - - {% if media_entries.count() %} - <div class="profile_showcase"> - {{ object_gallery(request, media_entries, pagination, - pagination_base_url=user_gallery_url, col_number=3) }} - {% include "mediagoblin/utils/object_gallery.html" %} - <div class="clear"></div> + {% else %} + {% if request.user and (request.user.id == user.id) %} + <div class="profile_showcase empty_space"> <p> - <a href="{{ user_gallery_url }}"> - {% trans username=user.username -%} - View all of {{ username }}'s media{% endtrans -%} - </a> + {% trans -%} + This is where your media will appear, but you don't seem to have added anything yet. + {%- endtrans %} </p> - {% set feed_url = request.urlgen( - 'mediagoblin.user_pages.atom_feed', - user=user.username) %} - {% include "mediagoblin/utils/feed_link.html" %} + <a class="button_action" + href="{{ request.urlgen('mediagoblin.submit.start') }}"> + {%- trans %}Add media{% endtrans -%} + </a> </div> {% else %} - {% if request.user and (request.user.id == user.id) %} - <div class="profile_showcase empty_space"> - <p> - {% trans -%} - This is where your media will appear, but you don't seem to have added anything yet. - {%- endtrans %} - </p> - <a class="button_action" - href="{{ request.urlgen('mediagoblin.submit.start') }}"> - {%- trans %}Add media{% endtrans -%} - </a> - </div> - {% else %} - <div class="profile_showcase empty_space"> - <p> - {% trans -%} - There doesn't seem to be any media here yet... - {%- endtrans %} - </p> - </div> - {% endif %} + <div class="profile_showcase empty_space"> + <p> + {% trans -%} + There doesn't seem to be any media here yet... + {%- endtrans %} + </p> + </div> {% endif %} - <div class="clear"></div> {% endif %} + <div class="clear"></div> {% 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 <http://www.gnu.org/licenses/>. + +# 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 #} + <div class="form_box"> + <h1>{% trans %}Email verification needed{% endtrans %}</h1> + + <p> + {% trans -%} + Almost done! Your account still needs to be activated. + {%- endtrans %} + </p> + <p> + {% trans -%} + An email should arrive in a few moments with instructions on how to do so. + {%- endtrans %} + </p> + <p>{% trans %}In case it doesn't:{% endtrans %}</p> + + <a href="{{ request.urlgen('mediagoblin.auth.resend_verification') }}" + class="button_action_highlight">{% trans %}Resend verification email{% endtrans %}</a> + </div> + {% else %} + {# if the user is not you, but still needs to verify their email #} + <div class="form_box"> + <h1>{% trans %}Email verification needed{% endtrans %}</h1> + + <p> + {% trans -%} + Someone has registered an account with this username, but it still has to be activated. + {%- endtrans %} + </p> + <p> + {% trans login_url=request.urlgen('mediagoblin.auth.login') -%} + If you are that person but you've lost your verification email, you can <a href="{{ login_url }}">log in</a> and resend it. + {%- endtrans %} + </p> + </div> + {% endif %} + + {# Active(?) (or at least verified at some point) user, horray! #} + {% else %} + <h1> + {%- trans username=user.username %}{{ username }}{% endtrans -%} + </h1> + <p>{{ username }} is not active.</p> + <div class="clear"></div> + {% endif %} +{% endblock %} diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py index 5eac0fe4..974cb3c6 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.\ |