Отображение бейджей связанных объектов в детализации
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
2025-10-14 17:04:42 +03:00
parent 68502ce2f0
commit 9feb131e98
2 changed files with 43 additions and 12 deletions
+20 -2
View File
@@ -1177,11 +1177,21 @@ def api_get_linked_events(post_id):
events = db.get_linked_events(post_id)
events_list = []
for event in events:
# Определяем статус события
status = "Не видим"
if event.get('is_posted_tg'):
status = "Опубликован"
elif event.get('marked_to_publication'):
status = "Для публикации"
elif event.get('is_visible'):
status = "Видим"
events_list.append({
'id': event['id'],
'name': event['name'],
'number': event['number'],
'unit_name': event['unit_name']
'unit_name': event['unit_name'],
'status': status
})
return jsonify(events_list)
except Exception as e:
@@ -1197,11 +1207,19 @@ def api_get_linked_posts(event_id):
posts = db.get_linked_posts(event_id)
posts_list = []
for post in posts:
# Определяем статус поста
status = "Не для публикации"
if post.get('published_in_tg'):
status = "Опубликован"
elif post.get('marked_for_publication'):
status = "Для публикации"
posts_list.append({
'id': post['id'],
'vk_post_id': post['vk_post_id'],
'shortname': post['shortname'],
'text_preview': post['text'][:50] + '...' if post['text'] else ''
'text_preview': post['text'][:50] + '...' if post['text'] else '',
'status': status
})
return jsonify(posts_list)
except Exception as e:
+15 -2
View File
@@ -1554,11 +1554,17 @@
${linkedPosts.map(post => `
<a href="#" class="list-group-item list-group-item-action py-1"
onclick="highlightSelectedPost(${post.id}); document.getElementById('posts-tab').click(); return false;">
<div class="d-flex justify-content-between align-items-center">
<div>
<small>${post.shortname || `Пост ${post.id}`}</small>
<button class="btn btn-sm btn-outline-danger float-end"
<span class="badge ${post.status === 'Опубликован' ? 'bg-success' :
post.status === 'Для публикации' ? 'bg-warning' : 'bg-secondary'} ms-2">${post.status}</span>
</div>
<button class="btn btn-sm btn-outline-danger"
onclick="event.stopPropagation(); unlinkEventFromPost(${event.id}, ${post.id}); return false;">
<i class="fas fa-unlink"></i>
</button>
</div>
</a>
`).join('')}
</div>
@@ -1935,11 +1941,18 @@
${linkedEvents.map(event => `
<a href="#" class="list-group-item list-group-item-action py-1"
onclick="highlightSelectedEvent(${event.id}); document.getElementById('events-tab').click(); return false;">
<div class="d-flex justify-content-between align-items-center">
<div>
<small>${event.name || `Событие ${event.id}`}</small>
<button class="btn btn-sm btn-outline-danger float-end"
<span class="badge ${event.status === 'Опубликован' ? 'bg-success' :
event.status === 'Для публикации' ? 'bg-warning' :
event.status === 'Видим' ? 'bg-info' : 'bg-secondary'} ms-2">${event.status}</span>
</div>
<button class="btn btn-sm btn-outline-danger"
onclick="event.stopPropagation(); unlinkPostFromEvent(${post.id}, ${event.id}); return false;">
<i class="fas fa-unlink"></i>
</button>
</div>
</a>
`).join('')}
</div>