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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# vim: set fileencoding=utf-8 ts=4 shiftwidth=4 softtabstop=4 expandtab:
from tablon.models import PermisoForo
from django.db import models
from django.contrib.auth.models import User
from django import forms
class UserProfile(models.Model):
user = models.OneToOneField(User)
show_email = models.BooleanField("Mostrar e-mail", blank=True)
url = models.URLField("Página web", blank=True)
msn_id = models.EmailField("MSN (Messenger)", blank=True)
jabber_id = models.EmailField("Jabber / Google Talk", blank=True)
imagen = models.ImageField(upload_to='/home/kinote/proyectos/elgarito/avatar', blank=True)
def es_socio(self):
return True
def foro_can(self, permission, foro_id):
for g in self.user.groups.all():
try:
pf = PermisoForo.objects.get(foro=foro_id, grupo=g)
if (permission == 'read'):
if (pf.can_read):
return True
elif (permission == 'write'):
if (pf.can_write):
return True
except PermisoForo.DoesNotExist:
pass
return False
class UserProfileForm(forms.ModelForm):
class Meta:
model = UserProfile
exclude = ('user',)
class UserForm(forms.ModelForm):
class Meta:
model = User
fields = ('first_name', 'last_name', 'email')
class UserProfileCreateForm(forms.ModelForm):
class Meta:
model = UserProfile
fields = ('show_email', 'url', 'msn_id', 'jabber_id', 'imagen')
class UserCreateForm(forms.ModelForm):
class Meta:
model = User
fields = ('username', 'password', 'first_name', 'last_name', 'email')
|