parent
a352ea331a
commit
46943dc359
|
|
@ -34,6 +34,7 @@ apps = [
|
||||||
'membership',
|
'membership',
|
||||||
'youth',
|
'youth',
|
||||||
'atu',
|
'atu',
|
||||||
|
'mbkb',
|
||||||
'core'
|
'core'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ from db.tournaments.models import *
|
||||||
from db.membership.models import *
|
from db.membership.models import *
|
||||||
from db.youth.models import *
|
from db.youth.models import *
|
||||||
from db.atu.models import *
|
from db.atu.models import *
|
||||||
|
from db.mbkb.models import *
|
||||||
|
|
||||||
|
|
||||||
def load_config(request):
|
def load_config(request):
|
||||||
|
|
@ -24,14 +25,15 @@ def load_config(request):
|
||||||
'regulaminy': Regulation.objects.all(),
|
'regulaminy': Regulation.objects.all(),
|
||||||
'rodos': RODO.objects.all(),
|
'rodos': RODO.objects.all(),
|
||||||
'leagues': {
|
'leagues': {
|
||||||
'Wyniki I Ligi': FirstLeague.objects.all(),
|
'Wyniki I Ligi': FirstLeague.objects.all().reverse(),
|
||||||
'Wyniki II Ligi': SecondLeague.objects.all(),
|
'Wyniki II Ligi': SecondLeague.objects.all().reverse(),
|
||||||
'Wyniki III Ligi': ThirdLeague.objects.all()
|
'Wyniki III Ligi': ThirdLeague.objects.all()
|
||||||
},
|
},
|
||||||
'calendars': Calendar.objects.all(),
|
'calendars': Calendar.objects.all(),
|
||||||
'gpb': GrandPrixB.load(),
|
'gpb': GrandPrixB.load(),
|
||||||
'tournaments': Tournament.objects.filter(published=True),
|
'tournaments': Tournament.objects.filter(published=True),
|
||||||
'memberships': Membership.objects.filter(published=True),
|
'memberships': Membership.objects.filter(published=True),
|
||||||
'youth': Youth.load(),
|
'youth': Youth.objects.all(),
|
||||||
|
'mbkb': MBKB.objects.all(),
|
||||||
'atu': Atu.load()
|
'atu': Atu.load()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
{% extends 'base.html' %}
|
||||||
|
<!---->
|
||||||
|
{% block title %}Miejski Białostocki Klub Brydżowy | pdlzbs{% endblock %}
|
||||||
|
<!---->
|
||||||
|
{% load static tailwind_tags tablepipe %} {% block content %}
|
||||||
|
<h1 class="text-center mb-4">Miejski Białostocki Klub Brydżowy</h1>
|
||||||
|
|
||||||
|
<div class="flex flex-col items-center gap-4">
|
||||||
|
{% for article in mbkb %}
|
||||||
|
<article class="w-full pb-4">
|
||||||
|
{% if article.show_title %}
|
||||||
|
<h2 class="font-normal">{{ article.title }}</h2>
|
||||||
|
{% endif %} {{ article.content | tablescroll | safe }}
|
||||||
|
</article>
|
||||||
|
{% if not forloop.last %}
|
||||||
|
<hr class="w-36 border-b border-stone-200" />
|
||||||
|
{% endif %} {% empty %}
|
||||||
|
<span class="py-4 text-xl">Brak artykułów</span>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
|
|
@ -3,5 +3,19 @@
|
||||||
{% block title %}Młodzież | pdlzbs{% endblock %}
|
{% block title %}Młodzież | pdlzbs{% endblock %}
|
||||||
<!---->
|
<!---->
|
||||||
{% load static tailwind_tags tablepipe %} {% block content %}
|
{% load static tailwind_tags tablepipe %} {% block content %}
|
||||||
<article class="w-full">{{ youth.content | safe }}</article>
|
<h1 class="text-center mb-4">Młodzież</h1>
|
||||||
|
|
||||||
|
<div class="flex flex-col items-center gap-4">
|
||||||
|
{% for article in youth %}
|
||||||
|
<article class="w-full pb-4">
|
||||||
|
{% if article.show_title %}
|
||||||
|
<h2 class="font-normal">{{ article.title }}</h2>
|
||||||
|
{% endif %} {{ article.content | tablescroll | safe }}
|
||||||
|
</article>
|
||||||
|
{% if not forloop.last %}
|
||||||
|
<hr class="w-36 border-b border-stone-200" />
|
||||||
|
{% endif %} {% empty %}
|
||||||
|
<span class="py-4 text-xl">Brak artykułów</span>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
|
|
@ -19,4 +19,5 @@ urlpatterns = [
|
||||||
path('skladki', MembershipView.as_view(), name='membership'),
|
path('skladki', MembershipView.as_view(), name='membership'),
|
||||||
path('mlodziez', YouthView.as_view(), name='youth'),
|
path('mlodziez', YouthView.as_view(), name='youth'),
|
||||||
path('atu', AtuView.as_view(), name='atu'),
|
path('atu', AtuView.as_view(), name='atu'),
|
||||||
|
path('mbkb', MBKBView.as_view(), name='mbkb'),
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -59,3 +59,7 @@ class YouthView(TemplateView):
|
||||||
|
|
||||||
class AtuView(TemplateView):
|
class AtuView(TemplateView):
|
||||||
template_name = 'atu.html'
|
template_name = 'atu.html'
|
||||||
|
|
||||||
|
|
||||||
|
class MBKBView(TemplateView):
|
||||||
|
template_name = "mbkb.html"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
# Generated by Django 4.0.5 on 2022-08-15 02:08
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('league', '0003_firstleague_secondleague_rename_league_thirdleague_and_more'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name='firstleague',
|
||||||
|
options={'ordering': ['-year'], 'verbose_name': 'Wyniki I ligi', 'verbose_name_plural': 'Wyniki I ligi'},
|
||||||
|
),
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name='secondleague',
|
||||||
|
options={'ordering': ['-year'], 'verbose_name': 'Wyniki II ligi', 'verbose_name_plural': 'Wyniki II ligi'},
|
||||||
|
),
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name='thirdleague',
|
||||||
|
options={'ordering': ['-year'], 'verbose_name': 'Wyniki III ligi', 'verbose_name_plural': 'Wyniki III ligi'},
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -13,7 +13,6 @@ class League(models.Model):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
abstract = True
|
abstract = True
|
||||||
ordering = ['-year']
|
|
||||||
|
|
||||||
|
|
||||||
class FirstLeague(League):
|
class FirstLeague(League):
|
||||||
|
|
@ -22,6 +21,7 @@ class FirstLeague(League):
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = 'Wyniki I ligi'
|
verbose_name = 'Wyniki I ligi'
|
||||||
verbose_name_plural = 'Wyniki I ligi'
|
verbose_name_plural = 'Wyniki I ligi'
|
||||||
|
ordering = ['-year']
|
||||||
|
|
||||||
|
|
||||||
class SecondLeague(League):
|
class SecondLeague(League):
|
||||||
|
|
@ -30,6 +30,7 @@ class SecondLeague(League):
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = 'Wyniki II ligi'
|
verbose_name = 'Wyniki II ligi'
|
||||||
verbose_name_plural = 'Wyniki II ligi'
|
verbose_name_plural = 'Wyniki II ligi'
|
||||||
|
ordering = ['-year']
|
||||||
|
|
||||||
|
|
||||||
class ThirdLeague(League):
|
class ThirdLeague(League):
|
||||||
|
|
@ -38,3 +39,4 @@ class ThirdLeague(League):
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = 'Wyniki III ligi'
|
verbose_name = 'Wyniki III ligi'
|
||||||
verbose_name_plural = 'Wyniki III ligi'
|
verbose_name_plural = 'Wyniki III ligi'
|
||||||
|
ordering = ['-year']
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
from django.contrib import admin
|
||||||
|
from admin_ordering.admin import OrderableAdmin
|
||||||
|
from .models import *
|
||||||
|
|
||||||
|
# Register your models here.
|
||||||
|
|
||||||
|
|
||||||
|
@admin.register(MBKB)
|
||||||
|
class MBKBModelAdmin(OrderableAdmin, admin.ModelAdmin):
|
||||||
|
list_display = ['__str__', 'ordering']
|
||||||
|
list_editable = ['ordering']
|
||||||
|
ordering_field_hide_input = True
|
||||||
|
exclude = ['ordering']
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
from django.apps import AppConfig
|
||||||
|
|
||||||
|
|
||||||
|
class MbkbConfig(AppConfig):
|
||||||
|
default_auto_field = 'django.db.models.BigAutoField'
|
||||||
|
name = 'db.mbkb'
|
||||||
|
verbose_name = 'Miejski Białostocki Klub Brydżowy'
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
# Generated by Django 4.0.5 on 2022-08-15 01:54
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import tinymce.models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
initial = True
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='MBKB',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('ordering', models.IntegerField(default=0, verbose_name='Kolejność')),
|
||||||
|
('published', models.BooleanField(default=True, verbose_name='Wpis opublikowany')),
|
||||||
|
('show_title', models.BooleanField(default=True, verbose_name='Pokaż tytuł')),
|
||||||
|
('title', models.CharField(blank=True, default='', max_length=250, verbose_name='Tytuł')),
|
||||||
|
('content', tinymce.models.HTMLField(blank=True, default='', verbose_name='Tekst')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'Artykuł MBKB',
|
||||||
|
'verbose_name_plural': 'Artykuły MBKB',
|
||||||
|
'ordering': ['ordering'],
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
from django.db import models
|
||||||
|
from tinymce.models import HTMLField
|
||||||
|
from admin_ordering.models import OrderableModel
|
||||||
|
|
||||||
|
# Create your models here.
|
||||||
|
|
||||||
|
|
||||||
|
class MBKB(OrderableModel):
|
||||||
|
published = models.BooleanField('Wpis opublikowany', default=True)
|
||||||
|
show_title = models.BooleanField('Pokaż tytuł', default=True)
|
||||||
|
title = models.CharField('Tytuł', default='', blank=True, max_length=250)
|
||||||
|
content = HTMLField('Tekst', default='', blank=True)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.title or '(brak tytułu)'
|
||||||
|
|
||||||
|
class Meta(OrderableModel.Meta):
|
||||||
|
verbose_name = 'Artykuł MBKB'
|
||||||
|
verbose_name_plural = 'Artykuły MBKB'
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
from django.contrib import admin
|
||||||
|
from admin_ordering.admin import OrderableAdmin
|
||||||
|
from .models import *
|
||||||
|
|
||||||
|
# Register your models here.
|
||||||
|
|
||||||
|
|
||||||
|
@admin.register(Youth)
|
||||||
|
class YouthModelAdmin(OrderableAdmin, admin.ModelAdmin):
|
||||||
|
list_display = ['__str__', 'ordering']
|
||||||
|
list_editable = ['ordering']
|
||||||
|
ordering_field_hide_input = True
|
||||||
|
exclude = ['ordering']
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
# Generated by Django 4.0.5 on 2022-08-15 01:54
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('youth', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name='youth',
|
||||||
|
options={'ordering': ['ordering'], 'verbose_name': 'Młodzież', 'verbose_name_plural': 'Młodzież'},
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='youth',
|
||||||
|
name='ordering',
|
||||||
|
field=models.IntegerField(default=0, verbose_name='Kolejność'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='youth',
|
||||||
|
name='published',
|
||||||
|
field=models.BooleanField(default=True, verbose_name='Wpis opublikowany'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='youth',
|
||||||
|
name='show_title',
|
||||||
|
field=models.BooleanField(default=True, verbose_name='Pokaż tytuł'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='youth',
|
||||||
|
name='title',
|
||||||
|
field=models.CharField(blank=True, default='', max_length=250, verbose_name='Tytuł'),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -1,16 +1,19 @@
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from tinymce.models import HTMLField
|
from tinymce.models import HTMLField
|
||||||
from core.utils import SingletonModel
|
from admin_ordering.models import OrderableModel
|
||||||
|
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
|
|
||||||
|
|
||||||
class Youth(SingletonModel):
|
class Youth(OrderableModel):
|
||||||
|
published = models.BooleanField('Wpis opublikowany', default=True)
|
||||||
|
show_title = models.BooleanField('Pokaż tytuł', default=True)
|
||||||
|
title = models.CharField('Tytuł', default='', blank=True, max_length=250)
|
||||||
content = HTMLField('Tekst', default='', blank=True)
|
content = HTMLField('Tekst', default='', blank=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return 'Młodzież'
|
return self.title or '(brak tytułu)'
|
||||||
|
|
||||||
class Meta:
|
class Meta(OrderableModel.Meta):
|
||||||
verbose_name = 'Młodzież'
|
verbose_name = 'Młodzież'
|
||||||
verbose_name_plural = 'Młodzież'
|
verbose_name_plural = 'Młodzież'
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,7 @@ INSTALLED_APPS = [
|
||||||
'db.membership',
|
'db.membership',
|
||||||
'db.youth',
|
'db.youth',
|
||||||
'db.atu',
|
'db.atu',
|
||||||
|
'db.mbkb',
|
||||||
'theme',
|
'theme',
|
||||||
'core'
|
'core'
|
||||||
] + [
|
] + [
|
||||||
|
|
|
||||||
|
|
@ -1300,10 +1300,6 @@ select {
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mt-8 {
|
|
||||||
margin-top: 2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mb-auto {
|
.mb-auto {
|
||||||
margin-bottom: auto;
|
margin-bottom: auto;
|
||||||
}
|
}
|
||||||
|
|
@ -1336,14 +1332,6 @@ select {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.h-\[40px\] {
|
|
||||||
height: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-full {
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-screen {
|
.h-screen {
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
}
|
}
|
||||||
|
|
@ -1364,10 +1352,6 @@ select {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.w-\[48px\] {
|
|
||||||
width: 48px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.w-36 {
|
.w-36 {
|
||||||
width: 9rem;
|
width: 9rem;
|
||||||
}
|
}
|
||||||
|
|
@ -1388,10 +1372,6 @@ select {
|
||||||
max-width: 768px;
|
max-width: 768px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.shrink-0 {
|
|
||||||
flex-shrink: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.basis-1\/2 {
|
.basis-1\/2 {
|
||||||
flex-basis: 50%;
|
flex-basis: 50%;
|
||||||
}
|
}
|
||||||
|
|
@ -1593,10 +1573,6 @@ select {
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-\[13px\] {
|
|
||||||
font-size: 13px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-\[2\.25rem\] {
|
.text-\[2\.25rem\] {
|
||||||
font-size: 2.25rem;
|
font-size: 2.25rem;
|
||||||
}
|
}
|
||||||
|
|
@ -1614,14 +1590,14 @@ select {
|
||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
}
|
}
|
||||||
|
|
||||||
.font-bold {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-semibold {
|
.font-semibold {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.font-normal {
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
.lowercase {
|
.lowercase {
|
||||||
text-transform: lowercase;
|
text-transform: lowercase;
|
||||||
}
|
}
|
||||||
|
|
@ -1642,11 +1618,6 @@ select {
|
||||||
letter-spacing: 0em;
|
letter-spacing: 0em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-white {
|
|
||||||
--tw-text-opacity: 1;
|
|
||||||
color: rgb(255 255 255 / var(--tw-text-opacity));
|
|
||||||
}
|
|
||||||
|
|
||||||
.antialiased {
|
.antialiased {
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
-moz-osx-font-smoothing: grayscale;
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue