Hi Emilio
I think this is what you want:
Modify the method addUserMeta in:
org.dspace.app.xmlui.aspect.eperson.Navigation.java.
public void addUserMeta(UserMeta userMeta) throws SAXException,
WingException, UIException, SQLException, IOException,
AuthorizeException
{
String groupIDs="";
EPerson eperson = context.getCurrentUser();
if (eperson != null)
{
userMeta.setAuthenticated(true);
userMeta.addMetadata("identifier").addContent(eperson.getID());
Iterator<Integer> it=Group.allMemberGroupIDs(context,
eperson).iterator();
while (it.hasNext())
{
userMeta.addMetadata("identifier","epersongroupIDs").addContent(it.next().toString());
}
userMeta.addMetadata("identifier","email").addContent(eperson.getEmail());
userMeta.addMetadata("identifier","firstName").addContent(eperson.getFirstName());
userMeta.addMetadata("identifier","lastName").addContent(eperson.getLastName());
userMeta.addMetadata("identifier","logoutURL").addContent(contextPath+"/logout");
userMeta.addMetadata("identifier","url").addContent(contextPath+"/profile");
}
else
{
userMeta.setAuthenticated(false);
}
// Allways have a login URL.
userMeta.addMetadata("identifier","loginURL").addContent(contextPath+"/login");
// Allways add language information
Request request = ObjectModelHelper.getRequest(objectModel);
Enumeration locales = request.getLocales();
while (locales.hasMoreElements())
{
Locale locale = (Locale) locales.nextElement();
userMeta.addMetadata("language","RFC3066").addContent(locale.toString());
}
}
Now you have in the DIM:
<userMeta authenticated="yes"><metadata
element="identifier">15</metadata><metadata element="identifier"
qualifier="epersongroupIDs">0</metadata>
<metadata element="identifier" qualifier="epersongroupIDs">1</metadata>
<metadata element="identifier" qualifier="epersongroupIDs">50</metadata>
<metadata element="identifier" qualifier="epersongroupIDs">54</metadata>
<metadata element="identifier" qualifier="epersongroupIDs">52</metadata>
<metadata element="identifier" qualifier="epersongroupIDs">47</metadata>
<metadata element="identifier" qualifier="epersongroupIDs">74</metadata>
<metadata element="identifier" qualifier="epersongroupIDs">44</metadata>
<metadata element="identifier"
qualifier="email">pa...@jobim.org</metadata><metadata
element="identifier" qualifier="firstName">Paulo</metadata>
<metadata element="identifier" qualifier="lastName">Jobim</metadata>
<metadata element="identifier"
qualifier="logoutURL">/xmlui/logout</metadata><metadata
element="identifier" qualifier="url">/xmlui/profile</metadata>
<metadata element="identifier"
qualifier="loginURL">/xmlui/login</metadata><metadata
element="language" qualifier="RFC3066">en</metadata>
<metadata element="language" qualifier="RFC3066">pt</metadata>
<metadata element="language" qualifier="RFC3066">de</metadata>
</userMeta>
and I check for the administrator group in xsl:
<xsl:if test="/dri:document/dri:meta/dri:userMeta/@authenticated =
'yes'and /dri:document/dri:meta/dri:userMeta/
dri:metadata[@element='identifier'][@qualifier='epersongroupIDs']=1">
note: administrator group ID is = 1
I hope you like it
Paulo
------------------------------------------------------------------------------
Storage Efficiency Calculator
This modeling tool is based on patent-pending intellectual property that
has been used successfully in hundreds of IBM storage optimization engage-
ments, worldwide. Store less, Store more with what you own, Move data to
the right place. Try It Now! http://www.accelacomm.com/jaw/sfnl/114/51427378/
_______________________________________________
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech