new companies Module now with full spoort migrated
This commit is contained in:
@@ -2,78 +2,40 @@
|
|||||||
|
|
||||||
namespace Modules\Company\Http\Controllers;
|
namespace Modules\Company\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Contracts\Support\Renderable;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Routing\Controller;
|
use Illuminate\Support\Str;
|
||||||
|
use Modules\Company\Models\Company;
|
||||||
|
|
||||||
class CompanyController extends Controller
|
class CompanyController extends Controller
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Display a listing of the resource.
|
* Display companies.
|
||||||
* @return Renderable
|
|
||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
return view('company::index');
|
return view('company::index', [
|
||||||
|
'companies' => Company::withCount(['users', 'warehouses', 'licenseKeys'])->latest('id')->paginate(20),
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show the form for creating a new resource.
|
* Create a company tenant.
|
||||||
* @return Renderable
|
|
||||||
*/
|
|
||||||
public function create()
|
|
||||||
{
|
|
||||||
return view('company::create');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Store a newly created resource in storage.
|
|
||||||
* @param Request $request
|
|
||||||
* @return Renderable
|
|
||||||
*/
|
*/
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
//
|
$data = $request->validate([
|
||||||
}
|
'name' => ['required', 'string', 'max:255'],
|
||||||
|
'billing_email' => ['nullable', 'email', 'max:255'],
|
||||||
|
'status' => ['required', 'in:active,suspended'],
|
||||||
|
]);
|
||||||
|
|
||||||
/**
|
Company::create([
|
||||||
* Show the specified resource.
|
...$data,
|
||||||
* @param int $id
|
'slug' => Str::slug($data['name']),
|
||||||
* @return Renderable
|
'timezone' => 'Europe/London',
|
||||||
*/
|
]);
|
||||||
public function show($id)
|
|
||||||
{
|
|
||||||
return view('company::show');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
return back()->with('status', 'Company created.');
|
||||||
* Show the form for editing the specified resource.
|
|
||||||
* @param int $id
|
|
||||||
* @return Renderable
|
|
||||||
*/
|
|
||||||
public function edit($id)
|
|
||||||
{
|
|
||||||
return view('company::edit');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Update the specified resource in storage.
|
|
||||||
* @param Request $request
|
|
||||||
* @param int $id
|
|
||||||
* @return Renderable
|
|
||||||
*/
|
|
||||||
public function update(Request $request, $id)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the specified resource from storage.
|
|
||||||
* @param int $id
|
|
||||||
* @return Renderable
|
|
||||||
*/
|
|
||||||
public function destroy($id)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,19 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Modules\Platform\app\Models;
|
namespace Modules\Company\Models;
|
||||||
|
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
|
use Modules\Platform\app\Models\LicenseKey;
|
||||||
|
use Modules\Platform\app\Models\Payment;
|
||||||
use Modules\Warehouse\app\Models\Warehouse;
|
use Modules\Warehouse\app\Models\Warehouse;
|
||||||
|
|
||||||
class Company extends Model
|
class Company extends Model
|
||||||
{
|
{
|
||||||
use HasFactory, SoftDeletes;
|
use SoftDeletes;
|
||||||
|
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'uuid', 'name', 'slug', 'status', 'timezone', 'settings',
|
'uuid', 'name', 'slug', 'status', 'timezone', 'settings',
|
||||||
@@ -1,9 +1,49 @@
|
|||||||
@extends('company::layouts.master')
|
<x-layouts::app :title="__('Companies')">
|
||||||
|
<div class="space-y-6">
|
||||||
@section('content')
|
<x-wms.page-hero eyebrow="Platform Administration" title="Companies"
|
||||||
<h1>Hello World</h1>
|
description="Manage tenant companies and keep every company’s users, warehouses and records isolated."
|
||||||
|
icon="fa-solid fa-building" />
|
||||||
<p>
|
<div class="rounded-3xl bg-white p-6 shadow-sm ring-1 ring-zinc-200 dark:bg-zinc-900 dark:ring-zinc-800">
|
||||||
This view is loaded from module: {!! config('company.name') !!}
|
<h2 class="text-lg font-bold text-zinc-900 dark:text-white">Create company</h2>
|
||||||
</p>
|
<form method="POST" action="{{ route('platform.companies.store') }}" class="mt-5 grid gap-4 md:grid-cols-4">
|
||||||
@endsection
|
@csrf
|
||||||
|
<input name="name" placeholder="Company name"
|
||||||
|
class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950" required>
|
||||||
|
<input name="billing_email" placeholder="billing@example.com"
|
||||||
|
class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
|
||||||
|
<select name="status" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
|
||||||
|
<option value="active">Active</option>
|
||||||
|
<option value="suspended">Suspended</option>
|
||||||
|
</select>
|
||||||
|
<button
|
||||||
|
class="rounded-xl bg-zinc-900 px-4 py-2 font-semibold text-white dark:bg-white dark:text-zinc-900">Create</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="overflow-x-auto rounded-2xl bg-white shadow-sm ring-1 ring-zinc-200 dark:bg-zinc-900 dark:ring-zinc-800">
|
||||||
|
<table class="min-w-full text-sm">
|
||||||
|
<thead>
|
||||||
|
<tr class="border-b">
|
||||||
|
<th class="p-4 text-left">Name</th>
|
||||||
|
<th class="p-4 text-left">Users</th>
|
||||||
|
<th class="p-4 text-left">Warehouses</th>
|
||||||
|
<th class="p-4 text-left">Licences</th>
|
||||||
|
<th class="p-4 text-left">Status</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach ($companies as $company)
|
||||||
|
<tr class="border-b border-zinc-100 dark:border-zinc-800">
|
||||||
|
<td class="p-4 font-semibold">{{ $company->name }}</td>
|
||||||
|
<td class="p-4">{{ $company->users_count }}</td>
|
||||||
|
<td class="p-4">{{ $company->warehouses_count }}</td>
|
||||||
|
<td class="p-4">{{ $company->license_keys_count }}</td>
|
||||||
|
<td class="p-4">{{ $company->is_system_company ? 'System' : $company->status }}</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
{{ $companies->links() }}
|
||||||
|
</div>
|
||||||
|
</x-layouts::app>
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<title>Module Company</title>
|
|
||||||
|
|
||||||
{{-- Laravel Mix - CSS File --}}
|
|
||||||
{{-- <link rel="stylesheet" href="{{ mix('css/company.css') }}"> --}}
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
@yield('content')
|
|
||||||
|
|
||||||
{{-- Laravel Mix - JS File --}}
|
|
||||||
{{-- <script src="{{ mix('js/company.js') }}"></script> --}}
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -11,6 +11,12 @@
|
|||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Route::prefix('company')->group(function() {
|
use Modules\Company\Http\Controllers\CompanyController;
|
||||||
Route::get('/', 'CompanyController@index');
|
|
||||||
});
|
Route::middleware(['auth', 'verified', 'tenant.assigned', 'platform.admin'])
|
||||||
|
->prefix('admin')
|
||||||
|
->name('platform.')
|
||||||
|
->group(function (): void {
|
||||||
|
Route::get('/companies', [CompanyController::class, 'index'])->name('companies.index');
|
||||||
|
Route::post('/companies', [CompanyController::class, 'store'])->name('companies.store');
|
||||||
|
});
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Modules\Helpdesk\Database\factories;
|
namespace Modules\Helpdesk\Database\factories;
|
||||||
|
|
||||||
use App\Models\Company;
|
use Modules\Company\Models\Company
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|||||||
@@ -4,17 +4,15 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Modules\Helpdesk\Models;
|
namespace Modules\Helpdesk\Models;
|
||||||
|
|
||||||
use App\Models\Company;
|
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||||
|
use Modules\Company\Models\Company;
|
||||||
|
|
||||||
final class Category extends Model
|
final class Category extends Model
|
||||||
{
|
{
|
||||||
use HasFactory;
|
|
||||||
|
|
||||||
protected $table = 'helpdesk_categories';
|
protected $table = 'helpdesk_categories';
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Modules\Helpdesk\Models;
|
namespace Modules\Helpdesk\Models;
|
||||||
|
|
||||||
use App\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||||
@@ -13,7 +12,6 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
|||||||
|
|
||||||
final class Project extends Model
|
final class Project extends Model
|
||||||
{
|
{
|
||||||
use HasFactory;
|
|
||||||
use SoftDeletes;
|
use SoftDeletes;
|
||||||
|
|
||||||
protected $table = 'helpdesk_projects';
|
protected $table = 'helpdesk_projects';
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Modules\Helpdesk\Models;
|
namespace Modules\Helpdesk\Models;
|
||||||
|
|
||||||
use App\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Modules\Helpdesk\Tests\Feature;
|
namespace Modules\Helpdesk\Tests\Feature;
|
||||||
|
|
||||||
use App\Models\Company;
|
use Modules\Company\Models\Company
|
||||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||||
use Illuminate\Http\UploadedFile;
|
use Illuminate\Http\UploadedFile;
|
||||||
use Illuminate\Support\Facades\Mail;
|
use Illuminate\Support\Facades\Mail;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
namespace Modules\InternalApi\app\Http\Controllers;
|
namespace Modules\InternalApi\app\Http\Controllers;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Modules\Platform\app\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
|
|
||||||
class CompanySummaryController extends Controller
|
class CompanySummaryController extends Controller
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,41 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Modules\Platform\app\Http\Controllers;
|
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
use Illuminate\Support\Str;
|
|
||||||
use Modules\Platform\app\Models\Company;
|
|
||||||
|
|
||||||
class CompanyController extends Controller
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Display companies.
|
|
||||||
*/
|
|
||||||
public function index()
|
|
||||||
{
|
|
||||||
return view('platform::companies.index', [
|
|
||||||
'companies' => Company::withCount(['users', 'warehouses', 'licenseKeys'])->latest('id')->paginate(20),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a company tenant.
|
|
||||||
*/
|
|
||||||
public function store(Request $request)
|
|
||||||
{
|
|
||||||
$data = $request->validate([
|
|
||||||
'name' => ['required', 'string', 'max:255'],
|
|
||||||
'billing_email' => ['nullable', 'email', 'max:255'],
|
|
||||||
'status' => ['required', 'in:active,suspended'],
|
|
||||||
]);
|
|
||||||
|
|
||||||
Company::create([
|
|
||||||
...$data,
|
|
||||||
'slug' => Str::slug($data['name']),
|
|
||||||
'timezone' => 'Europe/London',
|
|
||||||
]);
|
|
||||||
|
|
||||||
return back()->with('status', 'Company created.');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -4,7 +4,7 @@ namespace Modules\Platform\app\Http\Controllers;
|
|||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Modules\Platform\app\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
use Modules\Platform\app\Models\LicenseKey;
|
use Modules\Platform\app\Models\LicenseKey;
|
||||||
|
|
||||||
class LicenseKeyController extends Controller
|
class LicenseKeyController extends Controller
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ namespace Modules\Platform\app\Http\Controllers;
|
|||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Modules\Platform\app\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
use Modules\Platform\app\Models\Payment;
|
use Modules\Platform\app\Models\Payment;
|
||||||
|
|
||||||
class PaymentController extends Controller
|
class PaymentController extends Controller
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ namespace Modules\Platform\app\Http\Controllers;
|
|||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Contracts\View\View;
|
use Illuminate\Contracts\View\View;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
use Modules\Platform\app\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
use Modules\Platform\app\Models\LicenseKey;
|
use Modules\Platform\app\Models\LicenseKey;
|
||||||
use Modules\Platform\app\Models\Payment;
|
use Modules\Platform\app\Models\Payment;
|
||||||
use Modules\Platform\app\Models\PlatformPrice;
|
use Modules\Platform\app\Models\PlatformPrice;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ namespace Modules\Platform\app\Http\Controllers;
|
|||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Modules\Platform\app\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
use Modules\Platform\app\Models\Payment;
|
use Modules\Platform\app\Models\Payment;
|
||||||
|
|
||||||
class StripeWebhookController extends Controller
|
class StripeWebhookController extends Controller
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ namespace Modules\Platform\app\Models;
|
|||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
|
use Modules\Company\Models\Company;
|
||||||
|
|
||||||
class LicenseKey extends Model
|
class LicenseKey extends Model
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ namespace Modules\Platform\app\Models;
|
|||||||
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
|
use Modules\Company\Models\Company;
|
||||||
|
|
||||||
class Payment extends Model
|
class Payment extends Model
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use App\Models\User;
|
|||||||
use Illuminate\Database\Seeder;
|
use Illuminate\Database\Seeder;
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use Modules\Platform\app\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
use Modules\Warehouse\app\Models\Warehouse;
|
use Modules\Warehouse\app\Models\Warehouse;
|
||||||
use Modules\Warehouse\app\Models\WarehouseValidationRule;
|
use Modules\Warehouse\app\Models\WarehouseValidationRule;
|
||||||
use Spatie\Permission\Models\Role;
|
use Spatie\Permission\Models\Role;
|
||||||
|
|||||||
@@ -1,49 +0,0 @@
|
|||||||
<x-layouts::app :title="__('Companies')">
|
|
||||||
<div class="space-y-6">
|
|
||||||
<x-wms.page-hero eyebrow="Platform Administration" title="Companies"
|
|
||||||
description="Manage tenant companies and keep every company’s users, warehouses and records isolated."
|
|
||||||
icon="fa-solid fa-building" />
|
|
||||||
<div class="rounded-3xl bg-white p-6 shadow-sm ring-1 ring-zinc-200 dark:bg-zinc-900 dark:ring-zinc-800">
|
|
||||||
<h2 class="text-lg font-bold text-zinc-900 dark:text-white">Create company</h2>
|
|
||||||
<form method="POST" action="{{ route('platform.companies.store') }}" class="mt-5 grid gap-4 md:grid-cols-4">
|
|
||||||
@csrf
|
|
||||||
<input name="name" placeholder="Company name"
|
|
||||||
class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950" required>
|
|
||||||
<input name="billing_email" placeholder="billing@example.com"
|
|
||||||
class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
|
|
||||||
<select name="status" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
|
|
||||||
<option value="active">Active</option>
|
|
||||||
<option value="suspended">Suspended</option>
|
|
||||||
</select>
|
|
||||||
<button
|
|
||||||
class="rounded-xl bg-zinc-900 px-4 py-2 font-semibold text-white dark:bg-white dark:text-zinc-900">Create</button>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="overflow-x-auto rounded-2xl bg-white shadow-sm ring-1 ring-zinc-200 dark:bg-zinc-900 dark:ring-zinc-800">
|
|
||||||
<table class="min-w-full text-sm">
|
|
||||||
<thead>
|
|
||||||
<tr class="border-b">
|
|
||||||
<th class="p-4 text-left">Name</th>
|
|
||||||
<th class="p-4 text-left">Users</th>
|
|
||||||
<th class="p-4 text-left">Warehouses</th>
|
|
||||||
<th class="p-4 text-left">Licences</th>
|
|
||||||
<th class="p-4 text-left">Status</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
@foreach ($companies as $company)
|
|
||||||
<tr class="border-b border-zinc-100 dark:border-zinc-800">
|
|
||||||
<td class="p-4 font-semibold">{{ $company->name }}</td>
|
|
||||||
<td class="p-4">{{ $company->users_count }}</td>
|
|
||||||
<td class="p-4">{{ $company->warehouses_count }}</td>
|
|
||||||
<td class="p-4">{{ $company->license_keys_count }}</td>
|
|
||||||
<td class="p-4">{{ $company->is_system_company ? 'System' : $company->status }}</td>
|
|
||||||
</tr>
|
|
||||||
@endforeach
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
{{ $companies->links() }}
|
|
||||||
</div>
|
|
||||||
</x-layouts::app>
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
use Modules\Platform\app\Http\Controllers\CompanyController;
|
use Modules\Company\Http\Controllers\CompanyController;
|
||||||
use Modules\Platform\app\Http\Controllers\LicenseKeyController;
|
use Modules\Platform\app\Http\Controllers\LicenseKeyController;
|
||||||
use Modules\Platform\app\Http\Controllers\PaymentController;
|
use Modules\Platform\app\Http\Controllers\PaymentController;
|
||||||
use Modules\Platform\app\Http\Controllers\PlatformDashboardController;
|
use Modules\Platform\app\Http\Controllers\PlatformDashboardController;
|
||||||
@@ -20,8 +20,6 @@ Route::middleware(['auth', 'verified', 'tenant.assigned', 'platform.admin'])
|
|||||||
->name('platform.')
|
->name('platform.')
|
||||||
->group(function (): void {
|
->group(function (): void {
|
||||||
Route::get('/', PlatformDashboardController::class)->name('dashboard');
|
Route::get('/', PlatformDashboardController::class)->name('dashboard');
|
||||||
Route::get('/companies', [CompanyController::class, 'index'])->name('companies.index');
|
|
||||||
Route::post('/companies', [CompanyController::class, 'store'])->name('companies.store');
|
|
||||||
Route::get('/licenses', [LicenseKeyController::class, 'index'])->name('licenses.index');
|
Route::get('/licenses', [LicenseKeyController::class, 'index'])->name('licenses.index');
|
||||||
Route::post('/licenses', [LicenseKeyController::class, 'store'])->name('licenses.store');
|
Route::post('/licenses', [LicenseKeyController::class, 'store'])->name('licenses.store');
|
||||||
Route::get('/payments', [PaymentController::class, 'index'])->name('payments.index');
|
Route::get('/payments', [PaymentController::class, 'index'])->name('payments.index');
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
namespace Modules\Platform\tests\Feature;
|
namespace Modules\Platform\tests\Feature;
|
||||||
|
|
||||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||||
use Modules\Platform\app\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
use Modules\Platform\app\Models\LicenseKey;
|
use Modules\Platform\app\Models\LicenseKey;
|
||||||
use Tests\TestCase;
|
use Tests\TestCase;
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ namespace Modules\Platform\tests\Feature;
|
|||||||
|
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||||
use Modules\Platform\app\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
use Tests\TestCase;
|
use Tests\TestCase;
|
||||||
|
|
||||||
class PlatformAccessTest extends TestCase
|
class PlatformAccessTest extends TestCase
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use Illuminate\Database\Eloquent\Model;
|
|||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use Modules\Platform\app\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
|
|
||||||
class Warehouse extends Model
|
class Warehouse extends Model
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ namespace Modules\Warehouse\tests\Feature;
|
|||||||
|
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||||
use Modules\Platform\app\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
use Modules\Platform\app\Models\LicenseKey;
|
use Modules\Platform\app\Models\LicenseKey;
|
||||||
use Modules\Warehouse\app\Models\Warehouse;
|
use Modules\Warehouse\app\Models\Warehouse;
|
||||||
use Tests\TestCase;
|
use Tests\TestCase;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ use Illuminate\Support\Facades\DB;
|
|||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use Laravel\Fortify\Contracts\CreatesNewUsers;
|
use Laravel\Fortify\Contracts\CreatesNewUsers;
|
||||||
use Modules\Platform\app\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
|
|
||||||
class CreateNewUser implements CreatesNewUsers
|
class CreateNewUser implements CreatesNewUsers
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
class Company extends \Modules\Platform\app\Models\Company {}
|
|
||||||
@@ -11,6 +11,7 @@ use Illuminate\Support\Str;
|
|||||||
use Laravel\Fortify\Contracts\PasskeyUser;
|
use Laravel\Fortify\Contracts\PasskeyUser;
|
||||||
use Laravel\Fortify\PasskeyAuthenticatable;
|
use Laravel\Fortify\PasskeyAuthenticatable;
|
||||||
use Laravel\Fortify\TwoFactorAuthenticatable;
|
use Laravel\Fortify\TwoFactorAuthenticatable;
|
||||||
|
use Modules\Company\Models\Company;
|
||||||
use Spatie\Permission\Traits\HasRoles;
|
use Spatie\Permission\Traits\HasRoles;
|
||||||
|
|
||||||
class User extends Authenticatable implements PasskeyUser
|
class User extends Authenticatable implements PasskeyUser
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use App\Models\User;
|
|||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use Modules\Platform\app\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
use Modules\Platform\app\Models\LicenseKey;
|
use Modules\Platform\app\Models\LicenseKey;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ namespace Tests\Browser\Concerns;
|
|||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
use Modules\Platform\app\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
use Modules\Platform\app\Models\LicenseKey;
|
use Modules\Platform\app\Models\LicenseKey;
|
||||||
use Modules\Platform\app\Models\Payment;
|
use Modules\Platform\app\Models\Payment;
|
||||||
use Modules\Platform\app\Models\PlatformPrice;
|
use Modules\Platform\app\Models\PlatformPrice;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ namespace Tests\Feature\InternalApi;
|
|||||||
|
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||||
use Modules\Platform\app\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
use Modules\Platform\app\Models\LicenseKey;
|
use Modules\Platform\app\Models\LicenseKey;
|
||||||
use Modules\Warehouse\app\Models\Warehouse;
|
use Modules\Warehouse\app\Models\Warehouse;
|
||||||
use Tests\TestCase;
|
use Tests\TestCase;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ namespace Tests\Feature\Platform;
|
|||||||
|
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||||
use Modules\Platform\app\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
use Modules\Platform\app\Models\LicenseKey;
|
use Modules\Platform\app\Models\LicenseKey;
|
||||||
use Modules\Platform\app\Models\Payment;
|
use Modules\Platform\app\Models\Payment;
|
||||||
use Modules\Platform\app\Models\PlatformPrice;
|
use Modules\Platform\app\Models\PlatformPrice;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ namespace Tests\Feature\Warehouse;
|
|||||||
|
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||||
use Modules\Platform\app\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
use Modules\Platform\app\Models\LicenseKey;
|
use Modules\Platform\app\Models\LicenseKey;
|
||||||
use Modules\Warehouse\app\Models\Warehouse;
|
use Modules\Warehouse\app\Models\Warehouse;
|
||||||
use Modules\Warehouse\app\Models\WarehouseValidationRule;
|
use Modules\Warehouse\app\Models\WarehouseValidationRule;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ namespace Tests\Unit\Models;
|
|||||||
|
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||||
use Modules\Platform\app\Models\Company;
|
use Modules\Company\Models\Company;
|
||||||
use Modules\Platform\app\Models\LicenseKey;
|
use Modules\Platform\app\Models\LicenseKey;
|
||||||
use Modules\Platform\app\Models\Payment;
|
use Modules\Platform\app\Models\Payment;
|
||||||
use Modules\Platform\app\Models\PlatformPrice;
|
use Modules\Platform\app\Models\PlatformPrice;
|
||||||
|
|||||||
Reference in New Issue
Block a user