feat(widget): enhance widget settings menu with improved styling and functionality
This commit is contained in:
@@ -221,6 +221,7 @@ function jira_fetch_issues(string $domain, string $email, string $apiToken, stri
|
||||
$authHeader = jira_get_auth_header($email, $apiToken);
|
||||
|
||||
$fieldsList = [
|
||||
'*navigable',
|
||||
'summary',
|
||||
'status',
|
||||
'priority',
|
||||
@@ -233,6 +234,8 @@ function jira_fetch_issues(string $domain, string $email, string $apiToken, stri
|
||||
'updated',
|
||||
'created',
|
||||
'description',
|
||||
'labels',
|
||||
'components',
|
||||
];
|
||||
|
||||
// 1. Moderne Atlassian Jira Cloud endpoint (/rest/api/3/search/jql) conform CHANGE-2046 via POST
|
||||
@@ -325,29 +328,67 @@ function jira_fetch_issues(string $domain, string $email, string $apiToken, stri
|
||||
|
||||
$descriptionText = jira_adf_to_text($fields['description'] ?? '');
|
||||
|
||||
// Detectie van custom field "Onderwerp logging"
|
||||
// Detectie van custom field "Onderwerp logging" of routeringsveld
|
||||
$onderwerpLogging = '';
|
||||
$knownTopics = ['koppelingen', 'sso-koppeling', 'rest-endpoints', 'datadump', 'uwv-koppeling', 'migratie', 'incident', 'vraag', 'algemeen'];
|
||||
|
||||
foreach ($fields as $fKey => $fVal) {
|
||||
if (str_starts_with($fKey, 'customfield_')) {
|
||||
if (is_array($fVal) && isset($fVal['value']) && is_string($fVal['value'])) {
|
||||
$valStr = trim($fVal['value']);
|
||||
$known = ['koppelingen', 'sso-koppeling', 'rest-endpoints', 'datadump', 'uwv-koppeling', 'migratie', 'incident', 'vraag', 'algemeen'];
|
||||
if (in_array(strtolower($valStr), $known)) {
|
||||
$onderwerpLogging = $valStr;
|
||||
if (is_array($fVal)) {
|
||||
if (isset($fVal['value']) && is_string($fVal['value'])) {
|
||||
$valStr = trim($fVal['value']);
|
||||
if (!empty($valStr)) {
|
||||
foreach ($knownTopics as $kt) {
|
||||
if (str_contains(strtolower($valStr), $kt)) {
|
||||
$onderwerpLogging = $valStr;
|
||||
break 2;
|
||||
}
|
||||
}
|
||||
if (empty($onderwerpLogging) && (stripos($fKey, 'onderwerp') !== false || stripos($fKey, 'logging') !== false)) {
|
||||
$onderwerpLogging = $valStr;
|
||||
}
|
||||
}
|
||||
}
|
||||
} elseif (is_string($fVal) && !empty($fVal)) {
|
||||
$valStr = trim($fVal);
|
||||
$known = ['koppelingen', 'sso-koppeling', 'rest-endpoints', 'datadump', 'uwv-koppeling', 'migratie'];
|
||||
if (in_array(strtolower($valStr), $known)) {
|
||||
$onderwerpLogging = $valStr;
|
||||
foreach ($knownTopics as $kt) {
|
||||
if (str_contains(strtolower($valStr), $kt)) {
|
||||
$onderwerpLogging = $valStr;
|
||||
break 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($onderwerpLogging) && !empty($fields['onderwerp_logging'])) {
|
||||
$onderwerpLogging = is_string($fields['onderwerp_logging']) ? $fields['onderwerp_logging'] : ($fields['onderwerp_logging']['value'] ?? '');
|
||||
}
|
||||
|
||||
// Fallback: kijk naar labels & componenten
|
||||
if (empty($onderwerpLogging) && !empty($fields['labels']) && is_array($fields['labels'])) {
|
||||
foreach ($fields['labels'] as $lbl) {
|
||||
$lblLower = strtolower(trim($lbl));
|
||||
foreach ($knownTopics as $kt) {
|
||||
if (str_contains($lblLower, $kt)) {
|
||||
$onderwerpLogging = ucfirst($kt);
|
||||
break 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Fallback: detecteer onderwerp op basis van steekwoorden in summary
|
||||
if (empty($onderwerpLogging)) {
|
||||
$sumLower = strtolower($summary);
|
||||
if (str_contains($sumLower, 'sso')) $onderwerpLogging = 'SSO-koppeling';
|
||||
elseif (str_contains($sumLower, 'endpoint') || str_contains($sumLower, 'rest') || str_contains($sumLower, 'api')) $onderwerpLogging = 'Rest-endpoints';
|
||||
elseif (str_contains($sumLower, 'uwv')) $onderwerpLogging = 'UWV-koppeling';
|
||||
elseif (str_contains($sumLower, 'datadump') || str_contains($sumLower, 'dump')) $onderwerpLogging = 'Datadump';
|
||||
elseif (str_contains($sumLower, 'migratie')) $onderwerpLogging = 'Migratie';
|
||||
elseif (str_contains($sumLower, 'koppeling')) $onderwerpLogging = 'Koppelingen';
|
||||
}
|
||||
|
||||
$issues[] = [
|
||||
'key' => $key,
|
||||
'summary' => $summary,
|
||||
|
||||
Reference in New Issue
Block a user