apply pattern when username change
This commit is contained in:
@@ -144,27 +144,7 @@
|
||||
// 管理者かどうかを取得
|
||||
isAdmin = groupCodes.indexOf(adminGroupCode) !== -1;
|
||||
|
||||
var editUserCode = record.engineer_mechanic.value.length > 0 ? record.engineer_mechanic.value[0].code : "";
|
||||
return getSystemControlRecord(editUserCode).then(function (systemRecord) {
|
||||
if (systemRecord != null) {
|
||||
// サービスレポート承認者グループに所属するユーザーかどうかを取得
|
||||
const serviceReportAuthorizerCodes =
|
||||
systemRecord.サービスレポート承認者グループ.value.map(function (
|
||||
group
|
||||
) {
|
||||
return group.code;
|
||||
});
|
||||
isServiceReportAuthorizer = serviceReportAuthorizerCodes.some(
|
||||
function (serviceReportAuthorizerCode) {
|
||||
return groupCodes.indexOf(serviceReportAuthorizerCode) !== -1;
|
||||
}
|
||||
);
|
||||
|
||||
// システムコントロール情報の設定
|
||||
setSystemControlField(systemRecord, record);
|
||||
setSystemInfo(record);
|
||||
}
|
||||
});
|
||||
return fetchSystemControlAndUpdateFields(record, groupCodes);
|
||||
})
|
||||
.then(function () {
|
||||
setHiddenField(isAdmin);
|
||||
@@ -183,6 +163,41 @@
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* 「engineer_mechanic」変更時の処理を行います。
|
||||
*/
|
||||
kintone.events.on(
|
||||
[
|
||||
"app.record.create.change.engineer_mechanic",
|
||||
"app.record.edit.change.engineer_mechanic",
|
||||
],
|
||||
function (
|
||||
/** @type {kintone.AppEvent__サービスレポート_出張経費精算入力} */
|
||||
event
|
||||
) {
|
||||
const record = event.record;
|
||||
|
||||
if (record.engineer_mechanic.value.length > 0) {
|
||||
pvc.util.ui.showSpinner();
|
||||
getLoginUserGroupCodes()
|
||||
.then(function (groupCodes) {
|
||||
return fetchSystemControlAndUpdateFields(record, groupCodes);
|
||||
})
|
||||
.then(function () {
|
||||
setDisabledField(record, isServiceReportAuthorizer);
|
||||
kintone.app.record.set(event);
|
||||
pvc.util.ui.hideSpinner();
|
||||
})
|
||||
.catch(function (error) {
|
||||
pvc.util.ui.hideSpinner();
|
||||
console.error(error);
|
||||
alert("システムエラーが発生しました");
|
||||
});
|
||||
}
|
||||
return event;
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* 「作業時間情報」変更時の処理を行います。
|
||||
*/
|
||||
@@ -987,6 +1002,36 @@
|
||||
return pvc.util.array.sum(includeTimeNumList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 指定されたユーザーコードのシステムコントロール情報を取得してフィールドに設定します。
|
||||
* @param {kintone.AppRecord__サービスレポート_出張経費精算入力} record
|
||||
* @param {string[]} groupCodes - ログインユーザーの所属グループコードリスト
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
function fetchSystemControlAndUpdateFields(record, groupCodes) {
|
||||
var userCode = record.engineer_mechanic.value.length > 0 ? record.engineer_mechanic.value[0].code : "";
|
||||
return getSystemControlRecord(userCode).then(function (systemRecord) {
|
||||
if (systemRecord != null) {
|
||||
// サービスレポート承認者グループに所属するユーザーかどうかを取得
|
||||
const serviceReportAuthorizerCodes =
|
||||
systemRecord.サービスレポート承認者グループ.value.map(function (
|
||||
group
|
||||
) {
|
||||
return group.code;
|
||||
});
|
||||
isServiceReportAuthorizer = serviceReportAuthorizerCodes.some(
|
||||
function (serviceReportAuthorizerCode) {
|
||||
return groupCodes.indexOf(serviceReportAuthorizerCode) !== -1;
|
||||
}
|
||||
);
|
||||
|
||||
// システムコントロール情報の設定
|
||||
setSystemControlField(systemRecord, record);
|
||||
setSystemInfo(record);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* システムコントロールのレコードを取得します。
|
||||
* @param {string} userCode - ユーザーコード(engineer_mechanic.コード)
|
||||
|
||||
Reference in New Issue
Block a user