author | Lennard de Rijk <ljvderijk@gmail.com> |
Fri, 24 Jul 2009 15:23:45 +0200 | |
changeset 2671 | 2eaacbbdb168 |
parent 2378 | b5c74f077f0a |
child 2676 | a7fabd1534f8 |
permissions | -rw-r--r-- |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
1 |
#!/usr/bin/python2.5 |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
2 |
# |
1308
35b75ffcbb37
Partially reverted "Update the copyright notice for 2009."
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1307
diff
changeset
|
3 |
# Copyright 2008 the Melange authors. |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
4 |
# |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
5 |
# Licensed under the Apache License, Version 2.0 (the "License"); |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
6 |
# you may not use this file except in compliance with the License. |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
7 |
# You may obtain a copy of the License at |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
8 |
# |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
9 |
# http://www.apache.org/licenses/LICENSE-2.0 |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
10 |
# |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
11 |
# Unless required by applicable law or agreed to in writing, software |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
12 |
# distributed under the License is distributed on an "AS IS" BASIS, |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
13 |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
14 |
# See the License for the specific language governing permissions and |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
15 |
# limitations under the License. |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
16 |
|
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
17 |
"""Helper functions for sending out notifications. |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
18 |
""" |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
19 |
|
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
20 |
__authors__ = [ |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
21 |
'"Lennard de Rijk" <ljvderijk@gmail.com>', |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
22 |
] |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
23 |
|
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
24 |
|
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
25 |
import os |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
26 |
import time |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
27 |
|
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
28 |
from django.template import loader |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
29 |
from django.utils.encoding import force_unicode |
970
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
930
diff
changeset
|
30 |
from django.utils.translation import ugettext |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
31 |
|
820
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
32 |
# We cannot import soc.logic.models notification nor user here |
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
33 |
# due to cyclic imports |
1548
15caebd3304d
Denormalize accounts before trying to send e-mail
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1546
diff
changeset
|
34 |
from soc.logic import accounts |
820
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
35 |
from soc.logic import dicts |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
36 |
from soc.logic import mail_dispatcher |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
37 |
from soc.views.helper import redirects |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
38 |
|
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
39 |
|
970
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
930
diff
changeset
|
40 |
DEF_NEW_NOTIFICATION_MSG = ugettext( |
1893
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
41 |
"You have received a new Notification.") |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
42 |
|
970
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
930
diff
changeset
|
43 |
DEF_INVITATION_MSG_FMT = ugettext( |
915
27c656c01591
Added verbose role name to the request model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
870
diff
changeset
|
44 |
"Invitation to become a %(role_verbose)s for %(group)s.") |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
45 |
|
1138
18ef39338211
Refactored review and reviewoverview out of club_app.py
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1115
diff
changeset
|
46 |
DEF_NEW_GROUP_MSG_FMT = ugettext( |
18ef39338211
Refactored review and reviewoverview out of club_app.py
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1115
diff
changeset
|
47 |
"Your %(application_type)s for %(group_name)s has been accepted.") |
821
5afe16b2e86b
Send a notifcation if a club application is accepted
Sverre Rabbelier <srabbelier@gmail.com>
parents:
820
diff
changeset
|
48 |
|
1893
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
49 |
DEF_NEW_REVIEW_SUBJECT_FMT = ugettext( |
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
50 |
"New %s Review on %s") |
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
51 |
|
1450
688648dfe42c
Use site name and noreply address when sending emails
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1308
diff
changeset
|
52 |
DEF_WELCOME_MSG_FMT = ugettext("Welcome to %(site_name)s, %(name)s,") |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
53 |
|
1648
11c74138c56d
Remove unused variables and imports, fix too long lines in soc.logic.helper.notifications module.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
1563
diff
changeset
|
54 |
DEF_GROUP_INVITE_NOTIFICATION_TEMPLATE = 'soc/notification/messages/' \ |
11c74138c56d
Remove unused variables and imports, fix too long lines in soc.logic.helper.notifications module.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
1563
diff
changeset
|
55 |
'invitation.html' |
820
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
56 |
|
1893
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
57 |
DEF_NEW_REVIEW_NOTIFICATION_TEMPLATE = 'soc/notification/messages/' \ |
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
58 |
'new_review.html' |
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
59 |
|
1138
18ef39338211
Refactored review and reviewoverview out of club_app.py
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1115
diff
changeset
|
60 |
DEF_NEW_GROUP_TEMPLATE = 'soc/group/messages/accepted.html' |
820
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
61 |
|
818
ddd102e82107
Fixed whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
792
diff
changeset
|
62 |
|
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
63 |
def sendInviteNotification(entity): |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
64 |
"""Sends out an invite notification to the user the request is for. |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
65 |
|
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
66 |
Args: |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
67 |
entity : A request containing the information needed to create the message |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
68 |
""" |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
69 |
|
2671
2eaacbbdb168
Use proper in-line imports where possible in the Notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2378
diff
changeset
|
70 |
from soc.logic.models.user import logic as user_logic |
2eaacbbdb168
Use proper in-line imports where possible in the Notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2378
diff
changeset
|
71 |
|
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
72 |
# get the user the request is for |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
73 |
properties = {'link_id': entity.link_id } |
2671
2eaacbbdb168
Use proper in-line imports where possible in the Notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2378
diff
changeset
|
74 |
to_user = user_logic.getForFields(properties, unique=True) |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
75 |
|
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
76 |
invitation_url = "http://%(host)s%(index)s" % { |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
77 |
'host' : os.environ['HTTP_HOST'], |
930
7e88fba647b1
Added missing changes from r1522.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
915
diff
changeset
|
78 |
'index': redirects.getInviteProcessRedirect(entity, None), |
820
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
79 |
} |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
80 |
|
820
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
81 |
message_properties = { |
915
27c656c01591
Added verbose role name to the request model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
870
diff
changeset
|
82 |
'role_verbose' : entity.role_verbose, |
820
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
83 |
'group': entity.scope.name, |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
84 |
'invitation_url': invitation_url, |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
85 |
} |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
86 |
|
820
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
87 |
subject = DEF_INVITATION_MSG_FMT % { |
915
27c656c01591
Added verbose role name to the request model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
870
diff
changeset
|
88 |
'role_verbose' : entity.role_verbose, |
820
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
89 |
'group' : entity.scope.name |
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
90 |
} |
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
91 |
|
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
92 |
template = DEF_GROUP_INVITE_NOTIFICATION_TEMPLATE |
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
93 |
|
2671
2eaacbbdb168
Use proper in-line imports where possible in the Notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2378
diff
changeset
|
94 |
from_user = user_logic.getForCurrentAccount() |
1887
8b71f4e58f39
Changed notifications helper to properly use the fact that from_user is not a required property.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1648
diff
changeset
|
95 |
|
8b71f4e58f39
Changed notifications helper to properly use the fact that from_user is not a required property.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1648
diff
changeset
|
96 |
sendNotification(to_user, from_user, message_properties, subject, template) |
820
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
97 |
|
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
98 |
|
1138
18ef39338211
Refactored review and reviewoverview out of club_app.py
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1115
diff
changeset
|
99 |
def sendNewGroupNotification(entity, params): |
18ef39338211
Refactored review and reviewoverview out of club_app.py
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1115
diff
changeset
|
100 |
"""Sends out an invite notification to the applicant of the group. |
821
5afe16b2e86b
Send a notifcation if a club application is accepted
Sverre Rabbelier <srabbelier@gmail.com>
parents:
820
diff
changeset
|
101 |
|
5afe16b2e86b
Send a notifcation if a club application is accepted
Sverre Rabbelier <srabbelier@gmail.com>
parents:
820
diff
changeset
|
102 |
Args: |
1138
18ef39338211
Refactored review and reviewoverview out of club_app.py
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1115
diff
changeset
|
103 |
entity : An accepted group application |
821
5afe16b2e86b
Send a notifcation if a club application is accepted
Sverre Rabbelier <srabbelier@gmail.com>
parents:
820
diff
changeset
|
104 |
""" |
5afe16b2e86b
Send a notifcation if a club application is accepted
Sverre Rabbelier <srabbelier@gmail.com>
parents:
820
diff
changeset
|
105 |
|
1138
18ef39338211
Refactored review and reviewoverview out of club_app.py
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1115
diff
changeset
|
106 |
url = "http://%(host)s%(redirect)s" % { |
1511
3342ce7a495c
Fix some whitespace damadge and a style fix
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1508
diff
changeset
|
107 |
'redirect': redirects.getApplicantRedirect(entity, |
1138
18ef39338211
Refactored review and reviewoverview out of club_app.py
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1115
diff
changeset
|
108 |
{'url_name': params['group_url_name']}), |
18ef39338211
Refactored review and reviewoverview out of club_app.py
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1115
diff
changeset
|
109 |
'host': os.environ['HTTP_HOST'], |
821
5afe16b2e86b
Send a notifcation if a club application is accepted
Sverre Rabbelier <srabbelier@gmail.com>
parents:
820
diff
changeset
|
110 |
} |
5afe16b2e86b
Send a notifcation if a club application is accepted
Sverre Rabbelier <srabbelier@gmail.com>
parents:
820
diff
changeset
|
111 |
|
5afe16b2e86b
Send a notifcation if a club application is accepted
Sverre Rabbelier <srabbelier@gmail.com>
parents:
820
diff
changeset
|
112 |
message_properties = { |
1533 | 113 |
'application_type': params['name'], |
114 |
'group_type': params['group_name'], |
|
1138
18ef39338211
Refactored review and reviewoverview out of club_app.py
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1115
diff
changeset
|
115 |
'group_name': entity.name, |
821
5afe16b2e86b
Send a notifcation if a club application is accepted
Sverre Rabbelier <srabbelier@gmail.com>
parents:
820
diff
changeset
|
116 |
'url': url, |
5afe16b2e86b
Send a notifcation if a club application is accepted
Sverre Rabbelier <srabbelier@gmail.com>
parents:
820
diff
changeset
|
117 |
} |
5afe16b2e86b
Send a notifcation if a club application is accepted
Sverre Rabbelier <srabbelier@gmail.com>
parents:
820
diff
changeset
|
118 |
|
1138
18ef39338211
Refactored review and reviewoverview out of club_app.py
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1115
diff
changeset
|
119 |
subject = DEF_NEW_GROUP_MSG_FMT % { |
18ef39338211
Refactored review and reviewoverview out of club_app.py
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1115
diff
changeset
|
120 |
'application_type': params['name'], |
18ef39338211
Refactored review and reviewoverview out of club_app.py
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1115
diff
changeset
|
121 |
'group_name': entity.name, |
821
5afe16b2e86b
Send a notifcation if a club application is accepted
Sverre Rabbelier <srabbelier@gmail.com>
parents:
820
diff
changeset
|
122 |
} |
5afe16b2e86b
Send a notifcation if a club application is accepted
Sverre Rabbelier <srabbelier@gmail.com>
parents:
820
diff
changeset
|
123 |
|
1138
18ef39338211
Refactored review and reviewoverview out of club_app.py
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1115
diff
changeset
|
124 |
template = DEF_NEW_GROUP_TEMPLATE |
821
5afe16b2e86b
Send a notifcation if a club application is accepted
Sverre Rabbelier <srabbelier@gmail.com>
parents:
820
diff
changeset
|
125 |
|
2170
cec46675f866
Send out notifications and emails to admin and backup admin
Sverre Rabbelier <srabbelier@gmail.com>
parents:
2068
diff
changeset
|
126 |
for to in [entity.applicant, entity.backup_admin]: |
2171
83d96aadd228
Do not rely on a backup_admin being set
Sverre Rabbelier <srabbelier@gmail.com>
parents:
2170
diff
changeset
|
127 |
if not to: |
83d96aadd228
Do not rely on a backup_admin being set
Sverre Rabbelier <srabbelier@gmail.com>
parents:
2170
diff
changeset
|
128 |
continue |
83d96aadd228
Do not rely on a backup_admin being set
Sverre Rabbelier <srabbelier@gmail.com>
parents:
2170
diff
changeset
|
129 |
|
2170
cec46675f866
Send out notifications and emails to admin and backup admin
Sverre Rabbelier <srabbelier@gmail.com>
parents:
2068
diff
changeset
|
130 |
sendNotification(to, None, message_properties, subject, template) |
821
5afe16b2e86b
Send a notifcation if a club application is accepted
Sverre Rabbelier <srabbelier@gmail.com>
parents:
820
diff
changeset
|
131 |
|
5afe16b2e86b
Send a notifcation if a club application is accepted
Sverre Rabbelier <srabbelier@gmail.com>
parents:
820
diff
changeset
|
132 |
|
1893
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
133 |
def sendNewReviewNotification(to_user, review, reviewed_name, redirect_url): |
1894
da52a47b5a6b
Send out a message on a new StudentProposal review to all followers.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1893
diff
changeset
|
134 |
"""Sends out a notification to alert the user of a new Review. |
1893
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
135 |
|
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
136 |
Args: |
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
137 |
to_user: The user who should receive a notification |
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
138 |
review: The review which triggers this notification |
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
139 |
reviewed_name: Name of the entity reviewed |
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
140 |
redirect_url: URL to which the follower should be sent for more information |
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
141 |
""" |
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
142 |
|
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
143 |
message_properties = {'redirect_url': redirect_url, |
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
144 |
'reviewer_name': review.author_name(), |
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
145 |
'reviewed_name': reviewed_name, |
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
146 |
} |
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
147 |
|
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
148 |
# determine the subject |
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
149 |
review_type = 'public' if review.is_public else 'private' |
2068
f5e8fbbd3bea
Style fixes and removal of unused imports in soc.logic.helper modules.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
1894
diff
changeset
|
150 |
subject = DEF_NEW_REVIEW_SUBJECT_FMT % (review_type, reviewed_name) |
1893
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
151 |
|
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
152 |
template = DEF_NEW_REVIEW_NOTIFICATION_TEMPLATE |
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
153 |
|
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
154 |
# send the notification from the system |
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
155 |
sendNotification(to_user, None, message_properties, subject, template) |
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
156 |
|
bcb73072aa66
Added sendNewReviewNotification to the notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1890
diff
changeset
|
157 |
|
1887
8b71f4e58f39
Changed notifications helper to properly use the fact that from_user is not a required property.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1648
diff
changeset
|
158 |
def sendNotification(to_user, from_user, message_properties, subject, template): |
8b71f4e58f39
Changed notifications helper to properly use the fact that from_user is not a required property.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1648
diff
changeset
|
159 |
"""Sends out a notification to the specified user. |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
160 |
|
820
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
161 |
Args: |
831
cbe033fedde8
Add missing dots in docstrings. Add sendNotification parameters description to docstring in soc.logic.helper module.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
821
diff
changeset
|
162 |
to_user : user to which the notification will be send |
1887
8b71f4e58f39
Changed notifications helper to properly use the fact that from_user is not a required property.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1648
diff
changeset
|
163 |
from_user: user from who sends the notifications (None iff sent by site) |
8b71f4e58f39
Changed notifications helper to properly use the fact that from_user is not a required property.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1648
diff
changeset
|
164 |
message_properties : message properties |
831
cbe033fedde8
Add missing dots in docstrings. Add sendNotification parameters description to docstring in soc.logic.helper module.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
821
diff
changeset
|
165 |
subject : subject of notification email |
cbe033fedde8
Add missing dots in docstrings. Add sendNotification parameters description to docstring in soc.logic.helper module.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
821
diff
changeset
|
166 |
template : template used for generating notification |
820
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
167 |
""" |
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
168 |
|
2671
2eaacbbdb168
Use proper in-line imports where possible in the Notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2378
diff
changeset
|
169 |
from soc.logic.models.notification import logic as notification_logic |
2eaacbbdb168
Use proper in-line imports where possible in the Notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2378
diff
changeset
|
170 |
from soc.logic.models.site import logic as site_logic |
2eaacbbdb168
Use proper in-line imports where possible in the Notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2378
diff
changeset
|
171 |
|
1887
8b71f4e58f39
Changed notifications helper to properly use the fact that from_user is not a required property.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1648
diff
changeset
|
172 |
if from_user: |
8b71f4e58f39
Changed notifications helper to properly use the fact that from_user is not a required property.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1648
diff
changeset
|
173 |
sender_name = from_user.name |
8b71f4e58f39
Changed notifications helper to properly use the fact that from_user is not a required property.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1648
diff
changeset
|
174 |
else: |
2671
2eaacbbdb168
Use proper in-line imports where possible in the Notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2378
diff
changeset
|
175 |
site_entity = site_logic.getSingleton() |
2068
f5e8fbbd3bea
Style fixes and removal of unused imports in soc.logic.helper modules.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
1894
diff
changeset
|
176 |
sender_name = 'The %s Team' % (site_entity.site_name) |
820
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
177 |
|
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
178 |
new_message_properties = { |
1887
8b71f4e58f39
Changed notifications helper to properly use the fact that from_user is not a required property.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1648
diff
changeset
|
179 |
'sender_name': sender_name, |
820
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
180 |
'to_name': to_user.name, |
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
181 |
} |
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
182 |
|
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
183 |
message_properties = dicts.merge(message_properties, new_message_properties) |
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
184 |
|
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
185 |
message = loader.render_to_string(template, dictionary=message_properties) |
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
186 |
|
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
187 |
fields = { |
1890
a8a5da24212c
Increased the length of the timebased link_id to handle more items at once.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1887
diff
changeset
|
188 |
'from_user': from_user, |
820
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
189 |
'subject': subject, |
1890
a8a5da24212c
Increased the length of the timebased link_id to handle more items at once.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1887
diff
changeset
|
190 |
'message': message, |
a8a5da24212c
Increased the length of the timebased link_id to handle more items at once.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1887
diff
changeset
|
191 |
'scope': to_user, |
2068
f5e8fbbd3bea
Style fixes and removal of unused imports in soc.logic.helper modules.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
1894
diff
changeset
|
192 |
'link_id': 't%i' % (int(time.time()*100)), |
1890
a8a5da24212c
Increased the length of the timebased link_id to handle more items at once.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1887
diff
changeset
|
193 |
'scope_path': to_user.link_id |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
194 |
} |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
195 |
|
2671
2eaacbbdb168
Use proper in-line imports where possible in the Notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2378
diff
changeset
|
196 |
key_name = notification_logic.getKeyNameFromFields(fields) |
820
56eec9c8bb47
Factor out sendNotification from sendInviteNotification
Sverre Rabbelier <srabbelier@gmail.com>
parents:
818
diff
changeset
|
197 |
|
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
198 |
# create and put a new notification in the datastore |
2671
2eaacbbdb168
Use proper in-line imports where possible in the Notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2378
diff
changeset
|
199 |
notification_logic.updateOrCreateFromKeyName(fields, key_name) |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
200 |
|
818
ddd102e82107
Fixed whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
792
diff
changeset
|
201 |
|
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
202 |
def sendNewNotificationMessage(notification_entity): |
831
cbe033fedde8
Add missing dots in docstrings. Add sendNotification parameters description to docstring in soc.logic.helper module.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
821
diff
changeset
|
203 |
"""Sends an email to a user about a new notification. |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
204 |
|
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
205 |
Args: |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
206 |
notification_entity: Notification about which the message should be sent |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
207 |
""" |
2671
2eaacbbdb168
Use proper in-line imports where possible in the Notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2378
diff
changeset
|
208 |
|
2eaacbbdb168
Use proper in-line imports where possible in the Notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2378
diff
changeset
|
209 |
from soc.logic.models.site import logic as site_logic |
2eaacbbdb168
Use proper in-line imports where possible in the Notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2378
diff
changeset
|
210 |
from soc.views.models.notification import view as notification_view |
2319
3eee2308f1dd
Do not rely on notifiction module being imported
Sverre Rabbelier <sverre@rabbelier.nl>
parents:
2171
diff
changeset
|
211 |
|
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
212 |
# create the url to show this notification |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
213 |
notification_url = "http://%(host)s%(index)s" % { |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
214 |
'host' : os.environ['HTTP_HOST'], |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
215 |
'index': redirects.getPublicRedirect(notification_entity, |
2671
2eaacbbdb168
Use proper in-line imports where possible in the Notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2378
diff
changeset
|
216 |
notification_view.getParams())} |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
217 |
|
1546
cc54ada3cf1b
Using getDefaultMailSender for welcome and notification messages.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1533
diff
changeset
|
218 |
sender = mail_dispatcher.getDefaultMailSender() |
2671
2eaacbbdb168
Use proper in-line imports where possible in the Notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2378
diff
changeset
|
219 |
site_entity = site_logic.getSingleton() |
1561
fe1b141bfc2c
Replaced 'Melange' with site_name where appropriate
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1560
diff
changeset
|
220 |
site_name = site_entity.site_name |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
221 |
|
1550
a872030dc3ca
getDefaultMailSender now returns a tuple (name, email adress).
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1548
diff
changeset
|
222 |
# get the default mail sender |
a872030dc3ca
getDefaultMailSender now returns a tuple (name, email adress).
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1548
diff
changeset
|
223 |
default_sender = mail_dispatcher.getDefaultMailSender() |
a872030dc3ca
getDefaultMailSender now returns a tuple (name, email adress).
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1548
diff
changeset
|
224 |
|
a872030dc3ca
getDefaultMailSender now returns a tuple (name, email adress).
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1548
diff
changeset
|
225 |
if not default_sender: |
1546
cc54ada3cf1b
Using getDefaultMailSender for welcome and notification messages.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1533
diff
changeset
|
226 |
# no valid sender found, abort |
cc54ada3cf1b
Using getDefaultMailSender for welcome and notification messages.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1533
diff
changeset
|
227 |
return |
1550
a872030dc3ca
getDefaultMailSender now returns a tuple (name, email adress).
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1548
diff
changeset
|
228 |
else: |
a872030dc3ca
getDefaultMailSender now returns a tuple (name, email adress).
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1548
diff
changeset
|
229 |
(sender_name, sender) = default_sender |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
230 |
|
1548
15caebd3304d
Denormalize accounts before trying to send e-mail
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1546
diff
changeset
|
231 |
to = accounts.denormalizeAccount(notification_entity.scope.account).email() |
15caebd3304d
Denormalize accounts before trying to send e-mail
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1546
diff
changeset
|
232 |
|
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
233 |
# create the message contents |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
234 |
messageProperties = { |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
235 |
'to_name': notification_entity.scope.name, |
1550
a872030dc3ca
getDefaultMailSender now returns a tuple (name, email adress).
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1548
diff
changeset
|
236 |
'sender_name': sender_name, |
1548
15caebd3304d
Denormalize accounts before trying to send e-mail
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1546
diff
changeset
|
237 |
'to': to, |
1546
cc54ada3cf1b
Using getDefaultMailSender for welcome and notification messages.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1533
diff
changeset
|
238 |
'sender': sender, |
1561
fe1b141bfc2c
Replaced 'Melange' with site_name where appropriate
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1560
diff
changeset
|
239 |
'site_name': site_name, |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
240 |
'subject': force_unicode(DEF_NEW_NOTIFICATION_MSG), |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
241 |
'notification' : notification_entity, |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
242 |
'notification_url' : notification_url |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
243 |
} |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
244 |
|
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
245 |
# send out the message using the default new notification template |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
246 |
mail_dispatcher.sendMailFromTemplate('soc/mail/new_notification.html', |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
247 |
messageProperties) |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
248 |
|
818
ddd102e82107
Fixed whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
792
diff
changeset
|
249 |
|
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
250 |
def sendWelcomeMessage(user_entity): |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
251 |
"""Sends out a welcome message to a user. |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
252 |
|
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
253 |
Args: |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
254 |
user_entity: User entity which the message should be send to |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
255 |
""" |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
256 |
|
2671
2eaacbbdb168
Use proper in-line imports where possible in the Notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2378
diff
changeset
|
257 |
from soc.logic.models.site import logic as site_logic |
2eaacbbdb168
Use proper in-line imports where possible in the Notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2378
diff
changeset
|
258 |
|
1546
cc54ada3cf1b
Using getDefaultMailSender for welcome and notification messages.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1533
diff
changeset
|
259 |
# get site name |
2671
2eaacbbdb168
Use proper in-line imports where possible in the Notifications helper.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2378
diff
changeset
|
260 |
site_entity = site_logic.getSingleton() |
1450
688648dfe42c
Use site name and noreply address when sending emails
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1308
diff
changeset
|
261 |
site_name = site_entity.site_name |
688648dfe42c
Use site name and noreply address when sending emails
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1308
diff
changeset
|
262 |
|
1546
cc54ada3cf1b
Using getDefaultMailSender for welcome and notification messages.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1533
diff
changeset
|
263 |
# get the default mail sender |
1550
a872030dc3ca
getDefaultMailSender now returns a tuple (name, email adress).
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1548
diff
changeset
|
264 |
default_sender = mail_dispatcher.getDefaultMailSender() |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
265 |
|
1550
a872030dc3ca
getDefaultMailSender now returns a tuple (name, email adress).
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1548
diff
changeset
|
266 |
if not default_sender: |
1546
cc54ada3cf1b
Using getDefaultMailSender for welcome and notification messages.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1533
diff
changeset
|
267 |
# no valid sender found, should not happen but abort anyway |
cc54ada3cf1b
Using getDefaultMailSender for welcome and notification messages.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1533
diff
changeset
|
268 |
return |
1550
a872030dc3ca
getDefaultMailSender now returns a tuple (name, email adress).
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1548
diff
changeset
|
269 |
else: |
1560
656aace0b15f
Catch mail exceptions and use get_current_user
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1550
diff
changeset
|
270 |
sender_name, sender = default_sender |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
271 |
|
1548
15caebd3304d
Denormalize accounts before trying to send e-mail
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1546
diff
changeset
|
272 |
to = accounts.denormalizeAccount(user_entity.account).email() |
15caebd3304d
Denormalize accounts before trying to send e-mail
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1546
diff
changeset
|
273 |
|
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
274 |
# create the message contents |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
275 |
messageProperties = { |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
276 |
'to_name': user_entity.name, |
1550
a872030dc3ca
getDefaultMailSender now returns a tuple (name, email adress).
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1548
diff
changeset
|
277 |
'sender_name': sender_name, |
1548
15caebd3304d
Denormalize accounts before trying to send e-mail
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1546
diff
changeset
|
278 |
'to': to, |
1546
cc54ada3cf1b
Using getDefaultMailSender for welcome and notification messages.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1533
diff
changeset
|
279 |
'sender': sender, |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
280 |
'subject': DEF_WELCOME_MSG_FMT % { |
1450
688648dfe42c
Use site name and noreply address when sending emails
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1308
diff
changeset
|
281 |
'site_name': site_name, |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
282 |
'name': user_entity.name |
2378
b5c74f077f0a
Added a link to the website where the user has registered to the welcome email.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2360
diff
changeset
|
283 |
}, |
b5c74f077f0a
Added a link to the website where the user has registered to the welcome email.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2360
diff
changeset
|
284 |
'site_name': site_name, |
b5c74f077f0a
Added a link to the website where the user has registered to the welcome email.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
2360
diff
changeset
|
285 |
'site_location': 'http://%s' % os.environ['HTTP_HOST'], |
792
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
286 |
} |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
287 |
|
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
288 |
# send out the message using the default welcome template |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
289 |
mail_dispatcher.sendMailFromTemplate('soc/mail/welcome.html', |
3cc6bea5c632
Fixed line-ending and whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents:
784
diff
changeset
|
290 |
messageProperties) |