2010/01/14

XPages Tutorial Part 45 : 既存文書の削除方法

Deleting A Document {Original Source}

電話帳アプリケーションには「Person」文書を作成する機能を作りましたが、削除の機能はどうなるのでしょうか、見ていきましょう。

では「content_Person」カスタムコントロールに新しいアクションボタンを作成し、コントロールペインから新しいリンクコントロールをドラッグインし、必要なスタイルクラスを指定することになるのですが、時間を節約するために、既に作成してあるアクションボタンを再利用することにしましょう。

どれかひとつを選択しクリップボードにコピーし貼り付けます。これで必要なスタイルクラスが定義された状態でボタンを作成できました。

このボタンを選択し、プロパティの中で新しい名前を「Delete Person」と定義します。


このボタンを使用できる人や、正しいタイミングで表示させるために「表示」のプロパティに以下の値の計算コードを入力します。

var s1 = context.getUser().getRoles();
var s2 = "[PhonebookEditor]"

if (personDoc.isEditable())
{
       return false;
} else if (@Contains(s1, s2) == @True())
{
       return true;
} else
{
       return false;
}

文書が編集モードであれば表示されません、編集モードでも ACL 設定で PhonebookEditor というロールがないユーザーには表示されません。

最後の仕上げとしてこのボタンにアクションを設定します。
イベントタブに切り替え onclick イベントを見てください。
一旦現在設定してあるものを削除して、「アクションの追加」ボタンで分類を文書、アクションを文書の削除を選択してください。

文書が削除された後に次に開く XPage の指定をし、確認テキストを入力することでアクションの確認をユーザーにさせることができます。

ではこのカスタムコントロールを保存して、ブラウザでプリビューしてください。
ログインし、かつ適切なロールを持っていればボタンが表示されるはずです。


ボタンをクリックすると確認のダイアログが表示されます。

OK ボタンを押すとさっき選択していたロケーションの「Person」のリストに戻ります。そしてその中にあった先ほど削除した「Person」文書は消えているはずです。

0 件のコメント:

コメントを投稿