Statistics
| Branch: | Tag: | Revision:

root / snf-astakos-app / astakos / im / messages.py @ 8fb8d0cf

History | View | Annotate | Download (17.1 kB)

1
# Copyright 2011-2012 GRNET S.A. All rights reserved.
2
#
3
# Redistribution and use in source and binary forms, with or
4
# without modification, are permitted provided that the following
5
# conditions are met:
6
#
7
#   1. Redistributions of source code must retain the above
8
#      copyright notice, this list of conditions and the following
9
#      disclaimer.
10
#
11
#   2. Redistributions in binary form must reproduce the above
12
#      copyright notice, this list of conditions and the following
13
#      disclaimer in the documentation and/or other materials
14
#      provided with the distribution.
15
#
16
# THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
17
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
20
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
23
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION HOWEVER CAUSED
24
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE ARISING IN
26
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27
# POSSIBILITY OF SUCH DAMAGE.
28
#
29
# The views and conclusions contained in the software and
30
# documentation are those of the authors and should not be
31
# interpreted as representing official policies, either expressed
32
# or implied, of GRNET S.A.
33

    
34
from django.conf import settings
35
import astakos.im.settings as astakos_settings
36

    
37

    
38
LOGGED_IN_WARNING = 'It seems that you are already logged in.'
39
ACCOUNT_ALREADY_VERIFIED = 'This account is already verified.'
40
ACCOUNT_ALREADY_MODERATED = 'This account is already moderated.'
41
ACCOUNT_ALREADY_ACTIVE = 'This account is already active.'
42
ACCOUNT_REJECTED = 'This account has been rejected.'
43
ACCOUNT_NOT_ACTIVE = 'User account is not active.'
44
ACCOUNT_NOT_MODERATED = 'User account is not moderated.'
45
ACCOUNT_NOT_VERIFIED = 'User account does not have a verified email address.'
46
ACCOUNT_RESEND_ACTIVATION = (
47
    'It seems that an activation email has been sent to you, but you have '
48
    'not followed the activation link. '
49
    '<a href="%(send_activation_url)s">Resend activation email.</a>')
50
INACTIVE_ACCOUNT_CHANGE_EMAIL = ''.join(
51
    [ACCOUNT_RESEND_ACTIVATION,
52
     ' Or <a href="%(signup_url)s">Send activation to a new email.</a>'])
53

    
54
ACCOUNT_PENDING_ACTIVATION_HELP = (
55
    'An activation email has been sent to you. Make sure you check your '
56
    'spam folder, too.')
57

    
58
ACCOUNT_ACTIVATED = 'Congratulations. Your account has' + \
59
    ' been activated. You are now logged in.'
60
ACCOUNT_DEACTIVATED = 'Your account is inactive'
61
PASSWORD_RESET_DONE = (
62
    'An email with details on how to change your password has been sent. '
63
    'Please check your Inbox.')
64
PASSWORD_RESET_CONFIRM_DONE = (
65
    'Your password has changed successfully. You '
66
    'can now login using your new password.')
67
PASSWORD_CHANGED = 'Your new password was set successfully.'
68

    
69
ACCOUNT_RESEND_ACTIVATION = 'Resend activation email'
70
ACCOUNT_USER_ACTIVATION_PENDING = 'You have not followed the activation link'
71

    
72
ACCOUNT_UNKNOWN = 'There is no such account.'
73
TOKEN_UNKNOWN = 'There is no user matching this authentication token.'
74
TOKEN_UPDATED = 'Your authentication token has been updated successfully.'
75

    
76
PROFILE_UPDATED = 'Your profile has been updated successfully.'
77
FEEDBACK_SENT = (
78
    'Thank you for contacting us. We will process your message carefully '
79
    'and get back to you.')
80
EMAIL_CHANGED = 'The email of your account changed successfully.'
81
EMAIL_CHANGE_REGISTERED = (
82
    'Your request for changing your email has been registered successfully. '
83
    'A verification email will be sent to your new address.')
84

    
85
OBJECT_CREATED = 'The %(verbose_name)s was created successfully.'
86
USER_MEMBERSHIP_REJECTED = (
87
    'Request by %s to join the project has been rejected.')
88
BILLING_ERROR = 'Service response status: %(status)d'
89

    
90
GENERIC_ERROR = (
91
    'Hmm... It seems something bad has happened, and we don\'t know the '
92
    'details right now. Please contact the administrators by email for '
93
    'more details.')
94

    
95
MAX_INVITATION_NUMBER_REACHED = (
96
    'You have reached the maximum amount of invitations for your account. '
97
    'No invitations left.')
98
GROUP_MAX_PARTICIPANT_NUMBER_REACHED = (
99
    'This Group reached its maximum number of members. No other member can '
100
    'be added.')
101
PROJECT_MAX_PARTICIPANT_NUMBER_REACHED = (
102
    'This Project reached its maximum number of members. No other member '
103
    'can be added.')
104
NO_APPROVAL_TERMS = 'There are no terms of service to approve.'
105
PENDING_EMAIL_CHANGE_REQUEST = (
106
    'It seems there is already a pending request for an email change. '
107
    'Submitting a new request to change your email will cancel all previous '
108
    'requests.')
109
OBJECT_CREATED_FAILED = 'The %(verbose_name)s creation failed: %(reason)s.'
110
GROUP_JOIN_FAILURE = 'Failed to join this Group.'
111
PROJECT_JOIN_FAILURE = 'Failed to join this Project.'
112
GROUPKIND_UNKNOWN = 'The kind of Project you specified does not exist.'
113
NOT_MEMBER = 'User is not a member of the Project.'
114
NOT_OWNER = 'User is not the Project\'s owner.'
115
OWNER_CANNOT_LEAVE_GROUP = (
116
    'You are the owner of this Project. Owners can not leave their Projects.')
117

    
118
# Field validation fields
119
REQUIRED_FIELD = 'This field is required.'
120
EMAIL_USED = 'There is already an account with this email address.'
121
SHIBBOLETH_EMAIL_USED = (
122
    'This email is already associated with another shibboleth account.')
123
SHIBBOLETH_INACTIVE_ACC = (
124
    'This email is already associated with an account that is not '
125
    'yet activated. '
126
    'If that is your account, you need to activate it before being able to '
127
    'associate it with this shibboleth account.')
128
SHIBBOLETH_MISSING_EPPN = (
129
    'Your request is missing a unique ' +
130
    'token. This means your academic ' +
131
    'institution does not yet allow its users to log ' +
132
    'into %(domain)s with their academic ' +
133
    'account. Please contact %(contact_email)s' +
134
    ' for more information.')
135
SHIBBOLETH_MISSING_NAME = 'This request is missing the user name.'
136

    
137
SIGN_TERMS = 'Please, you need to \'Agree with the terms\' before proceeding.'
138
CAPTCHA_VALIDATION_ERR = (
139
    'You have not entered the correct words. Please try again.')
140
SUSPENDED_LOCAL_ACC = (
141
    'This account does not have a local password. '
142
    'Please try logging in using an external login provider (e.g.: twitter)')
143
EMAIL_UNKNOWN = (
144
    'This email address doesn\'t have an associated user account. '
145
    'Please make sure you have registered, before proceeding.')
146
INVITATION_EMAIL_EXISTS = 'An invitation has already been sent to this email.'
147
INVITATION_CONSUMED_ERR = 'Invitation is used.'
148
UNKNOWN_USERS = 'Unknown users: %s'
149
UNIQUE_EMAIL_IS_ACTIVE_CONSTRAIN_ERR = (
150
    'More than one account with the same email & \'is_active\' field. Error.')
151
INVALID_ACTIVATION_KEY = 'Invalid activation key.'
152
NEW_EMAIL_ADDR_RESERVED = (
153
    'The new email address you requested is already used by another account. '
154
    'Please provide a different one.')
155
EMAIL_RESERVED = 'Email: %(email)s is already reserved.'
156
NO_LOCAL_AUTH = (
157
    'Only external login providers are enabled for this account. '
158
    'You can not login with a local password.')
159
SWITCH_ACCOUNT_FAILURE = 'Account failed to switch. Invalid parameters.'
160
SWITCH_ACCOUNT_SUCCESS_WITH_PROVIDER = (
161
    'Account failed to switch to %(provider)s.')
162
SWITCH_ACCOUNT_SUCCESS = 'Account successfully switched to %(provider)s.'
163

    
164
# Field help text
165
ADD_GROUP_MEMBERS_Q_HELP = (
166
    'Add a comma separated list of user emails, eg. user1@user.com, '
167
    'user2@user.com')
168
ASTAKOSUSER_GROUPS_HELP = (
169
    'In addition to the permissions assigned manually, '
170
    'this user will also get all permissions coming from his/her groups.')
171

    
172
EMAIL_SEND_ERR = 'Failed to send %s.'
173
ADMIN_NOTIFICATION_SEND_ERR = EMAIL_SEND_ERR % 'admin notification'
174
VERIFICATION_SEND_ERR = EMAIL_SEND_ERR % 'verification'
175
INVITATION_SEND_ERR = EMAIL_SEND_ERR % 'invitation'
176
GREETING_SEND_ERR = EMAIL_SEND_ERR % 'greeting'
177
FEEDBACK_SEND_ERR = EMAIL_SEND_ERR % 'feedback'
178
CHANGE_EMAIL_SEND_ERR = EMAIL_SEND_ERR % 'email change'
179
NOTIFICATION_SEND_ERR = EMAIL_SEND_ERR % 'notification'
180
DETAILED_NOTIFICATION_SEND_ERR = (
181
    'Failed to send %(subject)s notification to %(recipients)s.')
182

    
183
MISSING_NEXT_PARAMETER = 'The next parameter is missing.'
184

    
185
INVITATION_SENT = 'Invitation sent to %(email)s.'
186
VERIFICATION_SENT = (
187
    'Your information has been submitted successfully. A verification email, '
188
    'with an activation link has been sent to the email address you provided. '
189
    'Please follow the activation link on this email to complete the '
190
    'registration process.')
191
VERIFICATION_FAILED = 'Email verification process failed.'
192
SWITCH_ACCOUNT_LINK_SENT = (
193
    'This email is already associated with a local account, '
194
    'and a verification email has been sent to %(email)s. To complete '
195
    'the association process, go back to your Inbox and follow the link '
196
    'inside the verification email.')
197
NOTIFICATION_SENT = (
198
    'Your request for an account has been submitted successfully, and is '
199
    'now pending approval. You will be notified by email in the next few '
200
    'days. Thanks for your interest!')
201
ACTIVATION_SENT = (
202
    'An email containing your activation link has been sent to your '
203
    'email address.')
204

    
205
REGISTRATION_COMPLETED = (
206
    'Your registration completed successfully. You can now login to your '
207
    'new account!')
208

    
209
NO_RESPONSE = 'There is no response.'
210
NOT_ALLOWED_NEXT_PARAM = 'Not allowed next parameter.'
211
MISSING_KEY_PARAMETER = 'Missing key parameter.'
212
INVALID_KEY_PARAMETER = 'Invalid key.'
213
DOMAIN_VALUE_ERR = 'Enter a valid domain.'
214
QH_SYNC_ERROR = 'Failed to get synchronized with quotaholder.'
215
UNIQUE_PROJECT_NAME_CONSTRAIN_ERR = (
216
    'The project name (as specified in its application\'s definition) must '
217
    'be unique among all active projects.')
218
INVALID_PROJECT = 'Project %(id)s is invalid.'
219
NOT_ALIVE_PROJECT = 'Project %(id)s is not alive.'
220
NOT_SUSPENDED_PROJECT = 'Project %(id)s is not suspended.'
221
NOT_ALLOWED = 'You do not have the permissions to perform this action.'
222
MEMBER_NUMBER_LIMIT_REACHED = (
223
    'You have reached the maximum number of members for this Project.')
224
MEMBER_JOIN_POLICY_CLOSED = 'The Project\'s member join policy is closed.'
225
MEMBER_LEAVE_POLICY_CLOSED = 'The project\'s member leave policy is closed.'
226
NOT_MEMBERSHIP_REQUEST = 'This is not a valid membership request.'
227
NOT_ACCEPTED_MEMBERSHIP = 'This is not an accepted membership.'
228
MEMBERSHIP_REQUEST_EXISTS = 'The membership request already exists.'
229
NO_APPLICANT = (
230
    'Project application requires at least one applicant. None found.')
231
INVALID_PROJECT_START_DATE = (
232
    'Project start date should be equal or greater than the current date.')
233
INVALID_PROJECT_END_DATE = (
234
    'Project end date should be equal or greater than than the current date.')
235
INCONSISTENT_PROJECT_DATES = (
236
    'Project end date should be greater than the project start date.')
237
ADD_PROJECT_MEMBERS_Q_HELP = (
238
    'Add a comma separated list of user emails, eg. user1@user.com, '
239
    'user2@user.com')
240
ADD_PROJECT_MEMBERS_Q_PLACEHOLDER = 'user1@user.com, user2@user.com'
241
MISSING_IDENTIFIER = 'Missing identifier.'
242
UNKNOWN_USER_ID = 'There is no user identified by %s.'
243
UNKNOWN_PROJECT_APPLICATION_ID = (
244
    'There is no project application identified by %s.')
245
UNKNOWN_PROJECT_ID = 'There is no project identified by %s.'
246
UNKNOWN_IDENTIFIER = 'Unknown identifier.'
247
PENDING_MEMBERSHIP_LEAVE = (
248
    'Your request is pending moderation by the Project owner.')
249
USER_MEMBERSHIP_ACCEPTED = '%s has been accepted in the project.'
250
USER_MEMBERSHIP_REMOVED = '%s has been removed from the project.'
251
USER_LEFT_PROJECT = 'You have left the project.'
252
USER_LEAVE_REQUEST_SUBMITTED = (
253
    'Your request to leave the project has been submitted successfully.')
254
USER_JOIN_REQUEST_SUBMITTED = (
255
    'Your request to join the project has been submitted successfully.')
256
USER_JOINED_PROJECT = 'You have joined the project.'
257
USER_REQUEST_CANCELLED = 'Your request to join the project has been cancelled.'
258
APPLICATION_CANNOT_APPROVE = "Cannot approve application %s in state '%s'"
259
APPLICATION_CANNOT_DENY = "Cannot deny application %s in state '%s'"
260
APPLICATION_CANNOT_DISMISS = "Cannot dismiss application %s in state '%s'"
261
APPLICATION_CANNOT_CANCEL = "Cannot cancel application %s in state '%s'"
262
APPLICATION_CANCELLED = "Your project application has been cancelled."
263

    
264
REACHED_PENDING_APPLICATION_LIMIT = ("You have reached the maximum number "
265
                                     "of pending project applications: %s.")
266

    
267
PENDING_APPLICATION_LIMIT_ADD = \
268
    ("You are not allowed to create a new project "
269
     "because you have reached the maximum [%s] for "
270
     "pending project applications. "
271
     "Consider cancelling any unnecessary ones.")
272

    
273
PENDING_APPLICATION_LIMIT_MODIFY = \
274
    ("You are not allowed to modify this project "
275
     "because you have reached the maximum [%s] for "
276
     "pending project applications. "
277
     "Consider cancelling any unnecessary ones.")
278

    
279
# Auth providers messages
280
AUTH_PROVIDER_LOGIN_SUCCESS = "Logged in successfully, using {method_prompt}."
281
AUTH_PROVIDER_LOGOUT_SUCCESS = "Logged out successfully."
282
AUTH_PROVIDER_LOGOUT_SUCCESS_EXTRA = (
283
    "You may still be logged in at {title} though. "
284
    "Consider logging out from there too.")
285
AUTH_PROVIDER_NOT_ACTIVE = "'{method_prompt}' is disabled."
286
AUTH_PROVIDER_ADD_DISABLED = "{method_prompt} is disabled for your account."
287
AUTH_PROVIDER_NOT_ACTIVE_FOR_USER = "You cannot login using '{method_prompt}'."
288
AUTH_PROVIDER_NOT_ACTIVE_FOR_CREATE = (
289
    "Sign up using '{method_prompt}' is disabled.")
290
AUTH_PROVIDER_NOT_ACTIVE_FOR_ADD = "You cannot add {method_prompt}."
291
AUTH_PROVIDER_ADDED = "{method_prompt} enabled for this account."
292
AUTH_PROVIDER_SWITCHED = "{method_prompt} changed for this account."
293
AUTH_PROVIDER_REMOVED = "{method_prompt} removed for this account."
294
AUTH_PROVIDER_ADD_FAILED = "Failed to add {method_prompt}."
295
AUTH_PROVIDER_ADD_EXISTS = (
296
    "It seems that this '{method_prompt}' is already in use by "
297
    "another account.")
298
AUTH_PROVIDER_LOGIN_TO_ADD = (
299
    "The new login method will be assigned once you login to your account.")
300
AUTH_PROVIDER_INVALID_LOGIN = "No account exists."
301
AUTH_PROVIDER_REQUIRED = (
302
    "{method_prompt} is required. Add one from your profile page.")
303
AUTH_PROVIDER_CANNOT_CHANGE_PASSWORD = "Changing password is not supported."
304
AUTH_PROVIDER_SIGNUP_FROM_LOGIN = None
305
AUTH_PROVIDER_UNUSABLE_PASSWORD = (
306
    '{method_prompt} is not enabled'
307
    ' for your account. You can access your account by logging in with'
308
    ' {available_methods_links}.')
309
AUTH_PROVIDER_LOGIN_DISABLED = AUTH_PROVIDER_UNUSABLE_PASSWORD
310
AUTH_PROVIDER_SIGNUP_FROM_LOGIN = ''
311
AUTH_PROVIDER_AUTHENTICATION_FAILED = (
312
    'Authentication with this account failed.')
313

    
314

    
315
AUTH_PROVIDER_PENDING_REGISTRATION = '''A pending registration exists for
316
{title} account {username}. The email used for the registration is
317
{user_email}. If you decide to procceed with the signup process once again,
318
all pending registrations will be deleted.'''
319

    
320
AUTH_PROVIDER_PENDING_RESEND_ACTIVATION = (
321
    '<a href="{resend_activation_url}">Click here to resend activation '
322
    'email.</a>')
323
AUTH_PROVIDER_PENDING_MODERATION = (
324
    'Your account request is pending moderation.')
325
AUTH_PROVIDER_PENDING_ACTIVATION = (
326
    'Your account request is pending activation.')
327
AUTH_PROVIDER_ACCOUNT_INACTIVE = 'Your account is disabled.'
328

    
329
AUTH_PROVIDER_ADD_TO_EXISTING_ACCOUNT = (
330
    "You can add {method_prompt} to your existing account from your "
331
    " <a href='{profile_url}'>profile page</a>")
332

    
333
# Email subjects
334
_SITENAME = astakos_settings.SITENAME
335
INVITATION_EMAIL_SUBJECT = 'Invitation to %s' % _SITENAME
336
GREETING_EMAIL_SUBJECT = 'Welcome to %s' % _SITENAME
337
FEEDBACK_EMAIL_SUBJECT = 'Feedback from %s' % _SITENAME
338
VERIFICATION_EMAIL_SUBJECT = '%s account activation is needed' % _SITENAME
339
ACCOUNT_CREATION_SUBJECT = '%s account created (%%(user)s)' % _SITENAME
340
HELPDESK_NOTIFICATION_EMAIL_SUBJECT = \
341
    '%s account activated (%%(user)s)' % _SITENAME
342
EMAIL_CHANGE_EMAIL_SUBJECT = 'Email change on %s ' % _SITENAME
343
PASSWORD_RESET_EMAIL_SUBJECT = 'Password reset on %s ' % _SITENAME
344
PROJECT_CREATION_SUBJECT = \
345
    '%s project application created (%%(name)s)' % _SITENAME
346
PROJECT_APPROVED_SUBJECT = \
347
    '%s project application approved (%%(name)s)' % _SITENAME
348
PROJECT_DENIED_SUBJECT = \
349
    '%s project application denied (%%(name)s)' % _SITENAME
350
PROJECT_TERMINATION_SUBJECT = \
351
    '%s project terminated (%%(name)s)' % _SITENAME
352
PROJECT_SUSPENSION_SUBJECT = \
353
    '%s project suspended (%%(name)s)' % _SITENAME
354
PROJECT_MEMBERSHIP_CHANGE_SUBJECT = \
355
    '%s project membership changed (%%(name)s)' % _SITENAME
356
PROJECT_MEMBERSHIP_ENROLL_SUBJECT = \
357
    '%s project enrollment (%%(name)s)' % _SITENAME
358
PROJECT_MEMBERSHIP_REQUEST_SUBJECT = \
359
    '%s project membership request (%%(name)s)' % _SITENAME
360
PROJECT_MEMBERSHIP_LEAVE_REQUEST_SUBJECT = \
361
    '%s project membership leave request (%%(name)s)' % _SITENAME
362

    
363

    
364
messages = locals().keys()
365
for msg in messages:
366
    if msg == msg.upper():
367
        attr = "ASTAKOS_%s_MESSAGE" % msg
368
        settings_value = getattr(settings, attr, None)
369
        if settings_value:
370
            locals()[msg] = settings_value