Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
django-panik-newsletter
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
radiopanik
django-panik-newsletter
Commits
36b4e0f0
Commit
36b4e0f0
authored
Jul 17, 2013
by
jean-philippe
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Désinscription.
parent
f71aa1ec
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
60 additions
and
3 deletions
+60
-3
templates/unsubscription_form.html
templates/unsubscription_form.html
+15
-0
urls.py
urls.py
+3
-2
views.py
views.py
+42
-1
No files found.
templates/unsubscription_form.html
0 → 100644
View file @
36b4e0f0
{% block unsubscription_form %}
{% if message %}
<p>
{{ message }}
</p>
{% endif %}
{% if form %}
<form
action=
""
method=
"post"
>
<ul>
{{ form.as_ul }}
</
ul>
{% csrf_token %}
<input
type=
"submit"
value=
"Soumettre"
>
</form>
{% endif %}
{% endblock %}
urls.py
View file @
36b4e0f0
from
django.conf.urls
import
*
from
.views
import
subscription
,
registration
from
django.conf
import
settings
from
.views
import
subscription
,
unsubscription
,
registration
urlpatterns
=
patterns
(
''
,
url
(
r
'^$'
,
subscription
),
url
(
r
'^unsubscription/$'
,
unsubscription
),
url
(
r
'^(?P<validation_value>[0-9a-f]{40})$'
,
registration
),
)
views.py
View file @
36b4e0f0
...
...
@@ -4,12 +4,15 @@ import hashlib
import
random
import
socket
import
urllib
import
urllib2
import
cookielib
from
smtplib
import
SMTPException
from
django.db
import
models
,
IntegrityError
from
django.shortcuts
import
render
from
django.conf
import
settings
from
django.shortcuts
import
render
from
django.utils.translation
import
ugettext
as
_
from
.forms
import
SubscriptionForm
...
...
@@ -53,6 +56,44 @@ def subscription(request) :
def
unsubscription
(
request
)
:
UNSUBSCRIPTION_MESSAGE
=
_
(
"Enter your email for unsunscribe to the newsletter."
)
UNSUBSCRIPTION_CONFIRMATION_MESSAGE
=
_
(
"You're now unsubscribed"
)
if
request
.
method
==
'GET'
:
form
=
SubscriptionForm
()
return
render
(
request
,
'unsubscription_form.html'
,
{
'form'
:
form
,
'message'
:
UNSUBSCRIPTION_MESSAGE
})
elif
request
.
method
==
'POST'
:
form
=
SubscriptionForm
(
request
.
POST
)
if
form
.
is_valid
()
:
cd
=
form
.
cleaned_data
try
:
subscriber
=
Subscriber
.
objects
.
get
(
email
=
cd
[
'email'
])
cookie_jar
=
cookielib
.
CookieJar
()
url_opener
=
urllib2
.
build_opener
(
urllib2
.
HTTPCookieProcessor
(
cookie_jar
))
login_params
=
urllib
.
urlencode
({
'email'
:
subscriber
.
email
,
'password'
:
subscriber
.
password
})
login_request
=
urllib2
.
Request
(
settings
.
NEWSLETTER_UNSUBSCRIPTION_URL
,
login_params
)
url
=
url_opener
.
open
(
login_request
)
unsubscribe_action_url
=
(
"%s/%s"
%
(
settings
.
NEWSLETTER_UNSUBSCRIPTION_URL
,
subscriber
.
email
))
unsubscribe_params
=
urllib
.
urlencode
({
'unsub'
:
'Résilier'
,
'unsubconfirm'
:
'1'
})
unsubscribe_request
=
urllib2
.
Request
(
unsubscribe_action_url
,
unsubscribe_params
)
url
=
url_opener
.
open
(
unsubscribe_request
)
url
.
close
()
subscriber
.
delete
()
return
render
(
request
,
'unsubscription_form.html'
,
{
'message'
:
UNSUBSCRIPTION_CONFIRMATION_MESSAGE
})
except
Subscriber
.
DoesNotExist
:
error_message
=
_
(
"The entered email address does not exist. Please try another one."
)
return
render
(
request
,
'unsubscription_form.html'
,
{
'form'
:
form
,
'message'
:
error_message
})
def
registration
(
request
,
validation_value
)
:
error_message
=
''
...
...
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