0
When registering a new user he chooses which group he is part of through a select. Each group has a responsible person, how do I get the email of this responsible person to send an access request email?
In this code I send email but to the email that the user filled and not to the responsible of the group that was chosen.
py.models
class Grupo(models.Model):
grupo = models.CharField(max_length=255)
divisao = models.ForeignKey(Divisao)
responsavel = models.ForeignKey(User)
@property
def get_responsavel(self):
return self.responsavel
def __unicode__(self):
return self.grupo
class Perfil(User):
telefone = models.CharField(max_length=255)
ramal = models.CharField(max_length=255)
data_inicio = models.DateField(default=datetime.now, blank=True)
data_fim = models.DateField(null=True, blank=True)
e_responsavel = models.BooleanField(default=False)
vinculo = models.ForeignKey(Vinculo)
grupos = models.ForeignKey(Grupo)
divisao = models.ForeignKey(Divisao)
def __unicode__(self):
return self.first_name
py views.
def cadastro(request, group_id=None):
if request.method == 'POST':
form = UserForm(request.POST)
formulario = form.save()
if form.is_valid():
formulario.set_password(form.cleaned_data['password'])
formulario.save()
# Envio de email
current_site = get_current_site(request)
message = render_to_string('acc_active_email.html', {
'user': formulario,
'domain': current_site.domain,
'uid': urlsafe_base64_encode(force_bytes(formulario.pk)),
'token': account_activation_token.make_token(formulario),
})
mail_subject = 'Novo usuario no sistema'
group = Grupo.objects.get(pk=group_id)
responsavel = group.get_responsavel()
to_email = responsavel.email
email = EmailMessage(mail_subject, message, to=[to_email])
email.send()
return HttpResponseRedirect('/cadastro/login/')
else:
form = UserForm()
return render(request, 'cadastro.html', {
'form': form,
})
I updated putting the models, as you can see I use a single form, Userform and I need to take the responsavel_id within the class groups and with that go to the Profile class to get the email by the id of this responsible
– Bianca C.
Hello Bianca, check that I updated the answer, see if you understand?
– José
Hi José, thanks for the reply, but returned the following message: Grupo matching query does not exist.
– Bianca C.