Skip to content
Snippets Groups Projects
Commit 12410886 authored by Alexa Valentová's avatar Alexa Valentová
Browse files

reorder views, nicer RSVP views, allow duplicating lectures

parent 46b1ad28
No related branches found
No related tags found
No related merge requests found
Pipeline #17121 passed
from django.contrib import admin
from markdownx.admin import MarkdownxModelAdmin
from modelclone import ClonableModelAdmin
from .forms import LectureGroupTypeFormset
from .models import (
......@@ -44,7 +45,7 @@ class LectureGroupTypeInline(admin.StackedInline):
extra = 1
class LectureAdmin(MarkdownxModelAdmin):
class LectureAdmin(ClonableModelAdmin, MarkdownxModelAdmin):
inlines = (
LectureGroupTypeInline,
LectureRecordingInline,
......@@ -55,6 +56,21 @@ class LectureAdmin(MarkdownxModelAdmin):
search_fields = ("name", "description")
readonly_fields = ("rsvp_users",)
fieldsets = (
(
None,
{
"fields": [
"timestamp",
"category",
"name",
"description",
]
},
),
("Registrovaní účastníci", {"fields": ["rsvp_users"]}),
)
list_display = (
"name",
"timestamp",
......
# Generated by Django 5.0.2 on 2024-02-26 16:02
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('lectures', '0027_alter_lecturecategory_options'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.AlterField(
model_name='lecture',
name='rsvp_users',
field=models.ManyToManyField(blank=True, related_name='rsvp_lectures', to=settings.AUTH_USER_MODEL, verbose_name='Registrovaní účastníci'),
),
]
......@@ -168,7 +168,7 @@ class Lecture(NameStrMixin, models.Model):
"users.User",
blank=True,
related_name="rsvp_lectures",
verbose_name="Zaregistrovaní uživatelé",
verbose_name="Registrovaní účastníci",
)
# Settings
......
......@@ -19,12 +19,17 @@
<div class="__js-root">
<ui-view-provider
:initial="{current_lectures: false, calendar: false, recordings: true}"
:initial="{current_lectures: false, timeline: true, recordings: false}"
:sync-location="true"
v-slot="{ isCurrentView, toggleView }"
>
<div class="flex justify-center mb-10">
<div class="switch overflow-x-auto">
<a
@click="toggleView('timeline')"
class="switch__item whitespace-nowrap"
:class="{'switch__item--active': isCurrentView('timeline')}"
>Časová osa</a>
<a
@click="toggleView('recordings')"
class="switch__item whitespace-nowrap"
......@@ -35,11 +40,6 @@
class="switch__item whitespace-nowrap"
:class="{'switch__item--active': isCurrentView('current_lectures')}"
>Aktuálně</a>
<a
@click="toggleView('timeline')"
class="switch__item whitespace-nowrap"
:class="{'switch__item--active': isCurrentView('timeline')}"
>Časová osa</a>
</div>
</div>
<div>
......
django
django-admin-index
django-admin-interface
django-database-url
django-dbsettings
django-downloadview
django-markdownx
django-ordered-model
django-webpack-loader
pirates
django-markdownx
django-environ
django-http-exceptions
django-modelclone-next
gql[requests]
requests
PyJWT
Pillow
psycopg2-binary
django==4.1.4
django-admin-index==2.0.2
django-admin-interface==0.24.2
#
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# pip-compile base.in
#
anyio==4.3.0
# via gql
asgiref==3.7.2
# via django
backoff==2.2.1
# via gql
certifi==2024.2.2
# via requests
cffi==1.16.0
# via cryptography
charset-normalizer==3.3.2
# via requests
cryptography==42.0.5
# via
# josepy
# mozilla-django-oidc
# pyopenssl
django==5.0.2
# via
# -r base.in
# django-admin-index
# django-database-url
# django-downloadview
# django-http-exceptions
# django-markdownx
# mozilla-django-oidc
django-admin-index==3.1.0
# via -r base.in
django-admin-interface==0.28.5
# via -r base.in
django-colorfield==0.11.0
# via django-admin-interface
django-database-url==1.0.3
# via -r base.in
django-dbsettings==1.3.0
# via -r base.in
django-downloadview==2.3.0
django-markdownx==4.0.0b1
django-ordered-model==3.7.1
django-webpack-loader==1.8.0
pirates==0.6.0
django-markdownx==4.0.0b1
django-environ==0.9.0
# via -r base.in
django-environ==0.11.2
# via -r base.in
django-http-exceptions==1.4.0
gql[requests]==3.4.1
# via -r base.in
django-markdownx==4.0.7
# via -r base.in
django-modelclone-next==0.8.2
# via -r base.in
django-ordered-model==3.7.4
# via
# -r base.in
# django-admin-index
django-webpack-loader==3.0.1
# via -r base.in
gql[requests]==3.5.0
# via -r base.in
graphql-core==3.2.3
# via gql
idna==3.6
# via
# anyio
# requests
# yarl
josepy==1.14.0
# via mozilla-django-oidc
markdown==3.5.2
# via django-markdownx
mozilla-django-oidc==3.0.0
# via pirates
multidict==6.0.5
# via yarl
pillow==10.2.0
# via
# -r base.in
# django-colorfield
# django-markdownx
pirates==0.7.0
# via -r base.in
psycopg2-binary==2.9.9
# via -r base.in
pycparser==2.21
# via cffi
pyjwt==2.8.0
# via -r base.in
pyopenssl==24.0.0
# via josepy
python-slugify==8.0.4
# via django-admin-interface
requests==2.31.0
PyJWT==2.6.0
Pillow==9.5.0
psycopg2-binary==2.9.5
# via
# -r base.in
# django-downloadview
# gql
# mozilla-django-oidc
# requests-toolbelt
requests-toolbelt==1.0.0
# via gql
sniffio==1.3.1
# via anyio
sqlparse==0.4.4
# via django
text-unidecode==1.3
# via python-slugify
urllib3==2.2.1
# via requests
yarl==1.9.4
# via gql
gunicorn
whitenoise
gunicorn==20.1.0
whitenoise==6.3.0
#
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# pip-compile production.in
#
gunicorn==21.2.0
# via -r production.in
packaging==23.2
# via gunicorn
whitenoise==6.6.0
# via -r production.in
File added
# Czech translation of django-guardian.
# This file is distributed under the same license as django-guardian's package.
# Translator: Tomáš Valenta <tomas@imaniti.org>, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: django-guardian 1.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-09 19:00+0100\n"
"PO-Revision-Date: 2023-11-09 19:00-0600\n"
"Last-Translator: Tomáš Valenta <tomas@imaniti.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: cs\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Translated-Using: django-rosetta 0.7.3\n"
#: admin.py:21
msgid "Duplicate"
msgstr "Duplikovat"
#: admin.py:70
#, python-brace-format
msgid "{name} object with primary key {key} does not exist."
msgstr "Objekt {name} s klíčem {key} neexistuje."
......@@ -51,6 +51,7 @@ INSTALLED_APPS = [
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
"modelclone",
"dbsettings",
"markdownx",
"pirates",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment