Ejemplo n.º 1
0
 def save(self, email_dict=None, request=None):
     email_enabled = getattr(settings, 'CAKTUS_EMAIL_ENABLED', True)
     if self.instance.id:
         user = super(PersonForm, self).save()
         created = False
     else:
         try:
             user = User.objects.get(email=self.cleaned_data['email'])
             created = False
         except User.DoesNotExist:
             user = super(PersonForm, self).save(commit=False)
             created = True
             if not email_enabled:
                 user.set_password(settings.CAKTUS_DEBUG_PASSWORD)
             username_base = "%s%s" % (user.first_name, user.last_name)
             if username_base == '': username_base = user.email
             user.username = slugify_uniquely(
                 username_base[:20], 
                 queryset=User.objects.all(), 
                 field='username',
             )
             user.save()
             self.save_m2m()
     if email_dict and email_enabled:
         if 'extra_context' not in email_dict:
             email_dict['extra_context'] = {}
         email_dict['extra_context']['user_is_new'] = created
         if created:
             password = User.objects.make_random_password(length=8)
             user.set_password(password)
             user.save()
             email_dict['extra_context']['password'] = password
         send_user_email(request, user, email_dict)
     return user, created
Ejemplo n.º 2
0
 def handle_noargs(self, **options):
     for contact in crm.Contact.objects.all():
         if contact.type == 'business':
             contact.slug = slugify_uniquely(
                 contact.name,
                 crm.Contact.objects.exclude(pk=contact.pk),
             )
             contact.sort_name = slugify(contact.name)
         elif contact.type == 'individual':
             name = '%s %s' % (contact.first_name, contact.last_name)
             contact.slug = slugify_uniquely(
                 name,
                 crm.Contact.objects.exclude(pk=contact.pk),
             )
             contact.sort_name = slugify(
                 '%s %s' % (contact.last_name, contact.first_name), )
         contact.save()
Ejemplo n.º 3
0
 def handle_noargs(self, **options):
     for contact in crm.Contact.objects.all():
         if contact.type == 'business':
             contact.slug = slugify_uniquely(
                 contact.name,
                 crm.Contact.objects.exclude(pk=contact.pk),
             )
             contact.sort_name = slugify(contact.name)
         elif contact.type == 'individual':
             name = '%s %s' % (contact.first_name, contact.last_name)
             contact.slug = slugify_uniquely(
                 name,
                 crm.Contact.objects.exclude(pk=contact.pk),
             )
             contact.sort_name = slugify(
                 '%s %s' % (contact.last_name, contact.first_name),
             )
         contact.save()
Ejemplo n.º 4
0
 def save(self, commit=True):
     instance = super(BusinessForm, self).save(commit=False)
     qs = crm.Contact.objects.all()
     if instance.pk:
         qs = qs.exclude(pk=instance.pk)
     instance.slug = slugify_uniquely(instance.name, qs)
     instance.sort_name = slugify(instance.name)
     instance.type = 'business'
     if commit:
         instance.save()
         self.save_m2m()
     return instance
Ejemplo n.º 5
0
 def save(self, commit=True):
     instance = super(ProfileForm, self).save(commit=False)
     qs = crm.Contact.objects.all()
     if instance.pk:
         qs = qs.exclude(pk=instance.pk)
     instance.slug = slugify_uniquely(instance.get_full_name(), qs)
     if instance.user:
         instance.user.first_name = instance.first_name
         instance.user.last_name = instance.last_name
         instance.user.email = instance.email
         instance.user.save()
     if instance.description is None:
         instance.description = ''
     instance.type = 'individual'
     sort_name = "%s %s" % (instance.last_name, instance.first_name)
     instance.sort_name = slugify(sort_name)
     if commit:
         instance.save()
         self.save_m2m()
     return instance