Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
itminedu
synnefo
Commits
1463659a
Commit
1463659a
authored
Feb 09, 2012
by
Sofia Papagiannaki
Browse files
enable moderation in SimpleBackend
Refs: #1990
parent
e015e9e6
Changes
4
Hide whitespace changes
Inline
Side-by-side
astakos/im/backends.py
View file @
1463659a
...
...
@@ -39,6 +39,7 @@ from django.utils.translation import ugettext as _
from
django.contrib.sites.models
import
Site
from
django.contrib
import
messages
from
django.db
import
transaction
from
django.core.urlresolvers
import
reverse
from
smtplib
import
SMTPException
from
urllib
import
quote
...
...
@@ -46,7 +47,7 @@ from urllib import quote
from
astakos.im.models
import
AstakosUser
,
Invitation
from
astakos.im.forms
import
*
from
astakos.im.util
import
get_invitation
from
astakos.im.settings
import
INVITATIONS_ENABLED
,
DEFAULT_CONTACT_EMAIL
,
DEFAULT_FROM_EMAIL
from
astakos.im.settings
import
INVITATIONS_ENABLED
,
DEFAULT_CONTACT_EMAIL
,
DEFAULT_FROM_EMAIL
,
MODERATION_ENABLED
import
socket
import
logging
...
...
@@ -221,16 +222,18 @@ class SimpleBackend(object):
* DEFAULT_CONTACT_EMAIL: service support email
* DEFAULT_FROM_EMAIL: from email
"""
user
=
None
try
:
user
=
form
.
save
()
status
=
messages
.
SUCCESS
_send_verification
(
self
.
request
,
user
,
email_template_name
)
message
=
_
(
'Verification sent to %s'
%
user
.
email
)
except
(
SMTPException
,
socket
.
error
)
as
e
:
status
=
messages
.
ERROR
name
=
'strerror'
message
=
getattr
(
e
,
name
)
if
hasattr
(
e
,
name
)
else
e
user
=
form
.
save
()
status
=
messages
.
SUCCESS
if
MODERATION_ENABLED
:
message
=
_
(
'Registration completed. You will receive an email upon your account
\'
s activation.'
)
else
:
try
:
_send_verification
(
self
.
request
,
user
,
email_template_name
)
message
=
_
(
'Verification sent to %s'
%
user
.
email
)
except
(
SMTPException
,
socket
.
error
)
as
e
:
status
=
messages
.
ERROR
name
=
'strerror'
message
=
getattr
(
e
,
name
)
if
hasattr
(
e
,
name
)
else
e
# rollback in case of error
if
status
==
messages
.
ERROR
:
...
...
@@ -243,8 +246,9 @@ def _send_verification(request, user, template_name):
site
=
Site
.
objects
.
get_current
()
baseurl
=
request
.
build_absolute_uri
(
'/'
).
rstrip
(
'/'
)
url
=
'%s%s?auth=%s&next=%s'
%
(
baseurl
,
reverse
(
'astakos.im.target.activate'
),
quote
(
user
.
auth_token
))
reverse
(
'astakos.im.views.activate'
),
quote
(
user
.
auth_token
),
quote
(
baseurl
))
message
=
render_to_string
(
template_name
,
{
'user'
:
user
,
'url'
:
url
,
...
...
astakos/im/settings.py
View file @
1463659a
...
...
@@ -45,6 +45,9 @@ COOKIE_DOMAIN = getattr(settings, 'ASTAKOS_COOKIE_DOMAIN', None)
IM_STATIC_URL
=
getattr
(
settings
,
'ASTAKOS_IM_STATIC_URL'
,
'/im/static/im/'
)
# If set to False and invitations not enabled newly created user will be automatically accepted
MODERATION_ENABLED
=
getattr
(
settings
,
'ASTAKOS_MODERATION_ENABLED'
,
True
)
# SQLAlchemy (choose SQLite/MySQL/PostgreSQL).
BACKEND_DB_MODULE
=
getattr
(
settings
,
'PITHOS_BACKEND_DB_MODULE'
,
'pithos.backends.lib.sqlalchemy'
)
BACKEND_DB_CONNECTION
=
getattr
(
settings
,
'PITHOS_BACKEND_DB_CONNECTION'
,
'sqlite:///'
+
join
(
PROJECT_PATH
,
'backend.db'
))
...
...
astakos/im/templates/im/account_base.html
View file @
1463659a
...
...
@@ -16,9 +16,11 @@
<li
class=
"{% if not tab %}active{% endif %}"
>
<a
href=
"{% url django.contrib.auth.views.password_change %}"
>
Change password
</a>
</li>
{% if invitations_enabled %}
<li
class=
"{% if tab == "
im
/
invitations
"
%}
active
{%
endif
%}"
>
<a
href=
"{% url astakos.im.views.invite %}"
>
Invitations
</a>
</li>
{% endif %}
<li
class=
"{% if tab == "
im
/
feedback
"
%}
active
{%
endif
%}"
>
<a
href=
"{% url astakos.im.views.send_feedback %}"
>
Send feedback
</a>
</li>
...
...
astakos/im/views.py
View file @
1463659a
...
...
@@ -273,6 +273,7 @@ def edit_profile(request, template_name='im/profile.html', extra_context={}):
extra_context
,
user
=
request
.
user
))
@
requires_anonymous
def
signup
(
request
,
on_failure
=
'im/signup.html'
,
on_success
=
'im/signup_complete.html'
,
extra_context
=
{},
backend
=
None
):
"""
Allows a user to create a local account.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment