99 lines
3.0 KiB
PHP
99 lines
3.0 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Requests\helpdesk;
|
|
|
|
use App\Http\Requests\Request;
|
|
use App\Model\helpdesk\Settings\CommonSettings;
|
|
|
|
/**
|
|
* Sys_userRequest.
|
|
*
|
|
* @author Ladybird <info@ladybirdweb.com>
|
|
*/
|
|
class Sys_userRequest extends Request
|
|
{
|
|
/**
|
|
* Determine if the user is authorized to make this request.
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function authorize()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Get the validation rules that apply to the request.
|
|
*
|
|
* @return array
|
|
*/
|
|
public function rules()
|
|
{
|
|
$check = $this->check(new CommonSettings());
|
|
if ($check != 0) {
|
|
return $check;
|
|
}
|
|
|
|
return [
|
|
'first_name' => 'required',
|
|
'user_name' => 'required|min:3|unique:users,user_name',
|
|
'email' => 'required|unique:users,email',
|
|
'mobile' => 'unique:users',
|
|
];
|
|
}
|
|
|
|
/**
|
|
*@category Funcion to set rule if send opt is enabled
|
|
*
|
|
*@param object $settings (instance of Model common settings)
|
|
*
|
|
*@author manish.verma@ladybirdweb.com
|
|
*
|
|
*@return array|int
|
|
*/
|
|
public function check($settings)
|
|
{
|
|
$settings = $settings->select('status')->where('option_name', '=', 'send_otp')->first();
|
|
$email_mandatory = CommonSettings::select('status')->where('option_name', '=', 'email_mandatory')->first();
|
|
if (($settings->status == '1' || $settings->status == 1) && ($email_mandatory->status == '1' || $email_mandatory->status == 1)) {
|
|
return [
|
|
'first_name' => 'required',
|
|
'user_name' => 'required|min:3|unique:users,user_name',
|
|
'email' => 'required|unique:users,email',
|
|
'country_code' => 'required',
|
|
'mobile' => 'required|unique:users',
|
|
];
|
|
} elseif (($settings->status == '0' || $settings->status == 0) && ($email_mandatory->status == '1' || $email_mandatory->status == 1)) {
|
|
return 0;
|
|
} elseif (($settings->status == '0' || $settings->status == 0) && ($email_mandatory->status == '0' || $email_mandatory->status == 0)) {
|
|
$rule = $this->onlyMobleRequired();
|
|
|
|
return $rule;
|
|
} elseif (($settings->status == '1' || $settings->status == 1) && ($email_mandatory->status == '0' || $email_mandatory->status == 0)) {
|
|
$rule = $this->onlyMobleRequired();
|
|
|
|
return $rule;
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
/**
|
|
*@category function to make only moble required rule
|
|
*
|
|
*@param null
|
|
*
|
|
*@return array
|
|
*/
|
|
public function onlyMobleRequired()
|
|
{
|
|
return [
|
|
'first_name' => 'required',
|
|
'user_name' => 'required|min:3|unique:users,user_name',
|
|
'email' => 'unique:users,email',
|
|
'country_code' => 'required',
|
|
'mobile' => 'required|unique:users',
|
|
];
|
|
}
|
|
}
|