Freemarker support for persons and derivated types and Native query backed member list

git-svn-id: https://svn.libreccm.org/ccm/trunk@5957 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2019-04-19 12:46:10 +00:00
parent b6c42db2e5
commit 8f80e728b4
2 changed files with 116 additions and 0 deletions

View File

@ -0,0 +1,34 @@
<#ftl ns_prefixes={
"bebop":"http://www.arsdigita.com/bebop/1.0",
"cms":"http://www.arsdigita.com/cms/1.0",
"nav":"http://ccm.redhat.com/navigation",
"ui": "http://www.arsdigita.com/ui/1.0"}
>
<#function getSurname item>
<#return item["./surname"]>
</#function>
<#function getGivenName item>
<#return item["./givenname"]>
</#function>
<#function getTitlePre item>
<#return item["./titlepre"]>
</#function>
<#function getTitlePost item>
<#return item["./titlepost"]>
</#function>
<#function getHomepageLink item contactType="commonContact" entry="homepage">
<#return item["./contacts/contact[./@contactType='${contactType}']/contactentries[./keyId='${entry}]/value'"]>
</#function>
<#function getContactEntries item contactType="commonContact">
<#return item["./contacts/contact[@contactType='${contactType}']/contactentries"]>
</#function>
<#function getAddress item contactType="commonContact">
<#return item["./contacts/contact[@contactType='${contactType}']/address]
</#function>

View File

@ -0,0 +1,82 @@
<#ftl ns_prefixes={
"bebop":"http://www.arsdigita.com/bebop/1.0",
"cms":"http://www.arsdigita.com/cms/1.0",
"nav":"http://ccm.redhat.com/navigation",
"ui": "http://www.arsdigita.com/ui/1.0"}
>
<#function getSciMemberList listId="itemList">
<#return model["/bebop:page/nav:sci-member-list[@id='${listId}']"]>
</#function>
<#function getMembers list>
<#return list["./member"]>
</#function>
<#function getSurnameFilterValue list>
<#return list["./filters/surname"]>
</#function>
<#function getCount list>
<#return list["./paginator/@count"]>
</#function>
<#function getCurrentPage list>
<#return list["./paginator/@currentPage"]>
</#function>
<#function getLimit list>
<#return list["./paginator/@limit"]>
</#function>
<#function getMaxPages list>
<#return list["./paginator/@maxPages"]>
</#function>
<#function getNextPageLink list>
<#return list["./paginator/@nextPageLink"]>
</#function>
<#function getPrevPageLink list>
<#return list["./paginator/@prevPageLink"]>
</#function>
<#function getOffset list>
<#return list["./paginator/@offset"]>
</#function>
<#function getMemberItemId item>
<#return item["./item-id"]>
</#function>
<#function getMemberItemName item>
<#return item["./name"]>
</#function>
<#function getMemberItemTitle item>
<#return item["./title"]>
</#function>
<#function getMemberItemSurname item>
<#return item["./surname"]>
</#function>
<#function getMemberItemGivenName item>
<#return item["./givenname"]>
</#function>
<#function getMemberItemTitlePre item>
<#return item["./title-pre"]>
</#function>
<#function getMemberItemTitlePost item>
<#return item["./title-post"]>
</#function>
<#function getMemberItemContactEntries item>
<#return item["./contact-entries"]>
</#function>
<#function getMemberItemContactEntry item key>
<#return item["./contact-entries/contact-entry[./@key='${key}']"]>
</#function>