Member filters and templates added
This commit is contained in:
@@ -141,8 +141,10 @@ class Job(models.Model):
|
||||
@property
|
||||
def active_members(self):
|
||||
"Active Members for this job"
|
||||
date_today = timezone.now().date()
|
||||
def sorted_jobmembers():
|
||||
return sorted(list(self.jobmembers.all()), # filter active fehlt noch
|
||||
return sorted(list(self.jobmembers.filter(Q(member__role ='A') &
|
||||
(Q(job_end__gt=date_today) | Q(job_end__isnull=True))).all()), # filter active fehlt noch
|
||||
key=lambda x: (JobMember._role_sort[x.job_role], JobMember.job_start))
|
||||
m =[jm.member_with_role for jm in sorted_jobmembers()]
|
||||
|
||||
@@ -151,12 +153,17 @@ class Job(models.Model):
|
||||
@property
|
||||
def active_members_count(self):
|
||||
"Count Active Members"
|
||||
return self.jobmembers.count()
|
||||
date_today = timezone.now().date()
|
||||
return self.jobmembers.filter(Q(member__role ='A') &
|
||||
(Q(job_end__gt=date_today) | Q(job_end__isnull=True))).count()
|
||||
|
||||
@property
|
||||
def inactive_members(self):
|
||||
"return the inactive members"
|
||||
return [jm.member for jm in self.jobmembers.all()] # filter inactive fehlt noch
|
||||
date_today = timezone.now().date()
|
||||
return [jm.member for jm in self.jobmembers.filter(~Q(member__role ='A') |
|
||||
(Q(job_end__lt=date_today) & Q(job_end__isnull=False))).all()] # filter inactive fehlt noch
|
||||
|
||||
|
||||
class Meta:
|
||||
verbose_name = "Tätigkeit"
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -2,7 +2,9 @@
|
||||
|
||||
{% block content %}
|
||||
<div class="grid-container">
|
||||
|
||||
<a href="{% url 'members.list' 'A' %}">
|
||||
Aktive Mitglieder
|
||||
</a>
|
||||
{% for job in jobs %}
|
||||
<a href="{% url 'members.show_job' job.slug %}">
|
||||
{{job.name}}
|
||||
|
||||
@@ -1,18 +1,26 @@
|
||||
{% extends 'layout.html' %}
|
||||
|
||||
{% block content %}
|
||||
<h1> GRID </h1>
|
||||
|
||||
<div class="grid-container">
|
||||
<h1> Mitarbeiter Liste </h1>
|
||||
<h2> Grid Style</h2>
|
||||
<div class="grid-x">
|
||||
|
||||
{% for member in members %}
|
||||
<div class="medium-3 large-2 small-6 cell">
|
||||
{% include 'members/partials/_member.html' %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<h2> Grid Style 2</h2>
|
||||
<div class="grid-x">
|
||||
{% for member in members %}
|
||||
{% include 'members/partials/_member.html' %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<h2>Detail List</h2>
|
||||
<div class="grid-container">
|
||||
{% for member in members %}
|
||||
{% include 'members/partials/_member_details.html' %}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
|
||||
|
||||
{# only thumb and name of member #}
|
||||
{% if member.image %}
|
||||
<img src="{{member.image.url}}" class="thumbnail" style="width:150px;height:150px"/> </br>
|
||||
{% endif %}
|
||||
Name: {{member.firstname}} {{member.surname}} </br>
|
||||
Spitzname: {{member.nickname}} </br>
|
||||
|
||||
|
||||
<a class="thumbnail member-thumb" style="width:150px;height:150px">
|
||||
{% if member.image %}<img src="{{member.image.url}}" />{% endif %}
|
||||
<div class="thumb-layer"><div><h1>{{member.nickname}}</h1> <p>{{member.firstname}} {{member.surname}}</p></div></div>
|
||||
</a>
|
||||
@@ -20,4 +20,9 @@ Aktuelle Mitglieder {{ job.active_members_count}}:
|
||||
</div>
|
||||
|
||||
Vergangene Mitglieder:
|
||||
<div class="grid-x">
|
||||
{% for member in job.inactive_members %}
|
||||
{% include 'members/partials/_member.html' %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user