diff --git a/links/forms.py b/links/forms.py index ad33f32..c70a622 100644 --- a/links/forms.py +++ b/links/forms.py @@ -130,6 +130,8 @@ class LinkForm(forms.ModelForm): if link_type == Link.LinkType.LINK and not original_url: raise forms.ValidationError(_("Original URL is required for Link type.")) + elif link_type == Link.LinkType.TEMPLATE and not original_url: + raise forms.ValidationError(_("Original URL is required for Template type.")) elif link_type == Link.LinkType.CUSTOM and not text: raise forms.ValidationError(_("Text is required for Custom type.")) elif link_type == Link.LinkType.ACTION: diff --git a/links/migrations/0054_add_template_link_type.py b/links/migrations/0054_add_template_link_type.py new file mode 100644 index 0000000..8e9f2a2 --- /dev/null +++ b/links/migrations/0054_add_template_link_type.py @@ -0,0 +1,18 @@ +# Generated by Django 5.2.12 on 2026-08-02 07:46 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('links', '0053_ask_as_action_link'), + ] + + operations = [ + migrations.AlterField( + model_name='link', + name='link_type', + field=models.CharField(choices=[('LINK', 'Link'), ('TEMPLATE', 'Template'), ('CUSTOM', 'Custom'), ('ACTION', 'Action')], default='LINK', max_length=10), + ), + ] diff --git a/links/models.py b/links/models.py index 763ba69..3c5de33 100644 --- a/links/models.py +++ b/links/models.py @@ -19,6 +19,7 @@ logger = logging.getLogger(__name__) class Link(models.Model): class LinkType(models.TextChoices): LINK = 'LINK', _('Link') + TEMPLATE = 'TEMPLATE', _('Template') CUSTOM = 'CUSTOM', _('Custom') ACTION = 'ACTION', _('Action') diff --git a/links/templates/links/_link_row.html b/links/templates/links/_link_row.html index 72cca5d..4a1ba34 100644 --- a/links/templates/links/_link_row.html +++ b/links/templates/links/_link_row.html @@ -7,7 +7,7 @@ {{ link.alias }}