1
0

forms.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. from django import forms
  2. from django.forms import ModelForm, CharField, SlugField
  3. from django.core.validators import validate_unicode_slug
  4. from .models import Network, Host
  5. class NetworkForm(ModelForm):
  6. class Meta:
  7. model=Network
  8. #fields = ['name', 'slug', 'nickname', 'password', 'username', 'home_channel', 'command_character', 'help_character']
  9. fields='__all__'
  10. #exclude = ['slug'] #Does not need "fields = '__all__'".
  11. labels={
  12. 'name': '<i class="sitemap icon"></i>Name',
  13. 'slug': '<i class="linkify icon"></i>Slug',
  14. 'nickname': '<i class="id badge icon"></i>Nickname',
  15. 'username': '<i class="id card icon"></i>Username',
  16. 'password': '<i class="privacy icon"></i>Password',
  17. 'mail': '<i class="envelope icon"></i>NickServ registration E-mail',
  18. 'home_channel': '<i class="hashtag icon"></i>Home channel',
  19. 'command_character': '<i class="terminal icon"></i>Command character',
  20. 'help_character': '<i class="help icon"></i>Help character',
  21. 'network_services': '<i class="lightbulb outline icon"></i>Network services',
  22. 'enabled': '<i class="power off icon"></i>Enabled',
  23. 'mute': '<i class="comment slash icon"></i>Mute',
  24. }
  25. widgets={
  26. 'name': forms.TextInput(attrs={'autocomplete': 'on'}),
  27. 'nickname': forms.TextInput(attrs={'autocomplete': 'on'}),
  28. 'username': forms.TextInput(attrs={'autocomplete': 'on'}),
  29. }
  30. class HostForm(ModelForm):
  31. class Meta:
  32. model=Host
  33. exclude=['network', 'connection_attempts', 'connection_succeeds']
  34. labels={
  35. 'address': '<i class="server icon"></i>Address',
  36. 'port': '<i class="dungeon icon"></i>Port',
  37. 'ssl': '<i class="lock icon"></i>Use SSL',
  38. }
  39. widgets={
  40. 'address': forms.TextInput(attrs={'autocomplete': 'on'}),
  41. 'ssl': forms.CheckboxInput(attrs={'_style': 'toggle',}),
  42. }