こちらの記事を参考に、アプリに一括承認機能を実装しました。
https://developer.cybozu.io/hc/ja/articles/211583223-%E3%83%AF%E3%83%B3%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%81%A7%E4%B8%80%E6%8B%AC%E6%89%BF%E8%AA%8D%E3%82%92%E3%81%97%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86
一括承認は正常に機能しているのですが、一括承認した申請分の通知が未読のまま残ってしまいます。承認時に通知を消す(既読にする)方法はないものでしょうか。
/*
* ワンクリックで一括承認するプログラム
* Copyright (c) 2016 Cybozu
*
* Licensed under the MIT License
*/
(function() {
“use strict”;
kintone.events.on(“app.record.index.show”, function(event) {
var appId = kintone.app.getId();
if (event.viewId !== 5523730) {
return;
}
if ($(‘.header-contents’).length !== 0) {
return;
}
var el = kintone.app.getHeaderSpaceElement();
var headerDiv = $(“<div></div>”, {
class: “header-contents”
});
//make a button for approval.
var balusButton = $(“<button></button>”, {
class: “approval-button”
}).
html(“一括承認!”).
click(function() {
if (event.records.length > 0) {
window.swal({
title: “本当に全て承認して大丈夫ですか?”,
text: “表示されているレコードを全て承認します”,
type: “warning”,
showCancelButton: true,
confirmButtonColor: “#DD6B55”,
confirmButtonText: “承認!”,
cancelButtonText: “やっぱりやめる”,
closeOnConfirm: false },
function() {
var records = [];
for (var h = 0; h < event.records.length; h++) {
var obj = {};
obj[“id”] = event.records[h].$id.value;
obj[“action”] = “承認する”; //プロセス管理で設定されたアクション名を指定
records.push(obj);
}
var requestObj = {
“app”: appId,
“records”: records
};
kintone.api(kintone.api.url(“/k/v1/records/status”, true), “PUT”, requestObj, function() {
window.swal({title: “承認に成功しました!”,
text: “お疲れ様でした。”,
type: “success”}, function() {
location.reload();
});
});
});
} else {
window.swal({
title: “申請中のレコードがありません”,
type: “warning”});
}
});
headerDiv.append(balusButton);
headerDiv.append($(“<br />”));
headerDiv.appendTo(el);
});
})();