Browse Source

reenable email notification for user creation

Guénaël Muller 6 years ago
parent
commit
558158226f

+ 18 - 0
backend/tests_configs.ini View File

63
 email.notification.smtp.port = 1025
63
 email.notification.smtp.port = 1025
64
 email.notification.smtp.user = test_user
64
 email.notification.smtp.user = test_user
65
 email.notification.smtp.password = just_a_password
65
 email.notification.smtp.password = just_a_password
66
+
67
+[functional_test]
68
+sqlalchemy.url = sqlite:///tracim_test.sqlite
69
+depot_storage_name = test
70
+depot_storage_dir = /tmp/test/depot
71
+user.auth_token.validity = 604800
72
+preview_cache_dir = /tmp/test/preview_cache
73
+email.notification.activated = false
74
+preview.jpg.restricted_dims = True
75
+
76
+[functional_test_no_db]
77
+sqlalchemy.url = sqlite://
78
+depot_storage_name = test
79
+depot_storage_dir = /tmp/test/depot
80
+user.auth_token.validity = 604800
81
+preview_cache_dir = /tmp/test/preview_cache
82
+email.notification.activated = false
83
+preview.jpg.restricted_dims = True

+ 3 - 1
backend/tracim_backend/config.py View File

160
 
160
 
161
         self.EMAIL_NOTIFICATION_FROM_EMAIL = settings.get(
161
         self.EMAIL_NOTIFICATION_FROM_EMAIL = settings.get(
162
             'email.notification.from.email',
162
             'email.notification.from.email',
163
+            'noreply+{user_id}@trac.im'
163
         )
164
         )
164
         self.EMAIL_NOTIFICATION_FROM_DEFAULT_LABEL = settings.get(
165
         self.EMAIL_NOTIFICATION_FROM_DEFAULT_LABEL = settings.get(
165
-            'email.notification.from.default_label'
166
+            'email.notification.from.default_label',
167
+            'Tracim Notifications'
166
         )
168
         )
167
         self.EMAIL_NOTIFICATION_REPLY_TO_EMAIL = settings.get(
169
         self.EMAIL_NOTIFICATION_REPLY_TO_EMAIL = settings.get(
168
             'email.notification.reply_to.email',
170
             'email.notification.reply_to.email',

+ 8 - 11
backend/tracim_backend/tests/__init__.py View File

68
 class FunctionalTest(unittest.TestCase):
68
 class FunctionalTest(unittest.TestCase):
69
 
69
 
70
     fixtures = [BaseFixture]
70
     fixtures = [BaseFixture]
71
-    sqlalchemy_url = 'sqlite:///tracim_test.sqlite'
71
+    config_uri = 'tests_configs.ini'
72
+    config_section = 'functional_test'
72
 
73
 
73
     def setUp(self):
74
     def setUp(self):
74
         logger._logger.setLevel('WARNING')
75
         logger._logger.setLevel('WARNING')
76
+
75
         DepotManager._clear()
77
         DepotManager._clear()
76
-        self.settings = {
77
-            'sqlalchemy.url': self.sqlalchemy_url,
78
-            'user.auth_token.validity': '604800',
79
-            'depot_storage_dir': '/tmp/test/depot',
80
-            'depot_storage_name': 'test',
81
-            'preview_cache_dir': '/tmp/test/preview_cache',
82
-            'preview.jpg.restricted_dims': True,
83
-            'email.notification.activated': 'false',
84
-        }
78
+        self.settings = plaster.get_settings(
79
+            self.config_uri,
80
+            self.config_section
81
+        )
85
         hapic.reset_context()
82
         hapic.reset_context()
86
         self.engine = get_engine(self.settings)
83
         self.engine = get_engine(self.settings)
87
         DeclarativeBase.metadata.create_all(self.engine)
84
         DeclarativeBase.metadata.create_all(self.engine)
127
 
124
 
128
 
125
 
129
 class FunctionalTestNoDB(FunctionalTest):
126
 class FunctionalTestNoDB(FunctionalTest):
130
-    sqlalchemy_url = 'sqlite://'
127
+    config_section = 'functional_test_no_db'
131
 
128
 
132
     def init_database(self, settings):
129
     def init_database(self, settings):
133
         self.engine = get_engine(settings)
130
         self.engine = get_engine(settings)

+ 6 - 1
backend/tracim_backend/views/core_api/workspace_controller.py View File

214
                 # notification for creation
214
                 # notification for creation
215
                 user = uapi.create_user(
215
                 user = uapi.create_user(
216
                     hapic_data.body.user_email_or_public_name,
216
                     hapic_data.body.user_email_or_public_name,
217
-                    do_notify=False
217
+                    do_notify=True
218
                 )  # nopep8
218
                 )  # nopep8
219
                 newly_created = True
219
                 newly_created = True
220
+                if app_config.EMAIL_NOTIFICATION_ACTIVATED and \
221
+                        app_config.EMAIL_PROCESSING_MODE == 'SYNC':
222
+                    email_sent = True
223
+
220
             except EmailValidationFailed:
224
             except EmailValidationFailed:
221
                 raise UserCreationFailed('no valid mail given')
225
                 raise UserCreationFailed('no valid mail given')
226
+
222
         role = rapi.create_one(
227
         role = rapi.create_one(
223
             user=user,
228
             user=user,
224
             workspace=request.current_workspace,
229
             workspace=request.current_workspace,