Foundry support for ccm-cms-types-person

git-svn-id: https://svn.libreccm.org/ccm/trunk@3273 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2015-03-04 15:09:09 +00:00
parent e5cfa6ef5e
commit c361a0cdfc
9 changed files with 307 additions and 3 deletions

View File

@ -31,11 +31,17 @@
<content-item content-type="com.arsdigita.cms.contenttypes.FileStorageItem"> <content-item content-type="com.arsdigita.cms.contenttypes.FileStorageItem">
content-items/fsi-detail.xml content-items/fsi-detail.xml
</content-item> </content-item>
<content-item content-type="com.arsdigita.cms.formbuilder.FormItem">
content-items/formitem-detail.xml
</content-item>
<content-item content-type="com.arsdigita.cms.contenttypes.MultiPartArticle"> <content-item content-type="com.arsdigita.cms.contenttypes.MultiPartArticle">
content-items/mpa-detail.xml content-items/mpa-detail.xml
</content-item> </content-item>
<content-item content-type="com.arsdigita.cms.contenttypes.NewsItem"> <content-item content-type="com.arsdigita.cms.contenttypes.NewsItem">
content-items/news-detail.xml content-items/news-detail.xml
</content-item>
<content-item content-type="com.arsdigita.cms.contenttypes.Person">
content-items/person-detail.xml
</content-item> </content-item>
<content-item content-type="com.arsdigita.cms.contenttypes.PressRelease"> <content-item content-type="com.arsdigita.cms.contenttypes.PressRelease">
content-items/pressrelease-detail.xml content-items/pressrelease-detail.xml
@ -52,12 +58,18 @@
<content-item content-type="com.arsdigita.cms.contenttypes.Article"> <content-item content-type="com.arsdigita.cms.contenttypes.Article">
content-items/article-list.xml content-items/article-list.xml
</content-item> </content-item>
<content-item content-type="com.arsdigita.cms.formbuilder.FormItem">
content-items/formitem-list.xml
</content-item>
<content-item content-type="com.arsdigita.cms.contenttypes.FileStorageItem"> <content-item content-type="com.arsdigita.cms.contenttypes.FileStorageItem">
content-items/fsi-list.xml content-items/fsi-list.xml
</content-item> </content-item>
<content-item content-type="com.arsdigita.cms.contenttypes.NewsItem"> <content-item content-type="com.arsdigita.cms.contenttypes.NewsItem">
content-items/article-list.xml content-items/article-list.xml
</content-item> </content-item>
<content-item content-type="com.arsdigita.cms.contenttypes.Person">
content-items/person-list.xml
</content-item>
<content-item content-type="com.arsdigita.cms.contenttypes.PressRelease"> <content-item content-type="com.arsdigita.cms.contenttypes.PressRelease">
content-items/pressrelease-list.xml content-items/pressrelease-list.xml
</content-item> </content-item>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<content-item-layout>
<!--<h2>
<content-item-title/>
</h2>-->
<include file="fragments/edit-link.xml"/>
<div class="form-description">
<form-description/>
</div>
</content-item-layout>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<content-item-layout>
<a>
<content-item-title/>
</a>
</content-item-layout>

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<content-item-layout>
<!--<h2>
<content-item-title/>
</h2>-->
<include file="fragments/edit-link.xml"/>
<div>
<show-property name="pageDescription"/>
</div>
<!--
Only a demo
<dl>
<dt>Surname</dt>
<dd>
<person-surname/>
</dd>
<dt>Given name</dt>
<dd>
<person-givenname/>
</dd>
<dt>title pre</dt>
<dd>
<person-titlepre/>
</dd>
<dt>title post</dt>
<dd>
<person-titlepost/>
</dd>
</dl>-->
</content-item-layout>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE stylesheet [<!ENTITY nbsp '&#160;'>
<!ENTITY shy '&#173;'>
<!ENTITY ndash '&#8211;'>]>
<content-item-layout>
<person-homepage-link>
<a>
<person-titlepre post="&#x20;"/>
<person-givenname post="&#x20;"/>
<person-surname/>
<person-titlepost pre=",&#x20;"/>
</a>
<contact type="commonContact">
<contact-entries>
<contact-entry key="office">
<contact-entry-key/>:&nbsp;<contact-entry-value/>
</contact-entry>
</contact-entries>
</contact>
</person-homepage-link>
</content-item-layout>

View File

@ -33,9 +33,11 @@
<xsl:import href="content-items/bookmark.xsl"/> <xsl:import href="content-items/bookmark.xsl"/>
<xsl:import href="content-items/decisiontree.xsl"/> <xsl:import href="content-items/decisiontree.xsl"/>
<xsl:import href="content-items/event.xsl"/> <xsl:import href="content-items/event.xsl"/>
<xsl:import href="content-items/formitem.xsl"/>
<xsl:import href="content-items/fsi.xsl"/> <xsl:import href="content-items/fsi.xsl"/>
<xsl:import href="content-items/mpa.xsl"/> <xsl:import href="content-items/mpa.xsl"/>
<xsl:import href="content-items/news.xsl"/> <xsl:import href="content-items/news.xsl"/>
<xsl:import href="content-items/person.xsl"/>
<xsl:import href="content-items/siteproxy.xsl"/> <xsl:import href="content-items/siteproxy.xsl"/>
<xsl:import href="content-items/assets/file-attachments.xsl"/> <xsl:import href="content-items/assets/file-attachments.xsl"/>
<xsl:import href="content-items/assets/image-attachments.xsl"/> <xsl:import href="content-items/assets/image-attachments.xsl"/>

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2014 Jens Pelzetter for the LibreCCM Foundation
This file is part of the Foundry Theme Engine for LibreCCM
Foundry is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
Foundry is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Foundry If not, see <http://www.gnu.org/licenses/>.
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
xmlns:cms="http://www.arsdigita.com/cms/1.0"
xmlns:foundry="http://foundry.libreccm.org"
xmlns:nav="http://ccm.redhat.com/navigation"
xmlns:ui="http://www.arsdigita.com/ui/1.0"
exclude-result-prefixes="xsl xs bebop cms foundry nav ui"
version="2.0">
<xsl:template match="/content-item-layout//form-description">
<xsl:param name="contentitem-tree" tunnel="yes"/>
<xsl:value-of select="$contentitem-tree/form/description"/>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,153 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2015 Jens Pelzetter for the LibreCCM Foundation
This file is part of the Foundry Theme Engine for LibreCCM
Foundry is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
Foundry is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Foundry If not, see <http://www.gnu.org/licenses/>.
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
xmlns:cms="http://www.arsdigita.com/cms/1.0"
xmlns:foundry="http://foundry.libreccm.org"
xmlns:nav="http://ccm.redhat.com/navigation"
xmlns:ui="http://www.arsdigita.com/ui/1.0"
exclude-result-prefixes="xsl xs bebop cms foundry nav ui"
version="2.0">
<xsl:template match="/content-item-layout//person-surname">
<xsl:param name="contentitem-tree" tunnel="yes"/>
<xsl:if test="string-length($contentitem-tree/surname) &gt; 0 and ./@pre">
<xsl:value-of select="./@pre"/>
</xsl:if>
<xsl:value-of select="$contentitem-tree/surname"/>
<xsl:if test="string-length($contentitem-tree/surname) &gt; 0 and ./@post">
<xsl:value-of select="./@post"/>
</xsl:if>
</xsl:template>
<xsl:template match="/content-item-layout//person-givenname">
<xsl:param name="contentitem-tree" tunnel="yes"/>
<xsl:if test="string-length($contentitem-tree/givenname) &gt; 0 and ./@pre">
<xsl:value-of select="./@pre"/>
</xsl:if>
<xsl:value-of select="$contentitem-tree/givenname"/>
<xsl:if test="string-length($contentitem-tree/givenname) &gt; 0 and ./@post">
<xsl:value-of select="./@post"/>
</xsl:if>
</xsl:template>
<xsl:template match="/content-item-layout//person-titlepre">
<xsl:param name="contentitem-tree" tunnel="yes"/>
<xsl:if test="string-length($contentitem-tree/titlepre) &gt; 0 and ./@pre">
<xsl:value-of select="./@pre"/>
</xsl:if>
<xsl:value-of select="$contentitem-tree/titlepre"/>
<xsl:if test="string-length($contentitem-tree/titlepre) &gt; 0 and ./@post">
<xsl:value-of select="./@post"/>
</xsl:if>
</xsl:template>
<xsl:template match="/content-item-layout//person-titlepost">
<xsl:param name="contentitem-tree" tunnel="yes"/>
<xsl:if test="string-length($contentitem-tree/titlepost) &gt; 0 and ./@pre">
<xsl:value-of select="./@pre"/>
</xsl:if>
<xsl:value-of select="$contentitem-tree/titlepost"/>
<xsl:if test="string-length($contentitem-tree/titlepost) &gt; 0 and ./@post">
<xsl:value-of select="./@post"/>
</xsl:if>
</xsl:template>
<xsl:template match="/content-item-layout//person-homepage-link">
<xsl:param name="contentitem-tree" tunnel="yes"/>
<xsl:variable name="homepage-contact-type"
select="if (./@contact-type)
then ./@contact-type
else 'commonContact'"/>
<xsl:variable name="homepage-contact-entry-key"
select="if (./@contact-entry-key)
then ./@contact-entry-key
else 'homepage'"/>
<xsl:choose>
<xsl:when test="$contentitem-tree/contacts/contact[./@contactType = $homepage-contact-type]/contactentries[./keyId = $homepage-contact-entry-key]">
<xsl:apply-templates>
<xsl:with-param name="href"
tunnel="yes"
select="$contentitem-tree/contacts/contact[@contactType = $homepage-contact-type]/contactentries[./keyId = $homepage-contact-entry-key]/value"/>
</xsl:apply-templates>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="/content-item-layout//contact">
<xsl:param name="contentitem-tree" tunnel="yes"/>
<xsl:variable name="contact-type"
select="if (./@type)
then ./@type
else 'commonContact'"/>
<xsl:if test="$contentitem-tree/contacts/contact[./@contactType = $contact-type]">
<xsl:apply-templates>
<xsl:with-param name="contact-tree"
tunnel="yes"
select="$contentitem-tree/contacts/contact[./@contactType = $contact-type]"/>
</xsl:apply-templates>
</xsl:if>
</xsl:template>
<xsl:template match="/content-item-layout//contact//contact-entries//contact-entry">
<xsl:param name="contact-tree" tunnel="yes"/>
<xsl:variable name="contact-entry-key-id" select="./@key"/>
<xsl:if test="$contact-tree/contactentries[./keyId = $contact-entry-key-id]">
<xsl:apply-templates>
<xsl:with-param name="contact-entry-key"
tunnel="yes"
select="$contact-tree/contactentries[./keyId = $contact-entry-key-id]/key"/>
<xsl:with-param name="contact-entry-value"
tunnel="yes"
select="$contact-tree/contactentries[./keyId = $contact-entry-key-id]/value"/>
</xsl:apply-templates>
</xsl:if>
</xsl:template>
<xsl:template match="/content-item-layout//contact//contact-entries//contact-entry//contact-entry-key">
<xsl:param name="contact-entry-key" tunnel="yes"/>
<xsl:value-of select="$contact-entry-key"/>
</xsl:template>
<xsl:template match="/content-item-layout//contact//contact-entries//contact-entry//contact-entry-value">
<xsl:param name="contact-entry-value" tunnel="yes"/>
<xsl:value-of select="$contact-entry-value"/>
</xsl:template>
</xsl:stylesheet>

View File

@ -778,11 +778,11 @@
<xsl:param name="id" select="''"/> <xsl:param name="id" select="''"/>
<xsl:param name="class" select="''"/> <xsl:param name="class" select="''"/>
<xsl:variable name="divContent"> <xsl:variable name="div-content">
<xsl:apply-templates/> <xsl:apply-templates/>
</xsl:variable> </xsl:variable>
<xsl:if test="normalize-space($divContent)"> <xsl:if test="normalize-space($div-content)">
<div> <div>
<xsl:call-template name="foundry:set-id-and-class"> <xsl:call-template name="foundry:set-id-and-class">
<xsl:with-param name="id" select="$id"/> <xsl:with-param name="id" select="$id"/>
@ -2093,7 +2093,7 @@
Generates a HTML5 <code>section</code> element. Generates a HTML5 <code>section</code> element.
</foundry:doc-desc> </foundry:doc-desc>
<foundry:doc-see-also> <foundry:doc-see-also>
<foundry:doc-link href="http://www.w3.org/TR/html5/text-level-semantics.html#the-span-element"/> <foundry:doc-link href="http://www.w3.org/TR/html5/text-level-semantics.html#the-section-element"/>
</foundry:doc-see-also> </foundry:doc-see-also>
</foundry:doc> </foundry:doc>
<xsl:template match="section"> <xsl:template match="section">
@ -2275,6 +2275,33 @@
<xsl:apply-templates/> <xsl:apply-templates/>
</span> </span>
</xsl:template> </xsl:template>
<foundry:doc section="user" type="template-tag">
<foundry:doc-desc>
Generates a <code>span</code> element but only if the element has any content.
</foundry:doc-desc>
<foundry:doc-see-also>
<foundry:doc-link href="http://www.w3.org/TR/html5/text-level-semantics.html#the-span-element"/>
</foundry:doc-see-also>
</foundry:doc>
<xsl:template match="spanIfNotEmpty">
<xsl:param name="id" select="''"/>
<xsl:param name="class" select="''"/>
<xsl:variable name="span-content">
<xsl:apply-templates/>
</xsl:variable>
<xsl:if test="normalize-space($span-content)">
<span>
<xsl:call-template name="foundry:process-layouttree-attributes">
<xsl:with-param name="id" select="$id"/>
<xsl:with-param name="class" select="$class"/>
</xsl:call-template>
<xsl:apply-templates/>
</span>
</xsl:if>
</xsl:template>
<foundry:doc section="user" type="template-tag"> <foundry:doc section="user" type="template-tag">
<foundry:doc-desc> <foundry:doc-desc>