| Server IP : 85.214.239.14 / Your IP : 216.73.216.210 Web Server : Apache/2.4.65 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 8.2.29 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/3/task/3/cwd/srv/modoboa/env/lib/python3.5/site-packages/modoboa_contacts/ |
Upload File : |
"""Contacts factories."""
import factory
from modoboa.admin import factories as admin_factories
from . import models
class AddressBookFactory(factory.django.DjangoModelFactory):
"""Address book factory."""
class Meta:
model = models.AddressBook
user = factory.SubFactory(admin_factories.UserFactory)
name = "Contacts"
_path = "contacts"
class CategoryFactory(factory.django.DjangoModelFactory):
"""Category factory."""
class Meta:
model = models.Category
class EmailAddressFactory(factory.django.DjangoModelFactory):
"""Email address factory."""
class Meta:
model = models.EmailAddress
type = "home"
class PhoneNumberFactory(factory.django.DjangoModelFactory):
"""Phone number factory."""
class Meta:
model = models.PhoneNumber
type = "home"
class ContactFactory(factory.django.DjangoModelFactory):
"""Contact factory."""
class Meta:
model = models.Contact
first_name = "Homer"
last_name = "Simpson"
display_name = factory.LazyAttribute(
lambda c: "{}{}".format(c.first_name, c.last_name))
@factory.post_generation
def categories(self, create, extracted, **dummy_kwargs):
"""Add categories to contact."""
if not create or not extracted:
return
for item in extracted:
self.categories.add(item)
@factory.post_generation
def emails(self, create, extracted, **dummy_kwargs):
"""Add emails to contact."""
if not create or not extracted:
return
for item in extracted:
EmailAddressFactory(contact=self, address=item)
@factory.post_generation
def phone_numbers(self, create, extracted, **dummy_kwargs):
"""Add phone numbers to contact."""
if not create or not extracted:
return
for item in extracted:
PhoneNumberFactory(contact=self, number=item)