| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- from django import forms
- from django.forms import ModelForm, CharField, SlugField
- from django.core.validators import validate_unicode_slug
- from .models import Network, Host, Channel
- class NetworkForm(ModelForm):
- class Meta:
- model=Network
- #fields = ['name', 'slug', 'nickname', 'password', 'username', 'home_channel', 'command_character', 'help_character']
- fields='__all__'
- #exclude = ['slug'] #Does not need "fields = '__all__'".
- labels={
- 'name': '<i class="sitemap icon"></i>Name',
- 'slug': '<i class="linkify icon"></i>Slug',
- 'nickname': '<i class="id badge icon"></i>Nickname',
- 'username': '<i class="id card icon"></i>Username',
- 'password': '<i class="privacy icon"></i>Password',
- 'mail': '<i class="envelope icon"></i>NickServ registration E-mail',
- 'home_channel': '<i class="hashtag icon"></i>Home channel',
- 'command_character': '<i class="terminal icon"></i>Command character',
- 'help_character': '<i class="help icon"></i>Help character',
- #'network_services': '<i class="lightbulb outline icon"></i>Network services',
- 'enabled': '<i class="power off icon"></i>Enabled',
- # 'mute': '<i class="comment slash icon"></i>Mute',
- }
- widgets={
- 'name': forms.TextInput(attrs={'autocomplete': 'on'}),
- 'nickname': forms.TextInput(attrs={'autocomplete': 'on'}),
- 'username': forms.TextInput(attrs={'autocomplete': 'on'}),
- }
- class HostForm(ModelForm):
- class Meta:
- model=Host
- exclude=['network', 'connection_attempts', 'connection_succeeds']
- labels={
- 'address': '<i class="server icon"></i>Address',
- 'port': '<i class="dungeon icon"></i>Port',
- 'ssl': '<i class="lock icon"></i>Use SSL',
- }
- widgets={
- 'address': forms.TextInput(attrs={'autocomplete': 'on'}),
- 'ssl': forms.CheckboxInput(attrs={'_style': 'toggle',}),
- }
- class ChannelForm(ModelForm):
- class Meta:
- model=Channel
- fields=['autojoin', 'statistic_commands', 'games']
- labels={
- 'autojoin': '<i class="power icon"></i>Auto join',
- 'statistic_commands': '<i class="chart pie icon"></i>Statistic commands',
- 'games': '<i class="gamepad icon"></i>Games',
- }
- widgets={
- 'autojoin': forms.CheckboxInput(attrs={'_style': 'inverted toggle'}),
- 'statistic_commands': forms.CheckboxInput(attrs={'_style': 'inverted toggle'}),
- 'games': forms.CheckboxInput(attrs={'_style': 'inverted toggle'}),
- }
|