diff --git a/app/api/public/requests.py b/app/api/public/requests.py index c22498e..bfd5edd 100644 --- a/app/api/public/requests.py +++ b/app/api/public/requests.py @@ -533,6 +533,14 @@ def get_status_route_by_track( return payload except Exception: current = str(req.status_code or "").strip() + current_name = current + if current: + try: + status_row = db.query(Status).filter(Status.code == current).first() + except SQLAlchemyError: + status_row = None + if status_row is not None: + current_name = str(status_row.name or current) changed_at = _to_iso(req.updated_at or req.created_at) payload = { "request_id": str(req.id), @@ -546,7 +554,7 @@ def get_status_route_by_track( "id": "current", "from_status": None, "to_status": current or None, - "to_status_name": current or None, + "to_status_name": current_name or None, "changed_at": changed_at, "important_date_at": _to_iso(req.important_date_at), "comment": None, @@ -556,7 +564,7 @@ def get_status_route_by_track( "nodes": [ { "code": current or "", - "name": current or "-", + "name": current_name or "-", "kind": "DEFAULT", "state": "current", "changed_at": changed_at, diff --git a/app/web/admin.css b/app/web/admin.css index 6c7cd6c..9561153 100644 --- a/app/web/admin.css +++ b/app/web/admin.css @@ -1549,6 +1549,11 @@ margin: 0; } + .request-card-head-spacer { + min-height: 1rem; + margin: -0.1rem 0 0.55rem; + } + .request-card-head-actions { display: inline-flex; align-items: center; diff --git a/app/web/admin/features/requests/RequestWorkspace.jsx b/app/web/admin/features/requests/RequestWorkspace.jsx index b90a049..2464239 100644 --- a/app/web/admin/features/requests/RequestWorkspace.jsx +++ b/app/web/admin/features/requests/RequestWorkspace.jsx @@ -175,6 +175,7 @@ export function RequestWorkspace({ const canSeeRate = viewerRoleCode !== "CLIENT"; const canSeeCreatedUpdatedInCard = viewerRoleCode !== "CLIENT"; const showTopicStatusInCard = viewerRoleCode !== "CLIENT"; + const showContactsInCard = viewerRoleCode !== "CLIENT"; const safeMessages = Array.isArray(messages) ? messages : []; const safeAttachments = Array.isArray(attachments) ? attachments : []; const safeStatusHistory = Array.isArray(statusHistory) ? statusHistory : []; @@ -1250,6 +1251,7 @@ export function RequestWorkspace({ + -
- Клиент - - {clientLabel} - -
-
- Юрист - - {lawyerLabel} - -
+ {showContactsInCard ? ( + <> +
+ Клиент + + {clientLabel} + +
+
+ Юрист + + {lawyerLabel} + +
+ + ) : null} {canSeeCreatedUpdatedInCard ? ( <>
@@ -1326,7 +1332,9 @@ export function RequestWorkspace({
    {routeNodes.map((node, index) => { const state = String(node?.state || "pending"); - const name = String(node?.name || statusLabel(node?.code)); + const code = String(node?.code || "").trim(); + const rawName = String(node?.name || "").trim(); + const name = rawName && rawName !== code ? rawName : statusLabel(code || rawName); const note = String(node?.note || "").trim(); const changedAtSource = String(node?.changed_at || "").trim() || (index === 0 ? String(row?.created_at || "").trim() : ""); const changedAt = changedAtSource ? fmtDate(changedAtSource) : ""; diff --git a/app/web/client.css b/app/web/client.css index 0811b88..13b8878 100644 --- a/app/web/client.css +++ b/app/web/client.css @@ -209,6 +209,11 @@ background: rgba(96, 126, 171, 0.15); } +.client-summary-chip-lawyer { + border-color: rgba(123, 165, 132, 0.34); + background: rgba(74, 124, 86, 0.16); +} + .client-summary-dates { display: inline-flex; align-items: center; diff --git a/app/web/client.jsx b/app/web/client.jsx index 9208bf9..c108a99 100644 --- a/app/web/client.jsx +++ b/app/web/client.jsx @@ -923,9 +923,9 @@ import { detectAttachmentPreviewKind, fmtShortDateTime, statusLabel } from "./ad
    -

    Кабинет клиента

    +

    Личный кабинет * Представление клиента

    -

    Работа с заявками: статусы, чат, файлы и обращения.

    +

    Мы рады помочь Вам