Передавать email пользователя F7cloud в API поддержки.
Email из Nextcloud (getEMailAddress) уходит в data-user-email, заголовок X-F7cloud-Email и поле client_email при создании тикета — для привязки контакта CRM в Bitrix24.
This commit is contained in:
+12
-3
@@ -3,6 +3,7 @@
|
|||||||
if (!root) return;
|
if (!root) return;
|
||||||
|
|
||||||
const username = root.dataset.username;
|
const username = root.dataset.username;
|
||||||
|
const userEmail = (root.dataset.userEmail || "").trim();
|
||||||
const serverAddress = root.dataset.serverAddress;
|
const serverAddress = root.dataset.serverAddress;
|
||||||
const apiBase = root.dataset.supportApiBase;
|
const apiBase = root.dataset.supportApiBase;
|
||||||
const supportWsBaseOverride = (root.dataset.supportWsBase || "").trim();
|
const supportWsBaseOverride = (root.dataset.supportWsBase || "").trim();
|
||||||
@@ -281,10 +282,14 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
function clientIdentityHeaders() {
|
function clientIdentityHeaders() {
|
||||||
return {
|
const headers = {
|
||||||
"X-F7cloud-User": username,
|
"X-F7cloud-User": username,
|
||||||
"X-F7cloud-Server": serverAddress,
|
"X-F7cloud-Server": serverAddress,
|
||||||
};
|
};
|
||||||
|
if (userEmail) {
|
||||||
|
headers["X-F7cloud-Email"] = userEmail;
|
||||||
|
}
|
||||||
|
return headers;
|
||||||
}
|
}
|
||||||
|
|
||||||
function revokeAttachmentUrls() {
|
function revokeAttachmentUrls() {
|
||||||
@@ -1471,12 +1476,16 @@
|
|||||||
showError("Тема и обращение обязательны");
|
showError("Тема и обращение обязательны");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const result = await submitTicketWithRetry({
|
const createPayload = {
|
||||||
server_address: serverAddress,
|
server_address: serverAddress,
|
||||||
username,
|
username,
|
||||||
subject,
|
subject,
|
||||||
body: TICKET_CREATE_BODY_PLACEHOLDER,
|
body: TICKET_CREATE_BODY_PLACEHOLDER,
|
||||||
});
|
};
|
||||||
|
if (userEmail) {
|
||||||
|
createPayload.client_email = userEmail;
|
||||||
|
}
|
||||||
|
const result = await submitTicketWithRetry(createPayload);
|
||||||
const ticketNo = result.ticket_number;
|
const ticketNo = result.ticket_number;
|
||||||
let createdMsg;
|
let createdMsg;
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -72,8 +72,15 @@ class PageController extends Controller {
|
|||||||
Util::addStyle('f7support', 'f7support');
|
Util::addStyle('f7support', 'f7support');
|
||||||
Util::addScript('f7support', 'main');
|
Util::addScript('f7support', 'main');
|
||||||
|
|
||||||
|
$userEmail = '';
|
||||||
|
if ($user !== null) {
|
||||||
|
$mail = $user->getEMailAddress();
|
||||||
|
$userEmail = is_string($mail) ? trim($mail) : '';
|
||||||
|
}
|
||||||
|
|
||||||
return new TemplateResponse('f7support', 'main', [
|
return new TemplateResponse('f7support', 'main', [
|
||||||
'username' => $user ? $user->getUID() : '',
|
'username' => $user ? $user->getUID() : '',
|
||||||
|
'userEmail' => $userEmail,
|
||||||
'serverAddress' => $serverHost,
|
'serverAddress' => $serverHost,
|
||||||
'supportApiBase' => $supportApiBase,
|
'supportApiBase' => $supportApiBase,
|
||||||
'supportApiOrigin' => $supportApiOrigin,
|
'supportApiOrigin' => $supportApiOrigin,
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
<link rel="preconnect" href="<?php p($_['supportApiOrigin']); ?>" crossorigin>
|
<link rel="preconnect" href="<?php p($_['supportApiOrigin']); ?>" crossorigin>
|
||||||
<div id="f7support-app"
|
<div id="f7support-app"
|
||||||
data-username="<?php p($_['username']); ?>"
|
data-username="<?php p($_['username']); ?>"
|
||||||
|
data-user-email="<?php p($_['userEmail'] ?? ''); ?>"
|
||||||
data-server-address="<?php p($_['serverAddress']); ?>"
|
data-server-address="<?php p($_['serverAddress']); ?>"
|
||||||
data-support-api-base="<?php p($_['supportApiBase']); ?>"
|
data-support-api-base="<?php p($_['supportApiBase']); ?>"
|
||||||
data-support-ws-base="<?php p($_['supportWsBase'] ?? ''); ?>"
|
data-support-ws-base="<?php p($_['supportWsBase'] ?? ''); ?>"
|
||||||
|
|||||||
Reference in New Issue
Block a user