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

34
35
from django.conf import settings

36
ACCOUNT_AUTHENTICATION_FAILED           =   'Authentication with this account failed.'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
37
38
39
ACCOUNT_ALREADY_ACTIVE                  =   'This account is already active.'
ACCOUNT_PENDING_ACTIVATION              =   'Your account request is pending activation.'
ACCOUNT_PENDING_MODERATION              =   'Your account request is pending moderation.'
40
ACCOUNT_INACTIVE                        =   'Your account is disabled.'
41
ACCOUNT_NOT_ACTIVE                      =   'User account is not active.'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
42
43
ACCOUNT_RESEND_ACTIVATION               =   'It seems that an activation email has been sent to you, but you have not followed the activation link. <a href="%(send_activation_url)s">Resend activation email.</a>'
INACTIVE_ACCOUNT_CHANGE_EMAIL           =   ''.join([ACCOUNT_RESEND_ACTIVATION, ' Or <a href="%(signup_url)s">Send activation to a new email.</a>'])
44

Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
45
ACCOUNT_PENDING_ACTIVATION_HELP         =   'An activation email has been sent to you. Make sure you check your spam folder, too.'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
46
47

ACCOUNT_ACTIVATED                       =   'Congratulations. Your account has' + \
48
                                            ' been activated. You are now logged in.'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
49
50
PASSWORD_RESET_DONE                     =   'An email with details on how to change your password has been sent. Please check your Inbox.'
PASSWORD_RESET_CONFIRM_DONE             =   'Your password has changed successfully. You can now login using your new password.'
51
PASSWORD_CHANGED                        =   'Your new password was set successfully.'
52

Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
53
ACCOUNT_RESEND_ACTIVATION_PROMPT        =   'Resend activation email'
54
55
ACCOUNT_USER_ACTIVATION_PENDING         =   'You have not followed the activation link'

Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
56
ACCOUNT_UNKNOWN                         =   'It seems there is no account with those .'
57
58
TOKEN_UNKNOWN                           =   'There is no user matching this authentication token.'
TOKEN_UPDATED                           =   'Your authentication token has been updated successfully.'
Olga Brani's avatar
Olga Brani committed
59

Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
60
PROFILE_UPDATED                         =   'Your profile has been updated successfully.'
61
FEEDBACK_SENT                           =   'Thank you for contacting us. We will process your message carefully and get back to you.'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
62
EMAIL_CHANGED                           =   'The email of your account changed successfully.'
63
64
EMAIL_CHANGE_REGISTERED                 =   'Your request for changing your email has been registered successfully. \
                                               A verification email will be sent to your new address.'
Olga Brani's avatar
Olga Brani committed
65

Olga Brani's avatar
Bug fix    
Olga Brani committed
66
OBJECT_CREATED                          =   'The %(verbose_name)s was created successfully.'
67
USER_MEMBERSHIP_REJECTED                =   'Request by %s to join the project has been rejected.'
68
BILLING_ERROR                           =   'Service response status: %(status)d'
69
70
LOGOUT_SUCCESS                          =   'Logged out successfully.'
LOGIN_SUCCESS                           =   'Logged in successfully, using %s.'
71
LOCAL_LOGIN_SUCCESS                     =   'Logged in successfully.'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
72
73
74
75
76
77
78
79
80

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

MAX_INVITATION_NUMBER_REACHED   =           'You have reached the maximum amount of invitations for your account. No invitations left.'
GROUP_MAX_PARTICIPANT_NUMBER_REACHED    =   'This Group reached its maximum number of members. No other member can be added.'
PROJECT_MAX_PARTICIPANT_NUMBER_REACHED  =   'This Project reached its maximum number of members. No other member can be added.'
NO_APPROVAL_TERMS                       =   'There are no terms of service to approve.'
PENDING_EMAIL_CHANGE_REQUEST            =   'It seems there is already a pending request for an email change. ' + \
81
                                            'Submitting a new request to change your email will cancel all previous requests.'
Olga Brani's avatar
Olga Brani committed
82
OBJECT_CREATED_FAILED                   =   'The %(verbose_name)s creation failed: %(reason)s.'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
83
84
85
86
87
88
GROUP_JOIN_FAILURE                      =   'Failed to join this Group.'
PROJECT_JOIN_FAILURE                    =   'Failed to join this Project.'
GROUPKIND_UNKNOWN                       =   'The kind of Project you specified does not exist.'
NOT_MEMBER                              =   'User is not a member of the Project.'
NOT_OWNER                               =   'User is not the Project\'s owner.'
OWNER_CANNOT_LEAVE_GROUP                =   'You are the owner of this Project. Owners can not leave their Projects.'
Olga Brani's avatar
Olga Brani committed
89
90
91

# Field validation fields
REQUIRED_FIELD                          =   'This field is required.'
92
EMAIL_USED                              =   'There is already an account with this email address.'
Olga Brani's avatar
Olga Brani committed
93
SHIBBOLETH_EMAIL_USED                   =   'This email is already associated with another shibboleth account.'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
94
95
96
SHIBBOLETH_INACTIVE_ACC                 =   'This email is already associated with an account that is not yet activated. \
                                               If that is your account, you need to activate it before being able to \
                                               associate it with this shibboleth account.'
97
98
99
100
SHIBBOLETH_MISSING_EPPN                 =   'Your request is missing a unique ' + \
                                            'token. This means your academic ' + \
                                            'institution does not yet allow its users to log ' + \
                                            'into %(domain)s with their academic ' + \
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
101
                                            'account. Please contact %(contact_email)s' + \
102
                                            ' for more information.'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
103
104
105
106
SHIBBOLETH_MISSING_NAME                 =   'This request is missing the user name.'

SIGN_TERMS                              =   'Please, you need to \'Agree with the terms\' before proceeding.'
CAPTCHA_VALIDATION_ERR                  =   'You have not entered the correct words. Please try again.'
107
SUSPENDED_LOCAL_ACC                     =   'This account does not have a local password. \
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
108
                                               Please try logging in using an external login provider (e.g.: twitter)'
109
UNUSABLE_PASSWORD                       =   '%s is not enabled for your account. You can may access your account by logging in with %s.'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
110
111
EMAIL_UNKNOWN                           =   'This email address doesn\'t have an associated user account. \
                                               Please make sure you have registered, before proceeding.'
112
INVITATION_EMAIL_EXISTS                 =   'An invitation has already been sent to this email.'
Olga Brani's avatar
Olga Brani committed
113
114
INVITATION_CONSUMED_ERR                 =   'Invitation is used.'
UNKNOWN_USERS                           =   'Unknown users: %s'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
115
UNIQUE_EMAIL_IS_ACTIVE_CONSTRAIN_ERR    =   'More than one account with the same email & \'is_active\' field. Error.'
Olga Brani's avatar
Olga Brani committed
116
INVALID_ACTIVATION_KEY                  =   'Invalid activation key.'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
117
118
119
NEW_EMAIL_ADDR_RESERVED                 =   'The new email address you requested is already used by another account. Please provide a different one.'
EMAIL_RESERVED                          =   'Email: %(email)s is already reserved.'
NO_LOCAL_AUTH                           =   'Only external login providers are enabled for this acccount. You can not login with a local password.'
120
SWITCH_ACCOUNT_FAILURE                  =   'Account failed to switch. Invalid parameters.'
121
SWITCH_ACCOUNT_SUCCESS_WITH_PROVIDER    =   'Account failed to switch to %(provider)s.'
122
SWITCH_ACCOUNT_SUCCESS                  =   'Account successfully switched to %(provider)s.'
Olga Brani's avatar
Olga Brani committed
123
124

# Field help text
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
125
126
127
ADD_GROUP_MEMBERS_Q_HELP                =   'Add a comma separated list of user emails, eg. user1@user.com, user2@user.com'
ASTAKOSUSER_GROUPS_HELP                 =   'In addition to the permissions assigned manually, \
                                               this user will also get all permissions coming from his/her groups.'
Olga Brani's avatar
Olga Brani committed
128
129
130
131
132
133
134
135
136

EMAIL_SEND_ERR                          =   'Failed to send %s.'
ADMIN_NOTIFICATION_SEND_ERR             =   EMAIL_SEND_ERR % 'admin notification'
VERIFICATION_SEND_ERR                   =   EMAIL_SEND_ERR % 'verification'
INVITATION_SEND_ERR                     =   EMAIL_SEND_ERR % 'invitation'
GREETING_SEND_ERR                       =   EMAIL_SEND_ERR % 'greeting'
FEEDBACK_SEND_ERR                       =   EMAIL_SEND_ERR % 'feedback'
CHANGE_EMAIL_SEND_ERR                   =   EMAIL_SEND_ERR % 'feedback'
NOTIFICATION_SEND_ERR                   =   EMAIL_SEND_ERR % 'notification'
137
DETAILED_NOTIFICATION_SEND_ERR          =   'Failed to send %(subject)s notification to %(recipients)s.'
Olga Brani's avatar
Olga Brani committed
138

Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
139
MISSING_NEXT_PARAMETER                  =   'The next parameter is missing.'
Olga Brani's avatar
Olga Brani committed
140

141
INVITATION_SENT                         =   'Invitation sent to %(email)s.'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
142
143
144
145
146
147
148
VERIFICATION_SENT                       =   'Your information has been submitted successfully. A verification email, with an activation link \
                                               has been sent to the email address you provided. Please follow the activation link on this \
                                               email to complete the registration process.'
SWITCH_ACCOUNT_LINK_SENT                =   'This email is already associated with a local account, and a verification email has been sent \
                                             to %(email)s. To complete the association process, go back to your Inbox and follow the link \
                                             inside the verification email.'
NOTIFICATION_SENT                       =   'Your request for an account has been submitted successfully, and is now pending approval. \
Olga Brani's avatar
Olga Brani committed
149
150
                                               You will be notified by email in the next few days. \
                                               Thanks for your interest in ~okeanos! The GRNET team.'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
151
ACTIVATION_SENT                         =   'An email containing your activation link has been sent to your email address.'
152

Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
153
REGISTRATION_COMPLETED                  =   'Your registration completed successfully. You can now login to your new account!'
154
155
156
157
158

NO_RESPONSE                             =   'There is no response.'
NOT_ALLOWED_NEXT_PARAM                  =   'Not allowed next parameter.'
MISSING_KEY_PARAMETER                   =   'Missing key parameter.'
INVALID_KEY_PARAMETER                   =   'Invalid key.'
Sofia Papagiannaki's avatar
Sofia Papagiannaki committed
159
160
161
DOMAIN_VALUE_ERR                        =   'Enter a valid domain.'
QH_SYNC_ERROR                           =   'Failed to get synchronized with quotaholder.'
UNIQUE_PROJECT_NAME_CONSTRAIN_ERR       =   'The project name (as specified in its application\'s definition) must be unique among all active projects.'
Sofia Papagiannaki's avatar
Sofia Papagiannaki committed
162
163
INVALID_PROJECT                         =   'Project %(id)s is invalid.'
NOT_ALIVE_PROJECT                       =   'Project %(id)s is not alive.'
164
NOT_SUSPENDED_PROJECT                   =   'Project %(id)s is not suspended.'
Sofia Papagiannaki's avatar
Sofia Papagiannaki committed
165
NOT_ALLOWED                             =   'You do not have the permissions to perform this action.'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
166
MEMBER_NUMBER_LIMIT_REACHED             =   'You have reached the maximum number of members for this Project.'
167
168
MEMBER_JOIN_POLICY_CLOSED               =   'The Project\'s member join policy is closed.'
MEMBER_LEAVE_POLICY_CLOSED              =   'The project\'s member leave policy is closed.'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
169
NOT_MEMBERSHIP_REQUEST                  =   'This is not a valid membership request.'
170
NOT_ACCEPTED_MEMBERSHIP                 =   'This is not an accepted membership.'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
171
MEMBERSHIP_REQUEST_EXISTS               =   'The membership request already exists.'
172
173
174
175
NO_APPLICANT                            =   'Project application requires at least one applicant. None found.'
INVALID_PROJECT_START_DATE              =   'Project start date should be equal or greater than the current date.'
INVALID_PROJECT_END_DATE                =   'Project end date should be equal or greater than than the current date.'
INCONSISTENT_PROJECT_DATES              =   'Project end date should be greater than the project start date.'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
176
ADD_PROJECT_MEMBERS_Q_HELP              =   'Add a comma separated list of user emails, eg. user1@user.com, user2@user.com'
Sofia Papagiannaki's avatar
Sofia Papagiannaki committed
177
MISSING_IDENTIFIER                      =   'Missing identifier.'
178
179
UNKNOWN_USER_ID                         =   'There is no user identified by %s.'
UNKNOWN_PROJECT_APPLICATION_ID          =   'There is no project application identified by %s.'
180
UNKNOWN_PROJECT_ID                      =   'There is no project identified by %s.'
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
181
182
UNKNOWN_IDENTIFIER                      =   'Unknown identifier.'
PENDING_MEMBERSHIP_LEAVE                =   'Your request is pending moderation by the Project owner.'
183
184
USER_MEMBERSHIP_ACCEPTED                =   '%s has been accepted in the project.'
USER_MEMBERSHIP_REMOVED                 =   '%s has been removed from the project.'
185
186
187
188
189
USER_LEFT_PROJECT                       =   'You have left the project.'
USER_LEAVE_REQUEST_SUBMITTED            =   'Your request to leave the project has been submitted successfully.'
USER_JOIN_REQUEST_SUBMITTED             =   'Your request to join the project has been submitted successfully.'
USER_JOINED_PROJECT                     =   'You have joined the project.'
USER_REQUEST_CANCELLED                  =   'Your request to join the project has been cancelled.'
190

191
192
193
194
APPLICATION_CANNOT_APPROVE              =   "Cannot approve application %s in state '%s'"
APPLICATION_CANNOT_DENY                 =   "Cannot deny application %s in state '%s'"
APPLICATION_CANNOT_DISMISS              =   "Cannot dismiss application %s in state '%s'"
APPLICATION_CANNOT_CANCEL               =   "Cannot cancel application %s in state '%s'"
195
196
APPLICATION_CANCELLED                   =   "Your project request has been cancelled."

197

198
# Auth providers messages
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
199
200
201
AUTH_PROVIDER_NOT_ACTIVE                     =   "'%(provider)s' is disabled."
AUTH_PROVIDER_NOT_ACTIVE_FOR_LOGIN           =   "Login using '%(provider)s' is disabled."
AUTH_PROVIDER_NOT_ACTIVE_FOR_USER            =   "You cannot login using '%(provider)s'."
202
AUTH_PROVIDER_NOT_ACTIVE_FOR_CREATE          =   "Sign up using '%(provider)s' is disabled."
203
AUTH_PROVIDER_NOT_ACTIVE_FOR_ADD             =   "You cannot add %(provider)s login method."
204
205
AUTH_PROVIDER_ADDED                          =   "%s enabled for this account."
AUTH_PROVIDER_REMOVED                        =   "%s removed for this account."
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
206
AUTH_PROVIDER_ADD_FAILED                     =   "Failed to add new login method."
207
AUTH_PROVIDER_ADD_EXISTS                     =   "It seems that this account is already assigned to another user."
208
209
AUTH_PROVIDER_LOGIN_TO_ADD                   =   "The new login method will be assigned once you login to your account."
AUTH_PROVIDER_INVALID_LOGIN                  =   "No account exists."
210
AUTH_PROVIDER_REQUIRED                       =   "%(provider)s login method is required. Add one from your profile page."
Kostas Papadimitriou's avatar
Kostas Papadimitriou committed
211
AUTH_PROVIDER_CANNOT_CHANGE_PASSWORD         =   "Changing password is not supported."
212
AUTH_PROVIDER_SIGNUP_FROM_LOGIN              =   None
213

214
EXISTING_EMAIL_THIRD_PARTY_NOTIFICATION      =   "You can add the '%s' login method to your existing account from your " \
215
216
                                                 " <a href='%s'>profile page</a>"

217
218
219
220
221
222
messages = locals().keys()
for msg in messages:
    if msg == msg.upper():
        attr = "ASTAKOS_%s_MESSAGE" % msg
        settings_value = getattr(settings, attr, None)
        if settings_value:
223
            locals()[msg] = settings_value