From fcdfe19d958612487667f236df02f4168b30f51a Mon Sep 17 00:00:00 2001 From: Azuma Kasumi Date: Tue, 4 Jul 2023 13:01:53 +0900 Subject: [PATCH 1/3] =?UTF-8?q?today=E3=82=BF=E3=83=83=E3=83=97=E5=8B=95?= =?UTF-8?q?=E4=BD=9C=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AgileWorks/Common/WidgetView.swift | 5 +++++ AgileWorks/TodayExtension/View/TodayViewController.swift | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/AgileWorks/Common/WidgetView.swift b/AgileWorks/Common/WidgetView.swift index 90517e9..6b32306 100644 --- a/AgileWorks/Common/WidgetView.swift +++ b/AgileWorks/Common/WidgetView.swift @@ -282,6 +282,11 @@ struct LinkView: View { }) } else { ApprovalItemView(itemNum: itemNum, entry: entry) + .onTapGesture { + if entry.viewController != nil { + entry.viewController!.extensionContext?.open(NSURL(fileURLWithPath: getStatusURL())as URL, completionHandler: nil) + } + } } } } diff --git a/AgileWorks/TodayExtension/View/TodayViewController.swift b/AgileWorks/TodayExtension/View/TodayViewController.swift index fd075a2..7633422 100644 --- a/AgileWorks/TodayExtension/View/TodayViewController.swift +++ b/AgileWorks/TodayExtension/View/TodayViewController.swift @@ -40,7 +40,10 @@ class TodayViewController: UIViewController, NCWidgetProviding { entrys.append(entry) } - UserDefaultsDataStore().setGroupId(serverNumber: serverList.first!) + + if !serverList.isEmpty { + UserDefaultsDataStore().setGroupId(serverNumber: serverList.first!) + } //描画 var rootView = TodayWidgetView(entrys: entrys) -- GitLab From a85865d93a2b3c32e4043f0c4df3220c46f066b9 Mon Sep 17 00:00:00 2001 From: Azuma Kasumi Date: Mon, 10 Jul 2023 14:30:08 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=E3=82=A6=E3=82=A3=E3=82=B8=E3=82=A7?= =?UTF-8?q?=E3=83=83=E3=83=88=E3=82=BF=E3=83=83=E3=83=97URL=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AgileWorks/Common/DataStore/KeychainDataStore.swift | 5 ++++- AgileWorks/Common/WidgetView.swift | 8 ++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/AgileWorks/Common/DataStore/KeychainDataStore.swift b/AgileWorks/Common/DataStore/KeychainDataStore.swift index cd7b89e..0766a7e 100644 --- a/AgileWorks/Common/DataStore/KeychainDataStore.swift +++ b/AgileWorks/Common/DataStore/KeychainDataStore.swift @@ -92,7 +92,10 @@ final class KeychainDataStore: DataStoreProtocol { } // サーバーURLの読み込み - func readServerURL() -> String? { + func readServerURL(serverNumber: Int? = nil) -> String? { + if let serverNumber = serverNumber { + return getKeychainValue(key: kServerURL, serverNumber: serverNumber) + } return getKeychainValue(key: kServerURL) } diff --git a/AgileWorks/Common/WidgetView.swift b/AgileWorks/Common/WidgetView.swift index 6b32306..ed1a4f5 100644 --- a/AgileWorks/Common/WidgetView.swift +++ b/AgileWorks/Common/WidgetView.swift @@ -355,7 +355,9 @@ struct FailureWidgetView: View { } func getWorkURL(serverNumber: Int?) -> String { - var url = Configuration.shared.awURL + "/" + (KeychainDataStore().readContextPath() ?? "") + "/Broker/Mobile#work" + let serverURL = KeychainDataStore().readServerURL(serverNumber: serverNumber) ?? "" + let contextPath = KeychainDataStore().readContextPath(serverNumber: serverNumber) ?? "" + var url = "https://" + serverURL + "/" + contextPath + "/Broker/Mobile#work" if let serverNumber = serverNumber { url += "?serverNumber=" + String(serverNumber) } @@ -365,7 +367,9 @@ func getWorkURL(serverNumber: Int?) -> String { //遷移先URLの取得(iOS14以降) func getURL(approvalItem: ApprovalItem, serverNumber: Int?) -> String { if let status = getStatus(code: approvalItem.code) { - var url = Configuration.shared.awURL + "/" + (KeychainDataStore().readContextPath() ?? "") + "/Broker/Mobile#docList_" + status + let serverURL = KeychainDataStore().readServerURL(serverNumber: serverNumber) ?? "" + let contextPath = KeychainDataStore().readContextPath(serverNumber: serverNumber) ?? "" + let url: String = "https://" + serverURL + "/" + contextPath + "/Broker/Mobile#docList_" + status if let serverNumber = serverNumber { return url + "?serverNumber=" + String(serverNumber) } -- GitLab From 882e0fd3a31b529fb86bf7fce92b1a174a9d359c Mon Sep 17 00:00:00 2001 From: Azuma Kasumi Date: Mon, 31 Jul 2023 11:35:18 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=E6=89=BF=E8=AA=8D=E5=BE=85=E3=81=A1?= =?UTF-8?q?=E4=BB=B6=E6=95=B0=E5=8F=96=E5=BE=97=E3=81=AE=E3=83=93=E3=83=AB?= =?UTF-8?q?=E3=83=89=E3=82=A8=E3=83=A9=E3=83=BC=E5=9B=9E=E9=81=BF=E3=83=BB?= =?UTF-8?q?=E3=83=AD=E3=82=B0=E3=82=A2=E3=82=A6=E3=83=88=E6=99=82=E3=81=AE?= =?UTF-8?q?=E8=AA=8D=E8=A8=BC=E6=83=85=E5=A0=B1=E5=89=8A=E9=99=A4=E5=87=A6?= =?UTF-8?q?=E7=90=86=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../View/ServerSwitchingTableViewController.swift | 9 ++++----- .../Common/DataStore/KeychainDataStore.swift | 14 +++++++++----- .../Common/WebClient/DeleteDeviceEndpoint.swift | 5 +++++ 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/AgileWorks/AgileWorks/ServerSwitching/View/ServerSwitchingTableViewController.swift b/AgileWorks/AgileWorks/ServerSwitching/View/ServerSwitchingTableViewController.swift index f540c2b..b788826 100644 --- a/AgileWorks/AgileWorks/ServerSwitching/View/ServerSwitchingTableViewController.swift +++ b/AgileWorks/AgileWorks/ServerSwitching/View/ServerSwitchingTableViewController.swift @@ -94,19 +94,18 @@ class ServerSwitchingTableTableViewController: UITableViewController { private func setApprovalsCount(label: UILabel) async { let approvalsEndpoint = GetApprovalsEndpoint() Session.send(approvalsEndpoint) { result in - var reqApprovalCount: Int = 0 switch result { case .success(let response): let requestApproval = "REQUEST_APPROVAL" for item in response.items where item.code == requestApproval { - reqApprovalCount = item.count - DispatchQueue.main.async { - label.text = String(reqApprovalCount) + let approvalCountLabel = String(item.count) + DispatchQueue.main.async{ + label.text = approvalCountLabel } } case .failure(let error): log.e(error) - DispatchQueue.main.async { + DispatchQueue.main.async{ label.text = "0" } } diff --git a/AgileWorks/Common/DataStore/KeychainDataStore.swift b/AgileWorks/Common/DataStore/KeychainDataStore.swift index 0766a7e..aeda469 100644 --- a/AgileWorks/Common/DataStore/KeychainDataStore.swift +++ b/AgileWorks/Common/DataStore/KeychainDataStore.swift @@ -38,8 +38,9 @@ final class KeychainDataStore: DataStoreProtocol { func removeAccessToken(serverNumber: Int? = nil) { if let serverNumber = serverNumber { removeKeychainValue(key: kAccessToken, serverNumber: serverNumber) + }else { + removeKeychainValue(key: kAccessToken) } - removeKeychainValue(key: kAccessToken) } // 認可ステータスの書き込み @@ -67,8 +68,9 @@ final class KeychainDataStore: DataStoreProtocol { func removeOAuthState(serverNumber: Int? = nil) { if let serverNumber = serverNumber { removeKeychainValue(key: kOAuthState, serverNumber: serverNumber) + }else { + removeKeychainValue(key: kOAuthState) } - removeKeychainValue(key: kOAuthState) } // 言語設定の書き込み @@ -149,8 +151,9 @@ final class KeychainDataStore: DataStoreProtocol { func removeDeviceID(serverNumber: Int? = nil) { if let serverNumber = serverNumber { removeKeychainValue(key: kDeviceID, serverNumber: serverNumber) + } else { + removeKeychainValue(key: kDeviceID) } - removeKeychainValue(key: kDeviceID) } // セッションIDの書き込み @@ -166,9 +169,10 @@ final class KeychainDataStore: DataStoreProtocol { // セッションIDの削除 func removeSessionID(serverNumber: Int? = nil) { if let serverNumber = serverNumber { - return removeKeychainValue(key: kSessionID, serverNumber: serverNumber) + removeKeychainValue(key: kSessionID, serverNumber: serverNumber) + } else { + removeKeychainValue(key: kSessionID) } - return removeKeychainValue(key: kSessionID) } // サーバー識別名の書き込み diff --git a/AgileWorks/Common/WebClient/DeleteDeviceEndpoint.swift b/AgileWorks/Common/WebClient/DeleteDeviceEndpoint.swift index d6433cc..7d5506f 100644 --- a/AgileWorks/Common/WebClient/DeleteDeviceEndpoint.swift +++ b/AgileWorks/Common/WebClient/DeleteDeviceEndpoint.swift @@ -21,6 +21,8 @@ struct DeleteDeviceEndpoint: APIEndpoint { var pathParameters: [String]? + var baseURL: URL + init(request: DeviceRequest, serverNumber: Int?) { let encoder = JSONEncoder() encoder.keyEncodingStrategy = .convertToSnakeCase @@ -37,6 +39,9 @@ struct DeleteDeviceEndpoint: APIEndpoint { "Content-Type": "application/json"] self.pathParameters = [KeychainDataStore().readDeviceID(serverNumber: serverNumber)?.description ?? ""] + + let serverURL = KeychainDataStore().readServerURL(serverNumber: serverNumber) ?? "" + self.baseURL = URL(string: "https://" + serverURL)! } } -- GitLab