... |
... |
@@ -1,44 +1,26 @@ |
1 |
1 |
{{groovy}} |
2 |
|
-/** |
3 |
|
- * incidentGallery script macro |
4 |
|
- * @param tags - comma-separated tags to filter (case-insensitive) |
5 |
|
- * @param max - max incidents to display (optional) |
6 |
|
- */ |
7 |
|
-def includeTags = tags?.split(',')*.trim()*.toLowerCase() ?: [] |
8 |
|
-def maxCount = max?.toInteger() ?: 999 |
9 |
|
- |
10 |
10 |
def hql = """ |
11 |
|
- select doc.fullName |
12 |
|
- from XWikiDocument doc, BaseObject obj |
13 |
|
- where obj.name = doc.fullName |
|
3 |
+ select doc.fullName |
|
4 |
+ from XWikiDocument doc, BaseObject obj |
|
5 |
+ where obj.name = doc.fullName |
14 |
14 |
and obj.className = 'Main Categories.Anti White Incidents.Code.MoviesClass' |
15 |
15 |
order by doc.date desc |
16 |
16 |
""" |
17 |
17 |
|
18 |
|
-def docs = xwiki.search(hql, maxCount, 0) |
|
10 |
+def docs = xwiki.search(hql, 100, 0) |
19 |
19 |
def results = [] |
20 |
20 |
|
21 |
21 |
docs.each { docName -> |
22 |
|
- if (results.size() >= maxCount) return |
23 |
|
- |
24 |
24 |
def doc = xwiki.getDocument(docName) |
25 |
25 |
def obj = doc.getObject("Main Categories.Anti White Incidents.Code.MoviesClass") |
26 |
26 |
if (!obj) return |
27 |
27 |
|
28 |
|
- // extract fields |
29 |
29 |
def title = obj.getProperty("shortText1")?.value?.toString()?.trim() |
30 |
30 |
def summary = obj.getProperty("shortText2")?.value?.toString()?.trim() ?: obj.getProperty("longText1")?.value?.toString()?.trim() |
31 |
31 |
def externalURL = obj.getProperty("longText2")?.value?.toString()?.trim() |
32 |
|
- def tagList = obj.getProperty("tags")?.value |
33 |
33 |
|
34 |
34 |
if (!title || !summary) return |
35 |
35 |
|
36 |
|
- // tag filtering |
37 |
|
- if (includeTags && tagList) { |
38 |
|
- def tagNames = tagList.collect { it.toString().toLowerCase() } |
39 |
|
- if (!tagNames.any { includeTags.contains(it) }) return |
40 |
|
- } |
41 |
|
- |
42 |
42 |
def isValidURL = externalURL?.startsWith("http://") || externalURL?.startsWith("https://") |
43 |
43 |
def linkTarget = isValidURL ? externalURL : "doc:${docName}" |
44 |
44 |
def safeTitle = title.replaceAll(/[\[\]\|]/, '').replaceAll(/\>\>/, '>>\u200B') |
... |
... |
@@ -66,11 +66,7 @@ |
66 |
66 |
} |
67 |
67 |
|
68 |
68 |
if (results.isEmpty()) { |
69 |
|
- if (includeTags) { |
70 |
|
- println "⚠️ No incidents found for tags: ${parameters.tags}" |
71 |
|
- } else { |
72 |
|
- println "⚠️ No incidents to display." |
73 |
|
- } |
|
51 |
+ println "⚠️ No incidents to display." |
74 |
74 |
} else { |
75 |
75 |
println results.join("\n\n") |
76 |
76 |
} |