def trabajo_enviar_mail_agenciados(request, trabajo_id): trabajo = Trabajo.objects.get(pk=trabajo_id) if request.method == 'POST': form = MailAgenciadosForm(trabajo.rol_set.all(), request.POST) if form.is_valid(): template = loader.get_template( 'trabajo/rol/admin/cuerpo_mail_agenciado.html') for rol in trabajo.rol_set.all(): asunto = form.cleaned_data['asunto'] agencia = Agencia.get_activa(request) ccs = [request.user.email, agencia.email] postulaciones = form.cleaned_data[ MailAgenciadosForm.get_rol_fieldname(rol)] text_content = _( u'Este mensagem deve ser visualizado em formato HTML.') for postulacion in postulaciones: if postulacion.agenciado.mail: context = { 'postulacion': postulacion, } html_content = template.render(context) destinatarios = [postulacion.agenciado.mail] + [ x.email for x in postulacion.agenciado.mailagenciado_set.all() ] msg = MailAgencia(asunto, text_content, destinatarios, ccs=ccs) msg.set_html_body(html_content) msg.send() else: messages.error( request, _(u'Agenciado %s não tem um email definido.' % postulacion.agenciado)) messages.success( request, _(u'Trabalho enviado com sucesso a os agenciados selecionados.' )) return redirect('/admin/trabajo/trabajo/%s/' % trabajo_id) else: asunto = _(u'Detalhe da Postulação para Trabalho "%s"') % ( trabajo.titulo, ) form = MailAgenciadosForm(trabajo.rol_set.all(), initial={'asunto': asunto}) return render(request, 'trabajo/trabajo/admin/enviar_mail_agenciados.html', { 'form': form, 'trabajo': trabajo, })
def enviar_mail(request): # Se crea el formulario con el campo trabajo y el campo estado en funcion del modelo Postulación # En caso de ser un metodo POST: if request.method == 'POST': form = EnvioMailForm(request.POST) # Se valida el formulario if form.is_valid(): template = loader.get_template('correo/base.html') context = { 'cuerpo': form.cleaned_data['cuerpo'], } asunto = form.cleaned_data['asunto'] agencia = Agencia.get_activa(request) destinatarios = [ agencia.email, ] ccs = [ request.user.email, ] bccs = form.get_destinatarios() text_content = _( u'Este mensagem deve ser visualizado em formato HTML.') html_content = template.render(context) msg = MailAgencia(asunto, text_content, destinatarios, ccs=ccs, bccs=bccs) msg.set_html_body(html_content) msg.send() messages.success(request, _(u'Mails enviados con éxito')) return redirect('/admin/agencia/agenciado/') # Sino else: # Se obtienen los agenciados asociados a los IDs if request.method == 'GET': ids = request.GET['ids'] else: ids = request.POST['ids'] listado_ids = ids.split(',') agenciados = Agenciado.objects.filter(id__in=listado_ids) destinatarios = [] for agenciado in agenciados: for mail in agenciado.get_mails(): destinatarios.append(mail) form = EnvioMailForm( initial={'destinatarios': '\n'.join(destinatarios)}) return render(request, 'admin/agencia/agenciado/enviar_mail.html', {'form': form})
def enviar(self): template = loader.get_template(self.get_template_name()) asunto = self.get_notification_title() destinatarios = [self.email_destinatario] agencia = Agencia.get_activa() ccs = self.get_ccs() text_content = _( u'Este mensagem deve ser visualizado em formato HTML.') html_content = template.render(self.get_context_dict()) msg = MailAgencia(asunto, text_content, destinatarios, ccs=ccs) msg.set_html_body(html_content) msg.send() self.fecha_envio = now() self.clean() self.save()
def trabajo_enviar_mail_productora(request, trabajo_id): trabajo = Trabajo.objects.get(pk=trabajo_id) if request.method == 'POST': form = MailProductoraForm(request.POST) if form.is_valid(): template = loader.get_template( 'trabajo/trabajo/cuerpo_mail_productora.html') context = { 'trabajo': trabajo, } asunto = form.cleaned_data['asunto'] destinatarios = form.get_destinatarios() agencia = Agencia.get_activa(request) ccs = [request.user.email, agencia.email] text_content = _( u'Este mensagem deve ser visualizado em formato HTML.') html_content = template.render(context) msg = MailAgencia(asunto, text_content, destinatarios, ccs=ccs) msg.set_html_body(html_content) msg.send() messages.success( request, _(u'Trabalho enviado com sucesso a os seguintes destinatarios y copias: %(destinatarios)s %(copias)s' ) % { 'destinatarios': str(destinatarios), 'copias': str(ccs) }) return redirect('/admin/trabajo/trabajo/%s/' % trabajo_id) else: asunto = _(u'Detalhe de trabalho "%s"') % (trabajo.titulo, ) form = MailProductoraForm(initial={ 'destinatarios': trabajo.productora.mail, 'asunto': asunto }) return render(request, 'trabajo/trabajo/enviar_mail_productora.html', { 'form': form, 'trabajo': trabajo, })