Skip to content

Commit

Permalink
Merge pull request #76 from coredump-ch/member-key-managment
Browse files Browse the repository at this point in the history
Member key managment
  • Loading branch information
dbrgn authored Jan 22, 2025
2 parents c8f3e57 + f244a35 commit c740ec9
Show file tree
Hide file tree
Showing 8 changed files with 131 additions and 8 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ User erstellen:
Testdaten laden (optional):

./manage.py loaddata --app crowdfund testdata
./manage.py loaddata --app memberdb testdata

Entwicklungsserver starten:

Expand Down
2 changes: 1 addition & 1 deletion interna/front/templates/front/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">coredump</a>
<a class="navbar-brand" href="/">Coredump Interna</a>
</div>
{% block navigation %}
<div class="navbar-collapse collapse">
Expand Down
6 changes: 4 additions & 2 deletions interna/front/templates/front/members.html
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,9 @@ <h3 class="display-inline-block">Aktivmitglieder ({{ active_memberships|length }
<th>Email</th>
<th>Natel</th>
<th>Wohnort</th>
<th>Twitter</th>
<th>Github</th>
<th>Schlüssel</th>
<th>Safe-Zugang</th>
<th>CCC</th>
<th>Mitglied seit</th>
</thead>
Expand All @@ -52,8 +53,9 @@ <h3 class="display-inline-block">Aktivmitglieder ({{ active_memberships|length }
<td>{{ member.email|urlize }}</td>
<td>{{ member.phone }}</td>
<td>{{ member.city }}</td>
<td>{% if member.twitter %}<a href="https://twitter.com/{{ member.twitter }}">{{ member.twitter }}</a>{% endif %}</td>
<td>{% if member.github %}<a href="https://github.com/{{ member.github }}">{{ member.github }}</a>{% endif %}</td>
<td>{{ member.key_number|default:"-" }}</td>
<td>{{ member.get_key_safe_display|default:"-" }}</td>
<td>{{ membership.ccc|yesno:"Ja,Nein" }}</td>
<td>{{ membership.start|date:"Y-m-d" }}</td>
</tr>
Expand Down
6 changes: 3 additions & 3 deletions interna/memberdb/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@


class MemberAdmin(admin.ModelAdmin):
list_display = ('name', 'email', 'city', 'twitter', 'github')
search_fields = ('name', 'pk', 'email', 'phone', 'city', 'twitter', 'github')
list_filter = ('city',)
list_display = ('name', 'email', 'city', 'github', 'key_number', 'key_safe')
search_fields = ('name', 'pk', 'email', 'phone', 'city', 'github', 'key_number', 'key_safe')
list_filter = ('city', 'key_safe')


class MembershipAdmin(admin.ModelAdmin):
Expand Down
66 changes: 66 additions & 0 deletions interna/memberdb/fixtures/testdata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
[
{
"model": "memberdb.member",
"pk": 1,
"fields": {
"name": "Donald Knuth",
"email": "[email protected]",
"phone": "+41 79 000 11 22",
"city": "Stanford",
"key_safe": "app"
}
},
{
"model": "memberdb.member",
"pk": 2,
"fields": {
"name": "Ada Lovelace",
"email": "[email protected]",
"phone": "+41 78 000 33 44",
"city": "London",
"key_number": "13",
"key_safe": "code"
}
},
{
"model": "memberdb.member",
"pk": 3,
"fields": {
"name": "Marvin Minsky",
"email": "[email protected]",
"phone": "+41 77 000 55 66",
"city": "Massachusetts"
}
},
{
"model": "memberdb.membership",
"pk": 1,
"fields": {
"Member": 1,
"start": "2017-08-20",
"category": 2,
"ccc": false
}
},
{
"model": "memberdb.membership",
"pk": 2,
"fields": {
"Member": 2,
"start": "2020-08-20",
"category": 1,
"ccc": true
}
},
{
"model": "memberdb.membership",
"pk": 3,
"fields": {
"Member": 3,
"start": "2015-08-20",
"end": "2020-08-20",
"category": 1,
"ccc": true
}
}
]
17 changes: 17 additions & 0 deletions interna/memberdb/migrations/0004_remove_member_twitter.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Generated by Django 4.2.18 on 2025-01-22 12:02

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
("memberdb", "0003_remove_member_access_code"),
]

operations = [
migrations.RemoveField(
model_name="member",
name="twitter",
),
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Generated by Django 4.2.18 on 2025-01-22 12:12

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
("memberdb", "0004_remove_member_twitter"),
]

operations = [
migrations.AddField(
model_name="member",
name="key_number",
field=models.CharField(
blank=True, help_text="Schlüsselnummer", max_length=100
),
),
migrations.AddField(
model_name="member",
name="key_safe",
field=models.CharField(
blank=True,
choices=[("app", "App"), ("code", "Code")],
help_text="Art des Schlüsselsafe-Zugriffs",
max_length=100,
),
),
]
11 changes: 9 additions & 2 deletions interna/memberdb/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,23 @@

class Member(models.Model):
"""A member of the association."""
class SafeAccessType(models.TextChoices):
APP = 'app', 'App'
CODE = 'code', 'Code'

id = models.AutoField(primary_key=True)
name = models.CharField(max_length=100)
email = models.EmailField(unique=True)
phone = models.CharField(max_length=16, blank=True)
city = models.CharField(max_length=100, blank=True,
help_text='Wohnort')
twitter = models.CharField(max_length=32, blank=True,
help_text='Twitter Benutzername')
github = models.CharField(max_length=32, blank=True,
help_text='Github Benutzername')
key_number = models.CharField(max_length=100, blank=True,
help_text='Schlüsselnummer')
key_safe = models.CharField(max_length=100, blank=True,
choices=SafeAccessType.choices,
help_text='Art des Schlüsselsafe-Zugriffs')

class Meta:
ordering = ('name', 'id')
Expand Down

0 comments on commit c740ec9

Please sign in to comment.