Closed petry closed 11 years ago
A forma como pensei em implementar esse envio de emails seria criando um cron job que iria executar um management command diariamente e enviar os emails para os usuário que estiverem nos prazos de expiração especificados.
Posso ficar responsável por essa issue.
O Celery seria bom nesse caso.
Imaginei o celery também sem nem ter terminado de ler a issue toda. Essa issue já foi feita?
A implementação do @elyezer é mais simples e resolve bem a questão.
Alterei o status para high priority porque precisamos dela no primeiro release.
podemos usar essa cara aqui
https://blog.heroku.com/archives/2011/11/12/heroku_scheduler_add_on_now_available/
o que acham?
no heroku tem cron ou algo precido ? parece que tem, mas custa $$
EDITANDO ---- https://addons.heroku.com/scheduler - free unlimited
Passou a ser gratuito de uns tempos pra cá... é esse heroku scheduler mesmo.
Já adicionei na app associados.heroku.com
Alguém está implementando essa issue?
Se no esta assinado por ninguém, nao esta :)
Eu posso fazer ela, porém não consigo assinar a tarefa.
Já tenho um código escrito, mas estou com uma dúvida:
O associado poderá renovar antes da hora? Ou seja, ter dois pagamentos um pagamento que expira dia 06/02/2013 e outro que expira dia 5/02/2014. Ou seja, se estou analisando os avisos que vou ter que mandar hoje, eu não deveria notificar esse associado já que a associação dele vai até 2014.
Assumindo que "proximo_pgto = data_do_ultimo_pagamento + 1 ano"
O job vai rodar 1 vez por dia e enviar emails para todos os usuários 'WHERE today() IN (proximo_pgto - 30dias, proximo_pgto - 7dias, proximo_pgto)'
@osantana, é necessário definir também qual é o conteudodo email que o usuário vai receber
Isso é fácil. Um e-mail simples:
-------8<--------
Subject: [Associação Python Brasil] Aviso de renovação
Olá Fulano de Tal,
Esse e-mail é um lembrete de que faltam X dias para o vencimento da anuidade referente à sua associação.
Para efetuar a sua renovação é só seguir o link abaixo:
http://associados.python.org.br/...
Vale lembrar que apenas os membros em dia com sua anuidade pode participar das assembléias da Associação Python Brasil bem como outros direitos garantidos a todos os membros (ex. descontos para inscrições de eventos organizados pela associação).
Caso você já tenha efetuado o pagamento pedimos que desconsidere esse aviso.
Caso tenha alguma dúvida é só entrar em contato conosco através do e-mail: contato@python.org.br.
Obrigado, Equipe da Associação Python Brasil
PS. O sistema de controle de associados está em fase de implantação. Caso tenha encontrado algum problema pedimos a gentileza de nos avisar através do mesmo endereço de e-mail: contato@python.org.br.
--------8<----------
Subject: [Associação Python Brasil] Anuidade vencida
Olá Fulano de Tal,
Gostaríamos de informá-lo que a anuidade referente à sua associação venceu hoje (DATA).
Você pode renová-la a qualquer momento. Para isso é só seguir o link abaixo:
http://associados.python.org.br/...
Vale lembrar que apenas os membros em dia com sua anuidade pode participar das assembléias da Associação Python Brasil bem como outros direitos garantidos a todos os membros (ex. descontos para inscrições de eventos organizados pela associação).
Caso você já tenha efetuado o pagamento pedimos que desconsidere esse aviso.
Caso tenha alguma dúvida é só entrar em contato conosco através do e-mail: contato@python.org.br.
Obrigado, Equipe da Associação Python Brasil
PS. O sistema de controle de associados está em fase de implantação. Caso tenha encontrado algum problema pedimos a gentileza de nos avisar através do mesmo endereço de e-mail: contato@python.org.br.
-------------8<------------------
Estive pensando na regra de negócio que coloquei acima. Talvez o correto seja:
proximo_pagto = XX/YY/ZZZZ
XX = dia do primeiro pagamento (data da associação) YY = mês do primeiro pagamento (data da associação) ZZZZ = ano do último pagamento + 1
Concordam?
Considerando renovação de domínios que tem duração de um ano o que vejo é:
XX - 1 dia da data YY ZZZZ + 1
Quanto aos avisos de renovação serão 30, 15 e 7 dias antes de terminar. Além disso terá o aviso de que a associação expirou. Correto?
Isso mesmo...
Obrigado pelos esclarecimentos.
Hoje a noite devo mandar o pull request.
Faltam duas coisas para eu terminar a issue:
Posso ter no código o endereço de contato da associação?
Qual a url para renovar a associação? Pelo que vi no código seria a payment
?
Tenho uma observação, quanto ao formato da data, vamos definir no settings ou devo adicionar o filtro date no template que gera a mensagem do email?
Oi Elyezer, vou dar meu pitaco aqui ... 1 - coloca o formato no settings, depois se alguém achar que precisa de outros retiramos e fazemos no template. 2 - endereço da apyb. num rola uma var também no settings ? faz o trem funcionar e depois acertamos os pontos menores.
Ótimo, só perguntei para ver se mais alguém concordava em deixar no settings.
:+1: para as dicas do cadu! :)
adicionei o comando no scheduler do heroku
Enviar avisos de renovação com 30, 15 e 7 dias de antecedência do término.