Commit 3b0beffb authored by Philippe Valfok's avatar Philippe Valfok

Alterando padrão do parâmetro 'name' enviado ao criar droplet, adicionando...

Alterando padrão do parâmetro 'name' enviado ao criar droplet, adicionando validações ao cadastro de clientes
parent 65036567
from django import forms
from django.contrib import admin
from django.conf import settings
......@@ -10,11 +11,35 @@ from .models import Cliente
from .models import ChaveSSH
class ClienteForm(forms.ModelForm):
class Meta:
model = Cliente
fields = "__all__"
def clean_domain_name(self):
data = self.cleaned_data['domain_name']
self.username_domain_name_clean(data)
return data
def clean_username(self):
data = self.cleaned_data['username']
self.username_domain_name_clean(data)
return data
def username_domain_name_clean(self, data):
if not data.isalnum() and not data.replace('_', '').isalnum() and not data.replace('_', '').isalnum():
raise forms.ValidationError('Somente letras, números, "_" e "-".')
if data.lower() != data:
raise forms.ValidationError('Somente letras minúsculas.')
class ClienteAdmin(admin.ModelAdmin):
list_display = ('__str__', 'email', 'droplet_ip', 'droplet_status')
list_display_links = ('__str__', 'email')
search_fields = ('nome', 'domain_name', 'email', 'username')
list_per_page = 25
form = ClienteForm
admin.site.site_tile = _(settings.SITE_TITLE)
......
......@@ -30,7 +30,7 @@ def criar_droplet(cliente):
droplet = digitalocean.Droplet(
token=configuracoes.token,
name="{}".format(cliente),
name="{}-{}".format(cliente.username, cliente.domain_name),
region=configuracoes.droplets_region,
image=configuracoes.droplets_image,
size_slug=configuracoes.droplets_size,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment