Teresa Peramato Martín

Fiscal General del Estado

Saber más sobre su trayectoria

En cumplimiento de las obligaciones derivadas de la Ley 19/2013, consistentes en la puesta a disposición de los ciudadanos de información institucional, se ofrece información individualizada sobre los altos cargos del Ministerio Fiscal: Fiscal General del Estado, Teniente Fiscal del Tribunal Supremo, Fiscales de Sala y Fiscales Superiores.

Última actualización: diciembre de 2025

S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> accordionId  [in template "13333257#13333299#13756874" at line 27, column 74]

----
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: ${accordionId}  [in template "13333257#13333299#13756874" at line 27, column 72]
----
1<#assign portletNamespace = themeDisplay.getPortletDisplay().getNamespace() /> 
2<#assign namespace = randomNamespace /> 
3<#assign portletTitle = themeDisplay.getPortletDisplay().getTitle() /> 
4<#assign defaultTitles = ["Publicador de contenidos", "Asset Publisher", "Publicador de activos"] /> 
5 
6<#-- Recuperamos el vocabulario Organigrama, para obtener la categora asociada a ese vocabulario y categorizada en el contenido equipo --> 
7	<#assign AssetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService" )> 
8	<#assign vocabularyOrganigrama=AssetVocabularyLocalService.fetchGroupVocabulary(groupId,"Organigrama" )> 
9 
10<#if entries?has_content> 
11	<#-- Listado de categorias del equipo --> 
12	<#assign categoriesEntry=(entries?first).getCategories()/> 
13	<#-- Iteramos las categorias hasta encontrar la asociada al vocabulario Organigrama, que será la que pintemos como titulo del acordion --> 
14	<#list categoriesEntry as curCategory> 
15		<#if vocabularyOrganigrama.vocabularyId=curCategory.vocabularyId> 
16			<#if portletTitle?has_content && !(defaultTitles?seq_contains(portletTitle))> 
17				<#assign accordionTitle=htmlUtil.escape(portletTitle)/> 
18			<#else> 
19    			<#assign accordionTitle=htmlUtil.escape(curCategory.name)/> 
20			</#if> 
21			<#assign accordionId = portletNamespace!namespace /> 
22		</#if> 
23	</#list> 
24	 
25	<div class="mj-accordion" id="${randomNamespace}accordion"> 
26		<div class="mj-accordion__item"> 
27			<div class="mj-accordion__heading" id="heading_${accordionId}" data-toggle="collapse" data-target="#collapse_${accordionId}" aria-expanded="true" aria-controls="collapse_${accordionId}" role="button"> 
28				<div class="mj-accordion__title">${accordionTitle}</div> 
29			</div> 
30			<div class="mj-accordion__body collapse show" id="collapse_${accordionId}" aria-labelledby="heading_${accordionId}" data-parent="#${randomNamespace}accordion"> 
31				<ul class="mj-cards-list"> 
32					<#list entries as curEntry> 
33						<#assign assetRenderer=curEntry.getAssetRenderer() journalArticle=assetRenderer.getAssetObject() structure=journalArticle.getDDMStructure() templates=structure.getTemplates() viewURL=assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, curEntry, !stringUtil.equals(assetLinkBehavior,"showFullContent" ))/> 
34						<#list templates as curTemplate> 
35							<#if (curTemplate.getName()?index_of("_SUMMARY"))!=-1> 
36								<#assign templateKey=curTemplate.getTemplateKey()> 
37								<li class="mj-cards-list__item"> 
38									<@liferay_journal["journal-article"] articleId=journalArticle.getArticleId() ddmTemplateKey=templateKey groupId=journalArticle.getGroupId() wrapperCssClass=""/> 
39								</li> 
40							</#if> 
41						</#list> 
42					</#list> 
43				</ul> 
44			</div> 
45		</div> 
46	</div> 
47</#if> 
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> accordionId  [in template "13333257#13333299#13756874" at line 27, column 74]

----
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: ${accordionId}  [in template "13333257#13333299#13756874" at line 27, column 72]
----
1<#assign portletNamespace = themeDisplay.getPortletDisplay().getNamespace() /> 
2<#assign namespace = randomNamespace /> 
3<#assign portletTitle = themeDisplay.getPortletDisplay().getTitle() /> 
4<#assign defaultTitles = ["Publicador de contenidos", "Asset Publisher", "Publicador de activos"] /> 
5 
6<#-- Recuperamos el vocabulario Organigrama, para obtener la categora asociada a ese vocabulario y categorizada en el contenido equipo --> 
7	<#assign AssetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService" )> 
8	<#assign vocabularyOrganigrama=AssetVocabularyLocalService.fetchGroupVocabulary(groupId,"Organigrama" )> 
9 
10<#if entries?has_content> 
11	<#-- Listado de categorias del equipo --> 
12	<#assign categoriesEntry=(entries?first).getCategories()/> 
13	<#-- Iteramos las categorias hasta encontrar la asociada al vocabulario Organigrama, que será la que pintemos como titulo del acordion --> 
14	<#list categoriesEntry as curCategory> 
15		<#if vocabularyOrganigrama.vocabularyId=curCategory.vocabularyId> 
16			<#if portletTitle?has_content && !(defaultTitles?seq_contains(portletTitle))> 
17				<#assign accordionTitle=htmlUtil.escape(portletTitle)/> 
18			<#else> 
19    			<#assign accordionTitle=htmlUtil.escape(curCategory.name)/> 
20			</#if> 
21			<#assign accordionId = portletNamespace!namespace /> 
22		</#if> 
23	</#list> 
24	 
25	<div class="mj-accordion" id="${randomNamespace}accordion"> 
26		<div class="mj-accordion__item"> 
27			<div class="mj-accordion__heading" id="heading_${accordionId}" data-toggle="collapse" data-target="#collapse_${accordionId}" aria-expanded="true" aria-controls="collapse_${accordionId}" role="button"> 
28				<div class="mj-accordion__title">${accordionTitle}</div> 
29			</div> 
30			<div class="mj-accordion__body collapse show" id="collapse_${accordionId}" aria-labelledby="heading_${accordionId}" data-parent="#${randomNamespace}accordion"> 
31				<ul class="mj-cards-list"> 
32					<#list entries as curEntry> 
33						<#assign assetRenderer=curEntry.getAssetRenderer() journalArticle=assetRenderer.getAssetObject() structure=journalArticle.getDDMStructure() templates=structure.getTemplates() viewURL=assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, curEntry, !stringUtil.equals(assetLinkBehavior,"showFullContent" ))/> 
34						<#list templates as curTemplate> 
35							<#if (curTemplate.getName()?index_of("_SUMMARY"))!=-1> 
36								<#assign templateKey=curTemplate.getTemplateKey()> 
37								<li class="mj-cards-list__item"> 
38									<@liferay_journal["journal-article"] articleId=journalArticle.getArticleId() ddmTemplateKey=templateKey groupId=journalArticle.getGroupId() wrapperCssClass=""/> 
39								</li> 
40							</#if> 
41						</#list> 
42					</#list> 
43				</ul> 
44			</div> 
45		</div> 
46	</div> 
47</#if> 
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> accordionId  [in template "13333257#13333299#13756874" at line 27, column 74]

----
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: ${accordionId}  [in template "13333257#13333299#13756874" at line 27, column 72]
----
1<#assign portletNamespace = themeDisplay.getPortletDisplay().getNamespace() /> 
2<#assign namespace = randomNamespace /> 
3<#assign portletTitle = themeDisplay.getPortletDisplay().getTitle() /> 
4<#assign defaultTitles = ["Publicador de contenidos", "Asset Publisher", "Publicador de activos"] /> 
5 
6<#-- Recuperamos el vocabulario Organigrama, para obtener la categora asociada a ese vocabulario y categorizada en el contenido equipo --> 
7	<#assign AssetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService" )> 
8	<#assign vocabularyOrganigrama=AssetVocabularyLocalService.fetchGroupVocabulary(groupId,"Organigrama" )> 
9 
10<#if entries?has_content> 
11	<#-- Listado de categorias del equipo --> 
12	<#assign categoriesEntry=(entries?first).getCategories()/> 
13	<#-- Iteramos las categorias hasta encontrar la asociada al vocabulario Organigrama, que será la que pintemos como titulo del acordion --> 
14	<#list categoriesEntry as curCategory> 
15		<#if vocabularyOrganigrama.vocabularyId=curCategory.vocabularyId> 
16			<#if portletTitle?has_content && !(defaultTitles?seq_contains(portletTitle))> 
17				<#assign accordionTitle=htmlUtil.escape(portletTitle)/> 
18			<#else> 
19    			<#assign accordionTitle=htmlUtil.escape(curCategory.name)/> 
20			</#if> 
21			<#assign accordionId = portletNamespace!namespace /> 
22		</#if> 
23	</#list> 
24	 
25	<div class="mj-accordion" id="${randomNamespace}accordion"> 
26		<div class="mj-accordion__item"> 
27			<div class="mj-accordion__heading" id="heading_${accordionId}" data-toggle="collapse" data-target="#collapse_${accordionId}" aria-expanded="true" aria-controls="collapse_${accordionId}" role="button"> 
28				<div class="mj-accordion__title">${accordionTitle}</div> 
29			</div> 
30			<div class="mj-accordion__body collapse show" id="collapse_${accordionId}" aria-labelledby="heading_${accordionId}" data-parent="#${randomNamespace}accordion"> 
31				<ul class="mj-cards-list"> 
32					<#list entries as curEntry> 
33						<#assign assetRenderer=curEntry.getAssetRenderer() journalArticle=assetRenderer.getAssetObject() structure=journalArticle.getDDMStructure() templates=structure.getTemplates() viewURL=assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, curEntry, !stringUtil.equals(assetLinkBehavior,"showFullContent" ))/> 
34						<#list templates as curTemplate> 
35							<#if (curTemplate.getName()?index_of("_SUMMARY"))!=-1> 
36								<#assign templateKey=curTemplate.getTemplateKey()> 
37								<li class="mj-cards-list__item"> 
38									<@liferay_journal["journal-article"] articleId=journalArticle.getArticleId() ddmTemplateKey=templateKey groupId=journalArticle.getGroupId() wrapperCssClass=""/> 
39								</li> 
40							</#if> 
41						</#list> 
42					</#list> 
43				</ul> 
44			</div> 
45		</div> 
46	</div> 
47</#if> 
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> accordionId  [in template "13333257#13333299#13756874" at line 27, column 74]

----
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: ${accordionId}  [in template "13333257#13333299#13756874" at line 27, column 72]
----
1<#assign portletNamespace = themeDisplay.getPortletDisplay().getNamespace() /> 
2<#assign namespace = randomNamespace /> 
3<#assign portletTitle = themeDisplay.getPortletDisplay().getTitle() /> 
4<#assign defaultTitles = ["Publicador de contenidos", "Asset Publisher", "Publicador de activos"] /> 
5 
6<#-- Recuperamos el vocabulario Organigrama, para obtener la categora asociada a ese vocabulario y categorizada en el contenido equipo --> 
7	<#assign AssetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService" )> 
8	<#assign vocabularyOrganigrama=AssetVocabularyLocalService.fetchGroupVocabulary(groupId,"Organigrama" )> 
9 
10<#if entries?has_content> 
11	<#-- Listado de categorias del equipo --> 
12	<#assign categoriesEntry=(entries?first).getCategories()/> 
13	<#-- Iteramos las categorias hasta encontrar la asociada al vocabulario Organigrama, que será la que pintemos como titulo del acordion --> 
14	<#list categoriesEntry as curCategory> 
15		<#if vocabularyOrganigrama.vocabularyId=curCategory.vocabularyId> 
16			<#if portletTitle?has_content && !(defaultTitles?seq_contains(portletTitle))> 
17				<#assign accordionTitle=htmlUtil.escape(portletTitle)/> 
18			<#else> 
19    			<#assign accordionTitle=htmlUtil.escape(curCategory.name)/> 
20			</#if> 
21			<#assign accordionId = portletNamespace!namespace /> 
22		</#if> 
23	</#list> 
24	 
25	<div class="mj-accordion" id="${randomNamespace}accordion"> 
26		<div class="mj-accordion__item"> 
27			<div class="mj-accordion__heading" id="heading_${accordionId}" data-toggle="collapse" data-target="#collapse_${accordionId}" aria-expanded="true" aria-controls="collapse_${accordionId}" role="button"> 
28				<div class="mj-accordion__title">${accordionTitle}</div> 
29			</div> 
30			<div class="mj-accordion__body collapse show" id="collapse_${accordionId}" aria-labelledby="heading_${accordionId}" data-parent="#${randomNamespace}accordion"> 
31				<ul class="mj-cards-list"> 
32					<#list entries as curEntry> 
33						<#assign assetRenderer=curEntry.getAssetRenderer() journalArticle=assetRenderer.getAssetObject() structure=journalArticle.getDDMStructure() templates=structure.getTemplates() viewURL=assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, curEntry, !stringUtil.equals(assetLinkBehavior,"showFullContent" ))/> 
34						<#list templates as curTemplate> 
35							<#if (curTemplate.getName()?index_of("_SUMMARY"))!=-1> 
36								<#assign templateKey=curTemplate.getTemplateKey()> 
37								<li class="mj-cards-list__item"> 
38									<@liferay_journal["journal-article"] articleId=journalArticle.getArticleId() ddmTemplateKey=templateKey groupId=journalArticle.getGroupId() wrapperCssClass=""/> 
39								</li> 
40							</#if> 
41						</#list> 
42					</#list> 
43				</ul> 
44			</div> 
45		</div> 
46	</div> 
47</#if>