from django.shortcuts import redirect
from django.shortcuts import render
from django.contrib.auth.models import User
from django.views.generic.base import View
from perfis.models import Perfil
from usuarios.forms import RegistrarUsuarioForm


class RegistrarUsuarioView(View):

    template_name = 'registrar.html'

    def get(self, request):
        return render(request, self.template_name)

    def post(self, request):

            # preenche o from
            form = RegistrarUsuarioForm(request.POST)

            # verifica se eh valido
            if form.is_valid():

                dados_form = form.data

                # cria o usuario
                usuario = User.objects.create_user(dados_form['nome'],
                                                   dados_form['email'],
                                                   dados_form['senha'])

                # cria o perfil
                perfil = Perfil(nome=dados_form['nome'],
                                telefone=dados_form['telefone'],
                                nome_empresa=dados_form['nome_empresa'],
                                usuario=usuario)

                # grava no banco
                perfil.save()

                # redireciona para index
                return redirect('index')

            # so chega aqui se nao for valido
            # vamos devolver o form para mostrar o formulario preenchido
            return render(request, self.template_name, {'form': form})


[((360, 395), 'django.shortcuts.render', 'render', (['request', 'self.template_name'], {}), '(request, self.template_name)\n', (366, 395), False, 'from django.shortcuts import render\n'), ((476, 510), 'usuarios.forms.RegistrarUsuarioForm', 'RegistrarUsuarioForm', (['request.POST'], {}), '(request.POST)\n', (496, 510), False, 'from usuarios.forms import RegistrarUsuarioForm\n'), ((1432, 1483), 'django.shortcuts.render', 'render', (['request', 'self.template_name', "{'form': form}"], {}), "(request, self.template_name, {'form': form})\n", (1438, 1483), False, 'from django.shortcuts import render\n'), ((680, 770), 'django.contrib.auth.models.User.objects.create_user', 'User.objects.create_user', (["dados_form['nome']", "dados_form['email']", "dados_form['senha']"], {}), "(dados_form['nome'], dados_form['email'],\n    dados_form['senha'])\n", (704, 770), False, 'from django.contrib.auth.models import User\n'), ((927, 1053), 'perfis.models.Perfil', 'Perfil', ([], {'nome': "dados_form['nome']", 'telefone': "dados_form['telefone']", 'nome_empresa': "dados_form['nome_empresa']", 'usuario': 'usuario'}), "(nome=dados_form['nome'], telefone=dados_form['telefone'],\n    nome_empresa=dados_form['nome_empresa'], usuario=usuario)\n", (933, 1053), False, 'from perfis.models import Perfil\n'), ((1275, 1292), 'django.shortcuts.redirect', 'redirect', (['"""index"""'], {}), "('index')\n", (1283, 1292), False, 'from django.shortcuts import redirect\n')]