kintone JavaScript APIで新規レコード作成時にログインユーザーとその組織をフィールドにデフォルト値として登録する
よくやりそうなふるまいなので書き残しておきます。
create_userフィールドにログインユーザーを、
create_sectionフィールドにログインユーザーの組織(課とか部とか)をデフォルト設定したいとします。
ログインユーザーは素直に[kintone.getLoginUser()]で取れるので[app.record.create.show]イベント内で処理してしまえます。
ですが、組織情報は[/v1/user/organizations]APIをkintone.apiから実行しなければなりません。
なので実行は非同期となります。
そして、[app.record.create.show]イベントではPromiseは使えません。
なので、[var record = event.record]とは別にcallbackの中で[var record = kintone.app.record.get()]をしてそこに対して値を設定して[kintone.app.record.set(record)]しています。
[return event]では[function(resp) {}]の処理は反映出来ないのですね。そりゃそうか。ふむ。
もっといいやり方ご存じの方いたら教えてください〜。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
(function() { 'use strict'; kintone.events.on('app.record.create.show', function(event) { var user = kintone.getLoginUser(); var record = event.record; record['create_user']['value'] = [{ "code": user.code, "name": user.name }]; kintone.api('/v1/user/organizations', 'GET', { code: user.code }, function(resp) { var record = kintone.app.record.get(); var organization = resp.organizationTitles[0].organization; record['record']['create_section']['value'] = [{ "code": organization.code, "name": organization.name }]; kintone.app.record.set(record); }); return event; }); })(); |
ちなみにkintoneのJavaScriptは変更時にアップロードするのが面倒なのでAWSのS3に置いて参照するようにしています。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第2版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
「kintone Café 大阪 Vol.15 〜kintone Night Café 2017 〜」でLTしてきました
「kintone Café 大阪 Vol.15 〜kintone Night C …
-
Cybozu Circus Fukuokaで「なぜ御社のDXは進まない?!DXを阻む壁を突破する方法。」を見ました。
サイボウズ営業本部営業戦略部の木地谷さんと船井総合研究所DX支援本部DX推進室の …
-
kintoneのアプリ管理の情報をkintoneで作ったアプリ管理アプリに格納/更新する
kintone Advent Calendar 2017の参加記事です。 課題 …
-
kintoneでEveryoneに権限が設定されているアプリをAWS Lambdaで一括チェックする
こないだ、kintone Cafeでユーザーが自由に作成している環境だと、どんな …
-
Cybozu Circus Fukuokaで「経営者が語る。 70人の鉄工所が、kintoneで「見える化」第一歩を踏み出してみた。」を見ました。
工場長頼みだった工程管理の見える化をkintoneで実現された乗富鉄工所乘冨さん …
-
kintoneの全フィールド(テーブル含む)の編集を不可にする
小ネタですが kinotneでとにかくフォーム上から全フィールドの編集を無効にし …
-
CUSTOMINEを使ってkintoneからAWS Lambdaを実行する(Cognito認証付き)
先日の記事「kintoneのカスタマイズ開発を超速にするCUSTOMINE」で書 …
-
kintone hiveで改めてkintoneの破壊力を見た
kintone hiveとは 「日頃から業務の中でkintoneを活用しているユ …
-
Cybozu Days 2021「ユーザーがリアルに語る 「すごくなくてもいい」 kintone 活用術」セッションを観ました
kintoneアプリを開発する時間がない キンコミに書き込まれた質問に答えていく …
-
kintoneのレコードをPythonから条件クエリー(チェックボックス)で取得する
Google Calendar Twilio Reminderのkintoneの …