main
yaemiku 2024-01-04 01:31:37 +01:00
parent d4cebae7f7
commit d33554395c
Signed by: podlaskizbs
GPG Key ID: ADC039636B3E4AAB
9 changed files with 123 additions and 108 deletions

View File

@ -11,4 +11,5 @@ def load_config(request):
'middle_posts': MiddlePost.Published(), 'middle_posts': MiddlePost.Published(),
'right_posts': RightPost.Published(), 'right_posts': RightPost.Published(),
'banner': Banner.Get(), 'banner': Banner.Get(),
'footer': Footer.Get(),
} }

View File

@ -0,0 +1,34 @@
# Generated by Django 5.0 on 2024-01-04 00:26
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('core', '0002_additionalpage_additionalpagepost'),
]
operations = [
migrations.AlterField(
model_name='additionalpage',
name='published',
field=models.BooleanField(default=False, verbose_name='Strona opublikowana'),
),
migrations.AlterField(
model_name='additionalpage',
name='slug',
field=models.SlugField(max_length=255, primary_key=True, serialize=False, unique=True, verbose_name='Link'),
),
migrations.AlterField(
model_name='additionalpage',
name='title',
field=models.CharField(max_length=255, verbose_name='Nazwa'),
),
migrations.AlterField(
model_name='additionalpagepost',
name='page',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='posts', to='core.additionalpage', verbose_name='Strona'),
),
]

View File

@ -97,20 +97,15 @@
> >
{% block content %}{% endblock %} {% block content %}{% endblock %}
</main> </main>
<footer class="footer flex flex-col items-center gap-8 text-center shadow-lg border-t border-slate-400 bg-footer h-full"> {% if footer %}
<h6 class="mt-4 font-medium text-xl">Nasi Partnerzy:</h6> <footer class="shadow-lg border-t border-slate-400 bg-footer h-full mt-8">
<div class="flex gap-8"> <ul class="lg:m-0 prose max-w-full w-full">
<div class="self-center"> {% content footer %}
<img class="max-h-[90px]" src="{% static 'msit.png' %}" alt="" /> <div class="flex flex-wrap gap-4 justify-center items-center mb-4">
{% buttons footer.buttons %}
</div> </div>
<div class="self-center"> </ul>
<img class="max-h-[90px]" src="{% static 'lomza.jpg' %}" alt="" />
</div>
<div class="self-center">
<img class="max-h-[90px]" src="{% static 'podlaskie.jpg' %}" alt="" />
</div>
</div>
<h6 class="mb-4 font-light italic">&copy; {% now "Y" %} Nikola Kubiczek</h6>
</footer> </footer>
{% endif %}
</body> </body>
</html> </html>

View File

@ -11,6 +11,7 @@ urlpatterns = [
rtpath('aktualnosci/<int:id>', 'postm', MiddlePost, {'home': 'active'}), rtpath('aktualnosci/<int:id>', 'postm', MiddlePost, {'home': 'active'}),
rtpath('postp/<int:id>', 'postr', RightPost, {'home': 'active'}), rtpath('postp/<int:id>', 'postr', RightPost, {'home': 'active'}),
rtpath('baner/<int:id>', 'banner', Banner, {'home': 'active'}), rtpath('baner/<int:id>', 'banner', Banner, {'home': 'active'}),
rtpath('stopka/<int:id>', 'footer', Footer, {'home': 'active'}),
rtpath('post/<int:id>', 'post', AdditionalPagePost, {'post': 'active'}), rtpath('post/<int:id>', 'post', AdditionalPagePost, {'post': 'active'}),
path('<str:wildcard>', wildcard_additional_page), path('<str:wildcard>', wildcard_additional_page),

View File

@ -5,7 +5,7 @@ from .models import *
# Register your models here. # Register your models here.
@admin.register(LeftPost, MiddlePost, RightPost, Banner) @admin.register(LeftPost, MiddlePost, RightPost, Banner, Footer)
class PostModelAdmin(OrderableAdmin, admin.ModelAdmin): class PostModelAdmin(OrderableAdmin, admin.ModelAdmin):
list_display = ['__str__', 'link', 'published', 'ordering'] list_display = ['__str__', 'link', 'published', 'ordering']
list_editable = ['ordering'] list_editable = ['ordering']

View File

@ -0,0 +1,33 @@
# Generated by Django 5.0 on 2024-01-04 00:26
import tinymce.models
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0002_alter_leftpost_options_alter_rightpost_options'),
]
operations = [
migrations.CreateModel(
name='Footer',
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=False, 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='Treść')),
('buttons', models.TextField(blank=True, default='', help_text='Tutaj można wpisać dowolną ilość przycisków w następującym formacie:<br /> <code><br /> tekst1 -> link<br /> teskt2 | link<br /> ...<br /> </code><br /> Symbol <code>-></code> oznacza, że link będzie otwarty w nowej karcie<br /> Symbol <code>|</code> oznacza, że link będzie otwarty w tej samej karcie<br /> Na przykład:<br /> <code><br /> pzbs -> https://pzbs.pl<br /> fotogaleria | https://galeria.podlaskizbs.pl<br /> cezar -> https://www.msc.com.pl/cezar<br /> </code><br /> PZBS i Cezar zostaną otwarte w nowej karcie<br /> <b>UWAGA !!</b><br /> Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:<br /> <code><br /> -> link do wyników<br /> fotogaleria -> link do fotogalerii<br /> </code><br /> Wtedy pokaże się <b>tylko przycisk fotogalerii</b><br /> ', verbose_name='Przyciski')),
('created_at', models.DateTimeField(auto_now_add=True)),
],
options={
'verbose_name': 'Stopka',
'verbose_name_plural': 'Stopki',
'ordering': ['ordering'],
'abstract': False,
},
),
]

View File

@ -32,3 +32,10 @@ class Banner(PostableModel, SingletonModel):
class Meta(OrderableModel.Meta): class Meta(OrderableModel.Meta):
verbose_name = "Baner" verbose_name = "Baner"
verbose_name_plural = "Banery" verbose_name_plural = "Banery"
class Footer(PostableModel, SingletonModel):
reverse_href = "footer-reverse"
class Meta(OrderableModel.Meta):
verbose_name = "Stopka"
verbose_name_plural = "Stopki"

View File

@ -1318,6 +1318,10 @@ select {
margin-top: 0.5rem; margin-top: 0.5rem;
} }
.mt-8 {
margin-top: 2rem;
}
.mb-2 { .mb-2 {
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
} }
@ -1330,10 +1334,6 @@ select {
margin-top: 1.5rem; margin-top: 1.5rem;
} }
.mt-4 {
margin-top: 1rem;
}
.block { .block {
display: block; display: block;
} }
@ -1374,38 +1374,10 @@ select {
max-height: 3rem; max-height: 3rem;
} }
.max-h-screen {
max-height: 100vh;
}
.max-h-72 { .max-h-72 {
max-height: 18rem; max-height: 18rem;
} }
.max-h-\[100px\] {
max-height: 100px;
}
.max-h-\[150px\] {
max-height: 150px;
}
.max-h-\[50px\] {
max-height: 50px;
}
.max-h-\[750px\] {
max-height: 750px;
}
.max-h-\[75px\] {
max-height: 75px;
}
.max-h-\[90px\] {
max-height: 90px;
}
.w-full { .w-full {
width: 100%; width: 100%;
} }
@ -1552,6 +1524,11 @@ select {
background-color: rgb(224 252 252 / var(--tw-bg-opacity)); background-color: rgb(224 252 252 / var(--tw-bg-opacity));
} }
.bg-white {
--tw-bg-opacity: 1;
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.bg-footer { .bg-footer {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(224 252 252 / var(--tw-bg-opacity)); background-color: rgb(224 252 252 / var(--tw-bg-opacity));
@ -1562,11 +1539,6 @@ select {
background-color: rgb(0 111 222 / var(--tw-bg-opacity)); background-color: rgb(0 111 222 / var(--tw-bg-opacity));
} }
.bg-white {
--tw-bg-opacity: 1;
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.bg-green-100 { .bg-green-100 {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(220 252 231 / var(--tw-bg-opacity)); background-color: rgb(220 252 231 / var(--tw-bg-opacity));
@ -1672,14 +1644,14 @@ select {
line-height: 1; line-height: 1;
} }
.font-light {
font-weight: 300;
}
.font-medium { .font-medium {
font-weight: 500; font-weight: 500;
} }
.font-light {
font-weight: 300;
}
.font-normal { .font-normal {
font-weight: 400; font-weight: 400;
} }
@ -1718,18 +1690,18 @@ select {
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
.shadow-md {
--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg { .shadow-lg {
--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
} }
.shadow-md {
--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.filter { .filter {
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
} }

View File

@ -1318,6 +1318,10 @@ select {
margin-top: 0.5rem; margin-top: 0.5rem;
} }
.mt-8 {
margin-top: 2rem;
}
.mb-2 { .mb-2 {
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
} }
@ -1330,10 +1334,6 @@ select {
margin-top: 1.5rem; margin-top: 1.5rem;
} }
.mt-4 {
margin-top: 1rem;
}
.block { .block {
display: block; display: block;
} }
@ -1374,38 +1374,10 @@ select {
max-height: 3rem; max-height: 3rem;
} }
.max-h-screen {
max-height: 100vh;
}
.max-h-72 { .max-h-72 {
max-height: 18rem; max-height: 18rem;
} }
.max-h-\[100px\] {
max-height: 100px;
}
.max-h-\[150px\] {
max-height: 150px;
}
.max-h-\[50px\] {
max-height: 50px;
}
.max-h-\[750px\] {
max-height: 750px;
}
.max-h-\[75px\] {
max-height: 75px;
}
.max-h-\[90px\] {
max-height: 90px;
}
.w-full { .w-full {
width: 100%; width: 100%;
} }
@ -1552,6 +1524,11 @@ select {
background-color: rgb(224 252 252 / var(--tw-bg-opacity)); background-color: rgb(224 252 252 / var(--tw-bg-opacity));
} }
.bg-white {
--tw-bg-opacity: 1;
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.bg-footer { .bg-footer {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(224 252 252 / var(--tw-bg-opacity)); background-color: rgb(224 252 252 / var(--tw-bg-opacity));
@ -1562,11 +1539,6 @@ select {
background-color: rgb(0 111 222 / var(--tw-bg-opacity)); background-color: rgb(0 111 222 / var(--tw-bg-opacity));
} }
.bg-white {
--tw-bg-opacity: 1;
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.bg-green-100 { .bg-green-100 {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(220 252 231 / var(--tw-bg-opacity)); background-color: rgb(220 252 231 / var(--tw-bg-opacity));
@ -1672,14 +1644,14 @@ select {
line-height: 1; line-height: 1;
} }
.font-light {
font-weight: 300;
}
.font-medium { .font-medium {
font-weight: 500; font-weight: 500;
} }
.font-light {
font-weight: 300;
}
.font-normal { .font-normal {
font-weight: 400; font-weight: 400;
} }
@ -1718,18 +1690,18 @@ select {
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
.shadow-md {
--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg { .shadow-lg {
--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
} }
.shadow-md {
--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.filter { .filter {
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
} }