Comments (22)
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.
from associados.
O Celery seria bom nesse caso.
from associados.
Imaginei o celery também sem nem ter terminado de ler a issue toda. Essa issue já foi feita?
from associados.
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.
from associados.
podemos usar essa cara aqui
https://blog.heroku.com/archives/2011/11/12/heroku_scheduler_add_on_now_available/
o que acham?
from associados.
no heroku tem cron ou algo precido ?
parece que tem, mas custa $$
EDITANDO ----
https://addons.heroku.com/scheduler - free unlimited
from associados.
Passou a ser gratuito de uns tempos pra cá... é esse heroku scheduler mesmo.
Já adicionei na app associados.heroku.com
from associados.
Alguém está implementando essa issue?
from associados.
Se no esta assinado por ninguém, nao esta :)
from associados.
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.
from associados.
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)'
from associados.
@osantana, é necessário definir também qual é o conteudodo email que o usuário vai receber
from associados.
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: [email protected].
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: [email protected].
--------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: [email protected].
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: [email protected].
-------------8<------------------
from associados.
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?
from associados.
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?
from associados.
Isso mesmo...
from associados.
Obrigado pelos esclarecimentos.
Hoje a noite devo mandar o pull request.
from associados.
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?
from associados.
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.
from associados.
Ótimo, só perguntei para ver se mais alguém concordava em deixar no settings.
from associados.
👍 para as dicas do cadu! :)
from associados.
adicionei o comando no scheduler do heroku
from associados.
Related Issues (20)
- Ao pedir para pagar anuidade, último pagamento aparece incorretamente
- CRITICO: Atualizar app associados da stack Heroku-16 para stack Heroku-20 HOT 6
- Sistema não deixa logar, nem trocar senha (emails não chegam) HOT 5
- Montagem de chapa e votação interna
- Faz sentido um “requirements” para testes no macOS? HOT 2
- Juntar settings.py HOT 1
- Mudança do nome da branch principal? HOT 2
- Removido teste falhando randomicamente
- Atualizar versão do Python para >=3.7 HOT 2
- Transações não estão sendo confirmadas após notificação do PagSeguro HOT 2
- Iniciar documentação do projeto de Associados HOT 5
- Notificação de vencimento de assinatura HOT 1
- Erro de ortografia no assunto do email de boas-vindas
- Remover SECRET_KEY padrão
- manage.py migrate falhando no Heroku HOT 4
- Rota de fill do combo de cidades com erro 404
- Revisão do banco de dados do site HOT 1
- Remover biblioteca: sorl-thumbnail
- Nova versão do site da associação
- Considerar concorrentes do Heroku.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from associados.