Compare commits

..

No commits in common. "c3fe1817c3ca400be7fdaf835b784937fbe268fa" and "17a881f20a2a71a2ba200b73fdf4203722179d8a" have entirely different histories.

2 changed files with 33 additions and 35 deletions

View File

@ -53,7 +53,6 @@ from encrypted_model_fields.fields import (
EncryptedCharField, EncryptedCharField,
EncryptedDateField, EncryptedDateField,
EncryptedEmailField, EncryptedEmailField,
EncryptedTextField,
) )
# from plans.models import AbstractPlan # from plans.models import AbstractPlan
# from simple_history.models import HistoricalRecords # from simple_history.models import HistoricalRecords
@ -1492,7 +1491,7 @@ class Staff(models.Model):
last_name = models.CharField(max_length=255, verbose_name=_("Last Name")) last_name = models.CharField(max_length=255, verbose_name=_("Last Name"))
arabic_name = models.CharField(max_length=255, verbose_name=_("Arabic Name"),null=True,blank=True) arabic_name = models.CharField(max_length=255, verbose_name=_("Arabic Name"),null=True,blank=True)
phone_number = EncryptedCharField( phone_number = models.CharField(
max_length=255, max_length=255,
verbose_name=_("Phone Number"), verbose_name=_("Phone Number"),
validators=[SaudiPhoneNumberValidator()], validators=[SaudiPhoneNumberValidator()],
@ -1500,7 +1499,7 @@ class Staff(models.Model):
staff_type = models.CharField( staff_type = models.CharField(
choices=StaffTypes.choices, max_length=255, verbose_name=_("Staff Type") choices=StaffTypes.choices, max_length=255, verbose_name=_("Staff Type")
) )
address = EncryptedCharField( address = models.CharField(
max_length=200, blank=True, null=True, verbose_name=_("Address") max_length=200, blank=True, null=True, verbose_name=_("Address")
) )
logo = models.ImageField( logo = models.ImageField(
@ -1804,22 +1803,22 @@ class Customer(models.Model):
return f"{self.first_name} {self.last_name}" return f"{self.first_name} {self.last_name}"
def create_customer_model(self, for_lead=False): def create_customer_model(self, for_lead=False):
# customer_dict = to_dict(self) customer_dict = to_dict(self)
customer = self.dealer.entity.get_customers().filter(email=self.email).first() customer = self.dealer.entity.get_customers().filter(email=self.email).first()
if not customer: if not customer:
customer = self.dealer.entity.create_customer( customer = self.dealer.entity.create_customer(
commit=False, commit=False,
customer_model_kwargs={ customer_model_kwargs={
"customer_name": self.full_name, "customer_name": self.full_name,
"address_1": "",#self.address, "address_1": self.address,
# "phone": self.phone_number, "phone": self.phone_number,
# "email": self.email, "email": self.email,
}, },
) )
# try: try:
# customer.additional_info.update({"customer_info": customer_dict}) customer.additional_info.update({"customer_info": customer_dict})
# except Exception: except Exception:
# pass pass
customer.active = False if for_lead else True customer.active = False if for_lead else True
customer.save() customer.save()
self.customer_model = customer self.customer_model = customer
@ -1838,9 +1837,9 @@ class Customer(models.Model):
customer_dict = to_dict(self) customer_dict = to_dict(self)
customer = self.customer_model customer = self.customer_model
customer.customer_name = self.full_name customer.customer_name = self.full_name
# customer.address_1 = self.address customer.address_1 = self.address
# customer.phone = self.phone_number customer.phone = self.phone_number
# customer.email = self.email customer.email = self.email
try: try:
customer.additional_info.update({"customer_info": customer_dict}) customer.additional_info.update({"customer_info": customer_dict})
except Exception: except Exception:
@ -1907,13 +1906,13 @@ class Organization(models.Model, LocalizedNameMixin):
max_length=15, verbose_name=_("Commercial Registration Number") max_length=15, verbose_name=_("Commercial Registration Number")
) )
vrn = models.CharField(max_length=15, verbose_name=_("VAT Registration Number")) vrn = models.CharField(max_length=15, verbose_name=_("VAT Registration Number"))
email = EncryptedEmailField(verbose_name=_("Email")) email = models.EmailField(verbose_name=_("Email"))
phone_number = EncryptedCharField( phone_number = models.CharField(
max_length=255, max_length=255,
verbose_name=_("Phone Number"), verbose_name=_("Phone Number"),
validators=[SaudiPhoneNumberValidator()], validators=[SaudiPhoneNumberValidator()],
) )
address = EncryptedCharField( address = models.CharField(
max_length=200, blank=True, null=True, verbose_name=_("Address") max_length=200, blank=True, null=True, verbose_name=_("Address")
) )
logo = models.ImageField( logo = models.ImageField(
@ -1969,9 +1968,9 @@ class Organization(models.Model, LocalizedNameMixin):
commit=False, commit=False,
customer_model_kwargs={ customer_model_kwargs={
"customer_name": self.name, "customer_name": self.name,
"address_1": "", "address_1": self.address,
# "phone": self.phone_number, "phone": self.phone_number,
# "email": self.email, "email": self.email,
}, },
) )
try: try:
@ -1992,16 +1991,16 @@ class Organization(models.Model, LocalizedNameMixin):
return user return user
def update_customer_model(self): def update_customer_model(self):
# customer_dict = to_dict(self) customer_dict = to_dict(self)
customer = self.customer_model customer = self.customer_model
customer.customer_name = self.name customer.customer_name = self.name
# customer.address_1 = self.address customer.address_1 = self.address
# customer.phone = self.phone_number customer.phone = self.phone_number
# customer.email = self.email customer.email = self.email
# try: try:
# customer.additional_info.update({"customer_info": customer_dict}) customer.additional_info.update({"customer_info": customer_dict})
# except Exception: except Exception:
# pass pass
customer.save() customer.save()
return customer return customer
@ -2073,13 +2072,13 @@ class Lead(models.Model):
dealer = models.ForeignKey(Dealer, on_delete=models.CASCADE, related_name="leads") dealer = models.ForeignKey(Dealer, on_delete=models.CASCADE, related_name="leads")
first_name = models.CharField(max_length=50, verbose_name=_("First Name")) first_name = models.CharField(max_length=50, verbose_name=_("First Name"))
last_name = models.CharField(max_length=50, verbose_name=_("Last Name")) last_name = models.CharField(max_length=50, verbose_name=_("Last Name"))
email = EncryptedEmailField(verbose_name=_("Email")) email = models.EmailField(verbose_name=_("Email"))
phone_number = EncryptedCharField( phone_number = models.CharField(
max_length=255, max_length=255,
verbose_name=_("Phone Number"), verbose_name=_("Phone Number"),
validators=[SaudiPhoneNumberValidator()], validators=[SaudiPhoneNumberValidator()],
) )
address = EncryptedCharField( address = models.CharField(
max_length=200, blank=True, null=True, verbose_name=_("Address") max_length=200, blank=True, null=True, verbose_name=_("Address")
) )
lead_type = models.CharField( lead_type = models.CharField(
@ -3573,7 +3572,7 @@ class PaymentHistory(models.Model):
blank=False, blank=False,
related_name="payments", related_name="payments",
) )
user_data = EncryptedTextField(null=True, blank=True) user_data = models.JSONField(null=True, blank=True)
amount = models.DecimalField( amount = models.DecimalField(
max_digits=10, decimal_places=2, validators=[MinValueValidator(0.01)] max_digits=10, decimal_places=2, validators=[MinValueValidator(0.01)]
) )
@ -3592,7 +3591,7 @@ class PaymentHistory(models.Model):
order_reference = models.CharField(max_length=100, blank=True, null=True) order_reference = models.CharField(max_length=100, blank=True, null=True)
# Payment processor details # Payment processor details
gateway_response = EncryptedTextField( gateway_response = models.JSONField(
blank=True, null=True blank=True, null=True
) # Raw response from payment gateway ) # Raw response from payment gateway
gateway_name = models.CharField(max_length=50, blank=True, null=True) gateway_name = models.CharField(max_length=50, blank=True, null=True)

View File

@ -21,7 +21,6 @@ from django_ledger.models import (
EstimateModel, EstimateModel,
BillModel, BillModel,
ChartOfAccountModel, ChartOfAccountModel,
CustomerModel
) )
from . import models from . import models
from django.utils.timezone import now from django.utils.timezone import now