design updated
This commit is contained in:
parent
3e8aa1035a
commit
2adeb403cf
@ -6,22 +6,42 @@
|
||||
|
||||
use App\Models\Deal\Deal;
|
||||
use App\Models\Agent\Agent;
|
||||
use App\Models\Company\CompanyAdmin;
|
||||
|
||||
use App\Models\City;
|
||||
|
||||
class ClientsTableController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
return view(
|
||||
'clients.table',
|
||||
[
|
||||
'status' => $request->status,
|
||||
'cities' => City::all()
|
||||
]
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
public function getAllDealsInCompany(Request $request)
|
||||
{
|
||||
$user = auth()->user();
|
||||
if (!$agent = Agent::where('user_id', $user->id)->first())
|
||||
if (!$admin = CompanyAdmin::where('user_id', $user->id)->first())
|
||||
{
|
||||
abort(401);
|
||||
}
|
||||
$deals = Deal::whereIn('agent_id', function ($query) use ($admin)
|
||||
{
|
||||
$query->select('id');
|
||||
$query->from('agents');
|
||||
$query->where('company_id', $admin->company_id);
|
||||
})->get();
|
||||
|
||||
return view(
|
||||
'clients.table',
|
||||
[
|
||||
'deals' => $agent->deals,
|
||||
'deals' => $deals,
|
||||
'status' => $request->status,
|
||||
'cities' => City::all()
|
||||
]
|
||||
|
||||
@ -2,11 +2,12 @@
|
||||
|
||||
namespace App\Http\Controllers\Company;
|
||||
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Company\Company;
|
||||
|
||||
|
||||
use App\Models\Company\CompanyType;
|
||||
use App\Models\Bitrix\SendCompany;
|
||||
class CreateCompanyController extends Controller
|
||||
{
|
||||
@ -15,10 +16,20 @@ class CreateCompanyController extends Controller
|
||||
*/
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
|
||||
$request->enum('type', CompanyType::class);
|
||||
$validated = $request->validate([
|
||||
'name' => 'required|max:255',
|
||||
'email' => 'required|email|unique:companies',
|
||||
'phone' => 'required',
|
||||
'inn' => 'required|unique:companies',
|
||||
'legal_address' => 'required',
|
||||
'type' => Rule::enum(CompanyType::class)
|
||||
]);
|
||||
|
||||
$request->request->add([
|
||||
'secret' => bin2hex(random_bytes(16)),
|
||||
'status' => 'new',
|
||||
'type' => 'AGENCY'
|
||||
'status' => 'new'
|
||||
]);
|
||||
$data = $request->only('name', 'email', 'inn', 'legal_address', 'secret', 'status', 'type', 'phone');
|
||||
$company = Company::create($data);
|
||||
|
||||
28
app/Http/Controllers/Company/CreateCompanyFormController.php
Normal file
28
app/Http/Controllers/Company/CreateCompanyFormController.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Company;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Company\Company;
|
||||
use App\Models\Company\CompanyType;
|
||||
|
||||
class CreateCompanyFormController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle the incoming request.
|
||||
*/
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
$type = false;
|
||||
if ($request->has('type'))
|
||||
{
|
||||
$request->enum('type', CompanyType::class);
|
||||
$type = $request->type;
|
||||
}
|
||||
return view('company.create', [
|
||||
'type' => $type,
|
||||
'typesList' => CompanyType::cases()
|
||||
]);
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,7 @@
|
||||
use App\Models\Company\Company;
|
||||
use App\Models\Company\Details;
|
||||
use App\Models\Company\CompanyAdmin;
|
||||
use App\Models\Company\CompanyType;
|
||||
|
||||
class DetailsController extends Controller
|
||||
{
|
||||
@ -29,7 +30,7 @@ public function index()
|
||||
|
||||
$details = new Details($company);
|
||||
$details = $details->details;
|
||||
if ($company->type == 'SELFEMP')
|
||||
if ($company->type == CompanyType::SelfEmployer || $company->type == CompanyType::SoleProperty)
|
||||
{
|
||||
return view('company.details.selfemp', [
|
||||
'company' => $company,
|
||||
@ -37,7 +38,7 @@ public function index()
|
||||
]);
|
||||
}
|
||||
;
|
||||
if ($company->type == 'AGENCY')
|
||||
if ($company->type == CompanyType::Agency)
|
||||
{
|
||||
return view('company.details.agency', [
|
||||
'company' => $company,
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
use Livewire\WithoutUrlPagination;
|
||||
|
||||
use App\Models\Agent\Agent;
|
||||
use App\Models\Company\CompanyAdmin;
|
||||
use App\Models\Deal\Deal;
|
||||
|
||||
class ClientsTable extends Component
|
||||
@ -19,20 +20,39 @@ public function mount($status = null)
|
||||
{
|
||||
$this->status = $status;
|
||||
}
|
||||
|
||||
public function getDeals()
|
||||
{
|
||||
$deals = false;
|
||||
$user = auth()->user();
|
||||
if ($agent = Agent::where('user_id', $user->id)->first())
|
||||
{
|
||||
$deals = Deal::where('agent_id', $agent->id);
|
||||
}
|
||||
elseif ($admin = CompanyAdmin::where('user_id', $user->id)->first())
|
||||
{
|
||||
$deals = Deal::whereIn('agent_id', function ($query) use ($admin)
|
||||
{
|
||||
$query->select('id');
|
||||
$query->from('agents');
|
||||
$query->where('company_id', $admin->company_id);
|
||||
});
|
||||
}
|
||||
return $deals;
|
||||
}
|
||||
public function render()
|
||||
{
|
||||
$user = auth()->user();
|
||||
$agent = Agent::where('user_id', $user->id)->first();
|
||||
$deals = [];
|
||||
$deals = $this->getDeals();
|
||||
if ($this->status && $this->status == 'UNIQUE')
|
||||
{
|
||||
$deals = Deal::where('agent_id', $agent->id)->where('status', $this->status)->paginate(8);
|
||||
$deals = $deals->where('status', $this->status)->paginate(8);
|
||||
}
|
||||
else
|
||||
{
|
||||
$deals = Deal::where('agent_id', $agent->id)->paginate(8);
|
||||
$deals = $deals->paginate(8);
|
||||
}
|
||||
;
|
||||
|
||||
return view(
|
||||
'livewire.clients-table',
|
||||
[
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Company extends Model
|
||||
{
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
const STATUS_NEW = 'new';
|
||||
@ -25,7 +25,8 @@ class Company extends Model
|
||||
'secret'
|
||||
];
|
||||
|
||||
protected $casts = [
|
||||
'details' => 'array'
|
||||
protected $casts = [
|
||||
'details' => 'array',
|
||||
'type' => CompanyType::class
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,11 +6,11 @@
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class CompanyAdmin extends Model
|
||||
{
|
||||
{
|
||||
use HasFactory;
|
||||
protected $fillable = [
|
||||
'user_id',
|
||||
'company_id'
|
||||
];
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
8
app/Models/Company/CompanyType.php
Normal file
8
app/Models/Company/CompanyType.php
Normal file
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
namespace App\Models\Company;
|
||||
enum CompanyType: string
|
||||
{
|
||||
case Agency = "AGENCY";
|
||||
case SelfEmployer = "SELFEMP";
|
||||
case SoleProperty = "SOLEPROP";
|
||||
}
|
||||
@ -15,13 +15,19 @@ public function __construct(Company $company)
|
||||
$company;
|
||||
if (!$company->details)
|
||||
{
|
||||
if ($company->type == 'SELFEMP')
|
||||
if ($company->type == CompanyType::SelfEmployer)
|
||||
{
|
||||
$company->details = $this->emptyForSelfEmp();
|
||||
$company->save();
|
||||
}
|
||||
;
|
||||
if ($company->type == 'AGENCY')
|
||||
if ($company->type == CompanyType::SoleProperty)
|
||||
{
|
||||
$company->details = $this->emptyForSelfEmp();
|
||||
$company->save();
|
||||
}
|
||||
;
|
||||
if ($company->type == CompanyType::Agency)
|
||||
{
|
||||
$company->details = $this->emptyForAgency();
|
||||
$company->save();
|
||||
|
||||
@ -16,14 +16,16 @@ class Deal extends Model
|
||||
'is_unique',
|
||||
'confirm_token'
|
||||
];
|
||||
|
||||
public function complex()
|
||||
{
|
||||
return $this->belongsTo(\App\Models\Complex::class);
|
||||
}
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo(\App\Models\User::class, 'client_id');
|
||||
}
|
||||
public function agent()
|
||||
{
|
||||
return $this->belongsTo(\App\Models\Agent\Agent::class, 'agent_id');
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,15 +5,16 @@
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('companies', function (Blueprint $table) {
|
||||
{
|
||||
Schema::create('companies', function (Blueprint $table)
|
||||
{
|
||||
$table->id();
|
||||
$table->enum('type',['AGENCY','SELFEMP','SOLEPROP'])->nullable(); /* AGENT - агент в компании, SELFEMP - самозанятый, SOLEPROP - инд. предприниматель */
|
||||
$table->enum('type', ['AGENCY', 'SELFEMP', 'SOLEPROP']); /* AGENT - агент в компании, SELFEMP - самозанятый, SOLEPROP - инд. предприниматель */
|
||||
$table->string('name');
|
||||
$table->string('inn');
|
||||
$table->string('full_name')->nullable();
|
||||
@ -22,14 +23,14 @@ public function up(): void
|
||||
$table->string('legal_address')->nullable();
|
||||
$table->json('details')->nullable();
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
{
|
||||
Schema::dropIfExists('companies');
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
12
lang/ru.json
12
lang/ru.json
@ -19,5 +19,15 @@
|
||||
"Please use your email as login and created password": "Пожалуйста, используйте для входа Вашу электронную почту в качестве логина и пароль, который был автоматически сгенерирован: :password",
|
||||
"Go to login": "Перейти к авторизации",
|
||||
"Your login": "Ваш логин: :login",
|
||||
"Your password": "Ваш пароль: :password"
|
||||
"Your password": "Ваш пароль: :password",
|
||||
"Agency": "Агентство",
|
||||
"SelfEmployer": "Самозанятый",
|
||||
"SoleProperty": "Индивидуальный предприниматель",
|
||||
"Agency name": "Название агентства",
|
||||
"Inn": "ИНН",
|
||||
"Legal address": "Юридический адрес",
|
||||
"Phone": "Номер телефона",
|
||||
"Email": "Электронная почта",
|
||||
"SelfEmployer name": "ФИО полностью",
|
||||
"SoleProperty name": "ФИО полностью"
|
||||
}
|
||||
20
lang/ru/auth.php
Normal file
20
lang/ru/auth.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Authentication Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used during authentication for various
|
||||
| messages that we need to display to the user. You are free to modify
|
||||
| these language lines according to your application's requirements.
|
||||
|
|
||||
*/
|
||||
|
||||
'failed' => 'These credentials do not match our records.',
|
||||
'password' => 'The provided password is incorrect.',
|
||||
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
|
||||
|
||||
];
|
||||
19
lang/ru/pagination.php
Normal file
19
lang/ru/pagination.php
Normal file
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Pagination Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used by the paginator library to build
|
||||
| the simple pagination links. You are free to change them to anything
|
||||
| you want to customize your views to better match your application.
|
||||
|
|
||||
*/
|
||||
|
||||
'previous' => '« Previous',
|
||||
'next' => 'Next »',
|
||||
|
||||
];
|
||||
22
lang/ru/passwords.php
Normal file
22
lang/ru/passwords.php
Normal file
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Reset Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are the default lines which match reasons
|
||||
| that are given by the password broker for a password update attempt
|
||||
| has failed, such as for an invalid token or invalid new password.
|
||||
|
|
||||
*/
|
||||
|
||||
'reset' => 'Your password has been reset.',
|
||||
'sent' => 'We have emailed your password reset link.',
|
||||
'throttled' => 'Please wait before retrying.',
|
||||
'token' => 'This password reset token is invalid.',
|
||||
'user' => "We can't find a user with that email address.",
|
||||
|
||||
];
|
||||
191
lang/ru/validation.php
Normal file
191
lang/ru/validation.php
Normal file
@ -0,0 +1,191 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines contain the default error messages used by
|
||||
| the validator class. Some of these rules have multiple versions such
|
||||
| as the size rules. Feel free to tweak each of these messages here.
|
||||
|
|
||||
*/
|
||||
|
||||
'accepted' => 'The :attribute field must be accepted.',
|
||||
'accepted_if' => 'The :attribute field must be accepted when :other is :value.',
|
||||
'active_url' => 'The :attribute field must be a valid URL.',
|
||||
'after' => 'The :attribute field must be a date after :date.',
|
||||
'after_or_equal' => 'The :attribute field must be a date after or equal to :date.',
|
||||
'alpha' => 'The :attribute field must only contain letters.',
|
||||
'alpha_dash' => 'The :attribute field must only contain letters, numbers, dashes, and underscores.',
|
||||
'alpha_num' => 'The :attribute field must only contain letters and numbers.',
|
||||
'array' => 'The :attribute field must be an array.',
|
||||
'ascii' => 'The :attribute field must only contain single-byte alphanumeric characters and symbols.',
|
||||
'before' => 'The :attribute field must be a date before :date.',
|
||||
'before_or_equal' => 'The :attribute field must be a date before or equal to :date.',
|
||||
'between' => [
|
||||
'array' => 'The :attribute field must have between :min and :max items.',
|
||||
'file' => 'The :attribute field must be between :min and :max kilobytes.',
|
||||
'numeric' => 'The :attribute field must be between :min and :max.',
|
||||
'string' => 'The :attribute field must be between :min and :max characters.',
|
||||
],
|
||||
'boolean' => 'The :attribute field must be true or false.',
|
||||
'can' => 'The :attribute field contains an unauthorized value.',
|
||||
'confirmed' => 'The :attribute field confirmation does not match.',
|
||||
'current_password' => 'The password is incorrect.',
|
||||
'date' => 'The :attribute field must be a valid date.',
|
||||
'date_equals' => 'The :attribute field must be a date equal to :date.',
|
||||
'date_format' => 'The :attribute field must match the format :format.',
|
||||
'decimal' => 'The :attribute field must have :decimal decimal places.',
|
||||
'declined' => 'The :attribute field must be declined.',
|
||||
'declined_if' => 'The :attribute field must be declined when :other is :value.',
|
||||
'different' => 'The :attribute field and :other must be different.',
|
||||
'digits' => 'The :attribute field must be :digits digits.',
|
||||
'digits_between' => 'The :attribute field must be between :min and :max digits.',
|
||||
'dimensions' => 'The :attribute field has invalid image dimensions.',
|
||||
'distinct' => 'The :attribute field has a duplicate value.',
|
||||
'doesnt_end_with' => 'The :attribute field must not end with one of the following: :values.',
|
||||
'doesnt_start_with' => 'The :attribute field must not start with one of the following: :values.',
|
||||
'email' => 'The :attribute field must be a valid email address.',
|
||||
'ends_with' => 'The :attribute field must end with one of the following: :values.',
|
||||
'enum' => 'The selected :attribute is invalid.',
|
||||
'exists' => 'The selected :attribute is invalid.',
|
||||
'extensions' => 'The :attribute field must have one of the following extensions: :values.',
|
||||
'file' => 'The :attribute field must be a file.',
|
||||
'filled' => 'The :attribute field must have a value.',
|
||||
'gt' => [
|
||||
'array' => 'The :attribute field must have more than :value items.',
|
||||
'file' => 'The :attribute field must be greater than :value kilobytes.',
|
||||
'numeric' => 'The :attribute field must be greater than :value.',
|
||||
'string' => 'The :attribute field must be greater than :value characters.',
|
||||
],
|
||||
'gte' => [
|
||||
'array' => 'The :attribute field must have :value items or more.',
|
||||
'file' => 'The :attribute field must be greater than or equal to :value kilobytes.',
|
||||
'numeric' => 'The :attribute field must be greater than or equal to :value.',
|
||||
'string' => 'The :attribute field must be greater than or equal to :value characters.',
|
||||
],
|
||||
'hex_color' => 'The :attribute field must be a valid hexadecimal color.',
|
||||
'image' => 'The :attribute field must be an image.',
|
||||
'in' => 'The selected :attribute is invalid.',
|
||||
'in_array' => 'The :attribute field must exist in :other.',
|
||||
'integer' => 'The :attribute field must be an integer.',
|
||||
'ip' => 'The :attribute field must be a valid IP address.',
|
||||
'ipv4' => 'The :attribute field must be a valid IPv4 address.',
|
||||
'ipv6' => 'The :attribute field must be a valid IPv6 address.',
|
||||
'json' => 'The :attribute field must be a valid JSON string.',
|
||||
'lowercase' => 'The :attribute field must be lowercase.',
|
||||
'lt' => [
|
||||
'array' => 'The :attribute field must have less than :value items.',
|
||||
'file' => 'The :attribute field must be less than :value kilobytes.',
|
||||
'numeric' => 'The :attribute field must be less than :value.',
|
||||
'string' => 'The :attribute field must be less than :value characters.',
|
||||
],
|
||||
'lte' => [
|
||||
'array' => 'The :attribute field must not have more than :value items.',
|
||||
'file' => 'The :attribute field must be less than or equal to :value kilobytes.',
|
||||
'numeric' => 'The :attribute field must be less than or equal to :value.',
|
||||
'string' => 'The :attribute field must be less than or equal to :value characters.',
|
||||
],
|
||||
'mac_address' => 'The :attribute field must be a valid MAC address.',
|
||||
'max' => [
|
||||
'array' => 'The :attribute field must not have more than :max items.',
|
||||
'file' => 'The :attribute field must not be greater than :max kilobytes.',
|
||||
'numeric' => 'The :attribute field must not be greater than :max.',
|
||||
'string' => 'The :attribute field must not be greater than :max characters.',
|
||||
],
|
||||
'max_digits' => 'The :attribute field must not have more than :max digits.',
|
||||
'mimes' => 'The :attribute field must be a file of type: :values.',
|
||||
'mimetypes' => 'The :attribute field must be a file of type: :values.',
|
||||
'min' => [
|
||||
'array' => 'The :attribute field must have at least :min items.',
|
||||
'file' => 'The :attribute field must be at least :min kilobytes.',
|
||||
'numeric' => 'The :attribute field must be at least :min.',
|
||||
'string' => 'The :attribute field must be at least :min characters.',
|
||||
],
|
||||
'min_digits' => 'The :attribute field must have at least :min digits.',
|
||||
'missing' => 'The :attribute field must be missing.',
|
||||
'missing_if' => 'The :attribute field must be missing when :other is :value.',
|
||||
'missing_unless' => 'The :attribute field must be missing unless :other is :value.',
|
||||
'missing_with' => 'The :attribute field must be missing when :values is present.',
|
||||
'missing_with_all' => 'The :attribute field must be missing when :values are present.',
|
||||
'multiple_of' => 'The :attribute field must be a multiple of :value.',
|
||||
'not_in' => 'The selected :attribute is invalid.',
|
||||
'not_regex' => 'The :attribute field format is invalid.',
|
||||
'numeric' => 'The :attribute field must be a number.',
|
||||
'password' => [
|
||||
'letters' => 'The :attribute field must contain at least one letter.',
|
||||
'mixed' => 'The :attribute field must contain at least one uppercase and one lowercase letter.',
|
||||
'numbers' => 'The :attribute field must contain at least one number.',
|
||||
'symbols' => 'The :attribute field must contain at least one symbol.',
|
||||
'uncompromised' => 'The given :attribute has appeared in a data leak. Please choose a different :attribute.',
|
||||
],
|
||||
'present' => 'The :attribute field must be present.',
|
||||
'present_if' => 'The :attribute field must be present when :other is :value.',
|
||||
'present_unless' => 'The :attribute field must be present unless :other is :value.',
|
||||
'present_with' => 'The :attribute field must be present when :values is present.',
|
||||
'present_with_all' => 'The :attribute field must be present when :values are present.',
|
||||
'prohibited' => 'The :attribute field is prohibited.',
|
||||
'prohibited_if' => 'The :attribute field is prohibited when :other is :value.',
|
||||
'prohibited_unless' => 'The :attribute field is prohibited unless :other is in :values.',
|
||||
'prohibits' => 'The :attribute field prohibits :other from being present.',
|
||||
'regex' => 'The :attribute field format is invalid.',
|
||||
'required' => 'Поле обязательно для заполнения',
|
||||
'required_array_keys' => 'The :attribute field must contain entries for: :values.',
|
||||
'required_if' => 'The :attribute field is required when :other is :value.',
|
||||
'required_if_accepted' => 'The :attribute field is required when :other is accepted.',
|
||||
'required_unless' => 'The :attribute field is required unless :other is in :values.',
|
||||
'required_with' => 'The :attribute field is required when :values is present.',
|
||||
'required_with_all' => 'The :attribute field is required when :values are present.',
|
||||
'required_without' => 'The :attribute field is required when :values is not present.',
|
||||
'required_without_all' => 'The :attribute field is required when none of :values are present.',
|
||||
'same' => 'The :attribute field must match :other.',
|
||||
'size' => [
|
||||
'array' => 'The :attribute field must contain :size items.',
|
||||
'file' => 'The :attribute field must be :size kilobytes.',
|
||||
'numeric' => 'The :attribute field must be :size.',
|
||||
'string' => 'The :attribute field must be :size characters.',
|
||||
],
|
||||
'starts_with' => 'The :attribute field must start with one of the following: :values.',
|
||||
'string' => 'The :attribute field must be a string.',
|
||||
'timezone' => 'The :attribute field must be a valid timezone.',
|
||||
'unique' => 'Такая запись уже существует',
|
||||
'uploaded' => 'The :attribute failed to upload.',
|
||||
'uppercase' => 'The :attribute field must be uppercase.',
|
||||
'url' => 'The :attribute field must be a valid URL.',
|
||||
'ulid' => 'The :attribute field must be a valid ULID.',
|
||||
'uuid' => 'The :attribute field must be a valid UUID.',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify custom validation messages for attributes using the
|
||||
| convention "attribute.rule" to name the lines. This makes it quick to
|
||||
| specify a specific custom language line for a given attribute rule.
|
||||
|
|
||||
*/
|
||||
|
||||
'custom' => [
|
||||
'attribute-name' => [
|
||||
'rule-name' => 'custom-message',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Attributes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used to swap our attribute placeholder
|
||||
| with something more reader friendly such as "E-Mail Address" instead
|
||||
| of "email". This simply helps us make our message more expressive.
|
||||
|
|
||||
*/
|
||||
|
||||
'attributes' => [],
|
||||
|
||||
];
|
||||
@ -5,6 +5,11 @@ .bg-primary {
|
||||
border-color: #ce4711 !important;
|
||||
}
|
||||
|
||||
.btn-secondary,
|
||||
.btn-secondary:disabled {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background-color: #e6662a !important;
|
||||
color: white;
|
||||
|
||||
@ -3,10 +3,10 @@
|
||||
@section('content')
|
||||
<div class="">
|
||||
<div class="">
|
||||
<div class="card">
|
||||
<div class="card-header">Форма входа</div>
|
||||
<div class="">
|
||||
<div class="h2">Вход на сайт</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="mt-3">
|
||||
<form method="POST" action="{{ route('login') }}">
|
||||
@csrf
|
||||
|
||||
|
||||
@ -3,11 +3,11 @@
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
<div class="card-header">{{ __('Reset Password') }}</div>
|
||||
<div class="">
|
||||
<div class="">
|
||||
<div class="h2">{{ __('Reset Password') }}</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="mt-3">
|
||||
@if (session('status'))
|
||||
<div class="alert alert-success" role="alert">
|
||||
{{ session('status') }}
|
||||
|
||||
@ -3,11 +3,11 @@
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
<div class="card-header">{{ __('Reset Password') }}</div>
|
||||
<div class="">
|
||||
<div class="">
|
||||
<div class="h2">{{ __('Reset Password') }}</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="mt-3">
|
||||
<form method="POST" action="{{ route('password.update') }}">
|
||||
@csrf
|
||||
|
||||
|
||||
@ -25,6 +25,12 @@
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="p-2">
|
||||
<button type="button" class="btn btn-primary py-2 px-3 fs-5" data-bs-toggle="modal"
|
||||
data-bs-target="#createClientModal">
|
||||
<i class="bi bi-person-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
@if (!$status || $status == 'all' || $status == 'unique')
|
||||
<h4 class="fw-bold mt-5 mb-3">Уникальные</h4>
|
||||
@ -40,4 +46,22 @@
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="createClientModal" tabindex="-1" aria-labelledby="createAgentModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body" style="">
|
||||
<livewire:createClientForm />
|
||||
</div>
|
||||
<!--<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Отмена</button>
|
||||
<input type="submit" class="btn btn-primary" value="Добавить">
|
||||
</div>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@ -18,14 +18,6 @@
|
||||
</div>
|
||||
|
||||
<div class="ms-auto p-2">
|
||||
<select class="form-select form-select-lg" aria-label="Large select example">
|
||||
<option selected="">Город: любой</option>
|
||||
@foreach ($cities as $city)
|
||||
<option selected="">{{ $city->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="p-2">
|
||||
<button type="button" class="btn btn-primary py-2 px-3 fs-5" data-bs-toggle="modal"
|
||||
data-bs-target="#createAgentModal">
|
||||
<i class="bi bi-person-plus"></i>
|
||||
@ -53,7 +45,7 @@
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<form class="modal-content" action="{{ route('company.agents.store') }}" method="post">
|
||||
<div class="modal-header">
|
||||
<h1 class="modal-title fs-5" id="exampleModalLabel">{{ __('Create new agent') }}</h1>
|
||||
<h1 class="modal-title fs-5" id="exampleModalLabel">Новый агент</h1>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
@ -74,8 +66,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">{{ __('Close') }}</button>
|
||||
<input type="submit" class="btn btn-primary" value="{{ __('Add agent') }}">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Отмена</button>
|
||||
<input type="submit" class="btn btn-primary" value="Добавить">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@ -3,64 +3,82 @@
|
||||
@section('content')
|
||||
<div class="">
|
||||
<div class="">
|
||||
<div class="card">
|
||||
<div class="card-header">Форма регистрации агентства</div>
|
||||
<div class="card-body">
|
||||
<form action="{{ route('company.create') }}" method="post">
|
||||
<div class="">
|
||||
<div class="h2">Регистрация</div>
|
||||
<div class="">
|
||||
<form action="{{ route('company.create') }}" method="{{ ($type) ? 'post' : 'get' }}">
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label for="companyName" class="form-label">Название компании</label>
|
||||
<label for="companyType" class="form-label">Статус регистрации</label>
|
||||
<select class="form-select" @if($type) disabled @endif id="companyType" name="type" value="{{ old('type') }}">
|
||||
@foreach($typesList as $typesItem)
|
||||
<option value="{{$typesItem->name}}">{{ __($typesItem->name) }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('type')
|
||||
<span class="invalid-feedback d-block" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
@if($type)
|
||||
<div class="mb-3">
|
||||
<label for="companyName" class="form-label">{{ __($type . ' name') }}</label>
|
||||
<input type="text" class="form-control" id="companyName" name="name"
|
||||
value="{{ old('name') }}">
|
||||
@error('name')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<span class="invalid-feedback d-block" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="companyInn" class="form-label">ИНН</label>
|
||||
<label for="companyInn" class="form-label">{{ __('Inn') }}</label>
|
||||
<input type="text" class="form-control" id="companyInn" name="inn"
|
||||
value="{{ old('inn') }}">
|
||||
@error('inn')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<span class="invalid-feedback d-block" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="companyEmail" class="form-label">Электронная почта</label>
|
||||
<input type="text" class="form-control" id="companyEmail" name="email"
|
||||
value="{{ old('email') }}">
|
||||
@error('email')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="companyPhone" class="form-label">Номер телефона</label>
|
||||
<input type="text" class="form-control" id="companyPhone" name="phone"
|
||||
value="{{ old('phone') }}">
|
||||
@error('phone')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="companyLegalAddress" class="form-label">Юридический адрес</label>
|
||||
<label for="companyLegalAddress" class="form-label">{{ __('Legal address') }}</label>
|
||||
<input type="text" class="form-control" id="companyLegalAddress" name="legal_address"
|
||||
value="{{ old('legal_address') }}">
|
||||
@error('legal_address')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<span class="invalid-feedback d-block" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="companyPhone" class="form-label">{{ __('Phone') }}</label>
|
||||
<input type="text" class="form-control" id="companyPhone" name="phone"
|
||||
value="{{ old('phone') }}">
|
||||
@error('phone')
|
||||
<span class="invalid-feedback d-block" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<input type="submit" class="btn btn-primary" name="Отправить заявку">
|
||||
<div class="mb-3">
|
||||
<label for="companyEmail" class="form-label">{{ __('Email') }}</label>
|
||||
<input type="text" class="form-control" id="companyEmail" name="email"
|
||||
value="{{ old('email') }}">
|
||||
@error('email')
|
||||
<span class="invalid-feedback d-block" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
<span class="fst-italic">
|
||||
На данный электронный адрес мы направим логин и пароль администратора для входа в личный кабинет
|
||||
</span>
|
||||
</div>
|
||||
@endif
|
||||
<input type="submit" class="btn btn-primary" value="Продолжить">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -3,8 +3,19 @@
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
Отлично! Мы направили Вашу заявку на модерацию. Как только заявка на подключение будет обработана, мы направим
|
||||
Вам на электронную почту дальнейшие инструкции!
|
||||
<div class="text-success text-center">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="70" fill="currentColor" class="bi bi-check-circle"
|
||||
viewBox="0 0 16 16">
|
||||
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16" />
|
||||
<path
|
||||
d="m10.97 4.97-.02.022-3.473 4.425-2.093-2.094a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05" />
|
||||
</svg>
|
||||
</div>
|
||||
<div class="alert alert-success mt-3" role="alert">
|
||||
Спасибо! Мы направили Вашу заявку на модерацию. Как только заявка на подключение будет обработана, мы направим
|
||||
Вам на электронную почту дальнейшие инструкции!
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
186
resources/views/company/details/soleprop.blade.php
Normal file
186
resources/views/company/details/soleprop.blade.php
Normal file
@ -0,0 +1,186 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div style="max-width:700px">
|
||||
<form method="POST" action="{{ route('company.details.store', ['company' => $company]) }}">
|
||||
@csrf
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="form-floating mb-3">
|
||||
<input id="user.firstName" name="user[firstName]" value="{{ $details['user']['firstName'] }}"
|
||||
class="form-control rounded-4 bg-white @error('user.firstName') is-invalid @enderror"
|
||||
name="user.firstName" required placeholder="Имя">
|
||||
<label for="user.firstName">Имя</label>
|
||||
@error('user.firstName')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="form-floating mb-3">
|
||||
<input id="user.secondName" name="user[secondName]" value="{{ $details['user']['secondName'] }}"
|
||||
class="form-control rounded-4 bg-white @error('user.secondName') is-invalid @enderror"
|
||||
name="user.secondName" required placeholder="Фамилия">
|
||||
<label for="user.secondName">Фамилия</label>
|
||||
@error('user.secondName')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="form-floating mb-3">
|
||||
<input id="user.email" name="user[email]" value="{{ $details['user']['email'] }}"
|
||||
class="form-control rounded-4 bg-white @error('user.email') is-invalid @enderror"
|
||||
name="user.email" required placeholder="Электронная почта">
|
||||
<label for="user.email">Электронная почта</label>
|
||||
@error('user.email')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="form-floating mb-3">
|
||||
<input id="user.phone" name="user[phone]" value="{{ $details['user']['phone'] }}"
|
||||
class="form-control rounded-4 bg-white @error('user.phone') is-invalid @enderror"
|
||||
name="user.phone" required placeholder="Телефон">
|
||||
<label for="user.phone">Телефон</label>
|
||||
@error('user.phone')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="p-2 fs-5 fw-semibold">Реквизиты</div>
|
||||
|
||||
<div class="form-floating mb-3">
|
||||
<input id="details.address" name="details[address]" value="{{ $details['details']['address'] }}"
|
||||
class="form-control rounded-4 bg-white @error('details.address') is-invalid @enderror" required
|
||||
placeholder="Фактический адрес">
|
||||
<label for="details.address">Фактический адрес</label>
|
||||
@error('details.address')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-floating mb-3">
|
||||
<input id="details.legal_address" name="details[legal_address]"
|
||||
value="{{ $details['details']['legal_address'] }}"
|
||||
class="form-control rounded-4 bg-white @error('details.legal_address') is-invalid @enderror" required
|
||||
placeholder="Юридический адрес">
|
||||
<label for="details.legal_address">Юридический адрес</label>
|
||||
@error('details.legal_address')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="form-floating mb-3">
|
||||
<input id="details.inn" name="details[inn]" value="{{ $details['details']['inn'] }}"
|
||||
class="form-control rounded-4 bg-white @error('details.inn') is-invalid @enderror"
|
||||
name="details.inn" required placeholder="ИНН">
|
||||
<label for="details.inn">ИНН</label>
|
||||
@error('details.inn')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="form-floating mb-3">
|
||||
<input id="details.snils" name="details[snils]" value="{{ $details['details']['snils'] }}"
|
||||
class="form-control rounded-4 bg-white @error('details.snils') is-invalid @enderror"
|
||||
name="details.snils" required placeholder="СНИЛС">
|
||||
<label for="details.snils">СНИЛС</label>
|
||||
@error('details.snils')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="form-floating mb-3">
|
||||
<input id="details.bank.name" name="details[bank][name]"
|
||||
value="{{ $details['details']['bank']['name'] }}"
|
||||
class="form-control rounded-4 bg-white @error('details.bank.name') is-invalid @enderror"
|
||||
name="details.bank.name" required placeholder="Наименование банка">
|
||||
<label for="details.bank.name">Наименование банка</label>
|
||||
@error('details.bank.name')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="form-floating mb-3">
|
||||
<input id="details.bank.bik" name="details[bank][bik]"
|
||||
value="{{ $details['details']['bank']['bik'] }}"
|
||||
class="form-control rounded-4 bg-white @error('details.bank.bik') is-invalid @enderror"
|
||||
name="details.bank.bik" required placeholder="БИК банка">
|
||||
<label for="details.bank.bik">БИК банка</label>
|
||||
@error('details.bank.bik')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="form-floating mb-3">
|
||||
<input id="details.bank.cur" name="details[bank][cur]"
|
||||
value="{{ $details['details']['bank']['cur'] }}"
|
||||
class="form-control rounded-4 bg-white @error('details.bank.cur') is-invalid @enderror"
|
||||
name="details.bank.cur" required placeholder="Расчетный счет">
|
||||
<label for="details.bank.cur">Расчетный счет</label>
|
||||
@error('details.bank.cur')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="form-floating mb-3">
|
||||
<input id="details.bank.pers" name="details[bank][pers]"
|
||||
value="{{ $details['details']['bank']['pers'] }}"
|
||||
class="form-control rounded-4 bg-white @error('details.bank.pers') is-invalid @enderror"
|
||||
name="details.bank.pers" required placeholder="Лицевой счет">
|
||||
<label for="details.bank.pers">Лицевой счет</label>
|
||||
@error('details.bank.pers')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn rounded-4 text-light fw-bold fs-5 w-100 py-3" style="background-color: #20184d;">
|
||||
Сохранить изменения
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
@endsection
|
||||
@ -78,10 +78,9 @@
|
||||
</nav>
|
||||
|
||||
<main class="py-4">
|
||||
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col" id="leftPanel">
|
||||
<div class="col col-sm-2" id="leftPanel">
|
||||
@include('left-panel')
|
||||
</div>
|
||||
<div class="col-10">
|
||||
|
||||
@ -72,9 +72,7 @@
|
||||
</div>
|
||||
</header>
|
||||
<main class="px-3">
|
||||
@if ($errors->any())
|
||||
{!! implode('', $errors->all('<div>:message</div>')) !!}
|
||||
@endif
|
||||
|
||||
@yield('content')
|
||||
</main>
|
||||
<footer class="mt-auto">
|
||||
|
||||
@ -1,26 +1,26 @@
|
||||
<ul class="nav flex-column ">
|
||||
<ul class="nav flex flex-md-column ">
|
||||
<li class="nav-item text-center m-2">
|
||||
<a href="{{ route('home') }}" class="nav-link d-flex align-items-center gap-2 fs-5 border rounded-4 active"
|
||||
aria-current="page">
|
||||
<i class="bi bi-columns-gap"></i> Главная
|
||||
<i class="bi bi-columns-gap"></i> <span class="d-none d-lg-inline">Главная</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item text-center m-2">
|
||||
<a href="{{ route('clients.table') }}"
|
||||
class="nav-link d-flex align-items-center gap-2 fs-5 border rounded-4 active" aria-current="page">
|
||||
<i class="bi bi-person"></i> Клиенты
|
||||
<i class="bi bi-person"></i> <span class="d-none d-lg-inline">Клиенты</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item text-center m-2">
|
||||
<a href="{{ route('company.agents.table') }}"
|
||||
class="nav-link d-flex align-items-center gap-2 fs-5 border rounded-4 active" aria-current="page">
|
||||
<i class="bi bi-people"></i> Агенты
|
||||
<i class="bi bi-people"></i> <span class="d-none d-lg-inline">Агенты</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item text-center m-2">
|
||||
<a href="{{ route('company.details') }}"
|
||||
class="nav-link d-flex align-items-center gap-2 fs-5 border rounded-4 active" aria-current="page">
|
||||
<i class="bi bi-gear"></i> Настройки
|
||||
<i class="bi bi-gear"></i> <span class="d-none d-lg-inline">Настройки</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@ -25,6 +25,6 @@
|
||||
</table>
|
||||
</div>
|
||||
<div class="mt-3">
|
||||
{{ $deals->links('layouts.pagination') }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,13 +1,12 @@
|
||||
<div class="px-5 py-3 border rounded-3 mx-auto d-flex align-items-center"
|
||||
style="min-height:30em; background-color: #1fc8db; background-image: linear-gradient(140deg, #e6662a 50%, #ce4711 75%);">
|
||||
<div>
|
||||
<div class="w-100 text-center" wire:loading wire:target="save, resetData, back">
|
||||
<div class="spinner-border text-light" style="width: 4rem; height: 4rem;" role="status">
|
||||
<span class="visually-hidden">Loading...</span>
|
||||
<div class="spinner-border " style="width: 4rem; height: 4rem;" role="status">
|
||||
<span class="visually-hidden">Загрузка формы...</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-100" wire:loading.remove wire:target="save, resetData, back">
|
||||
@if ($status == self::NEW || $status == self::READY)
|
||||
<div class="h4 pb-2 mb-4 fw-bold text-light">
|
||||
<div class="h4 pb-2 mb-4 fw-bold ">
|
||||
<small>Добавить клиента</small>
|
||||
</div>
|
||||
<div class="row">
|
||||
@ -87,14 +86,14 @@ class="form-select rounded-4 @error('client.complexId') is-invalid @enderror" id
|
||||
</div>
|
||||
@if ($status == self::READY && !$errors->any())
|
||||
<div class="">
|
||||
<button wire:click="save" class="btn rounded-4 text-light fw-bold fs-5 w-100 py-3"
|
||||
<button wire:click="save" class="btn btn-secondary rounded-4 fw-bold fs-5 w-100 py-3"
|
||||
style="background-color: #20184d;">
|
||||
Создать нового клиента
|
||||
</button>
|
||||
</div>
|
||||
@else
|
||||
<div class="">
|
||||
<button disabled class="btn rounded-4 text-light fw-bold fs-5 w-100 py-3"
|
||||
<button disabled class="btn btn-secondary disabled rounded-4 fw-bold fs-5 w-100 py-3"
|
||||
style="background-color: #20184d;">
|
||||
Создать нового клиента
|
||||
</button>
|
||||
@ -113,7 +112,7 @@ class="bi bi-check-circle-fill" viewBox="0 0 16 16">
|
||||
</div>
|
||||
|
||||
<div class="text-center fs-3 text-white">Клиент добавлен</div>
|
||||
<div class="text-center fs-5 text-light">Мы проверим его уникальность и направим Вам информацию в личном
|
||||
<div class="text-center fs-5 ">Мы проверим его уникальность и направим Вам информацию в личном
|
||||
кабинете</div>
|
||||
<div class="text-center mt-3">
|
||||
<button wire:click="resetData"
|
||||
@ -132,7 +131,7 @@ class="bi bi-emoji-astonished" viewBox="0 0 16 16">
|
||||
</div>
|
||||
|
||||
<div class="text-center fs-3 text-white">Ой!</div>
|
||||
<div class="text-center fs-5 text-light">Кажется, возникла проблема на нашей стороне, мы уже ее решаем.
|
||||
<div class="text-center fs-5 ">Кажется, возникла проблема на нашей стороне, мы уже ее решаем.
|
||||
Попробуйте зайти сюда позже.</div>
|
||||
<div class="text-center my-3">
|
||||
<button wire:click="back"
|
||||
|
||||
@ -76,7 +76,10 @@ class="list-group-item list-group-item-action p-3 bg-white rounded border border
|
||||
</div>
|
||||
</div>
|
||||
<div class="col col-6">
|
||||
<livewire:createClientForm />
|
||||
<div class="px-5 py-3 bg-primary border rounded-3 mx-auto d-flex align-items-center"
|
||||
style="min-height:30em;">
|
||||
<livewire:createClientForm />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
@section('content')
|
||||
<main class="form-signin w-100 m-auto" style="max-width: 330px;">
|
||||
<a class="btn btn-primary w-100 py-2 mb-2" href="{{ route('login') }}">Войти</a>
|
||||
<a class="btn btn-secondary w-100 py-2 mb-2" href="{{ route('register') }}">Зарегистрироваться</a>
|
||||
<a class="btn btn-secondary w-100 py-2 mb-2" href="{{ route('company.form.create') }}">Создать компанию</a>
|
||||
<!--<a class="btn btn-secondary w-100 py-2 mb-2" href="{{ route('register') }}">Зарегистрироваться</a> -->
|
||||
<a class="btn btn-secondary w-100 py-2 mb-2" href="{{ route('company.form.create') }}">Регистрация</a>
|
||||
</main>
|
||||
@endsection
|
||||
|
||||
@ -28,10 +28,7 @@
|
||||
})->middleware(['auth', 'signed'])->name('verification.verify');
|
||||
|
||||
//Company
|
||||
Route::get('/company/create', function ()
|
||||
{
|
||||
return view(view: 'company.create');
|
||||
})->name('company.form.create');
|
||||
Route::get('/company/create', App\Http\Controllers\Company\CreateCompanyFormController::class)->name('company.form.create');
|
||||
Route::post('/company/create', CreateCompanyController::class)->name('company.create');
|
||||
Route::get('/company/confirmer', function ()
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user