def save(self, *args, **kwargs): "Form processor" profile = None if self.invitation: # Create DjangoUser django_user = django_auth.User(username=self.cleaned_data['username'], password='') django_user.set_password(self.cleaned_data['password']) django_user.save() # Crate profile try: profile = django_user.get_profile() except: profile = User() profile.user = django_user profile.name = django_user.username profile.default_group = self.invitation.default_group profile.save() # Create contact try: contact_type = ContactType.objects.get(Q(name='Person') | Q(slug='person')) except: contact_type = ContactType.objects.all()[0] try: # Check if contact has already been created (e.g. by a signals contact = profile.get_contact() if not contact: contact = Contact() except: contact = Contact() contact.name = self.cleaned_data['name'] contact.contact_type = contact_type contact.related_user = profile contact.save() # Set email try: emailfield = contact_type.fields.filter(field_type='email')[0] email = ContactValue(value=self.invitation.email, field=emailfield, contact=contact) email.save() except: pass # Add quick start widget widget = Widget(user=profile, perspective=profile.get_perspective(), module_name='maker.core', widget_name='widget_welcome') widget.save() return profile
def test_model_user(self): "Test User model" username = "******" password = "******" user = DjangoUser(username=username, password=password) user.set_password(password) user.save() self.assertEquals('test', user.username) self.assertNotEquals(user.id, None) group = Group(name='test') group.save() self.assertEquals('test', group.name) self.assertNotEquals(group.id, None) profile = User(user=user, default_group=group) profile.save() self.assertEquals(user, profile.user) self.assertNotEquals(profile.id, None) profile.delete() group.delete()
def test_model_message(self): "Test message" contact_type = ContactType(name='test') contact_type.save() contact = Contact(name='test', contact_type=contact_type) contact.save() self.user = DjangoUser(username=self.username, password='') self.user.set_password(self.password) self.user.save() user = User(name='test', user=self.user) user.save() stream = MessageStream(name='test') stream.save() obj = Message(title='test', body='test', author=contact, stream=stream) obj.save() self.assertEquals('test', obj.title) self.assertNotEquals(obj.id, None) obj.delete()