0

無理だとは思いますが質問させてください。

患者の記録を処理するシステムを構築しています。新しいユーザーは患者を検索できる必要があり、見つかったら、管理者からファイルへのアクセスを要求します。

ユーザーがアクセス権を持っていない場合でも、すべてのドキュメントのリストを表示するにはどうすればよいですか? それらは [読者] フィールドに追加された後にのみビューに表示されるため、検索の目的が無効になります。

私の計画は、2 つの文書を作成することです。元の患者文書と、名前と住所を含む単純化された文書で、検索にのみ使用されます。

これを行うためのより良い方法はありますか、それとも 2 ドキュメント アプローチが適していますか?

4

1 に答える 1

4

sessionAsSignerを使用して、データベース署名者の権限に関するデータベースオブジェクトを取得し、検索を実行します。これにより、データテーブルを使用して表示するのと同様に視覚化できるドキュメントのコレクションが提供されます。

例(中程度のビューの場合はうまく機能します-大きなビューの場合はおそらく最適化が必要になります):

 <xp:panel id="viewPanel" styleClass="usersPanel">
    <xp:this.dataContexts>
        <xp:dataContext var="usersList">
            <xp:this.value><![CDATA[#{javascript:               
var uview = sessionAsSigner.getCurrentDatabase().getView("someView");
uview.FTSearch("Some query");
return uview.getAllEntries();
 }]]></xp:this.value>
        </xp:dataContext>
    </xp:this.dataContexts>
    <xp:pager partialRefresh="true" layout="Previous Group Next"
        xp:key="headerPager" id="pager2" for="usersList">
    </xp:pager>
    <xp:dataTable id="usersList" rows="30"
        var="entry" value="#{usersList}">

        <xp:column id="column1">
            <xp:this.facets>
                <xp:span xp:key="header"
                    styleClass="frameworkViewColumnHeader">
                    Użytkownik
                </xp:span>
            </xp:this.facets>
            <xp:text escape="true" id="computedField1"
                value="#{javascript:entry.getColumnValues().get(0)}">
            </xp:text>
        </xp:column>
        <xp:column id="column2">
            <xp:this.facets>
                <xp:span xp:key="header"
                    styleClass="frameworkViewColumnHeader">
                    Instytucja
                </xp:span>
            </xp:this.facets>
            <xp:text escape="true" id="computedField2"
                value="#{javascript:entry.getColumnValues().get(1)}">
            </xp:text>
        </xp:column>
    </xp:dataTable>
 </xp:panel>
于 2013-03-22T10:24:10.490 に答える