From 2bbb1acd320392d929311a912e7ffc564c320817 Mon Sep 17 00:00:00 2001 From: "sosuke.iwabuchi" Date: Tue, 4 Jun 2024 09:47:10 +0900 Subject: [PATCH] =?UTF-8?q?MyPage=E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9?= =?UTF-8?q?=E5=88=B6=E9=99=90=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Web/Auth/LoginCheckController.php | 3 +- .../Controllers/Web/Auth/LoginController.php | 3 +- .../Auth/PasswordSettingStartController.php | 3 +- app/Kintone/Models/Customer.php | 29 ++++++++++++++++++- 4 files changed, 34 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/Web/Auth/LoginCheckController.php b/app/Http/Controllers/Web/Auth/LoginCheckController.php index d5c5dd1..ef7ea2f 100644 --- a/app/Http/Controllers/Web/Auth/LoginCheckController.php +++ b/app/Http/Controllers/Web/Auth/LoginCheckController.php @@ -44,7 +44,8 @@ class LoginCheckController extends WebController } $access = Customer::getAccess(); - $query = Customer::getQuery()->where(Customer::FIELD_EMAIL, $param->email); + $query = Customer::getQuery()->where(Customer::FIELD_EMAIL, $param->email) + ->whereIn(Customer::FIELD_ALLOW_ACCESS_MY_PAGE, ["許可"]); $customers = $access->all($query); diff --git a/app/Http/Controllers/Web/Auth/LoginController.php b/app/Http/Controllers/Web/Auth/LoginController.php index 7527107..4efbb2c 100644 --- a/app/Http/Controllers/Web/Auth/LoginController.php +++ b/app/Http/Controllers/Web/Auth/LoginController.php @@ -36,7 +36,8 @@ class LoginController extends WebController $access = Customer::getAccess(); $query = Customer::getQuery()->where(Customer::FIELD_EMAIL, $param->email) - ->where(Customer::FIELD_CUSTOMER_CODE, $param->customerCode); + ->where(Customer::FIELD_CUSTOMER_CODE, $param->customerCode) + ->whereIn(Customer::FIELD_ALLOW_ACCESS_MY_PAGE, ["許可"]); $customer = $access->some($query); diff --git a/app/Http/Controllers/Web/Auth/PasswordSettingStartController.php b/app/Http/Controllers/Web/Auth/PasswordSettingStartController.php index f31f9a5..dbe6f1c 100644 --- a/app/Http/Controllers/Web/Auth/PasswordSettingStartController.php +++ b/app/Http/Controllers/Web/Auth/PasswordSettingStartController.php @@ -34,7 +34,8 @@ class PasswordSettingStartController extends WebController $param = $this->param; $access = Customer::getAccess(); - $query = Customer::getQuery()->where(Customer::FIELD_EMAIL, $param->email); + $query = Customer::getQuery()->where(Customer::FIELD_EMAIL, $param->email) + ->whereIn(Customer::FIELD_ALLOW_ACCESS_MY_PAGE, ["許可"]); $customers = $access->all($query); diff --git a/app/Kintone/Models/Customer.php b/app/Kintone/Models/Customer.php index e89ebb2..a9d8c54 100644 --- a/app/Kintone/Models/Customer.php +++ b/app/Kintone/Models/Customer.php @@ -3,6 +3,7 @@ namespace App\Kintone\Models; use App\Kintone\Repositories\SeasonTicketContractRepository; +use Illuminate\Support\Arr; use Illuminate\Support\Facades\Auth; /** @@ -11,12 +12,14 @@ use Illuminate\Support\Facades\Auth; * @property string customerName * @property string customerNameKana * @property string paymentMethod + * @property string[] allowPayByCreditcard * @property string email * @property string phoneNumber * @property string zipCode * @property string address * @property string bankBranchId * @property ?Carbon bankAccountRegisterRemaindDatetime + * @property string[] allowAccessMyPage * @property ?int icSeasonTicektUserId */ class Customer extends KintoneModel @@ -27,12 +30,14 @@ class Customer extends KintoneModel const FIELD_CUSTOMER_NAME = "CustomerName"; const FIELD_CUSTOMER_NAME_KANA = "顧客名カナ"; const FIELD_PAYMENT_METHOD = "支払方法"; + const FIELD_ALLOW_PAY_BY_CREDITCARD = "クレジットカード支払許可"; const FIELD_EMAIL = "メールアドレス"; const FIELD_PHONE_NUMBER = "電話番号"; const FIELD_ZIP_CODE = "契約者_郵便番号"; const FIELD_ADDRESS = "住所"; const FIELD_BANK_BRANCH_ID = "ChargedBankBranchCode"; const FIELD_BANK_ACCOUNT_REGISTER_REMAIND_DATETIME = "口座登録催促予定日時"; + const FIELD_ALLOW_ACCESS_MY_PAGE = "MyPageアクセス許可"; const FIELD_IC_SEASON_TICEKT_USER_ID = "IC定期関連情報_ユーザーID"; protected const FIELDS = [ @@ -41,12 +46,14 @@ class Customer extends KintoneModel self::FIELD_CUSTOMER_NAME => FieldType::SINGLE_LINE_TEXT, self::FIELD_CUSTOMER_NAME_KANA => FieldType::SINGLE_LINE_TEXT, self::FIELD_PAYMENT_METHOD => FieldType::SINGLE_LINE_TEXT, + self::FIELD_ALLOW_PAY_BY_CREDITCARD => FieldType::CHECK_BOX, self::FIELD_EMAIL => FieldType::LINK, self::FIELD_PHONE_NUMBER => FieldType::LINK, self::FIELD_ZIP_CODE => FieldType::SINGLE_LINE_TEXT, self::FIELD_ADDRESS => FieldType::SINGLE_LINE_TEXT, self::FIELD_BANK_BRANCH_ID => FieldType::SINGLE_LINE_TEXT, self::FIELD_BANK_ACCOUNT_REGISTER_REMAIND_DATETIME => FieldType::DATETIME, + self::FIELD_ALLOW_ACCESS_MY_PAGE => FieldType::CHECK_BOX, self::FIELD_IC_SEASON_TICEKT_USER_ID => FieldType::NUMBER, ]; @@ -106,9 +113,29 @@ class Customer extends KintoneModel return $this->canPayByCreditcard; } + // マイページアクセス許可 + public function allowAccessMyPage(): bool + { + $target = $this->allowAccessMyPage; + if (is_array($target) && Arr::has($this->allowAccessMyPage, "許可")) { + return true; + } + return false; + } + + // クレジットカード支払許可 + public function allowPayByCreditcard(): bool + { + $target = $this->allowPayByCreditcard; + if (is_array($target) && Arr::has($this->allowPayByCreditcard, "許可")) { + return true; + } + return false; + } + // クレジットカード登録申請可否 public function canApplyToChangePaymentMethodCreditcard() { - return $this->paymentMethod !== "クレジット" && $this->canPayByCreditcard(); + return $this->allowPayByCreditcard() && $this->paymentMethod !== "クレジット" && $this->canPayByCreditcard(); } }