Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avisos de renovação #5

Closed
petry opened this issue Jul 5, 2012 · 22 comments
Closed

Avisos de renovação #5

petry opened this issue Jul 5, 2012 · 22 comments
Assignees

Comments

@petry
Copy link
Contributor

petry commented Jul 5, 2012

Enviar avisos de renovação com 30, 15 e 7 dias de antecedência do término.

@elyezer
Copy link
Contributor

elyezer commented Jul 10, 2012

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.

@gilsondev
Copy link

O Celery seria bom nesse caso.

@mondaini
Copy link
Contributor

mondaini commented Nov 2, 2012

Imaginei o celery também sem nem ter terminado de ler a issue toda. Essa issue já foi feita?

@osantana
Copy link
Contributor

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.

@petry
Copy link
Contributor Author

petry commented Jan 30, 2013

podemos usar essa cara aqui

https://blog.heroku.com/archives/2011/11/12/heroku_scheduler_add_on_now_available/

o que acham?

@cadu-leite
Copy link
Contributor

no heroku tem cron ou algo precido ?
parece que tem, mas custa $$

EDITANDO ----
https://addons.heroku.com/scheduler - free unlimited

@osantana
Copy link
Contributor

Passou a ser gratuito de uns tempos pra cá... é esse heroku scheduler mesmo.

Já adicionei na app associados.heroku.com

@elyezer
Copy link
Contributor

elyezer commented Jan 30, 2013

Alguém está implementando essa issue?

@petry
Copy link
Contributor Author

petry commented Jan 30, 2013

Se no esta assinado por ninguém, nao esta :)

@elyezer
Copy link
Contributor

elyezer commented Jan 30, 2013

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.

@ghost ghost assigned elyezer Jan 30, 2013
@osantana
Copy link
Contributor

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)'

@petry
Copy link
Contributor Author

petry commented Jan 30, 2013

@osantana, é necessário definir também qual é o conteudodo email que o usuário vai receber

@osantana
Copy link
Contributor

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<------------------

@osantana
Copy link
Contributor

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?

@elyezer
Copy link
Contributor

elyezer commented Jan 31, 2013

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?

@osantana
Copy link
Contributor

Isso mesmo...

@elyezer
Copy link
Contributor

elyezer commented Jan 31, 2013

Obrigado pelos esclarecimentos.

Hoje a noite devo mandar o pull request.

@elyezer
Copy link
Contributor

elyezer commented Feb 1, 2013

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?

@cadu-leite
Copy link
Contributor

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.

@elyezer
Copy link
Contributor

elyezer commented Feb 2, 2013

Ótimo, só perguntei para ver se mais alguém concordava em deixar no settings.

@petry
Copy link
Contributor Author

petry commented Feb 2, 2013

👍 para as dicas do cadu! :)

@petry petry closed this as completed in cd482ff Feb 6, 2013
petry added a commit that referenced this issue Feb 6, 2013
Implementação da issue #5
@petry
Copy link
Contributor Author

petry commented Feb 6, 2013

adicionei o comando no scheduler do heroku

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants