update and simplify members
This commit is contained in:
@@ -39,7 +39,7 @@ def __get_job_groups():
|
|||||||
|
|
||||||
def index(request):
|
def index(request):
|
||||||
pinned_job_groups, unpinned_job_groups = __get_job_groups()
|
pinned_job_groups, unpinned_job_groups = __get_job_groups()
|
||||||
members = deque(Member.all_members.all())
|
members = Member.all_members.all()
|
||||||
|
|
||||||
fs_info = CustomFlatPage.objects.filter(title__iexact="fachschaft").first()
|
fs_info = CustomFlatPage.objects.filter(title__iexact="fachschaft").first()
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ def index(request):
|
|||||||
"fs_info": fs_info,
|
"fs_info": fs_info,
|
||||||
}
|
}
|
||||||
|
|
||||||
return render(request, "members/index.html", context)
|
return render(request, "members/members.html", context)
|
||||||
|
|
||||||
|
|
||||||
def jobs_view(request, slug=None):
|
def jobs_view(request, slug=None):
|
||||||
@@ -65,15 +65,17 @@ def jobs_view(request, slug=None):
|
|||||||
raise Http404("wrong job")
|
raise Http404("wrong job")
|
||||||
|
|
||||||
job_members = JobMember.active_member.get_all_by_slug(slug=slug)
|
job_members = JobMember.active_member.get_all_by_slug(slug=slug)
|
||||||
|
active_job_group = JobGroup.objects.filter(slug=slug).first()
|
||||||
|
|
||||||
context = {
|
context = {
|
||||||
"pinned_job_groups": pinned_job_groups,
|
"pinned_job_groups": pinned_job_groups,
|
||||||
"unpinned_job_groups": unpinned_job_groups,
|
"unpinned_job_groups": unpinned_job_groups,
|
||||||
"description": description,
|
"description": description,
|
||||||
"job_members": job_members,
|
"job_members": job_members,
|
||||||
|
"active_job_group": active_job_group,
|
||||||
}
|
}
|
||||||
|
|
||||||
return render(request, "members/index.html", context)
|
return render(request, "members/jobs.html", context)
|
||||||
|
|
||||||
|
|
||||||
def members_view(request, filter=None):
|
def members_view(request, filter=None):
|
||||||
@@ -81,7 +83,7 @@ def members_view(request, filter=None):
|
|||||||
|
|
||||||
for elem in Member.MemberRole:
|
for elem in Member.MemberRole:
|
||||||
if filter == elem.label.lower():
|
if filter == elem.label.lower():
|
||||||
members = deque(Member.all_members.filter(role=elem.value))
|
members = Member.all_members.filter(role=elem.value)
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
logger.info("Wrong member role '{}'".format(filter))
|
logger.info("Wrong member role '{}'".format(filter))
|
||||||
@@ -96,7 +98,7 @@ def members_view(request, filter=None):
|
|||||||
"fs_info": fs_info,
|
"fs_info": fs_info,
|
||||||
}
|
}
|
||||||
|
|
||||||
return render(request, "members/index.html", context)
|
return render(request, "members/members.html", context)
|
||||||
|
|
||||||
|
|
||||||
def profile_view(request, member_id=None):
|
def profile_view(request, member_id=None):
|
||||||
@@ -107,8 +109,8 @@ def profile_view(request, member_id=None):
|
|||||||
logger.info("Wrong member id '{}'".format(member_id))
|
logger.info("Wrong member id '{}'".format(member_id))
|
||||||
raise Http404("no member")
|
raise Http404("no member")
|
||||||
|
|
||||||
active_jobs = deque(JobMember.members.get_active_jobs(member_id))
|
active_jobs = JobMember.members.get_active_jobs(member_id)
|
||||||
inactive_jobs = deque(JobMember.members.get_inactive_jobs(member_id))
|
inactive_jobs = JobMember.members.get_inactive_jobs(member_id)
|
||||||
|
|
||||||
context = {
|
context = {
|
||||||
"pinned_job_groups": pinned_job_groups,
|
"pinned_job_groups": pinned_job_groups,
|
||||||
|
|||||||
@@ -41,39 +41,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<ul class="sideBarNav">
|
<ul class="sideBarNav">
|
||||||
{% for job in pinned_job_groups %}
|
{% for job in pinned_job_groups %}
|
||||||
<li class="{% if job.slug in request.path %}active{% endif %}">
|
{% include 'members/partials/_jobs_side_bar.html' %}
|
||||||
<a href="{% url 'jobs' job.slug %}">{{ job.name }}</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
{% if job.slug in job_members.0.job.job_group.slug %}
|
|
||||||
{% regroup job_members by job.name as all_jobmem_list %}
|
|
||||||
|
|
||||||
<ul id="scrollspy-subNav">
|
|
||||||
{% for jobmem in all_jobmem_list %}
|
|
||||||
<li class="{% if jobmem.grouper %}active{% endif %}">
|
|
||||||
<a href="#{{ jobmem.list.0.job.slug }}">{{ jobmem.grouper }}</a>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
{% for job in unpinned_job_groups %}
|
{% for job in unpinned_job_groups %}
|
||||||
<li class="{% if job.slug in request.path %}active{% endif %}">
|
{% include 'members/partials/_jobs_side_bar.html' %}
|
||||||
<a href="{% url 'jobs' job.slug %}">{{ job.name }}</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
{% if job.slug in job_members.0.job.job_group.slug %}
|
|
||||||
{% regroup job_members by job.name as all_jobmem_list %}
|
|
||||||
|
|
||||||
<ul id="scrollspy-subNav">
|
|
||||||
{% for jobmem in all_jobmem_list %}
|
|
||||||
<li class="{% if jobmem.grouper %}active{% endif %}">
|
|
||||||
<a href="#{{ jobmem.list.0.job.slug }}">{{ jobmem.grouper }}</a>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
<hr class="">
|
<hr class="">
|
||||||
@@ -87,27 +59,13 @@
|
|||||||
</li>
|
</li>
|
||||||
|
|
||||||
{% if request.user.is_authenticated %}
|
{% if request.user.is_authenticated %}
|
||||||
{% if pinned_job_groups%}
|
{% if active_job_group %}
|
||||||
{% for job in pinned_job_groups %}
|
|
||||||
{% if job.slug in request.path %}
|
|
||||||
<li class="internalLI">
|
<li class="internalLI">
|
||||||
<a href="{% url 'admin:members_jobgroup_change' job.id %}">
|
<a href="{% url 'admin:members_jobgroup_change' active_job_group.id %}">
|
||||||
<i class="fa-regular fa-pen-to-square mr-1"></i>{{ job.name|softhyphen|safe }} bearbeiten
|
<i class="fa-regular fa-pen-to-square mr-1"></i>{{ active_job_group.name|softhyphen|safe }} bearbeiten
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
|
||||||
{% elif unpinned_job_groups %}
|
|
||||||
{% for job in unpinned_job_groups %}
|
|
||||||
{% if job.slug in request.path %}
|
|
||||||
<li class="internalLI">
|
|
||||||
<a href="{% url 'admin:members_jobgroup_change' job.id %}">
|
|
||||||
<i class="fa-regular fa-pen-to-square mr-1"></i>{{ job.name|softhyphen|safe }} bearbeiten
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if fs_info %}
|
{% if fs_info %}
|
||||||
<li class="internalLI">
|
<li class="internalLI">
|
||||||
@@ -143,39 +101,23 @@
|
|||||||
</aside>
|
</aside>
|
||||||
|
|
||||||
<section class="flex-grow max-w-prose my-8 sm:my-0">
|
<section class="flex-grow max-w-prose my-8 sm:my-0">
|
||||||
{% if description %}
|
|
||||||
<div class="db-page-content">
|
|
||||||
{{ description|safe }}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if member %}
|
{% if member %}
|
||||||
<!-- show details of a member -->
|
<!-- show details of a member -->
|
||||||
{% block members_content %}
|
{% block member_content %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if members %}
|
{% if members %}
|
||||||
<!-- show all, active or pension members -->
|
<!-- show all, active or pension members -->
|
||||||
{% if fs_info %}
|
{% block members_content %}
|
||||||
<div class="db-page-content">
|
{% endblock %}
|
||||||
{{ fs_info.content|safe }}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<article class="members-article">
|
{% if job_members %}
|
||||||
<div class="members-listing">
|
|
||||||
{% for member in members %}
|
|
||||||
{% include 'members/partials/_member.html' %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<!-- show job lists in a job group -->
|
<!-- show job lists in a job group -->
|
||||||
{% include 'members/jobs_list.html' %}
|
{% block jobs_content %}
|
||||||
</div>
|
{% endblock %}
|
||||||
|
{% endif %}
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|||||||
37
fet2020/templates/members/jobs.html
Normal file
37
fet2020/templates/members/jobs.html
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
{% extends 'members/index.html' %}
|
||||||
|
|
||||||
|
{% block jobs_content %}
|
||||||
|
<div class="db-page-content">
|
||||||
|
<h2>{{ active_job_group.name }}</h2>
|
||||||
|
{% if description %}
|
||||||
|
{{ description|safe }}
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
{% regroup job_members by job.name as all_jobmem_list %}
|
||||||
|
|
||||||
|
{% for jobmem in all_jobmem_list %}
|
||||||
|
<article id="{{ jobmem.list.0.job.slug }}" class="members-article">
|
||||||
|
<a href="#{{ jobmem.list.0.job.slug }}" class="title">
|
||||||
|
<i class="far fa-link"></i>
|
||||||
|
<h3 class="members-section-title">{{ jobmem.grouper }}</h3>
|
||||||
|
</a>
|
||||||
|
<div class="members-listing">
|
||||||
|
{% for jm in jobmem.list %}
|
||||||
|
<figure>
|
||||||
|
<a href="{{ jm.member.get_absolute_url }}">
|
||||||
|
<img loading="lazy" src="{{ jm.member.image.thumb.url }}" alt="Portraitfoto von {{ jm.member.firstname }}" class="w-36 h-36 bg-white">
|
||||||
|
<figcaption>
|
||||||
|
<h4 class="member-name">{{ jm.member.firstname }} {{ jm.member.surname }}</h4>
|
||||||
|
<p class="member-role">{{ jm.get_job_role_display }}</p>
|
||||||
|
<p class="member-date">Seit {{ jm.job_start|date:"d. M. Y" }}</p>
|
||||||
|
</figcaption>
|
||||||
|
</a>
|
||||||
|
</figure>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
{% regroup job_members by job.name as all_jobmem_list %}
|
|
||||||
|
|
||||||
{% for jobmem in all_jobmem_list %}
|
|
||||||
<article id="{{ jobmem.list.0.job.slug }}" class="members-article">
|
|
||||||
<a href="#{{ jobmem.list.0.job.slug }}" class="title">
|
|
||||||
<i class="far fa-link"></i>
|
|
||||||
<h3 class="members-section-title">{{ jobmem.grouper }}</h3>
|
|
||||||
</a>
|
|
||||||
<div class="members-listing">
|
|
||||||
{% for jm in jobmem.list %}
|
|
||||||
{% with member=jm.member %}
|
|
||||||
{% include 'members/partials/_job_membership_grid.html' %}
|
|
||||||
{% endwith %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
{% endfor %}
|
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
{% extends 'members/index.html' %}
|
{% extends 'members/index.html' %}
|
||||||
|
{% load softhyphen_tags %}
|
||||||
|
|
||||||
{% block extraheader %}
|
{% block extraheader %}
|
||||||
<meta content="{{member.image.url}}" property="og:image">
|
<meta content="{{member.image.url}}" property="og:image">
|
||||||
@@ -7,6 +8,58 @@
|
|||||||
<meta content="profile" property="og:type">
|
<meta content="profile" property="og:type">
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block members_content %}
|
{% block member_content %}
|
||||||
{% include 'members/partials/_member_details.html' %}
|
<section class="flex-grow max-w-prose my-8 sm:my-0 text-justify text-gray-800 dark:text-gray-300">
|
||||||
|
<!-- Alternativtext auf jede Person anpassen: Name im alt="" dynamisch erzeugen -->
|
||||||
|
<img loading="lazy" src="{{ member.image.portrait.url }}" alt="Portraitfoto von {{ member.firstname }} {{ member.surname }}" class="md:float-left w-36 mr-2 mb-2">
|
||||||
|
<div x-data="{ expandList: false }">
|
||||||
|
<h2 class="mb-2 text-lg text-gray-900 dark:text-gray-100 text-left">{{ member.firstname }} {{ member.surname }}</h2>
|
||||||
|
<div class="mb-2">
|
||||||
|
Spitzname: {{ member.nickname }}<br>
|
||||||
|
Mailaccount: {{ member.mailaccount }}<br>
|
||||||
|
</div>
|
||||||
|
<div class="mb-2">
|
||||||
|
{{ member.description|softhyphen|safe }}
|
||||||
|
</div>
|
||||||
|
{% if active_jobs or inactive_jobs %}
|
||||||
|
<h3 class="group mt-4 mb-2 text-lg text-gray-900 dark:text-gray-100">Ehrenamtliche Tätigkeiten:
|
||||||
|
{% if inactive_jobs %}
|
||||||
|
<button class="inline float-right text-sm px-2 py-1 text-gray-600 dark:text-gray-400 group-hover:text-gray-600 dark:group-hover:text-gray-400 border rounded border-gray-500 dark:border-gray-500 md:border-gray-400 dark:md:border-gray-600 group-hover:border-gray-500 dark:group-hover:border-gray-500"
|
||||||
|
@click="expandList = ! expandList"
|
||||||
|
>
|
||||||
|
<span x-show="!expandList">Mehr</span><span x-show="expandList">Weniger</span><span class="hidden md:inline"> anzeigen</span>
|
||||||
|
<i class="fa-fw fa-solid fa-angle-left transition transform -ml-1"
|
||||||
|
:class="expandList ? '-rotate-90' : ''"
|
||||||
|
></i>
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul class="flex flex-col gap-1">
|
||||||
|
{% for jobm in active_jobs %}
|
||||||
|
<li class="flex flex-row flex-wrap">
|
||||||
|
<span>{{ jobm.job.name }}:</span>
|
||||||
|
<span class="ml-2 text-gray-600 dark:text-gray-400">{{ jobm.job_start|date }} -</span>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
<ul class="flex flex-col gap-1 mt-1"
|
||||||
|
x-show="expandList"
|
||||||
|
x-transition:enter="transition duration-100 ease-in"
|
||||||
|
x-transition:enter-start="opacity-0"
|
||||||
|
x-transition:enter-end="opacity-100"
|
||||||
|
x-transition:leave="transition duration-100 ease-out"
|
||||||
|
x-transition:leave-start="opacity-100"
|
||||||
|
x-transition:leave-end="opacity-0"
|
||||||
|
>
|
||||||
|
{% for jobm in inactive_jobs %}
|
||||||
|
<li class="flex flex-row flex-wrap">
|
||||||
|
<span>{{ jobm.job.name }}:</span>
|
||||||
|
<span class="ml-2 text-gray-600 dark:text-gray-400">{{ jobm.job_start|date }} - {{ jobm.job_end|date }}</span>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
24
fet2020/templates/members/members.html
Normal file
24
fet2020/templates/members/members.html
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{% extends 'members/index.html' %}
|
||||||
|
|
||||||
|
{% block members_content %}
|
||||||
|
{% if fs_info %}
|
||||||
|
<div class="db-page-content">
|
||||||
|
{{ fs_info.content|safe }}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<article class="members-article">
|
||||||
|
<div class="members-listing">
|
||||||
|
{% for member in members %}
|
||||||
|
<figure>
|
||||||
|
<a href="{{ member.get_absolute_url }}">
|
||||||
|
<img loading="lazy" src="{{ member.image.thumb.url }}" alt="Portraitfoto von {{ member.firstname }}" class="w-36 h-36 bg-white">
|
||||||
|
<figcaption>
|
||||||
|
<h3>{{ member.firstname }} {{ member.surname }}</h3>
|
||||||
|
</figcaption>
|
||||||
|
</a>
|
||||||
|
</figure>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
{% endblock %}
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
<div class="grid-x align-bottom">
|
|
||||||
{% for member in members %}
|
|
||||||
<div class="cell large-2 medium-3 small-6 padding-right-1" style="text-align: center">
|
|
||||||
<h2>{{member.firstname}} {{member.surname}}</h2>
|
|
||||||
{% include 'members/partials/_member.html' %}
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
<figure>
|
|
||||||
<a href="{{ member.get_absolute_url }}">
|
|
||||||
<img loading="lazy" src="{{ member.image.thumb.url }}" alt="Portraitfoto von {{ member.firstname }}" class="w-36 h-36 bg-white">
|
|
||||||
<figcaption>
|
|
||||||
<h4 class="member-name">{{ member.firstname }} {{ member.surname }}</h4>
|
|
||||||
<p class="member-role">{{ jm.get_job_role_display }}</p>
|
|
||||||
<p class="member-date">Seit {{ jm.job_start|date:"d. M. Y" }}</p>
|
|
||||||
</figcaption>
|
|
||||||
</a>
|
|
||||||
</figure>
|
|
||||||
15
fet2020/templates/members/partials/_jobs_side_bar.html
Normal file
15
fet2020/templates/members/partials/_jobs_side_bar.html
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<li class="{% if job.slug in request.path %}active{% endif %}">
|
||||||
|
<a href="{% url 'jobs' job.slug %}">{{ job.name }}</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
{% if job.slug == active_job_group.slug %}
|
||||||
|
{% regroup job_members by job.name as all_jobmem_list %}
|
||||||
|
|
||||||
|
<ul id="scrollspy-subNav">
|
||||||
|
{% for jobmem in all_jobmem_list %}
|
||||||
|
<li class="{% if jobmem.grouper %}active{% endif %}">
|
||||||
|
<a href="#{{ jobmem.list.0.job.slug }}">{{ jobmem.grouper }}</a>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
<figure>
|
|
||||||
<a href="{{ member.get_absolute_url }}">
|
|
||||||
<img loading="lazy" src="{{ member.image.thumb.url }}" alt="Portraitfoto von {{ member.firstname }}" class="w-36 h-36 bg-white">
|
|
||||||
<figcaption>
|
|
||||||
<h3>{{ member.firstname }} {{ member.surname }}</h3>
|
|
||||||
</figcaption>
|
|
||||||
</a>
|
|
||||||
</figure>
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
{# This template shows one member and all the details (that are ment for public) including a list of current jobs #}
|
|
||||||
{% load softhyphen_tags %}
|
|
||||||
{% load static %}
|
|
||||||
|
|
||||||
<section class="flex-grow max-w-prose my-8 sm:my-0 text-justify text-gray-800 dark:text-gray-300">
|
|
||||||
<!-- Alternativtext auf jede Person anpassen: Name im alt="" dynamisch erzeugen -->
|
|
||||||
<img loading="lazy" src="{{ member.image.portrait.url }}" alt="Portraitfoto von {{ member.firstname }} {{ member.surname }}" class="md:float-left w-36 mr-2 mb-2">
|
|
||||||
<div x-data="{ expandList: false }">
|
|
||||||
<h2 class="mb-2 text-lg text-gray-900 dark:text-gray-100 text-left">{{ member.firstname }} {{ member.surname }}</h2>
|
|
||||||
<div class="mb-2">
|
|
||||||
Spitzname: {{ member.nickname }} <br>
|
|
||||||
Mailaccount: {{ member.mailaccount }} <br>
|
|
||||||
</div>
|
|
||||||
<div class="mb-2">
|
|
||||||
{{ member.description|softhyphen|safe }}
|
|
||||||
</div>
|
|
||||||
{% if active_jobs or inactive_jobs %}
|
|
||||||
<h3 class="group mt-4 mb-2 text-lg text-gray-900">Ehrenamtliche Tätigkeiten:
|
|
||||||
{% if inactive_jobs %}
|
|
||||||
<button class="inline float-right text-sm px-2 py-1 text-gray-600 md:text-gray-500 group-hover:text-gray-600 border rounded border-gray-500 md:border-gray-400 group-hover:border-gray-500"
|
|
||||||
@click="expandList = ! expandList"
|
|
||||||
>
|
|
||||||
<span x-show="!expandList">Mehr</span><span x-show="expandList">Weniger</span><span class="hidden md:inline"> anzeigen</span>
|
|
||||||
<i class="fa-fw fa-solid fa-angle-left transition transform -ml-1"
|
|
||||||
:class="expandList ? '-rotate-90' : ''"
|
|
||||||
></i>
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<ul class="flex flex-col gap-1">
|
|
||||||
{% for jobm in active_jobs %}
|
|
||||||
<li class="flex flex-row flex-wrap">
|
|
||||||
<span>{{ jobm.job.name }}:</span>
|
|
||||||
<span class="ml-2 text-gray-600 dark:text-gray-400">{{ jobm.job_start|date }} -</span>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
<ul class="flex flex-col gap-1 mt-1"
|
|
||||||
x-show="expandList"
|
|
||||||
x-transition:enter="transition duration-100 ease-in"
|
|
||||||
x-transition:enter-start="opacity-0"
|
|
||||||
x-transition:enter-end="opacity-100"
|
|
||||||
x-transition:leave="transition duration-100 ease-out"
|
|
||||||
x-transition:leave-start="opacity-100"
|
|
||||||
x-transition:leave-end="opacity-0"
|
|
||||||
>
|
|
||||||
{% for jobm in inactive_jobs %}
|
|
||||||
<li class="flex flex-row flex-wrap">
|
|
||||||
<span>{{ jobm.job.name }}:</span>
|
|
||||||
<span class="ml-2 text-gray-600 dark:text-gray-400">{{ jobm.job_start|date }} - {{ jobm.job_end|date }}</span>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
Reference in New Issue
Block a user