Отображение бейджей связанных объектов в детализации
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
+20
-2
@@ -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:
|
||||
|
||||
+23
-10
@@ -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;">
|
||||
<small>${post.shortname || `Пост ${post.id}`}</small>
|
||||
<button class="btn btn-sm btn-outline-danger float-end"
|
||||
onclick="event.stopPropagation(); unlinkEventFromPost(${event.id}, ${post.id}); return false;">
|
||||
<i class="fas fa-unlink"></i>
|
||||
</button>
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<small>${post.shortname || `Пост ${post.id}`}</small>
|
||||
<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;">
|
||||
<small>${event.name || `Событие ${event.id}`}</small>
|
||||
<button class="btn btn-sm btn-outline-danger float-end"
|
||||
onclick="event.stopPropagation(); unlinkPostFromEvent(${post.id}, ${event.id}); return false;">
|
||||
<i class="fas fa-unlink"></i>
|
||||
</button>
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<small>${event.name || `Событие ${event.id}`}</small>
|
||||
<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>
|
||||
|
||||
Reference in New Issue
Block a user