diff --git a/jdav_web/members/admin.py b/jdav_web/members/admin.py
index 5486a56..d4ca8c8 100644
--- a/jdav_web/members/admin.py
+++ b/jdav_web/members/admin.py
@@ -207,7 +207,7 @@ class MemberAdmin(CommonAdminMixin, admin.ModelAdmin):
),
]
list_display = ('name_text_or_link', 'birth_date', 'age', 'get_group',
- 'email', 'phone_number',
+ 'email_mailto_link', 'phone_number_tel_link',
'comments', 'activity_score')
search_fields = ('prename', 'lastname', 'email')
list_filter = ('group', )
diff --git a/jdav_web/members/models.py b/jdav_web/members/models.py
index 11314f5..9f11fd3 100644
--- a/jdav_web/members/models.py
+++ b/jdav_web/members/models.py
@@ -9,6 +9,7 @@ from django.db.models import TextField, ManyToManyField, ForeignKey, Count,\
Sum, Case, Q, F, When, Value, IntegerField, Subquery, OuterRef
from django.utils.translation import gettext_lazy as _
from django.utils import timezone
+from django.utils.html import format_html
from django.urls import reverse
from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation
from django.contrib.contenttypes.models import ContentType
@@ -125,6 +126,18 @@ class Contact(CommonModel):
"""Returning whole name (prename + lastname)"""
return "{0} {1}".format(self.prename, self.lastname)
+ def phone_number_tel_link(self):
+ """Returns the phone number as tel link."""
+ return format_html('{tel}'.format(tel=self.phone_number))
+ phone_number_tel_link.short_description = _('phone number')
+ phone_number_tel_link.admin_order_field = 'phone_number'
+
+ def email_mailto_link(self):
+ """Returns the emails as a mailto link."""
+ return format_html('{email}'.format(email=self.email))
+ email_mailto_link.short_description = 'Email'
+ email_mailto_link.admin_order_field = 'email'
+
@property
def email_fields(self):
"""Returns all tuples of emails and confirmation data related to this contact.