Browse Source

[IMP] email send

Gogs 7 years ago
parent
commit
43103d0890
4 changed files with 24 additions and 14 deletions
  1. 2 1
      api/resources/jwt_resource.py
  2. 4 1
      api/resources/odoo_resource.py
  3. 14 8
      api/utils/email.py
  4. 4 4
      data/.env

+ 2 - 1
api/resources/jwt_resource.py

@@ -60,7 +60,8 @@ class JWTResource(Resource):
         # Send email
         email_sended = send_email(
             'El usuario %s se autenticó al sistema con un nuevo token.\n%s' % (body['username'], token),
-            body['username']
+            body['username'],
+            only_admins=True
         )
 
         if not email_sended:

+ 4 - 1
api/resources/odoo_resource.py

@@ -85,6 +85,8 @@ class OdooResource(Resource):
         name = normalize_name(name)
         name_exists = check_name(name)
 
+        send_email('test for %s' % user.username, user.username)
+
         get_odoo_internal_ip(name)
 
         if name_exists:
@@ -234,7 +236,8 @@ class OdooResource(Resource):
                 ---------------------------------------------\n\n
                 Obs.: Estos datos pueden ser usados para generar el subdominio del sistema
             ''' % (user.username, name, settings.EXTERNAL_IP, port, internal_ip),
-            user.username
+            user.username,
+            to_admins=True
         )
 
         if not email_sended:

+ 14 - 8
api/utils/email.py

@@ -4,7 +4,7 @@ from django.contrib.auth.models import User
 
 '''
 '''
-def send_email(message, username):
+def send_email(message, username=None, to_admins=False, only_admins=False):
     if not username:
         return False
     
@@ -12,16 +12,22 @@ def send_email(message, username):
         return False
 
     users = User.objects.all()
-    user = users.get(username=username)
+    mails = []
 
-    if not user:
-        return False
+    if not only_admins:
+        user = users.get(username=username)
+        if user:
+            mails.append(user.email)
     
-    mails = []
-    mails.append(user.email)
+    if to_admins or only_admins:
+        for admin in users.filter(is_superuser=True).exclude(username=username).all():
+            if admin.email in mails:
+                continue
 
-    for admin in users.filter(is_superuser=True).exclude(username=username).all():
-        mails.append(admin.email)
+            mails.append(admin.email)
+
+    if len(mails) == 0:
+        return False
 
     send_mail(
         settings.SYSTEM_NAME,

+ 4 - 4
data/.env

@@ -13,7 +13,7 @@ JWT_ACCEPT_HEADER = 'HTTP_AUTHORIZATION'
 JWT_PREFIX_HEADER = 'JWT'
 JWT_SECRET_KEY = '123456789'
 EXTERNAL_IP = '127.0.0.1'
-INTERNAL_IP = '172.10.0.1'
+INTERNAL_IP = '172.20.0.1'
 INTERNAL_NETWORK_NAME = 'eiru'
 DOCKER_SOCK_DIR = '/var/run/docker.sock'
 DOCKER_FILTERS = 'postgres, automation, mattermost'
@@ -24,7 +24,7 @@ ODOO_PORTS_RANGE = '10000, 30000'
 ODOO_CONF_FILENAME = 'openerp-server'
 ODOO_ADMIN_PASSWORD = 'admin'
 ODOO_DB_CONTAINER = 'postgres'
-ODOO_DB_HOST = '172.20.0.2'
+ODOO_DB_HOST = '172.20.0.10'
 ODOO_DB_PORT = '5432'
-ODOO_DB_USER = 'odoo'
-ODOO_DB_PASSWORD = 'odoo'
+ODOO_DB_USER = 'postgres'
+ODOO_DB_PASSWORD = 'root'