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='treeio.core', widget_name='widget_welcome') widget.save() return profile
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='treeio.core', widget_name='widget_welcome') widget.save() return profile
def _create_widget_object(request, module_name, widget_name): "Create a Widget object if one is available for the current user Perspective" user = request.user.get_profile() perspective = user.get_perspective() modules = perspective.get_modules() obj = None current_module = modules.filter(name=module_name) widget = None if current_module: current_module = current_module[0] widget = _get_widget(request, current_module, widget_name) if widget: obj = Widget(user=user, perspective=perspective) obj.module_name = widget['module_name'] obj.widget_name = widget_name obj.save() # except Exception: # pass return obj