Skip to content

Commit f3c3fc8

Browse files
committed
Add Participant info to admin change view
1 parent 0300161 commit f3c3fc8

File tree

4 files changed

+81
-57
lines changed

4 files changed

+81
-57
lines changed

backend/grants/admin.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
from django.db.models import Exists, OuterRef
3030

3131
from django.contrib.admin import SimpleListFilter
32+
from participants.models import Participant
3233

3334
EXPORT_GRANTS_FIELDS = (
3435
"name",
@@ -494,6 +495,22 @@ class GrantAdmin(ExportMixin, ConferencePermissionMixin, admin.ModelAdmin):
494495
),
495496
)
496497

498+
def change_view(self, request, object_id, form_url="", extra_context=None):
499+
extra_context = extra_context or {}
500+
grant = self.model.objects.get(id=object_id)
501+
owner_id = grant.user_id
502+
extra_context["participant"] = Participant.objects.filter(
503+
user_id=owner_id,
504+
conference_id=grant.conference_id,
505+
).first()
506+
507+
return super().change_view(
508+
request,
509+
object_id,
510+
form_url,
511+
extra_context=extra_context,
512+
)
513+
497514
@admin.display(description="User", ordering="user__full_name")
498515
def user_display_name(self, obj):
499516
if obj.user_id:
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{% extends "admin/change_form.html" %}
2+
3+
{% block after_field_sets %}
4+
{% include "includes/participant/view_info.html" with title="Grantee info" %}
5+
{% endblock %}
Lines changed: 1 addition & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,5 @@
11
{% extends "admin/change_form.html" %}
2-
{% load i18n %}
32

43
{% block after_field_sets %}
5-
{% if participant %}
6-
<fieldset class="module aligned ">
7-
<h2>Proposal Owner Participant</h2>
8-
9-
<div class="form-row">
10-
<a target="_blank" rel="noopener noreferrer"
11-
href="{% url 'admin:participants_participant_change' participant.id %}">
12-
<img src="/django-static/admin/img/icon-changelink.svg" />
13-
Edit this
14-
</a>
15-
</div>
16-
17-
<div class="form-row">
18-
<label>Avatar</label>
19-
<img src="{{participant.photo}}" style="object-fit: contain;" width="200" height="200" />
20-
</div>
21-
22-
<div class="form-row">
23-
<label>Bio</label>
24-
<p>{{participant.bio}}</p>
25-
</div>
26-
27-
<div class="form-row">
28-
<label>Website</label>
29-
<a target="_blank" rel="noopener noreferrer" href="{{participant.website}}">{{participant.website}}</a>
30-
</div>
31-
32-
<div class="form-row">
33-
<label>Twitter Handle</label>
34-
<a target="_blank" rel="noopener noreferrer"
35-
href="https://twitter.com/{{participant.twitter_handle}}">@{{participant.twitter_handle}}</a>
36-
</div>
37-
38-
<div class="form-row">
39-
<label>Instagram Handle</label>
40-
<a target="_blank" rel="noopener noreferrer"
41-
href="https://instagram.com/{{participant.instagram_handle}}">@{{participant.instagram_handle}}</a>
42-
</div>
43-
44-
<div class="form-row">
45-
<label>Mastodon Handle</label>
46-
<p>{{participant.mastodon_handle}}</p>
47-
</div>
48-
49-
<div class="form-row">
50-
<label>Linkedin URL</label>
51-
<a target="_blank" rel="noopener noreferrer" href="{{participant.linkedin_url}}">{{participant.linkedin_url}}</a>
52-
</div>
53-
54-
<div class="form-row">
55-
<label>Facebook URL</label>
56-
<a target="_blank" rel="noopener noreferrer" href="{{participant.facebook_url}}">{{participant.facebook_url}}</a>
57-
</div>
58-
59-
</fieldset>
60-
{% endif %}
4+
{% include "includes/participant/view_info.html" with title="Speaker info" %}
615
{% endblock %}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{% load i18n %}
2+
3+
{% if participant %}
4+
<fieldset class="module aligned ">
5+
<h2>{{ title }}</h2>
6+
7+
<div class="form-row">
8+
<a target="_blank" rel="noopener noreferrer"
9+
href="{% url 'admin:participants_participant_change' participant.id %}">
10+
<img src="/django-static/admin/img/icon-changelink.svg" />
11+
Edit this
12+
</a>
13+
</div>
14+
15+
<div class="form-row">
16+
<label>Avatar</label>
17+
<img src="{{participant.photo}}" style="object-fit: contain;" width="200" height="200" />
18+
</div>
19+
20+
<div class="form-row">
21+
<label>Bio</label>
22+
<p>{{participant.bio}}</p>
23+
</div>
24+
25+
<div class="form-row">
26+
<label>Website</label>
27+
<a target="_blank" rel="noopener noreferrer" href="{{participant.website}}">{{participant.website}}</a>
28+
</div>
29+
30+
<div class="form-row">
31+
<label>Twitter Handle</label>
32+
<a target="_blank" rel="noopener noreferrer"
33+
href="https://twitter.com/{{participant.twitter_handle}}">@{{participant.twitter_handle}}</a>
34+
</div>
35+
36+
<div class="form-row">
37+
<label>Instagram Handle</label>
38+
<a target="_blank" rel="noopener noreferrer"
39+
href="https://instagram.com/{{participant.instagram_handle}}">@{{participant.instagram_handle}}</a>
40+
</div>
41+
42+
<div class="form-row">
43+
<label>Mastodon Handle</label>
44+
<p>{{participant.mastodon_handle}}</p>
45+
</div>
46+
47+
<div class="form-row">
48+
<label>Linkedin URL</label>
49+
<a target="_blank" rel="noopener noreferrer" href="{{participant.linkedin_url}}">{{participant.linkedin_url}}</a>
50+
</div>
51+
52+
<div class="form-row">
53+
<label>Facebook URL</label>
54+
<a target="_blank" rel="noopener noreferrer" href="{{participant.facebook_url}}">{{participant.facebook_url}}</a>
55+
</div>
56+
57+
</fieldset>
58+
{% endif %}

0 commit comments

Comments
 (0)