From fdb9a8c68017a1d466948852bf827a8fe85fd83b Mon Sep 17 00:00:00 2001 From: deflax Date: Wed, 27 Dec 2017 03:47:26 +0200 Subject: [PATCH] client notify ails --- app/smanager/routes.py | 6 +++++- app/templates/email/adm_logger.html | 12 +++++++----- app/templates/email/adm_logger.txt | 4 ++-- app/templates/email/client_logger.html | 14 ++++++++++++++ app/templates/email/client_logger.txt | 11 +++++++++++ app/templates/uinvoice/transactions.html | 8 ++++---- manage.py | 21 +++++++++++++++------ 7 files changed, 58 insertions(+), 18 deletions(-) create mode 100644 app/templates/email/client_logger.html create mode 100644 app/templates/email/client_logger.txt diff --git a/app/smanager/routes.py b/app/smanager/routes.py index fc27056..2debe95 100644 --- a/app/smanager/routes.py +++ b/app/smanager/routes.py @@ -61,7 +61,11 @@ def activate(itemid=0): service.enabled = True db.session.commit() - transaction = Transaction(user_id=int(owner.pid), description='Deployment {} activated for {} month(s)'.format(str(service.description), form.period.data), value=-total) + email_content = 'Service {} is activated for {} month(s). It will expire at {}'.format(str(service.description), form.period.data, str((expiry + extradays).strftime('%c'))) + send_email(current_app.config['MAIL_USERNAME'], str(email_content), 'email/adm_logger', user=owner, content=str(email_content)) + send_email(str(owner.email), str(email_content), 'email/client_logger', content=str(email_content)) + + transaction = Transaction(user_id=int(owner.pid), description=str(email_content), value=-total) db.session.add(transaction) db.session.commit() diff --git a/app/templates/email/adm_logger.html b/app/templates/email/adm_logger.html index 13e0520..bc6908b 100644 --- a/app/templates/email/adm_logger.html +++ b/app/templates/email/adm_logger.html @@ -1,6 +1,8 @@ -

{{ user.email }}.
-
-{{ content }}
+

User: {{ user.email }} notified.
+

+

+Action taken: {{ content }}
+

+

Regards,
+Datapoint.bg

-

Regards, -Proxadmin

diff --git a/app/templates/email/adm_logger.txt b/app/templates/email/adm_logger.txt index 91a289b..9017b59 100644 --- a/app/templates/email/adm_logger.txt +++ b/app/templates/email/adm_logger.txt @@ -1,6 +1,6 @@ -User {{ user.email }} +User {{ user.email }} notified. -{{ content }} +Action taken: {{ content }} Regards, Proxadmin diff --git a/app/templates/email/client_logger.html b/app/templates/email/client_logger.html new file mode 100644 index 0000000..c1891f4 --- /dev/null +++ b/app/templates/email/client_logger.html @@ -0,0 +1,14 @@ +

Dear client,
+

+ +

{{ content }} +

+ +

Regards,
+Datapoint.bg
+
+52 Volga str.
+4002 Plovdiv, Bulgaria
+tel: +359 323 982 95
+office@datapoint.bg
+

diff --git a/app/templates/email/client_logger.txt b/app/templates/email/client_logger.txt new file mode 100644 index 0000000..ae71831 --- /dev/null +++ b/app/templates/email/client_logger.txt @@ -0,0 +1,11 @@ +Dear client, + +{{ content }} + +Regards, +Datapoint.bg + +52 Volga str. +4002 Plovdiv, Bulgaria +tel: +359 323 982 95 +office@datapoint.bg diff --git a/app/templates/uinvoice/transactions.html b/app/templates/uinvoice/transactions.html index d23f59b..b86c4f5 100644 --- a/app/templates/uinvoice/transactions.html +++ b/app/templates/uinvoice/transactions.html @@ -40,13 +40,13 @@ var myChart = new Chart(ctx, { {% block page_content %}
{% block sidebar %} -
+
-
+
{% include "/settings/acc_avatar.html" %}
-
+
Wallet Graph
@@ -58,7 +58,7 @@ var myChart = new Chart(ctx, {
{% endblock %} -
+
Transactions
diff --git a/manage.py b/manage.py index 39189f5..2e71ca6 100644 --- a/manage.py +++ b/manage.py @@ -66,10 +66,11 @@ def autodisable(): #print('Found {}.'.format(str(deploy.machine_alias))) lastcharge = deploy.date_last_charge expiry = lastcharge + relativedelta(lastcharge, months=+(deploy.period)) - if today > expiry: + if today >= expiry: email_content = '[!] Deployment "' + deploy.machine_alias + '" is past expiration date and will be marked INACTIVE. Last charged: ' + lastcharge.strftime('%c') + ' expiry date: ' + expiry.strftime('%c') print(str(email_content)) send_email(app.config['MAIL_USERNAME'], str(email_content), 'email/adm_logger', user=deploy.owner, content=str(email_content)) + #send_email(str(deploy.owner.email), str(email_content), 'email/client_logger', content=str(email_content)) deploy.warning = False deploy.enabled = False deploy.daysleft = 0 @@ -80,10 +81,11 @@ def autodisable(): for service in services_ena: lastcharge = service.date_last_charge expiry = lastcharge + relativedelta(lastcharge, months=+(service.period)) - if today > expiry: + if today >= expiry: email_content = '[!] Service "' + service.description + '" is past expiration date and will be marked INACTIVE. Last charged: ' + lastcharge.strftime('%c') + ' expiry date: ' + expiry.strftime('%c') print(str(email_content)) send_email(app.config['MAIL_USERNAME'], str(email_content), 'email/adm_logger', user=service.owner, content=str(email_content)) + #send_email(str(deploy.owner.email), str(email_content), 'email/client_logger', content=str(email_content)) service.warning = False service.enabled = False service.daysleft = 0 @@ -93,10 +95,11 @@ def autodisable(): domains_ena = Domain.query.filter_by(deleted=False).filter_by(enabled=True).all() for domain in domains_ena: expiry = domain.date_expire - if today > expiry: + if today >= expiry: email_content = '[!] Domain "' + domain.fqdn + '" is past expiration date and will be marked as INACTIVE. Last charged: ' + lastcharge.strftime('%c') + ' expiry date: ' + expiry.strftime('%c') print(str(email_content)) send_email(app.config['MAIL_USERNAME'], str(email_content), 'email/adm_logger', user=domain.owner, content=str(email_content)) + #send_email(str(deploy.owner.email), str(email_content), 'email/client_logger', content=str(email_content)) domain.warning = False domain.enabled = False domain.daysleft = 0 @@ -121,10 +124,12 @@ def autowarn(): email_content = 'Deployment "' + deploy.machine_alias + '" is ' + str(daysleft.days) + ' days until expiration. Last charged: ' + lastcharge.strftime('%c') + ' expiry date: ' + expiry.strftime('%c') if daysleft.days == warndays or (daysleft.days / 2) == warndays: send_email(app.config['MAIL_USERNAME'], str(email_content), 'email/adm_logger', user=deploy.owner, content=str(email_content)) + #send_email(str(deploy.owner.email), str(email_content), 'email/client_logger', content=str(email_content)) + deploy.warning = True if daysleft.days < warndays: print(str(email_content)) deploy.warning = True - db.session.commit() + db.session.commit() print('\n[{}] Scan for enabled services that will expire soon and enable the warning flag:'.format(today.replace(microsecond=0))) services_ena = Service.query.filter_by(deleted=False).filter_by(enabled=True).all() @@ -138,10 +143,12 @@ def autowarn(): email_content = 'Service "' + service.description + '" is ' + str(daysleft.days) + ' days until expiration. Last charged: ' + lastcharge.strftime('%c') + ' expiry date: ' + expiry.strftime('%c') if daysleft.days == warndays or (daysleft.days / 2) == warndays: send_email(app.config['MAIL_USERNAME'], str(email_content), 'email/adm_logger', user=service.owner, content=str(email_content)) + send_email(str(service.owner.email), str(email_content), 'email/client_logger', content=str(email_content)) + service.warning = True if daysleft.days < warndays: print(str(email_content)) service.warning = True - db.session.commit() + db.session.commit() domains_ena = Domain.query.filter_by(deleted=False).filter_by(enabled=True).all() for domain in domains_ena: @@ -153,10 +160,12 @@ def autowarn(): email_content = 'Domain "' + domain.fqdn + '" is ' + str(daysleft.days)+ ' days until expiration. Expiry date: ' + expiry.strftime('%c') if daysleft.days == warndays or (daysleft.days / 2) == warndays: send_email(app.config['MAIL_USERNAME'], str(email_content), 'email/adm_logger', user=domain.owner, content=str(email_content)) + send_email(str(domain.owner.email), str(email_content), 'email/client_logger', content=str(email_content)) + domain.warning = True if daysleft.days < warndays: print(str(email_content)) domain.warning = True - db.session.commit() + db.session.commit() @manager.command def runserver():