File size: 6,375 Bytes
4e1d4ee 94e14dc 43aee25 995e423 3763d04 94e14dc b785770 e26678d 669d47e 97438ca 669d47e 43aee25 669d47e 4989ec3 669d47e 4989ec3 669d47e b785770 669d47e e26678d 97438ca e26678d 0c39aaa e26678d bf932c7 757b606 e26678d 757b606 4989ec3 6587908 43aee25 6587908 1ef8582 4989ec3 6587908 4989ec3 a03ddc9 4989ec3 43aee25 4989ec3 ff18898 1ef8582 4989ec3 0c39aaa 4989ec3 43aee25 4989ec3 43aee25 4989ec3 1ef8582 43aee25 4989ec3 decdc1a 43aee25 4989ec3 43aee25 4989ec3 43aee25 4989ec3 43aee25 4989ec3 94e14dc 0c39aaa 43aee25 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WhatsMasterGRM - Принудительное обновление базы</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/notyf/notyf.min.css">
</head>
<body>
<h1>WhatsMasterGRM - Принудительное обновление базы</h1>
<div class="container">
<div class="block">
<h2>Тильда - Таблица CSV</h2>
<form id="uploadForm" enctype="multipart/form-data" method="post">
<div class="input-row">
<input type="file" name="file" accept=".csv" required>
</div>
<div class="input-row">
<label class="container-checkbox">
Наличие WhatsApp
<input type="checkbox" name="verify_phone" value="1">
<span class="checkmark"></span>
</label>
<label class="container-checkbox">
Добавлять менеджера
<input type="checkbox" name="add_curator" value="1">
<span class="checkmark"></span>
</label>
</div>
<input id="uploadButton" type="submit" value="Загрузить пользователей">
</form>
<div id="result"></div>
</div>
<div class="block">
<h2>Бизон 365 - API</h2>
<div class="form-group">
<label for="tokenInput">API-токен администратора Бизон 365:</label>
<input type="text" id="tokenInput" placeholder="Введите токен">
</div>
<div class="form-group">
<label for="dateInput">Крайняя дата выборки комнат:</label>
<input type="date" id="dateInput">
</div>
<div class="form-group">
<label for="typeSelect">Выбор формата вебинара:</label>
<select id="typeSelect">
<option value="AutoWebinars">Автовебинарные комнаты</option>
<option value="LiveWebinars">Вебинарные комнаты</option>
</select>
</div>
<button id="sendRequestButton">Получить список комнат Бизон 365</button>
<div id="dropdown-container"></div>
<button id="sendGetRequestButton">Обновить базу WhatsMasterGRM</button>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/notyf/notyf.min.js"></script>
<script>
document.getElementById('uploadForm').addEventListener('submit', function(event) {
event.preventDefault();
const form = new FormData(this);
const notyf = new Notyf({
duration: 5000,
position: { x: 'right', y: 'top' }
});
notyf.open({
type: 'info',
message: 'Загрузка началась, пожалуйста, подождите'
});
fetch('/upload_csv', {
method: 'POST',
body: form
})
.then(response => response.json())
.then(data => {
notyf.open({
type: 'success',
message: data.message
});
})
.catch(error => {
console.error('Error:', error);
notyf.open({
type: 'error',
message: 'Произошла ошибка при загрузке файла.'
});
});
});
document.getElementById('sendRequestButton').addEventListener('click', function() {
const token = document.getElementById('tokenInput').value;
const minDate = document.getElementById('dateInput').value;
const type = document.getElementById('typeSelect').value;
const url = '/send_request';
fetch(url, {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams({ token, minDate, type }).toString()
})
.then(response => response.json())
.then(data => {
createDropdown(data);
})
.catch(error => {
console.error('Error:', error);
new Notyf().error('Ошибка: ' + error.message);
});
});
function createDropdown(data) {
const container = document.getElementById('dropdown-container');
container.innerHTML = '';
const select = document.createElement('select');
select.id = 'dropdown';
select.classList.add('form-group');
data.forEach(item => {
const option = document.createElement('option');
option.value = item;
option.text = item;
select.appendChild(option);
});
container.appendChild(select);
const sendGetRequestButton = document.getElementById('sendGetRequestButton');
sendGetRequestButton.addEventListener('click', handleGetRequest);
}
function handleGetRequest() {
const selectedValue = document.getElementById('dropdown').value;
const token = document.getElementById('tokenInput').value;
const getUrl = `/send_get_request?token=${encodeURIComponent(token)}&webinarId=${encodeURIComponent(selectedValue)}`;
fetch(getUrl, { method: 'GET' })
.then(response => response.json())
.then(data => {
new Notyf().success('Пользователи добавлены в базу данных WhatsMasterGRM');
})
.catch(error => {
console.error('Error:', error);
new Notyf().error('Ошибка: ' + error.message);
});
}
</script>
</body>
</html>
|