60 lines
2.9 KiB
Python
60 lines
2.9 KiB
Python
from django import forms
|
|
from .models import Commento,SegnalazioneFilm,Film
|
|
from utils.profanity_filter import profanity_words
|
|
from django.core.validators import ValidationError
|
|
|
|
class CreaFilm(forms.ModelForm):
|
|
class Meta:
|
|
model = Film
|
|
exclude = ['creato_in_data','aggiornato_in_data','slug','visualizzazioni','preferito','guarda_dopo']
|
|
widgets = {
|
|
'titolo' : forms.TextInput(attrs={'class' : 'form__input','placeholder': 'Titolo'}),
|
|
'immagine_poster' : forms.FileInput(attrs={'id':'form__img-upload','name':'form__img-upload'}),
|
|
'immagine_background' : forms.FileInput(attrs={'id':'form__imgbackground-upload','name':'form__imgbackground-upload'}),
|
|
'descrizione' : forms.Textarea(attrs={'class' : 'form__textarea', 'placeholder': 'Descrizione','id': 'text'}),
|
|
'genere' : forms.SelectMultiple(attrs={'class':'js-example-basic-multiple','id':'genere'}),
|
|
'qualità_video' : forms.TextInput(attrs={'class' : 'form__input','placeholder': 'Qualitá Video'}),
|
|
'età_consigliata' : forms.TextInput(attrs={'class' : 'form__input','placeholder': 'Etá Consigliata'}),
|
|
'lingua' : forms.Select(attrs={'class':' js-example-basic-single select2-hidden-accessible','id':'lingua'}),
|
|
'data_uscita' : forms.TextInput(attrs={'class' : 'form__input','placeholder': 'Data Uscita'}),
|
|
'durata' : forms.TextInput(attrs={'class' : 'form__input','placeholder': 'Durata In min'}),
|
|
'streaming_url' : forms.URLInput(attrs={'class' : 'form__input','placeholder': 'Streaming URL'}),
|
|
'voto' : forms.NumberInput(attrs={'class' : 'form__input','placeholder': 'Voto'})
|
|
|
|
|
|
}
|
|
labels = {
|
|
'immagine_poster' : "Carica Immagine Copertina (270x400)"
|
|
}
|
|
|
|
|
|
class CommentiForms(forms.ModelForm):
|
|
class Meta:
|
|
model = Commento
|
|
fields = ['commento']
|
|
widgets = {
|
|
'commento' : forms.Textarea(attrs={'class': 'form__textarea','id':'text'})
|
|
}
|
|
|
|
def clean_commento(self):
|
|
super().clean()
|
|
dati = self.cleaned_data["commento"]
|
|
print(f" Hai scritto la parola : {dati}")
|
|
lista_parole_offensive = profanity_words()
|
|
for s in lista_parole_offensive:
|
|
if s in dati:
|
|
raise ValidationError("Il Contenuto Inserito viola le norme del sito! ")
|
|
return dati
|
|
|
|
class SegnalazioneFilmForm(forms.ModelForm):
|
|
class Meta:
|
|
model = SegnalazioneFilm
|
|
exclude = ['film']
|
|
widgets = {
|
|
'descrizione_problema' : forms.Textarea(attrs={'class': 'form__textarea','id':'text'}),
|
|
'problema_video' : forms.Select(attrs={'class':' js-example-basic-single select2-hidden-accessible','id':'segnalaproblema'})
|
|
}
|
|
labels = {
|
|
'descrizione_problema': '',
|
|
'problema_video' : ''
|
|
} |