git-svn-id: https://svn.libreccm.org/ccm/trunk@1319 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2011-12-06 19:57:14 +00:00
parent 0ccb82699f
commit 16bb369677
1 changed files with 124 additions and 109 deletions

View File

@ -11,7 +11,11 @@ import com.arsdigita.cms.contenttypes.GenericPersonContactCollection;
import com.arsdigita.cms.contenttypes.SciProject;
import com.arsdigita.domain.DomainObject;
import com.arsdigita.domain.DomainObjectFactory;
import com.arsdigita.globalization.GlobalizationHelper;
import com.arsdigita.kernel.Kernel;
import com.arsdigita.persistence.DataCollection;
import com.arsdigita.persistence.Filter;
import com.arsdigita.persistence.FilterFactory;
import com.arsdigita.persistence.OID;
import com.arsdigita.xml.Element;
import java.util.ArrayList;
@ -79,6 +83,17 @@ public class PersonalProjects implements ContentGenerator {
final DataCollection collection = (DataCollection) person.get(
"organizationalunit");
if (Kernel.getConfig().languageIndependentItems()) {
FilterFactory ff = collection.getFilterFactory();
Filter filter = ff.or().
addFilter(ff.equals("language", com.arsdigita.globalization.GlobalizationHelper.getNegotiatedLocale().getLanguage())).
addFilter(ff.and().
addFilter(ff.equals("language", GlobalizationHelper.LANG_INDEPENDENT)).
addFilter(ff.notIn("parent", "com.arsdigita.london.navigation.getParentIDsOfMatchedItems").set("language", com.arsdigita.globalization.GlobalizationHelper.getNegotiatedLocale().getLanguage())));
collection.addFilter(filter);
} else {
collection.addEqualsFilter("language", com.arsdigita.globalization.GlobalizationHelper.getNegotiatedLocale().getLanguage());
}
DomainObject obj;
while (collection.next()) {
obj = DomainObjectFactory.newInstance(collection.getDataObject());