Statistics
| Branch: | Tag: | Revision:

root / snf-astakos-app / astakos / im / messages.py @ 95b7c3f6

History | View | Annotate | Download (17.3 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_USER_ID = (
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
)
141
SUSPENDED_LOCAL_ACC = (
142
    "This account does not have a local password. "
143
    "Please try logging in using an external login provider (e.g.: twitter)"
144
)
145
EMAIL_UNKNOWN = (
146
    "This email address doesn't have an associated user account. "
147
    "Please make sure you have registered, before proceeding."
148
)
149
INVITATION_EMAIL_EXISTS = "An invitation has already been sent to this email."
150
INVITATION_CONSUMED_ERR = "The invitation has already been used."
151
UNKNOWN_USERS = "Unknown users: %s"
152
UNIQUE_EMAIL_IS_ACTIVE_CONSTRAIN_ERR = (
153
    "More than one account with the same email & 'is_active' field. Error."
154
)
155
INVALID_ACTIVATION_KEY = "Invalid or already used activation key."
156
NEW_EMAIL_ADDR_RESERVED = (
157
    "The new email address you requested is already used by another account. "
158
    "Please provide a different one."
159
)
160
EMAIL_RESERVED = "Email: %(email)s is already reserved."
161
NO_LOCAL_AUTH = (
162
    "Only external login providers are enabled for this account. "
163
    "You can not login with a local password."
164
)
165
SWITCH_ACCOUNT_FAILURE = "Account failed to switch. Invalid parameters."
166
SWITCH_ACCOUNT_SUCCESS_WITH_PROVIDER = (
167
    "Account failed to switch to %(provider)s."
168
)
169
SWITCH_ACCOUNT_SUCCESS = (
170
    "Account successfully switched to %(provider)s."
171
)
172

    
173
# Field help text
174
ADD_GROUP_MEMBERS_Q_HELP = (
175
    'Add a comma separated list of user emails, eg. user1@user.com, '
176
    'user2@user.com')
177
ASTAKOSUSER_GROUPS_HELP = (
178
    'In addition to the permissions assigned manually, '
179
    'this user will also get all permissions coming from his/her groups.')
180

    
181
EMAIL_SEND_ERR = 'Failed to send %s.'
182
ADMIN_NOTIFICATION_SEND_ERR = EMAIL_SEND_ERR % 'admin notification'
183
VERIFICATION_SEND_ERR = EMAIL_SEND_ERR % 'verification'
184
INVITATION_SEND_ERR = EMAIL_SEND_ERR % 'invitation'
185
GREETING_SEND_ERR = EMAIL_SEND_ERR % 'greeting'
186
FEEDBACK_SEND_ERR = EMAIL_SEND_ERR % 'feedback'
187
CHANGE_EMAIL_SEND_ERR = EMAIL_SEND_ERR % 'email change'
188
NOTIFICATION_SEND_ERR = EMAIL_SEND_ERR % 'notification'
189
DETAILED_NOTIFICATION_SEND_ERR = (
190
    'Failed to send %(subject)s notification to %(recipients)s.')
191

    
192
MISSING_NEXT_PARAMETER = 'The next parameter is missing.'
193

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

    
214
REGISTRATION_COMPLETED = (
215
    'Your registration completed successfully. You can now login to your '
216
    'new account!')
217

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

    
276
PENDING_APPLICATION_LIMIT_ADD = \
277
    ("You are not allowed to create a new project "
278
     "because you have reached the maximum [%s] for "
279
     "pending project applications. "
280
     "Consider cancelling any unnecessary ones.")
281

    
282
PENDING_APPLICATION_LIMIT_MODIFY = \
283
    ("You are not allowed to modify this project "
284
     "because you have reached the maximum [%s] for "
285
     "pending project applications. "
286
     "Consider cancelling any unnecessary ones.")
287

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

    
323

    
324
AUTH_PROVIDER_PENDING_REGISTRATION = '''A pending registration exists for
325
{title} account {username}. The email used for the registration is
326
{user_email}. If you decide to procceed with the signup process once again,
327
all pending registrations will be deleted.'''
328

    
329
AUTH_PROVIDER_PENDING_RESEND_ACTIVATION = (
330
    '<a href="{resend_activation_url}">Click here to resend activation '
331
    'email.</a>')
332
AUTH_PROVIDER_PENDING_MODERATION = (
333
    'Your account request is pending moderation.')
334
AUTH_PROVIDER_PENDING_ACTIVATION = (
335
    'Your account request is pending activation.')
336
AUTH_PROVIDER_ACCOUNT_INACTIVE = 'Your account is disabled.'
337

    
338
AUTH_PROVIDER_ADD_TO_EXISTING_ACCOUNT = (
339
    "You can add {method_prompt} to your existing account from your "
340
    " <a href='{profile_url}'>profile page</a>")
341

    
342
# Email subjects
343
_SITENAME = astakos_settings.SITENAME
344
INVITATION_EMAIL_SUBJECT = 'Invitation to %s' % _SITENAME
345
GREETING_EMAIL_SUBJECT = 'Welcome to %s' % _SITENAME
346
FEEDBACK_EMAIL_SUBJECT = 'Feedback from %s' % _SITENAME
347
VERIFICATION_EMAIL_SUBJECT = '%s account activation is needed' % _SITENAME
348
ACCOUNT_CREATION_SUBJECT = '%s account created (%%(user)s)' % _SITENAME
349
HELPDESK_NOTIFICATION_EMAIL_SUBJECT = \
350
    '%s account activated (%%(user)s)' % _SITENAME
351
EMAIL_CHANGE_EMAIL_SUBJECT = 'Email change on %s ' % _SITENAME
352
PASSWORD_RESET_EMAIL_SUBJECT = 'Password reset on %s ' % _SITENAME
353
PROJECT_CREATION_SUBJECT = \
354
    '%s project application created (%%(name)s)' % _SITENAME
355
PROJECT_APPROVED_SUBJECT = \
356
    '%s project application approved (%%(name)s)' % _SITENAME
357
PROJECT_DENIED_SUBJECT = \
358
    '%s project application denied (%%(name)s)' % _SITENAME
359
PROJECT_TERMINATION_SUBJECT = \
360
    '%s project terminated (%%(name)s)' % _SITENAME
361
PROJECT_SUSPENSION_SUBJECT = \
362
    '%s project suspended (%%(name)s)' % _SITENAME
363
PROJECT_UNSUSPENSION_SUBJECT = \
364
    '%s project resumed (%%(name)s)' % _SITENAME
365
PROJECT_REINSTATEMENT_SUBJECT = \
366
    '%s project reinstated (%%(name)s)' % _SITENAME
367
PROJECT_MEMBERSHIP_CHANGE_SUBJECT = \
368
    '%s project membership changed (%%(name)s)' % _SITENAME
369
PROJECT_MEMBERSHIP_ENROLL_SUBJECT = \
370
    '%s project enrollment (%%(name)s)' % _SITENAME
371
PROJECT_MEMBERSHIP_REQUEST_SUBJECT = \
372
    '%s project membership request (%%(name)s)' % _SITENAME
373
PROJECT_MEMBERSHIP_LEAVE_REQUEST_SUBJECT = \
374
    '%s project membership leave request (%%(name)s)' % _SITENAME
375

    
376

    
377
messages = locals().keys()
378
for msg in messages:
379
    if msg == msg.upper():
380
        attr = "ASTAKOS_%s_MESSAGE" % msg
381
        settings_value = getattr(settings, attr, None)
382
        if settings_value:
383
            locals()[msg] = settings_value