Skip to content

Commit 1746373

Browse files
committed
Merge branch 'main' into release
2 parents bdac56e + 5261d14 commit 1746373

File tree

3 files changed

+47
-0
lines changed

3 files changed

+47
-0
lines changed

templates/users/sponsor_select.html

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{% extends "users/base.html" %}
2+
{% load humanize pipeline %}
3+
4+
{% block head %}
5+
{% stylesheet 'font-awesome' %}
6+
{% endblock %}
7+
8+
{% block page_title %}
9+
Select Sponsor | {{ SITE_INFO.site_name }}
10+
{% endblock %}
11+
12+
{% block body_attributes %}class="psf signup default-page"{% endblock %}
13+
14+
15+
{% block main-nav_attributes %}psf-navigation{% endblock %}
16+
17+
{% block user_content %}
18+
<h1>Select Sponsor to edit</h1>
19+
20+
<br/>
21+
<ul>
22+
{% for sponsor in sponsors %}
23+
<li><a href="{% url 'users:edit_sponsor_info' pk=sponsor.pk %}">{{ sponsor }}</a></li>
24+
{% endfor %}
25+
</ul>
26+
{% endblock %}
27+
28+
{% block javascript %}
29+
{{ block.super }}
30+
{% endblock %}

users/urls.py

+5
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@
1818
views.UpdateSponsorInfoView.as_view(),
1919
name="edit_sponsor_info",
2020
),
21+
path(
22+
"sponsorships/sponsor/edit/",
23+
views.edit_sponsor_info_implicit,
24+
name="edit_sponsor_info_implicit",
25+
),
2126
path(
2227
"sponsorships/<int:pk>/assets/",
2328
views.UpdateSponsorshipAssetsView.as_view(),

users/views.py

+12
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,18 @@ def get_success_url(self):
277277
messages.add_message(self.request, messages.SUCCESS, "Sponsor info updated with success.")
278278
return self.request.path
279279

280+
@login_required(login_url=settings.LOGIN_URL)
281+
def edit_sponsor_info_implicit(request):
282+
sponsors = Sponsor.objects.filter(contacts__user=request.user).all()
283+
if len(sponsors) == 0:
284+
messages.add_message(request, messages.INFO, "No Sponsors associated with your user.")
285+
return redirect('users:user_profile_edit')
286+
elif len(sponsors) == 1:
287+
return redirect('users:edit_sponsor_info', pk=sponsors[0].id)
288+
else:
289+
messages.add_message(request, messages.INFO, "Multiple Sponsors associated with your user.")
290+
return render(request, 'users/sponsor_select.html', context={"sponsors": sponsors})
291+
280292

281293
@method_decorator(login_required(login_url=settings.LOGIN_URL), name="dispatch")
282294
class UpdateSponsorshipAssetsView(UpdateView):

0 commit comments

Comments
 (0)