feat: import additional exchange sections
All checks were successful
CI/CD Pipeline / Code Quality Checks (push) Successful in 2m41s
CI/CD Pipeline / Run Tests (push) Successful in 2m47s
CI/CD Pipeline / Build Docker Images (push) Successful in 2m24s
CI/CD Pipeline / Push to Gitea Registry (push) Successful in 0s
CI/CD Pipeline / Deploy to Server (push) Successful in 0s
All checks were successful
CI/CD Pipeline / Code Quality Checks (push) Successful in 2m41s
CI/CD Pipeline / Run Tests (push) Successful in 2m47s
CI/CD Pipeline / Build Docker Images (push) Successful in 2m24s
CI/CD Pipeline / Push to Gitea Registry (push) Successful in 0s
CI/CD Pipeline / Deploy to Server (push) Successful in 0s
This commit is contained in:
@@ -112,7 +112,69 @@ class ArbitrationCase(UUIDPrimaryKeyMixin, TimestampMixin, models.Model):
|
||||
return f"{self.case_number} ({self.organization_id})"
|
||||
|
||||
|
||||
class InformationSecurityRegistryEntry(UUIDPrimaryKeyMixin, TimestampMixin, models.Model):
|
||||
class BankruptcyProcedure(UUIDPrimaryKeyMixin, TimestampMixin, models.Model):
|
||||
organization = models.ForeignKey(
|
||||
Organization,
|
||||
on_delete=models.CASCADE,
|
||||
related_name="bankruptcy_procedures",
|
||||
verbose_name=_("организация"),
|
||||
)
|
||||
external_id = models.CharField(_("внешний ID"), max_length=255, db_index=True)
|
||||
message_type = models.CharField(_("тип сообщения"), max_length=255, db_index=True)
|
||||
message_date = models.DateField(
|
||||
_("дата сообщения"), null=True, blank=True, db_index=True
|
||||
)
|
||||
case_number = models.CharField(
|
||||
_("номер дела"), max_length=128, blank=True, default="", db_index=True
|
||||
)
|
||||
status = models.CharField(
|
||||
_("статус"), max_length=64, blank=True, default="", db_index=True
|
||||
)
|
||||
source_url = models.TextField(_("ссылка на источник"), blank=True, default="")
|
||||
|
||||
class Meta:
|
||||
ordering = ["-message_date", "case_number", "message_type"]
|
||||
|
||||
def __str__(self) -> str:
|
||||
return f"{self.message_type} ({self.organization_id})"
|
||||
|
||||
|
||||
class DefenseUnreliableSupplier(UUIDPrimaryKeyMixin, TimestampMixin, models.Model):
|
||||
organization = models.ForeignKey(
|
||||
Organization,
|
||||
on_delete=models.CASCADE,
|
||||
related_name="defense_unreliable_suppliers",
|
||||
verbose_name=_("организация"),
|
||||
)
|
||||
external_id = models.CharField(_("внешний ID"), max_length=255, db_index=True)
|
||||
registry_source = models.CharField(
|
||||
_("источник реестра"), max_length=50, db_index=True
|
||||
)
|
||||
registry_number = models.CharField(
|
||||
_("номер записи"), max_length=128, blank=True, default="", db_index=True
|
||||
)
|
||||
supplier_name = models.CharField(
|
||||
_("наименование поставщика"), max_length=500, blank=True, default=""
|
||||
)
|
||||
reason = models.TextField(_("основание"), blank=True, default="")
|
||||
included_at = models.DateField(
|
||||
_("дата включения"), null=True, blank=True, db_index=True
|
||||
)
|
||||
status = models.CharField(
|
||||
_("статус"), max_length=64, blank=True, default="", db_index=True
|
||||
)
|
||||
source_url = models.TextField(_("ссылка на источник"), blank=True, default="")
|
||||
|
||||
class Meta:
|
||||
ordering = ["-included_at", "registry_source", "registry_number"]
|
||||
|
||||
def __str__(self) -> str:
|
||||
return f"{self.registry_source}:{self.registry_number} ({self.organization_id})"
|
||||
|
||||
|
||||
class InformationSecurityRegistryEntry(
|
||||
UUIDPrimaryKeyMixin, TimestampMixin, models.Model
|
||||
):
|
||||
class PresenceStatus(models.TextChoices):
|
||||
PRESENT = "present", _("В реестре")
|
||||
ABSENT = "absent", _("Не в реестре")
|
||||
@@ -123,6 +185,9 @@ class InformationSecurityRegistryEntry(UUIDPrimaryKeyMixin, TimestampMixin, mode
|
||||
related_name="information_security_registry_entries",
|
||||
verbose_name=_("организация"),
|
||||
)
|
||||
external_id = models.CharField(
|
||||
_("внешний ID"), max_length=255, blank=True, default="", db_index=True
|
||||
)
|
||||
registry_name = models.CharField(
|
||||
_("название реестра"), max_length=255, db_index=True
|
||||
)
|
||||
@@ -148,3 +213,37 @@ class InformationSecurityRegistryEntry(UUIDPrimaryKeyMixin, TimestampMixin, mode
|
||||
|
||||
def __str__(self) -> str:
|
||||
return f"{self.registry_name} ({self.organization_id})"
|
||||
|
||||
|
||||
class LaborVacancy(UUIDPrimaryKeyMixin, TimestampMixin, models.Model):
|
||||
organization = models.ForeignKey(
|
||||
Organization,
|
||||
on_delete=models.CASCADE,
|
||||
related_name="labor_vacancies",
|
||||
verbose_name=_("организация"),
|
||||
)
|
||||
external_id = models.CharField(_("внешний ID"), max_length=255, db_index=True)
|
||||
vacancy_source = models.CharField(
|
||||
_("источник вакансии"), max_length=50, db_index=True
|
||||
)
|
||||
title = models.CharField(_("название вакансии"), max_length=500, db_index=True)
|
||||
status = models.CharField(
|
||||
_("статус"), max_length=64, blank=True, default="", db_index=True
|
||||
)
|
||||
published_at = models.DateField(
|
||||
_("дата публикации"), null=True, blank=True, db_index=True
|
||||
)
|
||||
salary_amount = models.DecimalField(
|
||||
_("зарплата"),
|
||||
max_digits=20,
|
||||
decimal_places=2,
|
||||
null=True,
|
||||
blank=True,
|
||||
)
|
||||
source_url = models.TextField(_("ссылка на источник"), blank=True, default="")
|
||||
|
||||
class Meta:
|
||||
ordering = ["-published_at", "title"]
|
||||
|
||||
def __str__(self) -> str:
|
||||
return f"{self.title} ({self.organization_id})"
|
||||
|
||||
Reference in New Issue
Block a user