From 179cf580b6e2ce196aefe1069d00c0532c832d5e Mon Sep 17 00:00:00 2001 From: Jigyasu Rajput Date: Sat, 14 Dec 2024 14:03:18 +0530 Subject: [PATCH] Add help text and fix URL validation to prepend https:// if missing --- pycompanies/forms.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pycompanies/forms.py b/pycompanies/forms.py index 6fb8054..19bd5c2 100644 --- a/pycompanies/forms.py +++ b/pycompanies/forms.py @@ -1,17 +1,20 @@ from django import forms from django_summernote.widgets import SummernoteInplaceWidget from django.utils.translation import gettext_lazy as _ +from urllib.parse import urlparse from crispy_forms.helper import FormHelper from crispy_forms.layout import Div, ButtonHolder, Layout, Submit from .models import Company, UserCompanyProfile - class CompanyForm(forms.ModelForm): """A PyAr companies form.""" description = forms.CharField(widget=SummernoteInplaceWidget()) + link = forms.CharField( + help_text=_('Por favor, ingrese una URL vĂ¡lida con esquema (por ejemplo, https://).') + ) def __init__(self, *args, **kwargs): super(CompanyForm, self).__init__(*args, **kwargs) @@ -28,11 +31,16 @@ def __init__(self, *args, **kwargs): ) ) + def clean_link(self): + link = self.cleaned_data.get('link') + if link and not urlparse(link).scheme: + link = f'https://{link}' + return link + class Meta: fields = ['name', 'photo', 'link', 'description'] model = Company - class UserCompanyForm(forms.ModelForm): """A PyAr user companies form."""