- 전체 테넌트 보기 토글 추가 (바로빌본사용) - 테이블에 테넌트 컬럼 표시 (전체 모드에서) - 회원사 등록 시 테넌트 선택 기능 추가 - 통계 API에도 전체 테넌트 모드 적용 - 컨트롤러에서 tenant_id 직접 지정 지원 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
117 lines
3.2 KiB
PHP
117 lines
3.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Barobill;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Tenants\Tenant;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Response;
|
|
use Illuminate\View\View;
|
|
|
|
/**
|
|
* 바로빌 컨트롤러
|
|
*/
|
|
class BarobillController extends Controller
|
|
{
|
|
/**
|
|
* 바로빌 설정 페이지
|
|
* HTMX 요청 시 전체 페이지 리로드 (스크립트 로딩을 위해)
|
|
*/
|
|
public function config(Request $request): View|Response
|
|
{
|
|
if ($request->header('HX-Request')) {
|
|
return response('', 200)->header('HX-Redirect', route('barobill.config.index'));
|
|
}
|
|
|
|
return view('barobill.config.index');
|
|
}
|
|
|
|
/**
|
|
* 회원사관리 페이지
|
|
* HTMX 요청 시 전체 페이지 리로드 (스크립트 로딩을 위해)
|
|
*/
|
|
public function members(Request $request): View|Response
|
|
{
|
|
if ($request->header('HX-Request')) {
|
|
return response('', 200)->header('HX-Redirect', route('barobill.members.index'));
|
|
}
|
|
|
|
// 테넌트 목록 (전체 테넌트 모드에서 선택용)
|
|
$tenants = Tenant::select('id', 'company_name')->orderBy('company_name')->get();
|
|
|
|
return view('barobill.members.index', compact('tenants'));
|
|
}
|
|
|
|
/**
|
|
* 바로빌 설정 페이지 (이메일 주소 및 기타 자료 수정/동기화)
|
|
*/
|
|
public function settings(Request $request): View|Response
|
|
{
|
|
if ($request->header('HX-Request')) {
|
|
return response('', 200)->header('HX-Redirect', route('barobill.settings.index'));
|
|
}
|
|
|
|
return view('barobill.settings.index');
|
|
}
|
|
|
|
/**
|
|
* 전자세금계산서 페이지
|
|
*/
|
|
public function taxInvoice(Request $request): View|Response
|
|
{
|
|
if ($request->header('HX-Request')) {
|
|
return response('', 200)->header('HX-Redirect', route('barobill.tax-invoice.index'));
|
|
}
|
|
|
|
return view('barobill.tax-invoice.index');
|
|
}
|
|
|
|
/**
|
|
* 계좌조회 페이지
|
|
*/
|
|
public function bankAccount(Request $request): View|Response
|
|
{
|
|
if ($request->header('HX-Request')) {
|
|
return response('', 200)->header('HX-Redirect', route('barobill.bank-account.index'));
|
|
}
|
|
|
|
return view('barobill.bank-account.index');
|
|
}
|
|
|
|
/**
|
|
* 카드사용내역 페이지
|
|
*/
|
|
public function cardUsage(Request $request): View|Response
|
|
{
|
|
if ($request->header('HX-Request')) {
|
|
return response('', 200)->header('HX-Redirect', route('barobill.card-usage.index'));
|
|
}
|
|
|
|
return view('barobill.card-usage.index');
|
|
}
|
|
|
|
/**
|
|
* 홈텍스매입/매출 페이지
|
|
*/
|
|
public function hometax(Request $request): View|Response
|
|
{
|
|
if ($request->header('HX-Request')) {
|
|
return response('', 200)->header('HX-Redirect', route('barobill.hometax.index'));
|
|
}
|
|
|
|
return view('barobill.hometax.index');
|
|
}
|
|
|
|
/**
|
|
* 사용량조회 페이지
|
|
*/
|
|
public function usage(Request $request): View|Response
|
|
{
|
|
if ($request->header('HX-Request')) {
|
|
return response('', 200)->header('HX-Redirect', route('barobill.usage.index'));
|
|
}
|
|
|
|
return view('barobill.usage.index');
|
|
}
|
|
}
|