Asset Publisher

An error occurred while processing the template.
The following has evaluated to null or missing:
==> FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale ) [in template "252001#252047#252845" at line 132, column 37]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: dMTJsonObject = FrontendService.media... [in template "252001#252047#252845" at line 132, column 21]
----
1<#-- used @ Veranstaltung-Detailseite Intro 
2 used @ Publikation-Detailseite Intro 
3--> 
4 
5<#-- 
6Web content templates to display teaser on thema detail page 
7 
8Generic template for detail pages Intro / Teaser element 
9--> 
10<#-- 
11Display the current page title 
12--> 
13<#include "${fullTemplatesPath}/functions/relatedContentUtil.ftl" /> 
14<#include "${fullTemplatesPath}/macros/debugging.ftl" /> 
15 
16<#include "${fullTemplatesPath}/macros/page-modules/PMIntro.ftl" /> 
17<#include "${fullTemplatesPath}/macros/atomic-modules/AMPublicationCarousel.ftl" /> 
18<#include "${fullTemplatesPath}/macros/atomic-modules/AMMetadata.ftl" /> 
19<#include "${fullTemplatesPath}/macros/atomic-modules/AMDatetime.ftl" /> 
20 
21 
22<#-- 
23 renders the Intro for nearly all Pages 
24 TODO: remove Share? (was in the designs, but not anymore?) 
25 TODO: check if languageSelect/filter are working (js) 
26 
27 - portletId 
28 - data = { 
29 "media": string (src from image), 
30 "category": string, 
31 "title": string, 
32 "author": string, 
33 "subheadline": string, 
34 "copy": string, 
35 "filter": { 
36 "id": string, 
37 "name": string, 
38 "entries": Array<Object> ({key:value}), 
39 }, 
40 "languageSelect": { 
41 "id": string, 
42 "name": string, 
43 "entries": Array<Object> ({key:value}), 
44 }, 
45 "meta": { 
46 "pos"; string (top/bottom) 
47 "date": string, 
48 "hash": string, 
49 "info": string, (url) 
50 }, 
51 "share" : { 
52 "login": string, 
53 "print": string, 
54 "mail": string, 
55 "multishare": string?? (tbd) 
56
57 - AMMetadata: macro 
58 - position: String ("top") -> defines wether the meta-data should be rendered above or below the intro-content 
59
60--> 
61 
62<#assign 
63 JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
64 
65 ServiceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext() 
66 DLAPP = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService") 
67 
68 themeDisplay = ServiceContext.getThemeDisplay() 
69 editmode = FrontendService.user.isPrivilegedUser(themeDisplay) 
70 
71 languageId = themeDisplay.getLocale() 
72 groupId = themeDisplay.getScopeGroupId() 
73 currentUrl = themeDisplay.getURLCurrent() 
74 
75 layout = themeDisplay.getLayout() 
76 layouttpl = layout.getTypeSettingsProperties().getProperty("layout-template-id") 
77/> 
78 
79<#setting locale="${languageId}"> 
80 
81<#-- get article from url --> 
82 
83<#assign entry = FrontendService.article.getArticleToUrl(currentUrl, groupId?number)! > 
84 
85 
86<#if entry?has_content> 
87 
88 <#if entry.resourcePrimKey??> 
89 <#assign primaryKey = entry.resourcePrimKey?number > 
90 <#elseif entry.classPK??> 
91 <#assign primaryKey = entry.classPK?number > 
92 </#if> 
93 
94 <#assign 
95 jsonString = FrontendService.article.getWebcontent(primaryKey) 
96 json = FrontendService.json.parseAsJson(jsonString) 
97 availablelanguages = FrontendService.article.getAssetEntryToUrl(primaryKey).getAvailableLanguageIds() 
98 
99 title = entry.getTitle(languageId) 
100 data = { 
101 "title": title 
102
103 /> 
104 <@debugJsonString jsonString "ADT_KASDE_DYNAMIC_INTRO" /> 
105 
106 <#if hasContent('untertitel', languageId, json)> 
107 <#assign data = data + { "subheadline": getValueForLanguage('untertitel', languageId, json, "first") } > 
108 </#if> 
109 
110 <#if hasContent('detailsubtitle', languageId, json)> 
111 <#assign data = data + { "detailsubtitle": getValueForLanguage('detailsubtitle', languageId, json, "first") } > 
112 </#if> 
113 
114 <#if hasContent('beschreibung', languageId, json)> 
115 <#assign data = data + { "copy": getValueForLanguage('beschreibung', languageId, json, "first") } > 
116 </#if> 
117 
118 <#-- fill meta data --> 
119 <#assign meta = {} /> 
120 
121 <#-- PUBLIKATIONEN DETAIL --> 
122 <#if layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")> 
123 
124 <#if hasContent('coverDMTKASDEMEDIUM', languageId, json)> 
125 <#assign 
126 coverBildString = getValueForLanguage('coverDMTKASDEMEDIUM', languageId, json, "first") 
127 /> 
128 
129 <#if coverBildString?has_content> 
130 <#assign 
131 coverBild = FrontendService.json.parseAsJson(coverBildString) 
132 dMTJsonObject = FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale ) 
133 linkToDMT = FrontendService.media.getImageURLForAMConfiguration('hd-resolution',coverBild.groupId?number, coverBild.uuid ) 
134 data = data + { "media": linkToDMT, "meta" : dMTJsonObject } 
135 /> 
136 <#if dMTJsonObject.altText?? > 
137 <#assign data = data + {"alt" : dMTJsonObject.altText} /> 
138 </#if> 
139 <#if dMTJsonObject.quelle??> 
140 <#assign meta = meta + { "quelle": dMTJsonObject.quelle } /> 
141 </#if> 
142 </#if> 
143 <#-- uncomment to display pdf cover as Intro Image 
144 <#elseif hasContent('document_pdfDMTBASICDOCUMENT', languageId, json)> 
145 <#assign 
146 pdfDocument = getValueForLanguage('document_pdfDMTBASICDOCUMENT', languageId, json, "first") 
147 fileEntry = FrontendService.media.getFileEntry(pdfDocument.uuid, groupId?number)!/> 
148 <#if fileEntry?has_content> 
149 <#assign 
150 linkToThumbnail = FrontendService.link.getThumbnailSrc(fileEntry , themeDisplay) 
151 data = data + { "media": linkToThumbnail } 
152 /> 
153 </#if> 
154 --> 
155 </#if> 
156 
157 <#assign 
158 meta = meta + { "orderInfo": "true" } 
159 verbundJournalArticle = FrontendService.publication.getVerbundToPublikation( entry )!"" 
160 /> 
161 
162 
163 
164 <#if hasContent('erscheinungsdatum', languageId, json)> 
165 <#assign 
166 erscheinungsdatum = getValueForLanguage('erscheinungsdatum', languageId, json, "first") 
167 /> 
168 <#if erscheinungsdatum?has_content > 
169 <#assign 
170 erscheinungsdatumFormatted = FrontendService.date.getDateFormatLong( erscheinungsdatum, languageId ) 
171 meta = meta + { "date": erscheinungsdatumFormatted } 
172 /> 
173 </#if> 
174 </#if> 
175 
176 <#if verbundJournalArticle?has_content> 
177 <#assign 
178 verbundJsonString = FrontendService.article.getWebcontent(verbundJournalArticle.resourcePrimKey) 
179 verbundJson = FrontendService.json.parseAsJson(verbundJsonString) 
180 laufendenummer = getValueForLanguage('laufendenummer', languageId, verbundJson, "first") 
181 coverImg = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, verbundJson, "first") 
182 /> 
183 <@debugJsonString verbundJsonString "ADT_KASDE_DYNAMIC_INTRO-verbundJournalArticle" /> 
184 <#assign meta = meta + { "laufendenummer": laufendenummer } > 
185 
186 <#if coverImg?has_content && coverImg.url?has_content > 
187 <#assign meta = meta + { "coverImg": coverImg.url } > 
188 </#if> 
189 </#if> 
190 
191 
192 <#if meta?has_content> 
193 <#assign data = data + {"meta": meta } > 
194 </#if> 
195 
196 </#if> 
197 <#-- PUBLIKATIONEN DETAIL END --> 
198 
199 
200 <#-- VERANSTALTUNGEN DETAIL --> 
201 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")> 
202 <#assign 
203 friendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, languageId, groupId)!"" 
204 links = [] 
205 /> 
206 <#if availablelanguages?has_content && friendlyUrl?has_content> 
207 <#if (availablelanguages?size > 1) > 
208 <#list availablelanguages as language> 
209 <#assign 
210 defaultLanguage = "de_DE" 
211 defaultLocale = FrontendService.language.getLocaleByKey(defaultLanguage) 
212 linkLocale = (FrontendService.language.getLocaleByKey(language))!defaultLocale 
213 langFriendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, linkLocale, groupId) 
214 
215 link = { 
216 "key": language!defaultLanguage, 
217 "value": linkLocale.getDisplayLanguage(languageId), 
218 "url": "/c/portal/update_language?p_l_id=" + 
219 layout.plid + "&redirect=" + langFriendlyUrl + 
220 "&languageId=" + language 
221
222 /> 
223 <#if language == languageId> 
224 <#assign link = link + { "selected": "true" } > 
225 </#if> 
226 <#assign links = links + [link]> 
227 </#list> 
228 <#assign 
229 data = data + { 
230 "languageSelect": { 
231 "id": "languageSelectRedirect", 
232 "name": "languageselectRedirect", 
233 "entries": links, 
234 "label": languageUtil.get(languageId, "diese.veranstaltung.ist.in.weiteren.sprachen.verfuegbar") 
235
236
237 /> 
238 </#if> 
239 </#if> 
240 </#if> 
241 
242 <#if hasContent('erscheinungsdatum', languageId, json)> 
243 <#assign 
244 startdate = getValueForLanguage('erscheinungsdatum', languageId, json, "first") 
245 meta = meta + { "start": startdate?date.iso, "end": "" } 
246 /> 
247 </#if> 
248 
249 <#if hasContent('startdatum', languageId, json)> 
250 <#assign 
251 startdate = getValueForLanguage('startdatum', languageId, json, "first") 
252 meta = meta + { "start": startdate?date.iso, "end": "" } 
253 /> 
254 </#if> 
255 
256 <#if hasValue('einfuehrungText', locale, json)> 
257 <#assign data = data + { "einfuehrungText" : getValueForLanguage('einfuehrungText', locale, json, "first") } > 
258 <#elseif hasValue(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first")> 
259 <#assign data = data + { "einfuehrungText" : getValueForLanguage(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first") } > 
260 </#if> 
261 
262 <#if hasContent('endedatum', languageId, json)> 
263 <#assign 
264 enddate = getValueForLanguage('endedatum', languageId, json, "first") 
265 meta = meta + { "end": enddate?date.iso } 
266 /> 
267 </#if> 
268 
269 <#if hasContent('startzeit', languageId, json)> 
270 <#assign 
271 startzeit = getValueForLanguage('startzeit', languageId, json, "first") 
272 /> 
273 <#if startzeit?has_content > 
274 <#assign meta = meta + { "startzeit": startzeit } /> 
275 </#if> 
276 </#if> 
277 
278 <#if hasContent('endezeit', languageId, json)> 
279 <#assign 
280 endezeit = getValueForLanguage('endezeit', languageId, json, "first") 
281 meta = meta + { "endezeit": endezeit } 
282 /> 
283 </#if> 
284 
285 <#if hasContent('ortWCSKASDEORT', languageId, json)> 
286 <#assign 
287 ortWCSKASDEORT = FrontendService.json.parseAsJson(getValueForLanguage('ortWCSKASDEORT', languageId, json, "first")) 
288 ortWCSKASDEORTPrimaryKey = ortWCSKASDEORT.classPK?number 
289 ortWCSKASDEORTWebContent = FrontendService.article.getWebcontentByPk(ortWCSKASDEORTPrimaryKey)!"" 
290 /> 
291 <#if ortWCSKASDEORTWebContent?has_content > 
292 <#assign 
293 ortWCSKASDEORTTitle = ortWCSKASDEORTWebContent.getTitle(languageId)!"" 
294 /> 
295 <#if ortWCSKASDEORTTitle?has_content > 
296 <#assign 
297 meta = meta + { "ortWCSKASDEORT": ortWCSKASDEORTTitle } 
298 /> 
299 </#if> 
300 </#if> 
301 </#if> 
302 
303 
304 <#if hasContent('veranstaltungsnummer', languageId, json)> 
305 <#assign 
306 verauuid = getValueForLanguage('veranstaltungsnummer', languageId, json, "first") 
307 meta = meta + { "verauuid": verauuid } 
308 /> 
309 </#if> 
310 
311 
312 <#if (data.meta)?has_content > 
313 <#assign meta = data.meta /> 
314 </#if> 
315 
316 <#if !(data.media)?has_content && hasContent('mediumDMTKASDEMEDIUM', languageId, json)> 
317 <#assign 
318 medium = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, json, "first") 
319 mediaData = getRelatedMediaObject(medium, themeDisplay, languageId, FrontendService, "hd-resolution") 
320 /> 
321 <#assign data = data + { "media": mediaData.url , "meta" : mediaData.meta} > 
322 
323 
324 <#if mediaData.meta?? && mediaData.meta.quelle??> 
325 <#assign meta = meta + data.meta + { "quelle": mediaData.meta.quelle } /> 
326 </#if> 
327 </#if> 
328 
329 
330 <#if meta?has_content> 
331 <#assign data = data + {"meta": meta } > 
332 </#if> 
333 
334 <#-- END fill meta data --> 
335 
336 <#if hasContentForSequence('autorenWCSKASDEPERSON', languageId, json)> 
337 <#assign 
338 journalArticles = getValueForLanguageAnsprechpartner('autorenWCSKASDEPERSON', languageId, json) 
339 authors = [] 
340 /> 
341 <#list journalArticles as articleString> 
342 <#assign article = FrontendService.json.parseAsJson(articleString) /> 
343 <#if article?has_content && article?is_hash && article.classPK??> 
344 <#assign articleDereferenced = FrontendService.person.resolveContactInstanceToPerson(article, languageId)!"" /> 
345 <#if articleDereferenced?has_content > 
346 <#assign 
347 author = "" 
348 articlePrimaryKey = articleDereferenced.classPK?number 
349 articleJsonString = FrontendService.article.getWebcontent(articlePrimaryKey) 
350 articleJson = FrontendService.json.parseAsJson(articleJsonString) 
351 /> 
352 <@debugJsonString articleJsonString "ADT_KASDE_DYNAMIC_INTRO-autorenWCSKASDEPERSON" /> 
353 <#if hasValue('anredetitel', languageId, articleJson)> 
354 <#assign author = author + getValueForLanguage('anredetitel', languageId, articleJson, " ") + " "> 
355 </#if> 
356 <#if hasValue('vorname', languageId, articleJson)> 
357 <#assign author = author + getValueForLanguage('vorname', languageId, articleJson, " ") + " "> 
358 </#if> 
359 <#if hasValue('nachname', languageId, articleJson)> 
360 <#assign author = author + getValueForLanguage('nachname', languageId, articleJson, " ") + " "> 
361 </#if> 
362 
363 <#attempt> 
364 <#assign href = FrontendService.article.getFriendlyUrl(articlePrimaryKey, languageId, groupId)!"#" > 
365 <#recover> 
366 <#assign href = "#" > 
367 </#attempt> 
368 <#if href?has_content && href != "#" && href != "/_404"> 
369 <#assign author = '<a href="' + href + '">' + author?trim + '</a>'> 
370 </#if> 
371 
372 <#assign authors = authors + [author?trim]> 
373 </#if> 
374 </#if> 
375 </#list> 
376 <#if authors?has_content> 
377 <#assign data = data + { "author": authors?join(", ") } > 
378 </#if> 
379 </#if> 
380 
381 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL") > 
382 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "VERANSTALTUNGSTYP")! > 
383 <#if categories?has_content && categories[0]?has_content > 
384 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
385 </#if> 
386 
387 <#if hasContent('ausgebucht', languageId, json)> 
388 <#assign data = data + { "ausgebucht" : getValueForLanguage('ausgebucht', languageId, json, "first") }> 
389 </#if> 
390 
391 <#if hasContent('storniert', languageId, json)> 
392 <#assign data = data + { "storniert" : getValueForLanguage('storniert', languageId, json, "first") }> 
393 </#if> 
394 
395 <#elseif layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL") > 
396 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "PUBLIKATIONSREIHE")! > 
397 <#if categories?has_content && categories[0]?has_content > 
398 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
399 </#if> 
400 <#else> 
401 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "THEMA")! > 
402 <#if categories?has_content && categories[0]?has_content > 
403 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
404 </#if> 
405 </#if> 
406 
407 
408 <#assign 
409 languages = [] 
410 /> 
411 
412 <#attempt> 
413 <#if json["document_pdfDMTBASICDOCUMENT"]?? > 
414 <#if availablelanguages?has_content> 
415 <#list availablelanguages as pdf_language> 
416 <#assign 
417 docRefJson = getValueForLanguage('document_pdfDMTBASICDOCUMENT', pdf_language, json, "first") 
418 docRef = FrontendService.json.parseAsJson(docRefJson) 
419 /> 
420 <#if docRef?is_hash && pdf_language != languageId > 
421 <#assign 
422 lang = FrontendService.language.getLocaleByKey(pdf_language)!"" 
423 docGroupId = docRef["groupId"]?number 
424 docUuid = docRef["uuid"] 
425 dMTJsonObject = FrontendService.media.getDMTJsonObject( docGroupId, docUuid, locale ) 
426 dMTLink = FrontendService.media.getLinkToDMT( dMTJsonObject ) 
427 /> 
428 <#if lang?has_content> 
429 <#assign 
430 languages = languages + [ 
431
432 "key": pdf_language, 
433 "value": FrontendService.language.getLocaleByKey(pdf_language).getDisplayLanguage(), 
434 "url": dMTLink 
435 }] 
436 /> 
437 </#if> 
438 </#if> 
439 </#list> 
440 </#if> 
441 </#if> 
442 <#recover> 
443 </#attempt> 
444 
445 <#if (languages?size > 0)> 
446 <#attempt> 
447 <#assign 
448 data = data + { "languageSelect": { 
449 "id": "languageSelect", 
450 "name": "languageselect", 
451 "entries": languages, 
452 "documents": "", 
453 "button": "true" 
454 }} 
455 /> 
456 <#recover> 
457 </#attempt> 
458 </#if> 
459 
460 <@PMIntro "ADT_KASDE_DYNAMIC_INTRO" data AMMetadata AMDatetime "bottom" /> 
461 ${FrontendService.article.getEditArticleHtml(primaryKey, themeDisplay)} 
462 
463 <#if data.meta?has_content> 
464 <#if data.meta.laufendenummer?has_content !isACColorScheme() && !isVLCColorScheme() && !isDPMColorScheme()> 
465 <div>  
466 <div id="publicationVerbundPagination"> 
467 <@AMPublicationCarousel data.meta.laufendenummer data.meta.date data.meta.coverImg /> 
468 </div> 
469 </div> 
470 </#if> 
471 </#if> 
472 
473<#elseif (editmode?? && editmode)> 
474 <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_DYNAMIC_INTRO" layouttpl currentUrl /> 
475</#if> 

Asset Publisher

Vorwahlen als Stimmungsbarometer

Die gesetzlich verpflichtenden Vorwahlen, kurz PASO (Primarias, Abiertas, Simultáneas y Obligatorias), wurden 2009 auf nationaler Ebene beschlossen und zum ersten Mal 2011 durchgeführt. Seitdem finden diese im zwei-Jahres-Rhythmus jeweils vor jeder Präsidentschafts- und Parlamentswahl statt. Dabei kann der Wähler die Liste seines präferierten Kandidaten wählen. Zweck der PASO ist zum einen das Wahlangebot zu ordnen und zum anderen den Wählern Einfluss auf die ansonsten parteiinternen Entscheidungen geben, welcher Kandidat die Liste einer Partei oder Allianz anführen soll. Sie müssen mindestens 1,5 Prozent der gültigen Stimmen erreichen, um sich für eine Teilnahme bei den darauffolgenden, verbindlichen Wahlen zu qualifizieren. Vor allem aber dienen die PASO den Parteien als Stimmungsbarometer, um einzuschätzen, wie die politische Atmosphäre im Land ist. Im Endspurt vor den „eigentlichen“ Wahlen können die Parteien ihre Strategien so noch einmal anpassen. Die PASO geben folglich Aufschluss über die möglichen Szenarien der entscheidenden Ergebnisse. Bei den Parlamentswahlen im November 2021 werden die Hälfte der Abgeordnetenkammer und ein Drittel des Senats erneuert.

 

Krachende Niederlage für die peronistische Regierung

Selten war es so schwer, den Ausgang einer Wahl in Argentinien abzuschätzen. Umfragen kündigten zwar einen Rückhalts- und Glaubwürdigkeitsverlust der Regierungsallianz Frente de Todos an, allerdings nicht in diesem Ausmaß. Das peronistische Parteienbündnis konnte landesweit nur 31 Prozent der Wähler überzeugen und verlor damit um dreizehn Prozentpunkte im Vergleich zu den letzten Vorwahlen vor den Präsidentschaftswahlen in 2019. Die Oppositionsallianz Juntos por el Cambio gewann 40 Prozent der Wählerstimmen und konnte damit einen Gewinn von neun Prozentpunkten im Vergleich zu 2019 einfahren. Die Opposition gewann nicht nur in der Stadt Buenos Aires, sondern auch in der hart umkämpften Provinz Buenos Aires, in welcher mehr als ein Drittel der Wahlberechtigten des ganzen Landes ansässig ist. Medienberichten zufolge hätte hier eigentlich, wie gewohnt, die peronistische Regierungsallianz Frente de Todos mit bis zu sieben Punkten Vorsprung gewinnen sollen. Stattdessen büßte sie hier jedoch Punkte ein. Noch überraschender war allerdings der Verlust des Regierungsbündnisses in den nördlichen und südlichen Provinzen Argentiniens. Gerade dort verfügt Frente de Todos traditionell über einen beständigen Rückhalt in der Wählerschaft. Bei den Vorwahlen 2019 hatte die Allianz noch 22 der 23 Provinzen, mit Ausnahme von Córdoba, für sich gewinnen können; nun waren es nur noch sieben[1]. Schmerzhaft dürften vor allem der Verlust von Patagonien, insbesondere der Provinz Santa Cruz, der Heimat von Vize-Präsidentin Cristina Fernández de Kirchner, sein. Ihr wird nachgesagt, die eigentlichen Regierungsgeschäfte in der Hand zu haben. Sie hatte sich am Wahlkampf beteiligt und scheint eine immer bedeutendere Figur innerhalb der Regierungsallianz darzustellen. Nicht zuletzt ihre öffentlichen Rügen bei Auftritten von Präsident Fernández bestätigen diesen Eindruck („Sorge für Ordnung, Alberto“, „Alberto, es gibt Funktionäre, die ungeeignet sind“).

Juntos por el Cambio konnte in 15 Provinzen gewinnen[2]. Lediglich in den Provinzen Neuquén und Río Negro gewannen regionale Allianzen[3]. Wenn sich diese Ergebnisse in den Parlamentswahlen am 14. November 2021 so bestätigen, würde Frente de Todos die absolute Mehrheit im Parlament verlieren. Gesetzesvorhaben wie die eingeleitete Justizreform könnte die Regierung dann nicht mehr ohne Beteiligung der Oppositionsparteien durchbringen.

El color político del país / domingo 23.3OHS CADENA 3
El color político del país / domingo 23.3OHS

Analyse der Ergebnisse

Die Niederlage der Regierungsallianz Frente de Todos ist vor allem mit dem Vertrauensverlust in Präsident Alberto Fernández zu erklären. Die Liste an Fehltritten des Präsidenten ist lang: Angefangen mit der Entlassung von Häftlingen zu Beginn des Lockdowns, über die angedrohte Enteignung des Agrarunternehmens Vicentin, die geplatzten und unerfüllten Kaufverträge mit Covid-19-Impfstoff-Herstellern, über den „Vacuntario VIP“-Skandal Anfang 2021, im Rahmen dessen der damals amtierende Gesundheitsminister Ginés González García wichtige Regierungsbeamte trotz der Lieferengpässe und Priorisierungsgruppen impfen ließ, obwohl diese laut nationalem Plan noch nicht an der Reihe waren. Für internationale Aufmerksamkeit hatten die Zwangsinternierungen in der Provinz Formosa, welche die peronistische Provinzregierung unter dem autoritären Gouverneur Gildo Insfrán vornahm, sowie der langanhaltende Lockdown gesorgt. Im Frühjahr 2021 widersprach Fernández zusätzlich innerhalb weniger Stunden seinen Kabinettsmitgliedern, als er überraschend die Aufhebung des gerade wieder eingeführten Präsenzunterrichts bekannt gab. Damit zog er den Zorn und das Unverständnis vieler Eltern auf sich, insbesondere, weil vorerst Spielkasinos und Shopping-Center offenblieben. Bei dem Besuch des spanischen Ministerpräsidenten Pedro Sánchez erzeugten Präsident Fernández‘ rassistische Bemerkungen über den Ursprung des argentinischen Volks und dem der Nachbarländer für Unmut. Auch die ambivalente Haltung der Regierung zu den autoritären Regimen in Venezuela und Kuba stießen auf Kritik.

Doch der Tropfen, der das Fass schließlich zum Überlaufen brachte, war ein Foto aus dem Juli 2020, welches Fernández bei der Geburtstagsfeier seiner Lebensgefährtin in der Regierungsresidenz zeigt. Zu diesem Zeitpunkt galten eigentlich strenge Quarantäne-Regelungen. Zahlreiche Argentinier wurden aufgrund von Verstößen gegen die Ausgangssperren strafrechtlich verfolgt, selbst wenn ihr Verhalten nicht zwangsläufig ein Ansteckungsrisiko implizierte. Präsident Fernández selbst hatte im Rahmen einer öffentlichen Ansprache mit erhobenem Zeigefinger auf die Einhaltung der Notstandsgesetzgebung gepocht. Das Foto, dass seinen eigenen Regelbruch dokumentiert, war im August 2021, unmittelbar vor der Wahl, aufgetaucht. Der Skandal wurde von der lokalen Presse als „Olivosgate“ betitelt, in Anlehnung an den Ort des Geschehens, die Präsidentschaftsresidenz „Olivos“. Infolge dessen wanderten viele empörte und enttäuschte Wähler der Frente de Todos zu anderen Parteien ab. Bei der Präsidentschaftswahl 2019 hatte Fernández vor allem die Stimmen derjenigen an sich gezogen, die ihn als moderaten Peronisten einstuften. Sein ambivalentes Verhalten und sein erratisches Krisenmanagement sowie seine zunehmende Radikalisierung nach dem Ablauf der ersten 100 Regierungstage schürten eine zunehmend ablehnende Haltung dieser Wählerschaft. Das einst ausgeglichene Kabinett hat nicht zuletzt durch die Neubesetzung des Amts des Verteidigungsministers die Waage zugunsten des Kirchnerismus, dem links-populistischen Flügel des Peronismus, geneigt. Auch der konfrontative und programmlose Wahlkampf von Frente de Todos stellt die angekündigte Dialogbereitschaft und Konsensorientierung von Präsident Fernández zunehmend in den Hintergrund.

Während vor den PASO auch von der Spaltung der Opposition die Rede war, trugen diese dazu bei, dass sich der amtierende Bürgermeister der Stadt Buenos Aires, Horacio Rodríguez Larreta (PRO), als Anführer der Allianz Juntos por el Cambio herauskristallisierte. Er vertritt den gemäßigten, also gesprächsoffenen, Flügel der Partei. Die mit PRO verbündete Unión Cívica Radical (UCR) hatte im Vorfeld sehr gute Ergebnisse bei den Gouverneurswahlen in den nördlichen Provinzen Jujuy und Corrientes erzielt. Auch bei den PASO in der Provinz Buenos Aires fuhr der Kandidat Facundo Manes (UCR) ein überraschend gutes Ergebnis ein, auch wenn er seinem Opponenten Diego Santilli (PRO) unterlag. Die jeweiligen Spitzenkandidaten des Parteienbündnisses werden sich bei den kommenden Wahlen in einer einheitlichen Kandidatenliste für die Parlamentswahlen aufstellen lassen. Im Gegensatz zu den vorhergehenden Wahlen konnte sich Juntos por el Cambio dieses Mal fast landesweit durchsetzen. Kam es in den Vorjahren zu einer Nord-Süd-Teilung der Wahlbezirke, so war dieses Mal das charakteristische Gelb der Opposition in allen Regionen des Landes vorherrschend.

Für eine Überraschung sorgte der Rechtspopulist und sich selbst als „Anarcho-Liberaler“ bezeichnender Javier Milei, der aus dem Stand auf 13,6 Prozent mit der Partei Avanza Libertad in der Stadt Buenos Aires kam. Vor allem junge Wähler (unter 30 Jahre) haben für Milei gestimmt. Bisher ist der Wirtschaftswissenschaftler ein Stadt-Phänomen, doch seine radikalen Einstellungen sollten ein Warnzeichen sein. Der gemäßigte Peronist Florencio Randazzo (Vamos con Vos), der sich als Alternative zum Kirchnerismus und Liberalismus zur Wahl stellte, steckte sogar in seiner Heimatstadt Chivilcoy eine herbe Niederlage ein. Landesweit nahm seine Partei den fünften Platz ein und qualifizierte sich gerade noch für die Aufstellung bei den Parlamentswahlen.

 

Fazit und Ausblick

Die Vorwahlen brachten einige Überraschungen mit sich: Nachdem die Regierungsallianz Frente de Todos unmittelbar nach dem Schließen der Wahllokale voreilig ihren vermeintlichen Sieg feierte, war spätestens nach 21 Uhr klar, dass die Ergebnisse anders als erwartet ausgefallen waren. Nach diesem fatalen Stimmverlust bleiben Präsident Fernández nun zwei Handlungsoptionen: Einerseits könnte er seiner Rede, in der er Fehler eingestand, Taten folgen lassen und zum Beispiel in seinem Kabinett Änderungen vornehmen. Dies wäre eine Möglichkeit zu zeigen, dass er den Warnschuss der PASO ernst nimmt. Konsequenz wäre allerdings, dass die Regierung bei der Wahl dieser Option vollends vom moderaten zum radikaleren Peronismus übergeht. Außerdem würde die Gefahr bestehen, dass die Regierung von Fernández die Wähler des moderaten Peronismus, die sie bereits verloren hat, nicht wieder für sich gewinnen kann. Andererseits könnte er sein Kabinett bestehen lassen und stattdessen durch mehr Sozialhilfe, Gehaltserhöhungen und Subventionen die angeheizte Stimmung abkühlen, auch wenn die hohen Auslandsschulden und Staatsausgaben eigentlich nicht viel Spielraum hierfür bieten. Präsident Fernández befindet sich folglich weiterhin in einem Dilemma.

Juntos por el Cambio geht als größte Oppositionsallianz gestärkt aus den Vorwahlen. Die partei- und allianzinternen Konflikte werden sich voraussichtlich aufgrund der ausdrucksstarken Ergebnisse von selbst auflösen, sodass einer Einheitsliste und der engen Zusammenarbeit im Wahlkampf im Angesicht der Parlamentswahlen mit den Spitzenkandidaten María Eugenia Vidal (Stadt Buenos Aires) und Diego Santilli (Provinz Buenos Aires) nichts mehr im Wege steht. Je nach Wahlbeteiligung, Ton, Programmatik und Effektivität der Kampagne ist eine Wiederholung des Ergebnisses der PASO wahrscheinlich.

 

Quellen:

[1] San Juan, La Rioja, Formosa, Salta, Catamarca, Santiago del Estero, Tucumán

[2] Tierra de Fuego, Santa Cruz, Chubut, Mendoza, San Luis, Córdoba, Santa Fe, Chaco, Jujuy, Misiones, Corrientes, Entre Ríos, La Pampa, Buenos Aires, Autonome Stadt Buenos Aires

[3] Río Negro, Neuquén

[4] CADENA 3https://www.cadena3.com/noticia/legislativas-2021/como-queda-ahora-el-mapa-politico-del-pais-tras-las-paso_304341, (14.09.2021)

Asset Publisher

Contact

Susanne Käss

Susanne Käss bild

Head of KAS Argentina

susanne.kaess@kas.de +54 11 4326-2552

comment-portlet

Comments

You need to sign in in order to comment.

Asset Publisher

Asset Publisher