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 128, 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 128, 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('beschreibung', languageId, json)> 
111 <#assign data = data + { "copy": getValueForLanguage('beschreibung', languageId, json, "first") } > 
112 </#if> 
113 
114 <#-- fill meta data --> 
115 <#assign meta = {} /> 
116 
117 <#-- PUBLIKATIONEN DETAIL --> 
118 <#if layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")> 
119 
120 <#if hasContent('coverDMTKASDEMEDIUM', languageId, json)> 
121 <#assign 
122 coverBildString = getValueForLanguage('coverDMTKASDEMEDIUM', languageId, json, "first") 
123 /> 
124 
125 <#if coverBildString?has_content> 
126 <#assign 
127 coverBild = FrontendService.json.parseAsJson(coverBildString) 
128 dMTJsonObject = FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale ) 
129 linkToDMT = FrontendService.media.getImageURLForAMConfiguration('hd-resolution',coverBild.groupId?number, coverBild.uuid ) 
130 data = data + { "media": linkToDMT, "meta" : dMTJsonObject } 
131 /> 
132 <#if dMTJsonObject.altText?? > 
133 <#assign data = data + {"alt" : dMTJsonObject.altText} /> 
134 </#if> 
135 <#if dMTJsonObject.quelle??> 
136 <#assign meta = meta + { "quelle": dMTJsonObject.quelle } /> 
137 </#if> 
138 </#if> 
139 <#-- uncomment to display pdf cover as Intro Image 
140 <#elseif hasContent('document_pdfDMTBASICDOCUMENT', languageId, json)> 
141 <#assign 
142 pdfDocument = getValueForLanguage('document_pdfDMTBASICDOCUMENT', languageId, json, "first") 
143 fileEntry = FrontendService.media.getFileEntry(pdfDocument.uuid, groupId?number)!/> 
144 <#if fileEntry?has_content> 
145 <#assign 
146 linkToThumbnail = FrontendService.link.getThumbnailSrc(fileEntry , themeDisplay) 
147 data = data + { "media": linkToThumbnail } 
148 /> 
149 </#if> 
150 --> 
151 </#if> 
152 
153 <#assign 
154 meta = meta + { "orderInfo": "true" } 
155 verbundJournalArticle = FrontendService.publication.getVerbundToPublikation( entry )!"" 
156 /> 
157 
158 
159 
160 <#if hasContent('erscheinungsdatum', languageId, json)> 
161 <#assign 
162 erscheinungsdatum = getValueForLanguage('erscheinungsdatum', languageId, json, "first") 
163 /> 
164 <#if erscheinungsdatum?has_content > 
165 <#assign 
166 erscheinungsdatumFormatted = FrontendService.date.getDateFormatLong( erscheinungsdatum, languageId ) 
167 meta = meta + { "date": erscheinungsdatumFormatted } 
168 /> 
169 </#if> 
170 </#if> 
171 
172 <#if verbundJournalArticle?has_content> 
173 <#assign 
174 verbundJsonString = FrontendService.article.getWebcontent(verbundJournalArticle.resourcePrimKey) 
175 verbundJson = FrontendService.json.parseAsJson(verbundJsonString) 
176 laufendenummer = getValueForLanguage('laufendenummer', languageId, verbundJson, "first") 
177 coverImg = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, verbundJson, "first") 
178 /> 
179 <@debugJsonString verbundJsonString "ADT_KASDE_DYNAMIC_INTRO-verbundJournalArticle" /> 
180 <#assign meta = meta + { "laufendenummer": laufendenummer } > 
181 
182 <#if coverImg?has_content && coverImg.url?has_content > 
183 <#assign meta = meta + { "coverImg": coverImg.url } > 
184 </#if> 
185 </#if> 
186 
187 
188 <#if meta?has_content> 
189 <#assign data = data + {"meta": meta } > 
190 </#if> 
191 
192 </#if> 
193 <#-- PUBLIKATIONEN DETAIL END --> 
194 
195 
196 <#-- VERANSTALTUNGEN DETAIL --> 
197 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")> 
198 <#assign 
199 friendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, languageId, groupId)!"" 
200 links = [] 
201 /> 
202 <#if availablelanguages?has_content && friendlyUrl?has_content> 
203 <#if (availablelanguages?size > 1) > 
204 <#list availablelanguages as language> 
205 <#assign 
206 defaultLanguage = "de_DE" 
207 defaultLocale = FrontendService.language.getLocaleByKey(defaultLanguage) 
208 linkLocale = (FrontendService.language.getLocaleByKey(language))!defaultLocale 
209 langFriendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, linkLocale, groupId) 
210 
211 link = { 
212 "key": language!defaultLanguage, 
213 "value": linkLocale.getDisplayLanguage(languageId), 
214 "url": "/c/portal/update_language?p_l_id=" + 
215 layout.plid + "&redirect=" + langFriendlyUrl + 
216 "&languageId=" + language 
217
218 /> 
219 <#if language == languageId> 
220 <#assign link = link + { "selected": "true" } > 
221 </#if> 
222 <#assign links = links + [link]> 
223 </#list> 
224 <#assign 
225 data = data + { 
226 "languageSelect": { 
227 "id": "languageSelectRedirect", 
228 "name": "languageselectRedirect", 
229 "entries": links, 
230 "label": languageUtil.get(languageId, "diese.veranstaltung.ist.in.weiteren.sprachen.verfuegbar") 
231
232
233 /> 
234 </#if> 
235 </#if> 
236 </#if> 
237 
238 <#if hasContent('erscheinungsdatum', languageId, json)> 
239 <#assign 
240 startdate = getValueForLanguage('erscheinungsdatum', languageId, json, "first") 
241 meta = meta + { "start": startdate?date.iso, "end": "" } 
242 /> 
243 </#if> 
244 
245 <#if hasContent('startdatum', languageId, json)> 
246 <#assign 
247 startdate = getValueForLanguage('startdatum', languageId, json, "first") 
248 meta = meta + { "start": startdate?date.iso, "end": "" } 
249 /> 
250 </#if> 
251 
252 <#if hasValue('einfuehrungText', locale, json)> 
253 <#assign data = data + { "einfuehrungText" : getValueForLanguage('einfuehrungText', locale, json, "first") } > 
254 <#elseif hasValue(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first")> 
255 <#assign data = data + { "einfuehrungText" : getValueForLanguage(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first") } > 
256 </#if> 
257 
258 <#if hasContent('endedatum', languageId, json)> 
259 <#assign 
260 enddate = getValueForLanguage('endedatum', languageId, json, "first") 
261 meta = meta + { "end": enddate?date.iso } 
262 /> 
263 </#if> 
264 
265 <#if hasContent('startzeit', languageId, json)> 
266 <#assign 
267 startzeit = getValueForLanguage('startzeit', languageId, json, "first") 
268 /> 
269 <#if startzeit?has_content > 
270 <#assign meta = meta + { "startzeit": startzeit } /> 
271 </#if> 
272 </#if> 
273 
274 <#if hasContent('endezeit', languageId, json)> 
275 <#assign 
276 endezeit = getValueForLanguage('endezeit', languageId, json, "first") 
277 meta = meta + { "endezeit": endezeit } 
278 /> 
279 </#if> 
280 
281 <#if hasContent('ortWCSKASDEORT', languageId, json)> 
282 <#assign 
283 ortWCSKASDEORT = FrontendService.json.parseAsJson(getValueForLanguage('ortWCSKASDEORT', languageId, json, "first")) 
284 ortWCSKASDEORTPrimaryKey = ortWCSKASDEORT.classPK?number 
285 ortWCSKASDEORTWebContent = FrontendService.article.getWebcontentByPk(ortWCSKASDEORTPrimaryKey)!"" 
286 /> 
287 <#if ortWCSKASDEORTWebContent?has_content > 
288 <#assign 
289 ortWCSKASDEORTTitle = ortWCSKASDEORTWebContent.getTitle(languageId)!"" 
290 /> 
291 <#if ortWCSKASDEORTTitle?has_content > 
292 <#assign 
293 meta = meta + { "ortWCSKASDEORT": ortWCSKASDEORTTitle } 
294 /> 
295 </#if> 
296 </#if> 
297 </#if> 
298 
299 
300 <#if hasContent('veranstaltungsnummer', languageId, json)> 
301 <#assign 
302 verauuid = getValueForLanguage('veranstaltungsnummer', languageId, json, "first") 
303 meta = meta + { "verauuid": verauuid } 
304 /> 
305 </#if> 
306 
307 
308 <#if (data.meta)?has_content > 
309 <#assign meta = data.meta /> 
310 </#if> 
311 
312 <#if !(data.media)?has_content && hasContent('mediumDMTKASDEMEDIUM', languageId, json)> 
313 <#assign 
314 medium = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, json, "first") 
315 mediaData = getRelatedMediaObject(medium, themeDisplay, languageId, FrontendService, "hd-resolution") 
316 /> 
317 <#assign data = data + { "media": mediaData.url , "meta" : mediaData.meta} > 
318 
319 
320 <#if mediaData.meta?? && mediaData.meta.quelle??> 
321 <#assign meta = meta + data.meta + { "quelle": mediaData.meta.quelle } /> 
322 </#if> 
323 </#if> 
324 
325 
326 <#if meta?has_content> 
327 <#assign data = data + {"meta": meta } > 
328 </#if> 
329 
330 <#-- END fill meta data --> 
331 
332 <#if hasContentForSequence('autorenWCSKASDEPERSON', languageId, json)> 
333 <#assign 
334 journalArticles = getValueForLanguageAnsprechpartner('autorenWCSKASDEPERSON', languageId, json) 
335 authors = [] 
336 /> 
337 <#list journalArticles as articleString> 
338 <#assign article = FrontendService.json.parseAsJson(articleString) /> 
339 <#if article?has_content && article?is_hash && article.classPK??> 
340 <#assign articleDereferenced = FrontendService.person.resolveContactInstanceToPerson(article, languageId)!"" /> 
341 <#if articleDereferenced?has_content > 
342 <#assign 
343 author = "" 
344 articlePrimaryKey = articleDereferenced.classPK?number 
345 articleJsonString = FrontendService.article.getWebcontent(articlePrimaryKey) 
346 articleJson = FrontendService.json.parseAsJson(articleJsonString) 
347 /> 
348 <@debugJsonString articleJsonString "ADT_KASDE_DYNAMIC_INTRO-autorenWCSKASDEPERSON" /> 
349 <#if hasValue('anredetitel', languageId, articleJson)> 
350 <#assign author = author + getValueForLanguage('anredetitel', languageId, articleJson, " ") + " "> 
351 </#if> 
352 <#if hasValue('vorname', languageId, articleJson)> 
353 <#assign author = author + getValueForLanguage('vorname', languageId, articleJson, " ") + " "> 
354 </#if> 
355 <#if hasValue('nachname', languageId, articleJson)> 
356 <#assign author = author + getValueForLanguage('nachname', languageId, articleJson, " ") + " "> 
357 </#if> 
358 
359 <#attempt> 
360 <#assign href = FrontendService.article.getFriendlyUrl(articlePrimaryKey, languageId, groupId)!"#" > 
361 <#recover> 
362 <#assign href = "#" > 
363 </#attempt> 
364 <#if href?has_content && href != "#" && href != "/_404"> 
365 <#assign author = '<a href="' + href + '">' + author?trim + '</a>'> 
366 </#if> 
367 
368 <#assign authors = authors + [author?trim]> 
369 </#if> 
370 </#if> 
371 </#list> 
372 <#if authors?has_content> 
373 <#assign data = data + { "author": authors?join(", ") } > 
374 </#if> 
375 </#if> 
376 
377 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL") > 
378 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "VERANSTALTUNGSTYP")! > 
379 <#if categories?has_content && categories[0]?has_content > 
380 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
381 </#if> 
382 
383 <#if hasContent('ausgebucht', languageId, json)> 
384 <#assign data = data + { "ausgebucht" : getValueForLanguage('ausgebucht', languageId, json, "first") }> 
385 </#if> 
386 
387 <#if hasContent('storniert', languageId, json)> 
388 <#assign data = data + { "storniert" : getValueForLanguage('storniert', languageId, json, "first") }> 
389 </#if> 
390 
391 <#elseif layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL") > 
392 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "PUBLIKATIONSREIHE")! > 
393 <#if categories?has_content && categories[0]?has_content > 
394 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
395 </#if> 
396 <#else> 
397 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "THEMA")! > 
398 <#if categories?has_content && categories[0]?has_content > 
399 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
400 </#if> 
401 </#if> 
402 
403 
404 <#assign 
405 languages = [] 
406 /> 
407 
408 <#attempt> 
409 <#if json["document_pdfDMTBASICDOCUMENT"]?? > 
410 <#if availablelanguages?has_content> 
411 <#list availablelanguages as pdf_language> 
412 <#assign 
413 docRefJson = getValueForLanguage('document_pdfDMTBASICDOCUMENT', pdf_language, json, "first") 
414 docRef = FrontendService.json.parseAsJson(docRefJson) 
415 /> 
416 <#if docRef?is_hash && pdf_language != languageId > 
417 <#assign 
418 lang = FrontendService.language.getLocaleByKey(pdf_language)!"" 
419 docGroupId = docRef["groupId"]?number 
420 docUuid = docRef["uuid"] 
421 dMTJsonObject = FrontendService.media.getDMTJsonObject( docGroupId, docUuid, locale ) 
422 dMTLink = FrontendService.media.getLinkToDMT( dMTJsonObject ) 
423 /> 
424 <#if lang?has_content> 
425 <#assign 
426 languages = languages + [ 
427
428 "key": pdf_language, 
429 "value": FrontendService.language.getLocaleByKey(pdf_language).getDisplayLanguage(), 
430 "url": dMTLink 
431 }] 
432 /> 
433 </#if> 
434 </#if> 
435 </#list> 
436 </#if> 
437 </#if> 
438 <#recover> 
439 </#attempt> 
440 
441 <#if (languages?size > 0)> 
442 <#attempt> 
443 <#assign 
444 data = data + { "languageSelect": { 
445 "id": "languageSelect", 
446 "name": "languageselect", 
447 "entries": languages, 
448 "documents": "", 
449 "button": "true" 
450 }} 
451 /> 
452 <#recover> 
453 </#attempt> 
454 </#if> 
455 
456 <@PMIntro "ADT_KASDE_DYNAMIC_INTRO" data AMMetadata AMDatetime "bottom" /> 
457 ${FrontendService.article.getEditArticleHtml(primaryKey, themeDisplay)} 
458 
459 <#if data.meta?has_content> 
460 <#if data.meta.laufendenummer?has_content !isACColorScheme() && !isVLCColorScheme() && !isDPMColorScheme()> 
461 <div>  
462 <div id="publicationVerbundPagination"> 
463 <@AMPublicationCarousel data.meta.laufendenummer data.meta.date data.meta.coverImg /> 
464 </div> 
465 </div> 
466 </#if> 
467 </#if> 
468 
469<#elseif (editmode?? && editmode)> 
470 <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_DYNAMIC_INTRO" layouttpl currentUrl /> 
471</#if> 

Asset Publisher

Instabilität der Regierung und politische Polarisierung

Spanien hat seit 2015 keine stabile Regierung. Zur Erinnerung: nach den Parlamentswahlen von 2015 fand sich keine parlamentarische Mehrheit für eine Regierungsbildung. Daraufhin fanden 2016 erneut allgemeine Wahlen statt, bei denen ebenfalls keine Partei eine klare Mehrheit gewann und die Parteien, die zusammen eine Koalitionsregierung hätten bilden können, dazu nicht bereit waren. Mariano Rajoy wurde zwar aufgrund einer Enthaltung der Sozialistischen Arbeiterpartei (PSOE) im entscheidenden Wahlgang als Ministerpräsident wiedergewählt und bildete eine Minderheitsregierung. Doch keine zwei Jahre später, im Juni 2018, wurde er infolge eines konstruktiven Misstrauensvotums vom PSOE Generalsekretär Pedro Sánchez abgelöst, der aber ebenfalls nur eine Minderheitsregierung bilden konnte. Diese scheiterte bereits nach einem knappen Jahr, als Sánchez keine Mehrheit für den von ihm vorgelegten Haushaltsplan erhielt. Nach der Auflösung des Parlaments und den Wahlen im April 2019 blieben die Bemühungen um die Bildung einer Regierung wiederum erfolglos, weil die maßgeblichen politischen Akteure erneut keine Koalition eingehen wollten. Im Dezember des gleichen Jahres fanden nochmals Wahlen statt, nach denen Sánchez zwar erstmals auf nationaler Ebene eine Koalitionsregierung bildete. Doch zusammen mit den Linkspopulisten von Podemos reichte es wiederum nur für eine Minderheitsregierung, die bei allen Abstimmungen im Parlament auf die Stimmen sieben weiterer Parteien angewiesen ist, darunter die regionalen Nationalisten aus Katalonien und dem Baskenland sowie einige weitere Parteien, die zum Teil nur ein Mandat im Parlament haben. Dass Sánchez den Nationalisten für ihre Unterstützung nicht nur Zugeständnisse macht, sondern auch von ihnen erpresst wird, haben er und die spanischen Bürger mittlerweile mit einem gewissen Fatalismus akzeptiert.

Wie prekär die Position der Regierung ist, zeigte sich Anfang Februar 2022, als die regionalen Nationalisten die von der Regierung vorgelegte Arbeitsmarktreform ablehnten. Die Reform wurde nur mit der Stimme eines PP-Abgeordneten verabschiedet, der versehentlich dafür stimmte. Weil keine Mehrheit zur Abwahl von Sánchez möglich scheint, wird er wohl bis zu den nächsten regulären Wahlen 2023 im Amt bleiben, sofern er nicht aus politischen Opportunitätsgründen das Parlament vorher auflöst. Wie bisher wird er vor allem per Dekret regieren, was im Hinblick auf die Prinzipien der parlamentarischen Demokratie problematisch ist. Ob für 2023 ein ordentlicher Haushalt verabschiedet werden kann, ist fraglich.

Bemerkenswert im Hinblick auf die Verabschiedung der Arbeitsmarktreform war auch, dass die Führung der Volkspartei diese Reform auf jeden Fall ablehnte, obwohl sie das Ergebnis von Verhandlungen zwischen Regierung, Gewerkschaften und Arbeitgebern war, die EU die Reform ausdrücklich unterstützte und selbst die ehemalige PP-Arbeitsministerin und weitere prominente PP-Vertreter bis hin zum ehemaligen Ministerpräsidenten Rajoy Verständnis für eine Korrektur der sehr liberalen Arbeitsmarktregeln äußerten. Der PP-Führung ging es jedoch vor allem darum, der Regierung eine Niederlage zu bereiten, insbesondere, als sich die Ablehnung der regionalen Nationalisten zeigte, die eine radikalere Reform verlangten, was von den Arbeitgebern jedoch abgelehnt wurde. Gewiss ist es legitim, wenn eine Oppositionspartei Nutzen aus der Schwäche einer Regierung zu ziehen versucht. Ebenso gewiss versucht auch Sánchez die Opposition bei jeder Gelegenheit zu demütigen. Doch bei einer entscheidenden Gesetzesreform, die eine so breite gesellschaftliche Unterstützung erfährt, nur parteitaktische Ziele zu verfolgen, ohne gesamtstaatliche Interessen zu berücksichtigen, zeigt das Ausmaß der Polarisierung zwischen der Regierung und der Opposition, die die Regierungsfähigkeit des Landes belastet. Der Volkspartei hat – wie die Regionalwahlen in Castilla y León zeigten - dieses Verhalten nicht genutzt. Noch gravierender aber dürfte der Schaden für die spanische Demokratie werden, sollte diese Polarisierung in Verbindung mit einer instabilen nationalen Regierung anhalten – und auch dafür gibt es infolge der Regionalwahlen in Castilla y León Hinweise.

 

Die weitere Fragmentierung des Parteiensystems

Am 13. Februar 2022 fanden in d Castilla y León, der Autonomen Gemeinschaft mit der größten Fläche im Zentrum Spaniens, vorgezogene Regionalwahlen statt. Castilla y León hat 2,4 Millionen Einwohner und eine sehr geringe Bevölkerungsdichte von 27 Einwohnern pro km² (Durchschnitt in Spanien: 97). Durch Emigration und Geburtenrückgang hat diese Gemeinschaft wie auch einige andere in den vergangenen Jahrzehnten viele Bewohner verloren. Große Landstriche sind unbewohnt. In vielen Dörfern leben nur einige ältere Menschen. Die Versorgungslage dort ist prekär. „España vaciada“ – das „geleerte Spanien“ – ist der Begriff, mit dem dieser Zustand beschrieben wird. Politiker vieler Parteien versprechen zwar vor jeder Wahl, neues Leben und Investitionen in die verlassenen Provinzen zu leiten, doch das Ergebnis solcher Versprechungen ist bisher sehr bescheiden. Der Unmut der Bevölkerung drückt sich darin aus, dass mittlerweile etliche Regionalparteien entstanden, die dieses „España vaciada“ vertreten und dafür sorgen wollen, dass die vom Aussterben bedrohten Landstriche wiederbelebt werden.

Für die Spanische Volkspartei (PP) ist Castilla y León eine „Hochburg“. Nach Stimmenverlusten bei der Wahl von 2019 regierte sie dort seither in einer Koalition mit der liberalen Zentrumspartei Ciudadanos. Größere Zerwürfnisse zwischen den Koalitionspartnern waren nicht bekannt. Dennoch hat Regionalpräsident Alfonso Fernández Mañueco von der PP im Dezember 2021 das Regionalparlament aufgelöst und Neuwahlen ausgerufen. Er begründete das mit der Behauptung, Ciudadanos versuche eine alternative Mehrheit zu bilden, was von dieser Partei jedoch bestritten wurde. Allerdings war es ein offenes Geheimnis, dass der PP-Vorsitzende Pablo Casado den Regionalpräsidenten zur Veranlassung der Wahlen gedrängt hatte, weil Casado nach einigen (insgesamt bescheidenen) Zugewinnen seiner Partei in nationalen Umfragen nun in Castilla y León mit einem deutlichen Wahlsieg der PP seine Rolle als unbestrittener nationaler Führer der PP und zukünftiger Ministerpräsident unter Beweis stellen wollte. Seitdem die Regionalpräsidentin von Madrid, Isabel Díaz Ayuso, im Mai vergangenen Jahres bei vorgezogenen Regionalwahlen einen deutlichen Sieg errungen hatte und als eventuelle innerparteiliche Herausforderin von Casado erschien, versuchte dieser, ihren weiteren politischen Aufstieg und vor allem ihr zunehmendes Ansehen innerhalb und außerhalb der PP zu verhindern. Mit einem Wahlsieg in Castilla y León wollte Casado seine Position stärken und Ministerpräsident Sánchez unter Druck setzen. Dieser Plan scheiterte kläglich.

 

Tabelle 1: Das Wahlergebnis vom 13. Februar 2022 in Castilla y León

(im Vergleich zum Ergebnis der letzten Regionalwahlen vom 26. Mai 2019)

Castilla y León / 13.02.2022

Die Partido Popular (PP) gewann mit 31,5% zwar den höchsten Stimmenanteil und zwei zusätzliche Mandate, verlor aber gegenüber 2019 mehr als 50.000 Stimmen und verfehlte die absolute Mehrheit der Mandate deutlich. Die einzigen Wahlgewinner waren die rechtspopulistische Partei Vox, deren Stimmenanteil sich von 5,5% auf 16,4% verdreifachte und die damit statt bisher über eines nun über 13 Mandate im Regionalparlament verfügt, sowie die drei Provinzparteien Soria Ya, Unión del Pueblo Leonés und Por Ávila, die zusammen auf sieben Mandate kamen. Bei den Sozialisten setzte sich der Abwärtstrend aus anderen Regionalwahlen fort, auch wenn die PSOE trotz des Verlustes von sieben Mandaten zweitstärkste Partei blieb. Podemos zählt ebenfalls zu den Wahlverlierern und erreichte jetzt nur noch ein Mandat (vorher zwei).

Die regionale und nationale Parteiführung der PP feierten das Ergebnis zwar als Sieg, doch für die PP ist es sehr schwierig, eine Regierung, und vor allem auch eine stabile Regierung zu bilden. Ein Zusammengehen mit den drei Provinzparteien allein ergibt noch keine Mehrheit für die PP. Eine Mehrheit zweier Parteien gibt es nur, wenn die PP entweder mit Vox oder den Sozialisten eine Koalition bildet. Beides ist jedoch auszuschließen: Der Vorsitzende Pablo Casado hat öffentlich verkündet, dass eine institutionalisierte Regierungskoalition mit Vox nicht in Frage komme. Eine Unterstützung ohne Regierungsbeteiligung würde er aber wohl akzeptieren. Andere Stimmen in der Partei stehen auch einer Koalition mit Vox aufgeschlossener gegenüber. Dazu gehört auch die Regionalpräsidentin Madrids, Isabel Díaz Ayuso (PP), die bemerkte, der PP müsse es egal sein, was die linken Parteien über ihre Wahlpakte und Koalitionen urteilen. Ministerpräsident Sánchez sicherte für die PSOE der PP eine Enthaltung bei der Wiederwahl von Regionalpräsident Mañueco zu, falls sie „alle ihre bestehenden (informellen) Abkommen mit Vox in allen Gemeinden und allen Autonomen Gemeinschaften Spaniens breche“ – eine Bedingung, die von den PP-Regierungen nicht zu erfüllen ist. In Madrid, Andalusien und Murcia wurden die PP-Regionalpräsidenten mit den Stimmen von Vox gewählt, auch wenn Vox an keiner dieser drei Regionalregierungen beteiligt ist. Teilweise wurden auch gemeinsam ausgehandelte Haushalte verabschiedet. Auch in vielen Kommunen gibt es eine Zusammenarbeit.

Vox selbst lässt die PP vorerst im Unklaren über ihr Vorgehen. Ihr Vorsitzender Abascal hat angekündigt, dass seine Partei in Castilla y León nicht nur als Steigbügelhalter einer PP-Regierung dienen will. Doch ist es fraglich, ob Vox tatsächlich eine Koalition anstrebt. Im Hinblick auf künftige nationale Wahlen kommt es Vox eher gelegen, nicht in einer Regierung ihre Regierungsfähigkeit unter Beweis stellen zu müssen. Aus der Opposition kann Vox die PP viel besser weiter vor sich hertreiben. Es bleibt somit vorerst offen, welchen Ausgang die Regionalwahl haben wird. Selbst eine Wiederholung der Wahl ist nicht auszuschließen. Dass der Bruch der bisherigen Koalition und das Vorziehen der Wahl ein Fehler waren, wird mittlerweile nur noch von den unmittelbar an dieser Entscheidung beteiligten Personen bestritten.

 

Tabelle 2: Umfragewerte auf nationaler Ebene

Resultados de la encuesta a nivel nacional

So ungewiss das Wahlergebnis im Hinblick die Bildung einer Regionalregierung ist, so deutlich ist es im Hinblick auf einen Trend, der sich seit einigen Jahren abzeichnet und sich nun weiter verstärkt: die Zersplitterung des spanischen Parteiensystems. Die PP verharrt in einer „Hochburg“ bei einem Stimmenanteil von 31,5% und der landesweite Abwärtstrend der Regierungspartei PSOE setzt sich fort. In nationalen Umfragen kommen sie zusammen nur auf knapp über 50% der Stimmen. Auch Podemos verliert kontinuierlich an Zustimmung. Ciudadanos wird kaum noch wahrgenommen. Dagegen hat sich Vox mittlerweile als drittstärkste Kraft im Parteiensystem etabliert. Daneben gibt es eine zunehmende Zahl von Regional- und nun auch Provinzialparteien, die nicht nur bei Regionalwahlen antreten, sondern in größerer Zahl wohl auch bei den Wahlen für das nationale Parlament. Das spanische Wahlrecht erleichtert es Provinzparteien, Abgeordnete ins nationale Parlament zu entsenden. Es ist deshalb zu erwarten, dass bei den nächsten nationalen Wahlen noch mehr solcher Kleinparteien in den Cortes in Madrid vertreten sein werden – was die Regierungsbildung und Regierbarkeit des Landes weiter belasten dürfte. Die beiden traditionellen „großen“ Parteien aber können diesen Trend nicht aufhalten. Im Hinblick auf die Volkspartei ist sogar eher das Gegenteil zu beobachten.

Noch ein Wort zu Vox, die von den linken Parteien und den ihnen nahestehenden Medien immer als „extreme Rechte“ bezeichnet wird. Die Partei wurde 2013 von enttäuschten PP–Mitgliedern gegründet, die die liberale Haltung der Rajoy–Regierung zu gesellschaftspolitischen Fragen ablehnten. Aufgrund ihrer vehementen Ablehnung des regionalen Nationalismus in Katalonien und des Umgangs der Rajoy–Regierung mit der Unabhängigkeitsbewegung erhielt sie ab 2016 starken Zulauf. Sie fordert eine radikale Reform des spanischen Regionalismus mit einer Stärkung des Zentralstaaten und einer Abschaffung der autonomen Gemeinschaften. Außerdem vertritt Vox konservative Werte wie den Schutz der Familie, lehnt eine weitgehende gesellschaftspolitische Liberalisierung und Gleichheit der Geschlechter ab, setzt sich ein für den Stierkampf und das Recht auf Jagd und übt Kritik an der Migration. Eine explizite Verteidigung oder Anlehnung an den Francismus ist nicht zu erkennen. Allerdings wurden die Werte, die Vox vertritt, auch vom Francismus vertreten. Im Hinblick auf die Umgestaltung der Verfassungsordnung ist Vox weniger radikal als einige linksradikale und regionale nationalistische Parteien. Die Partei erhält mittlerweile Unterstützung aus allen Gesellschaftsschichten und lehnt einen weitgehenden wirtschaftlichen Liberalismus ab. Sie ist eine typisch populistische Partei, die sich gegen die etablierten Parteien wendet und vorgibt, die authentische Stimme des Volkes zu sein.

 

Die Verrohung der politischen Sitten und der interne Machtkampf der Spanischen Volkspartei

Am 17. Februar 2022 hat die Regionalpräsidentin von Madrid, Isabel Díaz Ayuso, die nationale Parteiführung mit dem Vorsitzenden Pablo Casado und Generalsekretär Egea in einer öffentlichen Stellungnahme beschuldigt, versucht zu haben, ihr Privatleben mit Hilfe von Privatdetektiven auszuspionieren, um ihr politisch zu schaden. Konkret ging es um den Kauf von Gesichtsmasken auf dem Höhepunkt der Pandemie vor zwei Jahren, den ihr Bruder vermittelt hatte. Der Kauf der Masken im Wert von1,5 Millionen Euro war aufgrund der Notlage ohne Ausschreibung erfolgt. Aus der PP-Führung hieß es, der Bruder von Díaz Ayuso, der zu der Firma, die die Masken verkaufte, enge Geschäftsbeziehungen unterhält, habe für die Vermittlung des Kaufs eine Kommission in Höhe von 286.000 Euro erhalten. Díaz Ayuso erklärte, dass ihr Bruder seit vielen Jahren im Handel mit medizinischer Ausrüstung tätig sei, sie über die (indirekte) Beteiligung ihres Bruders zum Zeitpunkt der Anschaffung der Masken nicht informiert war und die Höhe der Vermittlungskommission nicht zutreffe, auch wenn sie eingestand, ihr Bruder habe für seine Vermittlungsdienste ein Entgelt erhalten. Einen Tag später bezifferte sie diesen Betrag auf 55.850 Euro.

Mit der öffentlichen Stellungnahme kam ein seit Monaten schwelender Konflikt zum Ausbruch, der sehr wahrscheinlich allen Beteiligten und nicht zuletzt der Volkspartei schweren Schaden zufügen wird. Durch ihren kontinuierlichen Konflikt mit Ministerpräsident Sánchez während der Pandemie, die Offenhaltung Madrids und vor allem ihren deutlichen Wahlsieg bei den vorgezogenen Regionalwahlen in Madrid im Mai 2021 ist Díaz Ayuso zur mittlerweile populärsten Politikerin der Volkspartei aufgestiegen. Einige Kommentatoren meinen, der PP-Vorsitzende Casado habe deshalb seit Mai vergangenen Jahres versucht, Díaz Ayuso klein zu halten. So verweigerte er ihr, sich zur Regionalvorsitzenden der PP wählen zu lassen, obwohl üblicherweise die Regionalpräsidenten der PP auch den Parteivorsitz in ihrer Region innehaben. Casado versuchte, Gegenkandidaten gegen Díaz Ayuso aufzubauen und hat das Datum des regionalen Parteitags, der die Wahl vornehmen müsste, in die ferne Zukunft verschoben. Das führte in den vergangenen Monaten zu einer zunehmenden Verschärfung des Tons im gegenseitigen Umgang, obwohl beide früher freundschaftlich verbunden waren und Díaz Ayuso 2019 nur auf Vorschlag von Casado die Wahlliste in Madrid anführte und dadurch zur Regionalpräsidentin gewählt wurde. Die zunehmende Entfremdung endete nun in einem öffentlichen Zerwürfnis, als dessen Folge wohl zumindest einer der beiden Kontrahenten sein Amt verlieren wird. Casado scheint dabei die schlechtere Ausgangslage zu haben.

Díaz Ayuso beschuldigte die Parteiführung und insbesondere Generalsekretär Teodoro García Egea, ein Dossier gegen sie benutzt zu haben, das der PP-Führung vom Büro von Ministerpräsident Sánchez zugespielt worden sei und falsche Anschuldigungen enthalte. Zudem habe die Parteiführung versucht, über einen leitenden Angestellten der Stadt Madrid zwei Detektivfirmen zu verpflichten, die in ihrem privaten Umfeld nach Verfehlungen suchen sollten. Der Bürgermeister von Madrid, José Luis Martínez-Almeida, der gleichzeitig auch nationaler Parteisprecher ist, wies diesen Vorwurf zwar zurück, doch der namentlich genannte Angestellte der Stadt trat noch am gleichen Tag von seinem Amt zurück. Pablo Casado und Teodoro García Egea dagegen erhoben öffentliche Vorwürfe gegen Díaz Ayuso wegen vermeintlicher Einflussnahme bei einem öffentlichen Auftrag zugunsten eines Familienangehörigen. Wie bekannt wurde, haben Casado und García Egea bereits seit September versucht, Díaz Ayuso im Hinblick auf das Dossier unter Druck zu setzen, in dem es um die Kommission ihres Bruders geht.

In der Öffentlichkeit schlug die Erklärung von Díaz Ayuso mit dem Spionagevorwurf gegen Casado ein wie eine Bombe. Das Thema dominierte die Medien. Innerhalb der Volkspartei hielten sich zwar viele führende Repräsentanten mit Kommentaren zurück, doch ist erkennbar, dass die größeren Sympathien bei Díaz Ayuso liegen. Das gilt vor allem für die konservativen Medien, die nun Casado bereits abschreiben. Dass er diesen Vorgang unbeschadet übersteht, selbst wenn er im Amt bleiben sollte, ist unvorstellbar. Zumindest Generalsekretär García Egea wird sich wohl nicht gegen den Druck erwehren können, alsbald zurückzutreten. Allerdings wird auch Díaz Ayuso, selbst wenn sie ihr Amt in Madrid behält, beschädigt aus der Krise hervorgehen. Als nationale Vorsitzende der Volkspartei kommt sie wohl kaum in Frage. Die Aufmerksamkeit richtet sich deshalb – wie schon nach dem Rücktritt Rajoys als Parteivorsitzender - erneut auf den Regionalpräsidenten von Galizien Alberto Núñez Feijóo, der allerdings weiterhin wenig Neigung zeigt, nach Madrid zu kommen.

Ungeachtet des möglichen Ausgangs dieses parteiinternen Konflikts steht er beispielhaft für eine Verrohung der Sitten im innerparteilichen Machtkampf. Unbestreitbar scheint, dass Casado und seine Entourage Material gegen Díaz Ayuso sammelten, um ihr zu schaden. Dass dabei ethische Prinzipien im beiderseitigen Umgang beschädigt wurden, steht außer Frage.

Selbstverständlich nutzt der PP-interne Konflikt vor allem der Partei Vox. Nach ersten vorläufigen Umfragen ist sie schon dabei, die PP in der Wählergunst zu überholen. Für die spanische Demokratie verheißt das nichts Gutes.

Asset Publisher

Contact

Dr. Ludger Gruber

Dr

Director KAS office Spain/Portugal

ludger.gruber@kas.de +34 91 781 12 04 / +34 91 781 12 02

comment-portlet

Asset Publisher

Asset Publisher

About this series

The Konrad-Adenauer-Stiftung is a political foundation. Our offices abroad are in charge of over 200 projects in more than 120 countries. The country reports offer current analyses, exclusive evaluations, background information and forecasts - provided by our international staff.

Asset Publisher