author | nishanth |
Tue, 13 Apr 2010 14:20:57 +0530 | |
changeset 23 | 42e2a810e1c8 |
parent 20 | 9354ef8119c6 |
child 43 | 757d1da69255 |
permissions | -rw-r--r-- |
2 | 1 |
#!/usr/bin/python |
2 |
||
3 |
from django.contrib.auth.models import User |
|
4 |
||
5 |
from django.db import IntegrityError |
|
6 |
||
6
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
7 |
from workshop.reg.models import Profile, Event |
2 | 8 |
from workshop.reg.utils import gen_key |
9 |
||
17 | 10 |
def create_user(email, password, first_name="", last_name="", gender="M", profession="S", affiliated_to="", interests="" ): |
2 | 11 |
""" create a user with random username and set the password. |
12 |
""" |
|
13 |
||
6
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
14 |
while True: |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
15 |
try: |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
16 |
username = gen_key(8) |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
17 |
user = User.objects.get(username=username) |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
18 |
except User.DoesNotExist: |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
19 |
break |
2 | 20 |
new_user = User.objects.create_user(username, email, password) |
17 | 21 |
new_user.first_name = first_name |
22 |
new_user.last_name = last_name |
|
2 | 23 |
new_user.is_active = False |
24 |
new_user.save() |
|
6
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
25 |
|
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
26 |
new_profile = Profile(user=new_user) |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
27 |
new_profile.gender = gender |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
28 |
new_profile.profession = profession |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
29 |
new_profile.affiliated_to = affiliated_to |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
30 |
new_profile.interests = interests |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
31 |
|
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
32 |
while True: |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
33 |
try: |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
34 |
new_profile.activation_key = gen_key(30) |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
35 |
new_profile.save() |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
36 |
return new_user |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
37 |
except IntegrityError: |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
38 |
pass |
2 | 39 |
|
20
9354ef8119c6
added account_inactive and resend_activationkey functionalities
nishanth
parents:
18
diff
changeset
|
40 |
def send_activation(user): |
9354ef8119c6
added account_inactive and resend_activationkey functionalities
nishanth
parents:
18
diff
changeset
|
41 |
""" get key from profile and send an email. |
9354ef8119c6
added account_inactive and resend_activationkey functionalities
nishanth
parents:
18
diff
changeset
|
42 |
""" |
9354ef8119c6
added account_inactive and resend_activationkey functionalities
nishanth
parents:
18
diff
changeset
|
43 |
|
23 | 44 |
print "http://localhost:8000/reg/activate/%s"%user.get_profile().activation_key |
20
9354ef8119c6
added account_inactive and resend_activationkey functionalities
nishanth
parents:
18
diff
changeset
|
45 |
|
8 | 46 |
def create_event(title, description, start_date, stop_date, created_by=None): |
2 | 47 |
""" make an event and save it. |
48 |
""" |
|
49 |
||
50 |
new_event = Event() |
|
51 |
new_event.title = title |
|
8 | 52 |
new_event.description = description |
2 | 53 |
new_event.start_date = start_date |
54 |
new_event.stop_date = stop_date |
|
55 |
new_event.save() |
|
56 |
if created_by: |
|
57 |
new_event.organizers.add(created_by) |
|
58 |
||
59 |
while True: |
|
60 |
try: |
|
6
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
61 |
new_event.key = gen_key(10) |
2 | 62 |
new_event.save() |
63 |
return new_event |
|
64 |
except IntegrityError: |
|
6
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
2
diff
changeset
|
65 |
pass |
7 | 66 |
|
67 |
def activate_user(user): |
|
68 |
""" mark the is_active flag as true. |
|
69 |
""" |
|
70 |
||
71 |
user.is_active = True |
|
72 |
user.save() |
|
73 |
return user |
|
9 | 74 |
|
75 |
def reset_password(user): |
|
76 |
""" get a key and set it as password. |
|
77 |
for now, print the key. |
|
78 |
later on add the send mail function. |
|
79 |
""" |
|
80 |
||
81 |
new_password = gen_key(10) |
|
82 |
user.set_password(new_password) |
|
83 |
user.save() |
|
84 |
return new_password |
|
85 |
||
86 |
def change_password(user, new_password): |
|
87 |
""" for now just set the password and be done with it. |
|
88 |
later on, if we want to do something else also then we can add them here. |
|
89 |
""" |
|
90 |
||
91 |
user.set_password(new_password) |
|
92 |
user.save() |
|
93 |
||
17 | 94 |
def update_profile(user, properties): |
95 |
""" properties must be a dictionary that contains all the attributes that |
|
96 |
we take while a new user registers. |
|
97 |
""" |
|
9 | 98 |
|
17 | 99 |
profile = user.get_profile() |
100 |
||
101 |
user.first_name = properties['first_name'] |
|
102 |
user.last_name = properties['last_name'] |
|
103 |
user.save() |
|
104 |
||
105 |
profile.gender = properties['gender'] |
|
106 |
profile.profession = properties['profession'] |
|
107 |
profile.affiliated_to = properties['affiliated_to'] |
|
108 |
profile.interests = properties['interests'] |
|
109 |
profile.save() |
|
110 |
||
111 |
||
112 |