Finalizado INFATEC MANAGER

parent 9a1aa47d
import digitalocean
from django import forms from django import forms
from django.contrib import admin from django.contrib import admin
from django.conf import settings from django.conf import settings
...@@ -14,10 +16,18 @@ from .models import Sistema ...@@ -14,10 +16,18 @@ from .models import Sistema
class ClienteForm(forms.ModelForm): class ClienteForm(forms.ModelForm):
droplets_size = forms.ChoiceField()
class Meta: class Meta:
model = Cliente model = Cliente
fields = "__all__" fields = "__all__"
def __init__(self, *args, **kwargs):
super(ClienteForm, self).__init__(*args, **kwargs)
manager = digitalocean.Manager(token = Configuracao.get_solo().token)
self.fields['droplets_size'].choices = [(val, val) for val in manager.get_all_sizes()]
def clean_subdomain_name(self): def clean_subdomain_name(self):
data = self.cleaned_data['subdomain_name'] data = self.cleaned_data['subdomain_name']
self.username_subdomain_name_clean(data) self.username_subdomain_name_clean(data)
......
# Generated by Django 2.0.1 on 2018-02-20 20:12
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('core', '0013_auto_20180220_1910'),
]
operations = [
migrations.RemoveField(
model_name='configuracao',
name='droplets_backups',
),
migrations.RemoveField(
model_name='configuracao',
name='droplets_image',
),
migrations.RemoveField(
model_name='configuracao',
name='droplets_ipv6',
),
migrations.RemoveField(
model_name='configuracao',
name='droplets_size',
),
migrations.AddField(
model_name='cliente',
name='droplets_backups',
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name='cliente',
name='droplets_image',
field=models.CharField(default='ubuntu-16-04-x64', max_length=50, verbose_name='Imagem/SO dos Droplets'),
),
migrations.AddField(
model_name='cliente',
name='droplets_ipv6',
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name='cliente',
name='droplets_size',
field=models.CharField(default='s-1vcpu-1gb', max_length=50, verbose_name='Tamanho dos Droplets'),
),
]
...@@ -9,7 +9,6 @@ import django_rq ...@@ -9,7 +9,6 @@ import django_rq
class Cliente(models.Model): class Cliente(models.Model):
"""Model definition for Cliente.""" """Model definition for Cliente."""
# Informações do cliente # Informações do cliente
nome = models.CharField(max_length=50) nome = models.CharField(max_length=50)
subdomain_name = models.CharField(_('Subdomínio'), max_length=50, unique=True) subdomain_name = models.CharField(_('Subdomínio'), max_length=50, unique=True)
...@@ -18,11 +17,16 @@ class Cliente(models.Model): ...@@ -18,11 +17,16 @@ class Cliente(models.Model):
password = models.CharField(max_length=50) password = models.CharField(max_length=50)
sistema = models.ForeignKey('Sistema', models.PROTECT, related_name='clientes') sistema = models.ForeignKey('Sistema', models.PROTECT, related_name='clientes')
# Informações do droplet # Informações do droplet
droplet_id = models.CharField(_('ID do droplet'), max_length=50, blank=True, null=True) droplet_id = models.CharField(_('ID do droplet'), max_length=50, blank=True, null=True)
droplet_ip = models.CharField(_('IP do droplet'), max_length=50, blank=True, null=True) droplet_ip = models.CharField(_('IP do droplet'), max_length=50, blank=True, null=True)
droplet_status = models.CharField(max_length=255, blank=True, null=True) droplet_status = models.CharField(max_length=255, blank=True, null=True)
droplet_logs = models.TextField(blank=True, default='') droplet_logs = models.TextField(blank=True, default='')
droplets_image = models.CharField(_('Imagem/SO dos Droplets'), max_length=50, default="ubuntu-16-04-x64")
droplets_size = models.CharField(_('Tamanho dos Droplets'), max_length=50, default="512mb")
droplets_backups = models.BooleanField(default=False)
droplets_ipv6 = models.BooleanField(default=False)
class Meta: class Meta:
"""Meta definition for Cliente.""" """Meta definition for Cliente."""
......
...@@ -11,10 +11,10 @@ class Configuracao(SingletonModel): ...@@ -11,10 +11,10 @@ class Configuracao(SingletonModel):
token = models.CharField(max_length=255) token = models.CharField(max_length=255)
droplets_region = models.CharField(_('Região dos Droplets'), max_length=50, default="nyc1") droplets_region = models.CharField(_('Região dos Droplets'), max_length=50, default="nyc1")
droplets_image = models.CharField(_('Imagem/SO dos Droplets'), max_length=50, default="ubuntu-16-04-x64") #droplets_image = models.CharField(_('Imagem/SO dos Droplets'), max_length=50, default="ubuntu-16-04-x64")
droplets_size = models.CharField(_('Tamanho dos Droplets'), max_length=50, default="s-1vcpu-1gb") #droplets_size = models.CharField(_('Tamanho dos Droplets'), max_length=50, default="s-1vcpu-1gb")
droplets_backups = models.BooleanField(default=False) #droplets_backups = models.BooleanField(default=False)
droplets_ipv6 = models.BooleanField(default=False) #droplets_ipv6 = models.BooleanField(default=False)
#droplets_user_data = models.TextField(blank=True) movido para o model de Sistema #droplets_user_data = models.TextField(blank=True) movido para o model de Sistema
def __str__(self): def __str__(self):
......
...@@ -34,10 +34,10 @@ def criar_droplet(cliente): ...@@ -34,10 +34,10 @@ def criar_droplet(cliente):
cliente.username, cliente.subdomain_name cliente.username, cliente.subdomain_name
).replace('_', '-'), ).replace('_', '-'),
region=configuracoes.droplets_region, region=configuracoes.droplets_region,
image=configuracoes.droplets_image, image=cliente.droplets_image,
size_slug=configuracoes.droplets_size, size_slug=cliente.droplets_size,
backups=configuracoes.droplets_backups, backups=cliente.droplets_backups,
ipv6=configuracoes.droplets_ipv6, ipv6=cliente.droplets_ipv6,
user_data=cliente.user_data, user_data=cliente.user_data,
ssh_keys=configuracoes.ssh_keys ssh_keys=configuracoes.ssh_keys
) )
......
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