示例#1
0
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 = RequestContext(request, {'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, })
示例#2
0
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 = RequestContext(request, {'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, })
示例#3
0
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,
                  })
示例#4
0
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})
示例#5
0
 def process_request(self, request):
   if Agencia.get_activa().activa:
     return None
   if request.path in PATH_CREACION_AGENCIA:
     return None
   if request.path in PATH_EXCEPCIONES:
     return None
   if len(Agencia.objects.all()) == 0:
     return redirect('/admin/agencia/agencia/add/')
   edit_path= '/admin/agencia/agencia/%s/' % Agencia.objects.first().id
   if edit_path == request.path:
     return None
   return redirect(edit_path)
示例#6
0
  def enviar(self):

    template = loader.get_template(self.get_template_name())
    context = Context(self.get_context_dict())
    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(context)
    msg = MailAgencia(asunto, text_content, destinatarios,ccs=ccs)
    msg.set_html_body(html_content)
    msg.send()

    self.fecha_envio = datetime.datetime.now()
    self.clean()
    self.save()
示例#7
0
    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()
示例#8
0
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})
示例#9
0
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,
    })
示例#10
0
    def init_with_context(self, context):
        site_name = get_admin_site_name(context)
        
        # append a group for "Administration" & "Applications"
        self.children.append(modules.Group(
            _('Aplicaciones Principales'),
            column=1,
            collapsible=True,
            children = [
                modules.ModelList(
                    column=1,
                    collapsible=False,
                    models=('iampacks.agencia.agencia.models.Agenciado',),
                ),
                modules.ModelList(
                    column=1,
                    collapsible=False,
                    models=(
                      'iampacks.agencia.trabajo.models.Trabajo',
                      ),
                ),
                modules.ModelList(
                    column=1,
                    collapsible=False,
                    models=(
                      'iampacks.agencia.trabajo.models.ItemPortfolio',
                      ),
                ),
            ]
        ))
        
        # append an app list module for "Applications"
        self.children.append(modules.ModelList(
            _('Diccionario de datos'),
            collapsible=True,
            column=1,
            models=('iampacks.agencia.perfil.*',)
        ))
        
        # append an app list module for "Administration"
        self.children.append(modules.ModelList(
            _('Administracion de usuarios y permisos'),
            column=1,
            collapsible=False,
            models=('django.contrib.*',),
        ))

        self.add_ultimos_trabajos(5)

        # append a recent actions module
        self.children.append(modules.RecentActions(
            _('Recent Actions'),
            limit=5,
            collapsible=True,
            column=2,
        ))

        self.add_eventos_del_dia()
        self.add_proximos_eventos()

        # append another link list module for "support".
        self.children.append(modules.LinkList(
            _('Configuracion'),
            column=3,
            children=[
                {
                    'title': _(u'Agencia'),
                    'url': Agencia.get_activa().get_url_admin(),
                    'external': False,
                },
            ]
        ))


        # append another link list module for "support".
        self.children.append(modules.LinkList(
            _('Links'),
            column=3,
            children=[
                {
                    'title': settings.AMBIENTE.dominio,
                    'url': '/',
                    'external': False,
                },
                {
                    'title': _(u'Proponer una mejora'),
                    'url': 'https://github.com/sebasgoldberg/iamcast/issues/new#',
                    'external': True,
                },
            ]
        ))
示例#11
0
 def actualizar_asunto(self,asunto):
   agencia = Agencia.get_activa()
   return ugettext_lazy(u'%(nombre)s - %(asunto)s') % {'nombre':agencia.nombre, 'asunto':asunto}
示例#12
0
 def get_reply_to(self):
   agencia = Agencia.get_activa()
   return agencia.email
示例#13
0
 def get_context_dict(self):
   return {'agenciado': self.agenciado,
     'ambiente': settings.AMBIENTE, 
     'password': self.password,
     'agencia': Agencia.get_activa()}
示例#14
0
def add_agencia(request):
  """
  Devuelve la agencia activa
  """
  return {'agencia':Agencia.get_activa(request)}
示例#15
0
    def init_with_context(self, context):
        site_name = get_admin_site_name(context)

        # append a group for "Administration" & "Applications"
        self.children.append(
            modules.Group(
                _('Aplicaciones Principales'),
                column=1,
                collapsible=True,
                children=[
                    modules.ModelList(
                        column=1,
                        collapsible=False,
                        models=('iampacks.agencia.agencia.models.Agenciado', ),
                    ),
                    modules.ModelList(
                        column=1,
                        collapsible=False,
                        models=('iampacks.agencia.trabajo.models.Trabajo', ),
                    ),
                    modules.ModelList(
                        column=1,
                        collapsible=False,
                        models=(
                            'iampacks.agencia.trabajo.models.ItemPortfolio', ),
                    ),
                ]))

        # append an app list module for "Applications"
        self.children.append(
            modules.ModelList(_('Diccionario de datos'),
                              collapsible=True,
                              column=1,
                              models=('iampacks.agencia.perfil.*', )))

        # append an app list module for "Administration"
        self.children.append(
            modules.ModelList(
                _('Administracion de usuarios y permisos'),
                column=1,
                collapsible=False,
                models=('django.contrib.*', ),
            ))

        self.add_ultimos_trabajos(5)

        # append a recent actions module
        self.children.append(
            modules.RecentActions(
                _('Recent Actions'),
                limit=5,
                collapsible=True,
                column=2,
            ))

        self.add_eventos_del_dia()
        self.add_proximos_eventos()

        # append another link list module for "support".
        self.children.append(
            modules.LinkList(_('Configuracion'),
                             column=3,
                             children=[
                                 {
                                     'title': _(u'Agencia'),
                                     'url':
                                     Agencia.get_activa().get_url_admin(),
                                     'external': False,
                                 },
                             ]))

        # append another link list module for "support".
        self.children.append(
            modules.LinkList(
                _('Links'),
                column=3,
                children=[
                    {
                        'title': settings.AMBIENTE.dominio,
                        'url': '/',
                        'external': False,
                    },
                    {
                        'title': _(u'Proponer una mejora'),
                        'url':
                        'https://github.com/sebasgoldberg/iamcast/issues/new#',
                        'external': True,
                    },
                ]))
示例#16
0
 def get_context_dict(self):
     return {
         'agenciado': self.agenciado,
         'password': self.password,
         'agencia': Agencia.get_activa()
     }
示例#17
0
def agencia(request):
    """
  Devuelve la agencia activa
  """
    return {'agencia': Agencia.get_activa(request)}