Приведенный ниже код фильтрует данные в виде.Xpages - Dominoview возвращает все значения, если пользователь в getRoles()
Оператор else работает нормально, он в основном возвращает значения для конкретного пользователя, но оператор if - это проблема; так как я хочу, чтобы пользователи-администраторы могли просматривать все представления/записи из базы данных.
В то время как оператор if работает, он только возвращает представления/записи для первого пользователя, но я хочу, чтобы он возвращал представления для всех пользователей, если у пользователя есть роль ('[Admin]').
Ваша помощь будет оценена!
<xp:dominoView var="users" viewName="userView" keysExactMatch="true">
<xp:this.keys><![CDATA[#{javascript:var fullName = context.getUser().getFullName();
var users:NotesView = database.getView("userView");
var entryCol:NotesViewEntryCollection = users.getAllEntries();
var doc:NotesDocument = users.getFirstDocument();
var columnValues = [];
while(doc != null){
columnValues.push(doc.getItemValueString("CreatedBy"));
doc = entryCol.getNextEntry();
}
if(context.getUser().getRoles().contains('[Admin]')){
print(columnValues);
return columnValues;
}else{
return fullName;
}}]]></xp:this.keys>
</xp:dominoView>
Просто рассмотрел код и он работает отлично. Благодаря! –