slack

テクてく Lotus 技術者 Slack に参加しよう!

2010/01/13

XPages Tutorial Part 42 : 新規の Person 文書を作成

Creating A New Person Document {Original Source}

ここまではデータベース内の文書を表示させたり、編集したりすることを学んできました。
これからまたいくつかのコントロールを追加しながら、文書を作成する方法を見ていきたいと思います。そしてアプリケーションの ACL で [PhonebookEditor]というロールを持っているユーザーだけに作成が許されるということも条件に入れたいと思います。

文書の作成はアクションバーの上のアクションボタンとして作成したいと思います。
今回「content_Location」のちょうどページャの上あたりにそのアクションボタンを作成したいと思います。

まったく初めから作成するよりは「content_Person」に再利用できるコードがあるのでそれを使いたいと思います。では「content_Person」カスタムコントロールを開きソースビューへ切り替えます。
「lotusActionBar」のスタイルクラスが指定されている「xp:panel」タグを選択し、そのタグの終了である「/xp:panel」までの中にあるすべてのものをコピーします。

それから「content_Location」カスタムコントロールを開きソースビューに切り替え、<xp:pager> タグの真上にペーストします。
設計ビューに切り替えるとちょうど下のような形になっていると思います。


今回は「Edit Document」のリンクのみを使用しますのでその他は削除してください。
最初に行うのはこのリンクのラベルの変更です。「Create Person」に変更してください。

次に表示のオプションを変更します。下の内容に変更してください。
var s1 = context.getUser().getRoles();
var s2 = "PhonebookEditor]";

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

そして最後にユーザーがクリックしたときのアクションを変更します。
このリンクコントロールのイベントタブに切り替えて「onclick」イベントで設定されているものを一旦削除し、「アクションの追加」で新しいアクションを定義し直します。

ここでは基本アクションとして「Person」XPage を開くアクションを、ターゲットを「新規作成」として設定します。

では保存してからプリビューしてみましょう。正しいロールがあれば「Create Person」ボタンが表示されるはずです。

このボタンをクリックすると入力ができる文書として「Person」XPage が表示されます。

次回は新規文書の作成の際に、編集不可になっていたフィールドを編集可能にするように調整したいと思います。

0 件のコメント:

コメントを投稿