Skip to content

Commit f244a35

Browse files
committed
Add access info to member database
1 parent 196d562 commit f244a35

File tree

5 files changed

+51
-5
lines changed

5 files changed

+51
-5
lines changed

interna/front/templates/front/members.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ <h3 class="display-inline-block">Aktivmitglieder ({{ active_memberships|length }
3939
<th>Natel</th>
4040
<th>Wohnort</th>
4141
<th>Github</th>
42+
<th>Schlüssel</th>
43+
<th>Safe-Zugang</th>
4244
<th>CCC</th>
4345
<th>Mitglied seit</th>
4446
</thead>
@@ -52,6 +54,8 @@ <h3 class="display-inline-block">Aktivmitglieder ({{ active_memberships|length }
5254
<td>{{ member.phone }}</td>
5355
<td>{{ member.city }}</td>
5456
<td>{% if member.github %}<a href="https://github.com/{{ member.github }}">{{ member.github }}</a>{% endif %}</td>
57+
<td>{{ member.key_number|default:"-" }}</td>
58+
<td>{{ member.get_key_safe_display|default:"-" }}</td>
5559
<td>{{ membership.ccc|yesno:"Ja,Nein" }}</td>
5660
<td>{{ membership.start|date:"Y-m-d" }}</td>
5761
</tr>

interna/memberdb/admin.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55

66
class MemberAdmin(admin.ModelAdmin):
7-
list_display = ('name', 'email', 'city', 'github')
8-
search_fields = ('name', 'pk', 'email', 'phone', 'city', 'github')
9-
list_filter = ('city',)
7+
list_display = ('name', 'email', 'city', 'github', 'key_number', 'key_safe')
8+
search_fields = ('name', 'pk', 'email', 'phone', 'city', 'github', 'key_number', 'key_safe')
9+
list_filter = ('city', 'key_safe')
1010

1111

1212
class MembershipAdmin(admin.ModelAdmin):

interna/memberdb/fixtures/testdata.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
"name": "Donald Knuth",
77
"email": "knuth@example.com",
88
"phone": "+41 79 000 11 22",
9-
"city": "Stanford"
9+
"city": "Stanford",
10+
"key_safe": "app"
1011
}
1112
},
1213
{
@@ -16,7 +17,9 @@
1617
"name": "Ada Lovelace",
1718
"email": "ada@example.com",
1819
"phone": "+41 78 000 33 44",
19-
"city": "London"
20+
"city": "London",
21+
"key_number": "13",
22+
"key_safe": "code"
2023
}
2124
},
2225
{
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Generated by Django 4.2.18 on 2025-01-22 12:12
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("memberdb", "0004_remove_member_twitter"),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name="member",
15+
name="key_number",
16+
field=models.CharField(
17+
blank=True, help_text="Schlüsselnummer", max_length=100
18+
),
19+
),
20+
migrations.AddField(
21+
model_name="member",
22+
name="key_safe",
23+
field=models.CharField(
24+
blank=True,
25+
choices=[("app", "App"), ("code", "Code")],
26+
help_text="Art des Schlüsselsafe-Zugriffs",
27+
max_length=100,
28+
),
29+
),
30+
]

interna/memberdb/models.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77

88
class Member(models.Model):
99
"""A member of the association."""
10+
class SafeAccessType(models.TextChoices):
11+
APP = 'app', 'App'
12+
CODE = 'code', 'Code'
13+
1014
id = models.AutoField(primary_key=True)
1115
name = models.CharField(max_length=100)
1216
email = models.EmailField(unique=True)
@@ -15,6 +19,11 @@ class Member(models.Model):
1519
help_text='Wohnort')
1620
github = models.CharField(max_length=32, blank=True,
1721
help_text='Github Benutzername')
22+
key_number = models.CharField(max_length=100, blank=True,
23+
help_text='Schlüsselnummer')
24+
key_safe = models.CharField(max_length=100, blank=True,
25+
choices=SafeAccessType.choices,
26+
help_text='Art des Schlüsselsafe-Zugriffs')
1827

1928
class Meta:
2029
ordering = ('name', 'id')

0 commit comments

Comments
 (0)