feat: highlight expired date and datetime attributes
This commit is contained in:
@@ -47,6 +47,11 @@ class Attribute(BaseModel):
|
|||||||
server_default='0',
|
server_default='0',
|
||||||
comment='Отображается ли атрибут на дашборде',
|
comment='Отображается ли атрибут на дашборде',
|
||||||
)
|
)
|
||||||
|
is_highlight_if_expired: Mapped[bool] = mapped_column(
|
||||||
|
default=False,
|
||||||
|
server_default='0',
|
||||||
|
comment='Подсветка атрибута, если Дата/ДатаВремя просрочена',
|
||||||
|
)
|
||||||
is_nullable: Mapped[bool] = mapped_column(default=False, nullable=False)
|
is_nullable: Mapped[bool] = mapped_column(default=False, nullable=False)
|
||||||
default_value: Mapped[bytes] = mapped_column(nullable=True)
|
default_value: Mapped[bytes] = mapped_column(nullable=True)
|
||||||
is_deleted: Mapped[bool] = mapped_column(default=False)
|
is_deleted: Mapped[bool] = mapped_column(default=False)
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ class BaseAttributeSchema(BaseSchema):
|
|||||||
name: str
|
name: str
|
||||||
is_applicable_to_group: bool
|
is_applicable_to_group: bool
|
||||||
is_shown_on_dashboard: bool
|
is_shown_on_dashboard: bool
|
||||||
|
is_highlight_if_expired: bool
|
||||||
is_nullable: bool
|
is_nullable: bool
|
||||||
default_value: Optional[bool | int | float | str | date | datetime]
|
default_value: Optional[bool | int | float | str | date | datetime]
|
||||||
type_id: int
|
type_id: int
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ class AttributeService(BaseService):
|
|||||||
if attribute.name != request.attribute.name:
|
if attribute.name != request.attribute.name:
|
||||||
attr_with_same_name = await self.get_attr_by_name(request.attribute.name)
|
attr_with_same_name = await self.get_attr_by_name(request.attribute.name)
|
||||||
if attr_with_same_name:
|
if attr_with_same_name:
|
||||||
return CreateAttributeResponse(ok=False, message="Атрибут с данным уникальным ключом уже существует")
|
return UpdateAttributeResponse(ok=False, message="Атрибут с данным уникальным ключом уже существует")
|
||||||
|
|
||||||
default_value = pickle.dumps(request.attribute.default_value) if request.attribute.default_value else None
|
default_value = pickle.dumps(request.attribute.default_value) if request.attribute.default_value else None
|
||||||
|
|
||||||
@@ -70,6 +70,7 @@ class AttributeService(BaseService):
|
|||||||
attribute.default_value = default_value
|
attribute.default_value = default_value
|
||||||
attribute.is_applicable_to_group = request.attribute.is_applicable_to_group
|
attribute.is_applicable_to_group = request.attribute.is_applicable_to_group
|
||||||
attribute.is_shown_on_dashboard = request.attribute.is_shown_on_dashboard
|
attribute.is_shown_on_dashboard = request.attribute.is_shown_on_dashboard
|
||||||
|
attribute.is_highlight_if_expired = request.attribute.is_highlight_if_expired
|
||||||
attribute.is_nullable = request.attribute.is_nullable
|
attribute.is_nullable = request.attribute.is_nullable
|
||||||
attribute.description = request.attribute.description
|
attribute.description = request.attribute.description
|
||||||
await self.session.commit()
|
await self.session.commit()
|
||||||
|
|||||||
Reference in New Issue
Block a user