Browse Source

MyPageアクセス制限対応

master
sosuke.iwabuchi 1 year ago
parent
commit
2bbb1acd32
4 changed files with 34 additions and 4 deletions
  1. +2
    -1
      app/Http/Controllers/Web/Auth/LoginCheckController.php
  2. +2
    -1
      app/Http/Controllers/Web/Auth/LoginController.php
  3. +2
    -1
      app/Http/Controllers/Web/Auth/PasswordSettingStartController.php
  4. +28
    -1
      app/Kintone/Models/Customer.php

+ 2
- 1
app/Http/Controllers/Web/Auth/LoginCheckController.php View File

@@ -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);



+ 2
- 1
app/Http/Controllers/Web/Auth/LoginController.php View File

@@ -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);



+ 2
- 1
app/Http/Controllers/Web/Auth/PasswordSettingStartController.php View File

@@ -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);



+ 28
- 1
app/Kintone/Models/Customer.php View File

@@ -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();
}
}

Loading…
Cancel
Save