2026-03-06 15:29:42 +03:00
|
|
|
|
{% extends "base.html" %}
|
2026-03-06 18:40:11 +03:00
|
|
|
|
{% block title %}Подключение ВКонтакте — ЭВОСИНК{% endblock %}
|
2026-03-06 15:29:42 +03:00
|
|
|
|
|
|
|
|
|
|
{% block content %}
|
|
|
|
|
|
<div class="row justify-content-center">
|
|
|
|
|
|
<div class="col-sm-10 col-md-7 col-lg-6">
|
|
|
|
|
|
|
|
|
|
|
|
{% if error %}
|
|
|
|
|
|
<div class="alert alert-danger mt-4">
|
2026-03-10 15:32:13 +03:00
|
|
|
|
{% if error == "invalid_token" %}
|
2026-03-10 17:21:16 +03:00
|
|
|
|
<i class="bi bi-exclamation-triangle me-2"></i>Токен недействителен или у него нет прав администратора сообщества.
|
2026-03-10 15:32:13 +03:00
|
|
|
|
{% elif error == "empty_token" %}
|
2026-03-10 17:21:16 +03:00
|
|
|
|
<i class="bi bi-exclamation-triangle me-2"></i>Введите токен.
|
|
|
|
|
|
{% elif error == "no_client_id" %}
|
|
|
|
|
|
<i class="bi bi-exclamation-triangle me-2"></i>Автоматическое подключение не настроено. Введите токен вручную.
|
2026-03-06 15:29:42 +03:00
|
|
|
|
{% else %}
|
|
|
|
|
|
<i class="bi bi-exclamation-triangle me-2"></i>Произошла ошибка при подключении: {{ error }}
|
|
|
|
|
|
{% endif %}
|
|
|
|
|
|
</div>
|
|
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
|
|
|
|
<div class="card shadow-sm mt-4">
|
|
|
|
|
|
<div class="card-header">
|
|
|
|
|
|
<h1 class="h5 mb-0">Подключение ВКонтакте</h1>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
{% if connection %}
|
|
|
|
|
|
{# ── CONNECTED STATE ── #}
|
|
|
|
|
|
<ul class="list-group list-group-flush">
|
|
|
|
|
|
<li class="list-group-item d-flex justify-content-between align-items-center">
|
|
|
|
|
|
<span class="text-muted small">Статус</span>
|
|
|
|
|
|
<span class="badge bg-success"><i class="bi bi-check-circle me-1"></i>Подключено</span>
|
|
|
|
|
|
</li>
|
2026-03-10 15:32:13 +03:00
|
|
|
|
{% if connection.first_name %}
|
2026-03-06 15:29:42 +03:00
|
|
|
|
<li class="list-group-item d-flex justify-content-between align-items-center">
|
2026-03-10 15:32:13 +03:00
|
|
|
|
<span class="text-muted small">Сообщество</span>
|
|
|
|
|
|
<span>{{ connection.first_name }}</span>
|
2026-03-06 15:29:42 +03:00
|
|
|
|
</li>
|
|
|
|
|
|
{% endif %}
|
|
|
|
|
|
{% if connection.vk_user_id %}
|
|
|
|
|
|
<li class="list-group-item d-flex justify-content-between align-items-center">
|
2026-03-10 15:32:13 +03:00
|
|
|
|
<span class="text-muted small">ID сообщества</span>
|
2026-03-06 15:29:42 +03:00
|
|
|
|
<span class="font-monospace small text-muted">{{ connection.vk_user_id }}</span>
|
|
|
|
|
|
</li>
|
|
|
|
|
|
{% endif %}
|
|
|
|
|
|
<li class="list-group-item d-flex justify-content-between align-items-center">
|
|
|
|
|
|
<span class="text-muted small">Подключено</span>
|
|
|
|
|
|
<span class="small">{{ connection.connected_at.strftime("%d.%m.%Y %H:%M") }}</span>
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
2026-03-10 15:32:13 +03:00
|
|
|
|
<div class="card-footer">
|
2026-03-10 17:21:16 +03:00
|
|
|
|
<p class="text-muted small mb-2">Обновить токен пользователя:</p>
|
2026-03-10 15:32:13 +03:00
|
|
|
|
<form method="post" action="/vk/token">
|
|
|
|
|
|
<div class="input-group input-group-sm">
|
2026-03-10 17:21:16 +03:00
|
|
|
|
<input type="text" name="token" class="form-control font-monospace" placeholder="Новый токен пользователя" required>
|
2026-03-10 15:32:13 +03:00
|
|
|
|
<button type="submit" class="btn btn-outline-secondary">Обновить</button>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</form>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="card-body d-grid">
|
2026-03-06 15:29:42 +03:00
|
|
|
|
<form method="post" action="/vk/disconnect">
|
2026-03-10 15:32:13 +03:00
|
|
|
|
<button type="submit" class="btn btn-outline-danger w-100">Отключить ВКонтакте</button>
|
2026-03-06 15:29:42 +03:00
|
|
|
|
</form>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
{% else %}
|
|
|
|
|
|
{# ── NOT CONNECTED STATE ── #}
|
|
|
|
|
|
<div class="card-body">
|
2026-03-10 17:21:16 +03:00
|
|
|
|
{% if vk_client_id %}
|
|
|
|
|
|
<p class="text-muted mb-4">
|
|
|
|
|
|
Нажмите кнопку ниже, чтобы авторизоваться через ВКонтакте и выдать доступ к управлению товарами вашего сообщества.
|
|
|
|
|
|
</p>
|
|
|
|
|
|
<div class="d-grid mb-3">
|
|
|
|
|
|
<a href="/vk/connect" class="btn btn-primary btn-lg">
|
|
|
|
|
|
<i class="bi bi-box-arrow-in-right me-2"></i>Подключить ВКонтакте
|
|
|
|
|
|
</a>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<hr class="my-4">
|
|
|
|
|
|
<p class="text-muted small mb-2">Или введите токен вручную:</p>
|
|
|
|
|
|
{% else %}
|
2026-03-06 15:29:42 +03:00
|
|
|
|
<p class="text-muted mb-3">
|
2026-03-10 17:21:16 +03:00
|
|
|
|
Для синхронизации товаров необходим <strong>токен пользователя</strong> ВКонтакте
|
|
|
|
|
|
с правами на управление товарами сообщества.
|
2026-03-06 15:29:42 +03:00
|
|
|
|
</p>
|
2026-03-10 17:21:16 +03:00
|
|
|
|
{% endif %}
|
2026-03-10 15:32:13 +03:00
|
|
|
|
|
|
|
|
|
|
<form method="post" action="/vk/token">
|
|
|
|
|
|
<div class="mb-3">
|
2026-03-10 17:21:16 +03:00
|
|
|
|
<label class="form-label small text-muted">Токен пользователя ВКонтакте</label>
|
|
|
|
|
|
<input type="text" name="token" class="form-control font-monospace" placeholder="Вставьте токен пользователя" required {% if vk_client_id %}{% else %}autofocus{% endif %}>
|
2026-03-10 15:32:13 +03:00
|
|
|
|
</div>
|
|
|
|
|
|
<div class="d-grid">
|
2026-03-10 17:21:16 +03:00
|
|
|
|
<button type="submit" class="btn {% if vk_client_id %}btn-outline-secondary{% else %}btn-primary{% endif %}">Подключить</button>
|
2026-03-10 15:32:13 +03:00
|
|
|
|
</div>
|
|
|
|
|
|
</form>
|
2026-03-06 15:29:42 +03:00
|
|
|
|
</div>
|
|
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="mt-3 text-center">
|
|
|
|
|
|
<a href="/connections" class="text-muted small">
|
|
|
|
|
|
<i class="bi bi-arrow-left me-1"></i>Вернуться к подключениям
|
|
|
|
|
|
</a>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
{% endblock %}
|