Re: フォームブロックの結果(管理画面のレポート機能)を権限設定で公開したい

2016年8月1日 at 10:43

どこまで厳密にするかによると思います。管理画面のレポートで表示をさせないだけなのか、直接URLたたいても表示できないようにするのか?

タグ:

Re: フォームブロックの結果(管理画面のレポート機能)を権限設定で公開したい

2016年8月1日 at 11:05
ありがとうございます。

どこまで厳密にするかによると思います。管理画面のレポートで表示をさせないだけなのか、直接URLたたいても表示できないようにするのか?


【ミニマム仕様】
・URLを直叩きして、ログイン後、レポート結果(回答)ページが参照可能
・権限がない場合は、レポート結果(回答)ページを参照不可
・該当ユーザ(グループ)にDashboadの表示権限は与えない(管理画面を見せたくない)

【フルフル仕様】
・サイトログインしている場合、レポート結果(回答)ページの参照権限がある場合は、
 レポートメニューから、レポート(フォーム)一覧に、参照可能なフォームのみの一覧表示と
 そこから、レポート結果(回答)ページまでの遷移を可能としたい
・レポート結果ページの参照権限がない場合は、設定されている(権限外の)フォームの存在もみえないようにしたい。

一旦、ミニマム仕様でもできたら、運用が楽になるのですが、そういった事は可能でしょうか?
 

Re: Re: フォームブロックの結果(管理画面のレポート機能)を権限設定で公開したい

2016年8月1日 at 14:01
[管理画面→レポートフォーム]をコピーして新しいシングルページを作成すればできると思います。

そのシングルページではフォームのbIDでデータを取ってきているのでbIDからページの所有者を割り出し権限OKだったらフォーム一覧に表示してあげればできると思います。

回答の表示も、ページの所有者で表示・非表示を分岐すれば可能かと思います。
 

Re: Re: Re: フォームブロックの結果(管理画面のレポート機能)を権限設定で公開したい

2016年8月1日 at 14:29
フォームブロックが設置してあるページの所有者かどうかは、下記のコードで判別できると思います。試してないのでたぶんですが。。

$u = new User();
if($block->getOriginalCollectionObject()->getCollectionUserID() === $u->getUserID())

※ $blockにはフォームのブロックオブジェクトが入っています
 

Re: Re: Re: フォームブロックの結果(管理画面のレポート機能)を権限設定で公開したい

2016年8月1日 at 16:21
ありがとうございます。

下記のコードで判別できると思います。試してないのでたぶんですが。。

$u = new User();
if($block->getOriginalCollectionObject()->getCollectionUserID() === $u->getUserID())


今、仕事場には入るのですが、ちょっとアレコレできなくて、夜に教えて頂いた内容含めていじってみたいと思います。