 87acc30a0b
			
		
	
	87acc30a0b
	
	
	
		
			
			Shift automatically applies the Laravel coding style - which uses the PSR-12 coding style as a base with some minor additions. You may customize the code style applied by configuring [Pint](https://laravel.com/docs/pint), [PHP CS Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer), or [PHP CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) for your project root. For more information on customizing the code style applied by Shift, [watch this short video](https://laravelshift.com/videos/shift-code-style).
		
			
				
	
	
		
			122 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace App\Http\Requests\helpdesk;
 | |
| 
 | |
| use App\Http\Requests\Request;
 | |
| use App\Model\helpdesk\Settings\CommonSettings;
 | |
| 
 | |
| /**
 | |
|  * CreateTicketRequest.
 | |
|  *
 | |
|  * @author  Ladybird <info@ladybirdweb.com>
 | |
|  */
 | |
| class CreateTicketRequest extends Request
 | |
| {
 | |
|     /**
 | |
|      * Determine if the user is authorized to make this request.
 | |
|      *
 | |
|      * @return bool
 | |
|      */
 | |
|     public function authorize()
 | |
|     {
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     public function wantsJson()
 | |
|     {
 | |
|         if (in_array('api', $this->segments())) {
 | |
|             return true;
 | |
|         }
 | |
| 
 | |
|         return false;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 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 [
 | |
|             'email' => 'required|email|max:60',
 | |
|             'first_name' => 'required|min:3|max:40',
 | |
|             'helptopic' => 'required',
 | |
|             // 'dept' => 'required',
 | |
|             'sla' => 'required',
 | |
|             'subject' => 'required|min:5',
 | |
|             'body' => 'required|min:10',
 | |
|             'priority' => 'required',
 | |
|         ];
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      *@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();
 | |
|         // dd($settings->status, $email_mandatory->status);
 | |
|         if (($settings->status == '1' || $settings->status == 1) && ($email_mandatory->status == '1' || $email_mandatory->status == 1)) {
 | |
|             return [
 | |
|                 'email' => 'required|email|max:60',
 | |
|                 'first_name' => 'required|min:3|max:40',
 | |
|                 'helptopic' => 'required',
 | |
|                 // 'dept' => 'required',
 | |
|                 'sla' => 'required',
 | |
|                 'subject' => 'required|min:5',
 | |
|                 'body' => 'required|min:10',
 | |
|                 'priority' => 'required',
 | |
|                 'code' => 'required',
 | |
|                 'mobile' => 'required',
 | |
|             ];
 | |
|         } 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 [
 | |
|             'email' => 'email|max:60',
 | |
|             'first_name' => 'required|min:3|max:40',
 | |
|             'helptopic' => 'required',
 | |
|             // 'dept' => 'required',
 | |
|             'sla' => 'required',
 | |
|             'subject' => 'required|min:5',
 | |
|             'body' => 'required|min:10',
 | |
|             'priority' => 'required',
 | |
|             'code' => 'required',
 | |
|             'mobile' => 'required',
 | |
|         ];
 | |
|     }
 | |
| }
 |