# 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')