予定表のフォームで会議ワークスペース列を非表示にする

SharePoint2010の標準の予定表では、イベントのフォームに「ワークスペース」っていう項目がありますよね。
20140708-1

ここにチェックをいれると、このイベントにひもづいた「会議ワークスペース」というサブサイトがサイト内に作成されるわけですが、実務上はサブサイトを作成する権限を一般ユーザーには渡してないケースがままあると思います。

その場合どうなるかというと、会議ワークスペースの作成画面で「OK」ボタンを押すとアクセス拒否画面がばばーんと出ちゃいます。
まあこれで、「あ、これは押したらアカンやつやった・・・」とわかりはするんですけど、できればそんなつれない画面は見せたくない。いや、会議ワークスペースの作成画面自体見せたくない。

というわけで、イベントのフォームで「ワークスペース」列を非表示にするべく、例によってJavaScriptで頑張ってみました。

以下のjsファイルをサイトに保存します。
hideWorkspace.js

$(document).ready(function () {
	$("tr:has(a[name='SPBookmark_WorkspaceLink'])").not("tr:has(tr)").hide(); //DispForm.aspx
	$("tr:has(span[title='Workspace'])').not("tr:has(tr)").hide(); //NewForm.aspx, EditForm.aspx en
	$("tr:has(span[title='ワークスペース'])").not("tr:has(tr)").hide(); //NewForm.aspx, EditForm.aspx jp
});

新規、表示、編集すべてに対応してます。また、ベタな書き方でアレなんですがテンプレートは英日両方いけます。

さて、さらに以下のタグを書いたテキストファイルをサイトに保存します。
LoadJS.txt

<script src="/ファイルへのパス/jquery.min.js" type="text/javascript"></script>
<script src="/ファイルへのパス/hideWorkspace.js" type="text/javascript"></script>

このテキストファイルをコンテンツエディタwebパーツでフォームに埋め込みます。
たとえば、NewForm.aspxに埋め込む場合、リボンの「フォームwebパーツ」のドロップダウンから「既定の新しいフォーム」を選択。
20140708-2

次の画面で「webパーツの追加」のリンクをクリックして、[メディアおよびコンテンツ] カテゴリの「コンテンツエディタ」を選択し、「追加」ボタンをクリック。

追加したコンテンツエディタ webパーツの編集画面で、「コンテンツへのリンク」に先ほどアップしたスクリプトリンクタグを書いたテキストファイルへのパスを指定し、「OK」します。
20140708-3

こんな感じで、編集フォーム、表示フォームにも埋め込んでいけば完了です!
めでたく非表示にすることができました~。

20140708-4

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中