fix print and preview quote and add broker to req and complete company model.
This commit is contained in:
parent
5ce94214d5
commit
246a2c0759
19 changed files with 872 additions and 260 deletions
|
@ -33,9 +33,9 @@ class ProfileAdmin(admin.ModelAdmin):
|
|||
|
||||
@admin.register(Company)
|
||||
class CompanyAdmin(admin.ModelAdmin):
|
||||
list_display = ['name', 'logo', 'signature', 'address', 'phone']
|
||||
list_display = ['name', 'logo', 'signature', 'address', 'phone', 'broker']
|
||||
prepopulated_fields = {'slug': ('name',)}
|
||||
search_fields = ['name', 'address', 'phone']
|
||||
list_filter = ['is_active']
|
||||
list_filter = ['is_active', 'broker']
|
||||
date_hierarchy = 'created'
|
||||
ordering = ['-created']
|
20
accounts/migrations/0002_company_broker.py
Normal file
20
accounts/migrations/0002_company_broker.py
Normal file
|
@ -0,0 +1,20 @@
|
|||
# Generated by Django 5.2.4 on 2025-09-07 13:43
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('accounts', '0001_initial'),
|
||||
('locations', '0003_remove_broker_company'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='company',
|
||||
name='broker',
|
||||
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='company', to='locations.broker', verbose_name='کارگزار'),
|
||||
),
|
||||
]
|
|
@ -0,0 +1,34 @@
|
|||
# Generated by Django 5.2.4 on 2025-09-07 14:11
|
||||
|
||||
import django.core.validators
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('accounts', '0002_company_broker'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='company',
|
||||
name='account_number',
|
||||
field=models.CharField(blank=True, max_length=20, null=True, validators=[django.core.validators.RegexValidator(code='invalid_account_number', message='شماره حساب باید فقط شامل اعداد باشد.', regex='^\\d+$')], verbose_name='شماره حساب'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='company',
|
||||
name='bank_name',
|
||||
field=models.CharField(blank=True, choices=[('mellat', 'بانک ملت'), ('saman', 'بانک سامان'), ('parsian', 'بانک پارسیان'), ('sina', 'بانک سینا'), ('tejarat', 'بانک تجارت'), ('tosee', 'بانک توسعه'), ('iran_zamin', 'بانک ایران زمین'), ('meli', 'بانک ملی'), ('saderat', 'بانک توسعه صادرات'), ('iran_zamin', 'بانک ایران زمین'), ('refah', 'بانک رفاه'), ('eghtesad_novin', 'بانک اقتصاد نوین'), ('pasargad', 'بانک پاسارگاد'), ('other', 'سایر')], max_length=255, null=True, verbose_name='نام بانک'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='company',
|
||||
name='card_number',
|
||||
field=models.CharField(blank=True, max_length=16, null=True, validators=[django.core.validators.RegexValidator(code='invalid_card_number', message='شماره کارت باید فقط شامل اعداد باشد.', regex='^\\d+$')], verbose_name='شماره کارت'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='company',
|
||||
name='sheba_number',
|
||||
field=models.CharField(blank=True, max_length=30, null=True, verbose_name='شماره شبا'),
|
||||
),
|
||||
]
|
18
accounts/migrations/0004_company_branch_name.py
Normal file
18
accounts/migrations/0004_company_branch_name.py
Normal file
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 5.2.4 on 2025-09-07 14:12
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('accounts', '0003_company_account_number_company_bank_name_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='company',
|
||||
name='branch_name',
|
||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='شعبه بانک'),
|
||||
),
|
||||
]
|
|
@ -181,11 +181,82 @@ class Profile(BaseModel):
|
|||
|
||||
|
||||
class Company(NameSlugModel):
|
||||
logo = models.ImageField(upload_to='companies/logos', null=True, blank=True, verbose_name='لوگوی شرکت')
|
||||
signature = models.ImageField(upload_to='companies/signatures', null=True, blank=True, verbose_name='امضای شرکت')
|
||||
address = models.TextField(null=True, blank=True, verbose_name='آدرس')
|
||||
phone = models.CharField(max_length=11, null=True, blank=True, verbose_name='شماره تماس')
|
||||
|
||||
logo = models.ImageField(
|
||||
upload_to='companies/logos',
|
||||
null=True,
|
||||
blank=True,
|
||||
verbose_name='لوگوی شرکت'
|
||||
)
|
||||
signature = models.ImageField(
|
||||
upload_to='companies/signatures',
|
||||
null=True,
|
||||
blank=True,
|
||||
verbose_name='امضای شرکت'
|
||||
)
|
||||
address = models.TextField(
|
||||
null=True,
|
||||
blank=True,
|
||||
verbose_name='آدرس'
|
||||
)
|
||||
phone = models.CharField(
|
||||
max_length=11,
|
||||
null=True,
|
||||
blank=True,
|
||||
verbose_name='شماره تماس'
|
||||
)
|
||||
broker = models.OneToOneField(
|
||||
Broker,
|
||||
on_delete=models.SET_NULL,
|
||||
verbose_name="کارگزار",
|
||||
null=True,
|
||||
blank=True,
|
||||
related_name='company'
|
||||
)
|
||||
card_number = models.CharField(
|
||||
max_length=16,
|
||||
null=True,
|
||||
verbose_name="شماره کارت",
|
||||
blank=True,
|
||||
validators=[
|
||||
RegexValidator(
|
||||
regex=r'^\d+$',
|
||||
message='شماره کارت باید فقط شامل اعداد باشد.',
|
||||
code='invalid_card_number'
|
||||
)
|
||||
]
|
||||
)
|
||||
account_number = models.CharField(
|
||||
max_length=20,
|
||||
null=True,
|
||||
verbose_name="شماره حساب",
|
||||
blank=True,
|
||||
validators=[
|
||||
RegexValidator(
|
||||
regex=r'^\d+$',
|
||||
message='شماره حساب باید فقط شامل اعداد باشد.',
|
||||
code='invalid_account_number'
|
||||
)
|
||||
]
|
||||
)
|
||||
sheba_number = models.CharField(
|
||||
max_length=30,
|
||||
null=True,
|
||||
verbose_name="شماره شبا",
|
||||
blank=True,
|
||||
)
|
||||
bank_name = models.CharField(
|
||||
max_length=255,
|
||||
choices=BANK_CHOICES,
|
||||
null=True,
|
||||
verbose_name="نام بانک",
|
||||
blank=True
|
||||
)
|
||||
branch_name = models.CharField(
|
||||
max_length=255,
|
||||
null=True,
|
||||
verbose_name="شعبه بانک",
|
||||
blank=True
|
||||
)
|
||||
class Meta:
|
||||
verbose_name = 'شرکت'
|
||||
verbose_name_plural = 'شرکتها'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue