updated links
This commit is contained in:
parent
4e322f7211
commit
39757f64a7
|
@ -24,7 +24,6 @@ class LinkAdmin(admin.ModelAdmin):
|
||||||
"""
|
"""
|
||||||
Admin Interface for Links
|
Admin Interface for Links
|
||||||
"""
|
"""
|
||||||
list_display = ["title_en", "title_de", "url",
|
list_display = ["title_en", "title_de", "url", "favicon", "personal"]
|
||||||
"suburl", "favicon", "status", "personal"]
|
ordering = ['title_de', 'title_en']
|
||||||
ordering = ['status', 'title_de', 'title_en']
|
|
||||||
actions = [regenerate]
|
actions = [regenerate]
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
# Generated by Django 4.2.6 on 2023-10-10 10:09
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('start', '0002_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='link',
|
||||||
|
name='status',
|
||||||
|
),
|
||||||
|
]
|
|
@ -0,0 +1,33 @@
|
||||||
|
# Generated by Django 4.2.6 on 2023-10-10 10:10
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('start', '0003_remove_link_status'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='link',
|
||||||
|
name='date',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='link',
|
||||||
|
name='subtitle_de',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='link',
|
||||||
|
name='subtitle_en',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='link',
|
||||||
|
name='suburl',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='link',
|
||||||
|
name='update',
|
||||||
|
),
|
||||||
|
]
|
|
@ -32,24 +32,19 @@ class Link(models.Model):
|
||||||
contains all my interesting links
|
contains all my interesting links
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
FAVICON_DIR: str = "img/links/favicons"
|
||||||
|
|
||||||
# the actual link
|
# the actual link
|
||||||
url = models.URLField(unique=True, null=False, primary_key=True)
|
url = models.URLField(unique=True, null=False, primary_key=True)
|
||||||
favicon_dir: str = "img/links/favicons"
|
favicon = models.ImageField(blank=True, upload_to=FAVICON_DIR, null=True)
|
||||||
favicon = models.ImageField(blank=True, upload_to=favicon_dir, null=True)
|
|
||||||
status = models.BooleanField(default=False)
|
|
||||||
personal = models.BooleanField(default=False)
|
personal = models.BooleanField(default=False)
|
||||||
title_de = models.CharField(max_length=50, default="Nicht übersetzt")
|
title_de = models.CharField(max_length=50, default="Nicht übersetzt")
|
||||||
title_en = models.CharField(max_length=50, default="Not translated")
|
title_en = models.CharField(max_length=50, default="Not translated")
|
||||||
subtitle_de = models.CharField(max_length=50, blank=True)
|
|
||||||
subtitle_en = models.CharField(max_length=50, blank=True)
|
|
||||||
desc_de = models.TextField(
|
desc_de = models.TextField(
|
||||||
blank=True, max_length=250, unique=False, default="Keine Beschreibung")
|
blank=True, max_length=250, unique=False, default="Keine Beschreibung")
|
||||||
desc_en = models.TextField(
|
desc_en = models.TextField(
|
||||||
blank=True, max_length=250, unique=False, default="no description")
|
blank=True, max_length=250, unique=False, default="no description")
|
||||||
date = models.DateTimeField(blank=True, null=True)
|
|
||||||
update = models.DateTimeField(blank=True, null=True)
|
|
||||||
keywords = models.ManyToManyField(Keyword, blank=True)
|
keywords = models.ManyToManyField(Keyword, blank=True)
|
||||||
suburl = models.CharField(max_length=200, blank=True, null=True)
|
|
||||||
public = models.BooleanField(default=False)
|
public = models.BooleanField(default=False)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
|
|
|
@ -11,17 +11,17 @@
|
||||||
<div class="card col m-2 p-0">
|
<div class="card col m-2 p-0">
|
||||||
<a class="text-reset link-offset-2 link-underline link-underline-opacity-0" href="{{ link.url }}" target="_blank">
|
<a class="text-reset link-offset-2 link-underline link-underline-opacity-0" href="{{ link.url }}" target="_blank">
|
||||||
<div class="card-body" style="height: 150px;">
|
<div class="card-body" style="height: 150px;">
|
||||||
<img src="{{ link.favicon.url }}" class="card-img-top rounded float-end" style="max-height: 32px; max-width: 32px;" alt="">
|
<img src="{% if link.favicon_url %}{{ link.favicon.url }}{% endif %}" class="card-img-top rounded float-end" style="max-height: 32px; max-width: 32px;" alt="">
|
||||||
{% if LANGUAGE_CODE == "de" %}
|
{% if LANGUAGE_CODE == "de" %}
|
||||||
<h5 class="card-title" style="height: 35px;">{{ link.title_de }}<small class="text-body-secondary">{{ link.subtitle }}</small></h5>
|
<h5 class="card-title">{{ link.title_de }}<small class="text-body-secondary">{{ link.subtitle }}</small></h5>
|
||||||
<hr>
|
<hr>
|
||||||
<p class="card-text">{{ link.desc_de }}</p>
|
<p class="card-text">{{ link.desc_de }}</p>
|
||||||
{% elif LANGUAGE_CODE == "en" %}
|
{% elif LANGUAGE_CODE == "en" %}
|
||||||
<h5 class="card-title" style="height: 35px;">{{ link.title_en }}<small class="text-body-secondary">{{ link.subtitle }}</small></h5>
|
<h5 class="card-title">{{ link.title_en }}<small class="text-body-secondary">{{ link.subtitle }}</small></h5>
|
||||||
<hr>
|
<hr>
|
||||||
<p class="card-text">{{ link.desc_en }}</p>
|
<p class="card-text">{{ link.desc_en }}</p>
|
||||||
{% else %}
|
{% else %}
|
||||||
<h5 class="card-title" style="height: 35px;">{{ link.title_en }}<small class="text-body-secondary">{{ link.subtitle }}</small></h5>
|
<h5 class="card-title">{{ link.title_en }}<small class="text-body-secondary">{{ link.subtitle }}</small></h5>
|
||||||
<hr>
|
<hr>
|
||||||
<p class="card-text">{{ link.desc_en }}</p>
|
<p class="card-text">{{ link.desc_en }}</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -55,17 +55,17 @@
|
||||||
<div class="card col m-2 p-0">
|
<div class="card col m-2 p-0">
|
||||||
<a class="text-reset link-offset-2 link-underline link-underline-opacity-0" href="{{ link.url }}" target="_blank">
|
<a class="text-reset link-offset-2 link-underline link-underline-opacity-0" href="{{ link.url }}" target="_blank">
|
||||||
<div class="card-body" style="height: 150px;">
|
<div class="card-body" style="height: 150px;">
|
||||||
<img src="{{ link.favicon.url }}" class="card-img-top rounded float-end" style="max-height: 32px; max-width: 32px;" alt="">
|
<img src="{% if link.favicon %}{{ link.favicon.url }}{% endif %}" class="card-img-top rounded float-end" style="max-height: 32px; max-width: 32px;" alt="">
|
||||||
{% if LANGUAGE_CODE == "de" %}
|
{% if LANGUAGE_CODE == "de" %}
|
||||||
<h5 class="card-title" style="height: 35px;">{{ link.title_de }}<small class="text-body-secondary">{{ link.subtitle }}</small></h5>
|
<h5 class="card-title">{{ link.title_de }}<small class="text-body-secondary">{{ link.subtitle }}</small></h5>
|
||||||
<hr>
|
<hr>
|
||||||
<p class="card-text">{{ link.desc_de }}</p>
|
<p class="card-text">{{ link.desc_de }}</p>
|
||||||
{% elif LANGUAGE_CODE == "en" %}
|
{% elif LANGUAGE_CODE == "en" %}
|
||||||
<h5 class="card-title" style="height: 35px;">{{ link.title_en }}<small class="text-body-secondary">{{ link.subtitle }}</small></h5>
|
<h5 class="card-title">{{ link.title_en }}<small class="text-body-secondary">{{ link.subtitle }}</small></h5>
|
||||||
<hr>
|
<hr>
|
||||||
<p class="card-text">{{ link.desc_en }}</p>
|
<p class="card-text">{{ link.desc_en }}</p>
|
||||||
{% else %}
|
{% else %}
|
||||||
<h5 class="card-title" style="height: 35px;">{{ link.title_en }}<small class="text-body-secondary">{{ link.subtitle }}</small></h5>
|
<h5 class="card-title">{{ link.title_en }}<small class="text-body-secondary">{{ link.subtitle }}</small></h5>
|
||||||
<hr>
|
<hr>
|
||||||
<p class="card-text">{{ link.desc_en }}</p>
|
<p class="card-text">{{ link.desc_en }}</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -65,13 +65,13 @@ class Links(ListView):
|
||||||
|
|
||||||
def get_queryset(self) -> QuerySet:
|
def get_queryset(self) -> QuerySet:
|
||||||
object_list = Link.objects.filter(
|
object_list = Link.objects.filter(
|
||||||
status=True, public=True, personal=False
|
public=True, personal=False
|
||||||
)
|
)
|
||||||
return object_list
|
return object_list
|
||||||
|
|
||||||
def get_queryset_personal_links(self) -> QuerySet:
|
def get_queryset_personal_links(self) -> QuerySet:
|
||||||
object_list = Link.objects.filter(
|
object_list = Link.objects.filter(
|
||||||
status=True, public=True, personal=True
|
public=True, personal=True
|
||||||
)
|
)
|
||||||
return object_list
|
return object_list
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue