new: add support for optional link label
This commit is contained in:
parent
93fe4a1a5b
commit
005d343020
6 changed files with 44 additions and 4 deletions
|
@ -8,13 +8,16 @@ from .models import Link
|
||||||
class LinkForm(forms.ModelForm):
|
class LinkForm(forms.ModelForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Link
|
model = Link
|
||||||
fields = ['url', 'sets']
|
fields = ['url', 'label', 'sets']
|
||||||
|
|
||||||
|
label = forms.CharField(widget=forms.HiddenInput, required=False)
|
||||||
url = forms.CharField(label='', widget=forms.TextInput(attrs={'autofocus': True}))
|
url = forms.CharField(label='', widget=forms.TextInput(attrs={'autofocus': True}))
|
||||||
sets = forms.CharField(widget=forms.HiddenInput, required=False)
|
sets = forms.CharField(widget=forms.HiddenInput, required=False)
|
||||||
|
|
||||||
|
|
||||||
class LinkEditForm(LinkForm):
|
class LinkEditForm(LinkForm):
|
||||||
|
label = forms.CharField(label='label')
|
||||||
|
|
||||||
sets = forms.ModelMultipleChoiceField(
|
sets = forms.ModelMultipleChoiceField(
|
||||||
label='sets',
|
label='sets',
|
||||||
queryset=Set.objects.filter(done=False).order_by('-updated_at'),
|
queryset=Set.objects.filter(done=False).order_by('-updated_at'),
|
||||||
|
|
18
planner/links/migrations/0003_link_label.py
Normal file
18
planner/links/migrations/0003_link_label.py
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 4.0 on 2022-01-10 22:58
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('links', '0002_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='link',
|
||||||
|
name='label',
|
||||||
|
field=models.CharField(blank=True, max_length=500, verbose_name='Label'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -9,6 +9,7 @@ _salts = settings.DJANGO_HASHID_SALTS
|
||||||
class Link(models.Model):
|
class Link(models.Model):
|
||||||
slug = HashidsField(real_field_name='id', salt=_salts['link'])
|
slug = HashidsField(real_field_name='id', salt=_salts['link'])
|
||||||
url = models.URLField(verbose_name='URL')
|
url = models.URLField(verbose_name='URL')
|
||||||
|
label = models.CharField(max_length=500, blank=True, verbose_name='Label')
|
||||||
sets = models.ManyToManyField('sets.Set', through='sets.SetLink', related_name='sets')
|
sets = models.ManyToManyField('sets.Set', through='sets.SetLink', related_name='sets')
|
||||||
done = models.BooleanField(default=False, verbose_name='Done?')
|
done = models.BooleanField(default=False, verbose_name='Done?')
|
||||||
created_at = models.DateTimeField(auto_now_add=True, verbose_name='Created At')
|
created_at = models.DateTimeField(auto_now_add=True, verbose_name='Created At')
|
||||||
|
|
|
@ -17,7 +17,13 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for link in links %}
|
{% for link in links %}
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="{{ link.url }}" target="_blank">{{ link.url }}</a></td>
|
<td><a href="{{ link.url }}" target="_blank">
|
||||||
|
{% if link.label %}
|
||||||
|
{{ link.label }}
|
||||||
|
{% else %}
|
||||||
|
{{ link.url }}
|
||||||
|
{% endif %}
|
||||||
|
</a></td>
|
||||||
<td class="fit">
|
<td class="fit">
|
||||||
<a href="{% url 'links:detail' link.slug %}">
|
<a href="{% url 'links:detail' link.slug %}">
|
||||||
<code>{{ link.slug }}</code>
|
<code>{{ link.slug }}</code>
|
||||||
|
|
|
@ -18,7 +18,13 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for link in links %}
|
{% for link in links %}
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="{{ link.url }}" target="_blank">{{ link.url }}</a></td>
|
<td><a href="{{ link.url }}" target="_blank">
|
||||||
|
{% if link.label %}
|
||||||
|
{{ link.label }}
|
||||||
|
{% else %}
|
||||||
|
{{ link.url }}
|
||||||
|
{% endif %}
|
||||||
|
</a></td>
|
||||||
<td class="fit">
|
<td class="fit">
|
||||||
<a href="{% url 'links:detail' link.slug %}">
|
<a href="{% url 'links:detail' link.slug %}">
|
||||||
<code>{{ link.slug }}</code>
|
<code>{{ link.slug }}</code>
|
||||||
|
|
|
@ -5,7 +5,13 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for link in links %}
|
{% for link in links %}
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="{{ link.url }}">{{ link.url }}</a></td>
|
<td><a href="{{ link.url }}">
|
||||||
|
{% if link.label %}
|
||||||
|
{{ link.label }}
|
||||||
|
{% else %}
|
||||||
|
{{ link.url }}
|
||||||
|
{% endif %}
|
||||||
|
</a></td>
|
||||||
<td class="fit"><code>{{ link.slug }}</code></td>
|
<td class="fit"><code>{{ link.slug }}</code></td>
|
||||||
</tr>
|
</tr>
|
||||||
{% empty %}
|
{% empty %}
|
||||||
|
|
Loading…
Add table
Reference in a new issue