Skip to content
This repository was archived by the owner on Mar 15, 2018. It is now read-only.

Commit d3a591f

Browse files
author
Andy McKay
committed
add in link, decorator and normalize url (bug 740888)
1 parent 53c7313 commit d3a591f

File tree

5 files changed

+16
-26
lines changed

5 files changed

+16
-26
lines changed

mkt/account/templates/account/abuse.html

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
{% set title = _('Report Abuse') %}
44
{% block title %}
55
{# L10n: {0} is the name of the user. #}
6-
{{ mkt_page_title(_('Report abuse for {0}')|f(user.name)) }}
6+
{{ mkt_page_title(_('Report abuse for {0}')|f(profile.name)) }}
77
{% endblock %}
88

99
{% block content %}
@@ -24,8 +24,7 @@ <h1>{{ title }}</h1>
2424
{% include 'site/helpers/abuse.html' %}
2525
<p class="form-footer">
2626
<button type="submit">{{ _('Send Report') }}</button> {{ _('or') }}
27-
{# TODO: bounce to somewhere more useful #}
28-
<a href="/">{{ _('Cancel') }}</a>
27+
<a href="{{ url('users.profile', profile.username) }}">{{ _('Cancel') }}</a>
2928
</p>
3029
</form>
3130
</div>

mkt/account/tests/test_views.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -859,4 +859,6 @@ def test_recaptcha(self, clean):
859859
res = self.client.post(self.url, data={'text':'test', 'recaptcha': '',
860860
'recaptcha_shown': ''})
861861
eq_(res.status_code, 302)
862+
self.assertRedirects(res, reverse('users.profile',
863+
args=[self.user.username]))
862864
eq_(AbuseReport.objects.filter(user=self.user).count(), 1)

mkt/account/urls.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,8 @@
3636
# Keeping the same URL pattern since admin pages already know about this.
3737
url(r'^(?:(?P<user_id>\d+)/)?edit$', views.admin_edit,
3838
name='users.admin_edit'),
39-
url(r'''(?P<username>[^/<>"']+)$''', views.profile,
39+
url(r'''^(?P<username>[^/<>"']+)$''', views.profile,
4040
name='users.profile'),
41-
)
42-
43-
abuse_patterns = patterns('',
44-
url(r'^abuse$', views.abuse, name='users.abuse')
41+
url(r'''^(?P<username>[^/<>"']+)/abuse$''', views.abuse,
42+
name='users.abuse')
4543
)

mkt/account/views.py

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
from mkt.account.forms import CurrencyForm
3030
from mkt.site import messages
3131
from . import forms
32+
from .decorators import profile_view
3233
from .utils import purchase_list
3334

3435
log = commonware.log.getLogger('mkt.account')
@@ -258,12 +259,8 @@ def delete_photo(request):
258259
return http.HttpResponse()
259260

260261

261-
def profile(request, username):
262-
if username.isdigit():
263-
user = get_object_or_404(UserProfile, id=username)
264-
else:
265-
user = get_object_or_404(UserProfile, username=username)
266-
262+
@profile_view
263+
def profile(request, user):
267264
edit_any_user = acl.action_allowed(request, 'Users', 'Edit')
268265
own_profile = (request.user.is_authenticated() and
269266
request.amo_user.id == user.id)
@@ -292,16 +289,13 @@ def activity_log(request, userid):
292289

293290

294291
@anonymous_csrf_exempt
295-
def abuse(request, user_id):
296-
user = get_object_or_404(UserProfile, pk=user_id)
292+
@profile_view
293+
def abuse(request, profile):
297294
form = AbuseForm(request.POST or None, request=request)
298295
if request.method == 'POST' and form.is_valid():
299-
send_abuse_report(request, user, form.cleaned_data['text'])
296+
send_abuse_report(request, profile, form.cleaned_data['text'])
300297
messages.success(request, _('Abuse reported.'))
301-
# We don't have a profile page to redirect back to. Once the abuse
302-
# is reported, that would be the place I'd recommend redirecting
303-
# back to.
304-
return redirect('/')
298+
return redirect(reverse('users.profile', args=[profile.username]))
305299
else:
306300
return jingo.render(request, 'account/abuse.html',
307-
{'user': user, 'abuse_form': form})
301+
{'abuse_form': form, 'profile': profile})

mkt/urls.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99
from apps.users.views import logout
1010
from apps.users.urls import (detail_patterns as user_detail_patterns,
1111
users_patterns as users_users_patterns)
12-
from mkt.account.urls import (abuse_patterns, purchases_patterns,
13-
settings_patterns,
12+
from mkt.account.urls import (purchases_patterns, settings_patterns,
1413
users_patterns as mkt_users_patterns)
1514
from mkt.developers.views import login
1615
from mkt.purchase.urls import bluevia_services_patterns
@@ -65,8 +64,6 @@
6564
# Support (e.g., refunds, FAQs).
6665
('^support/', include('mkt.support.urls')),
6766

68-
# Override the legacy abuse page for one that works.
69-
('^user/(?P<user_id>\d+)/', include(abuse_patterns)),
7067
# Users (Legacy).
7168
('^user/(?P<user_id>\d+)/', include(user_detail_patterns)),
7269
('^users/', include(users_users_patterns)),

0 commit comments

Comments
 (0)