Israat Zarin 1 year ago
parent
commit
02d4d31627

+ 1 - 26
app/Http/Controllers/AjaxController.php

@@ -342,6 +342,7 @@ class AjaxController extends Controller
             $data->proposal_status =$req->value;
             $data->proposal_status_date =now();
             $data->feedback_msg =NULL;
+            $data->feedback_reason =NULL;
             $data->update();
 
             if($req->value){
@@ -354,32 +355,6 @@ class AjaxController extends Controller
                 ['msg'=>'Updated successfully.']
             );
 
-        }elseif($name=="proposal_feedback_update"){
-            $validator=\Validator::make($req->all(), [
-                'message'=>'required',
-            ]);
-
-            if($validator->fails()){
-                $errors=$validator->errors()->all();
-                return response(['msg'=>$errors[0]], 422);
-            }
-
-            $data =StudentProposal::find($req->id);
-            $data->proposal_status =$req->proposal_status;
-            $data->feedback_msg =$req->message;
-            $data->proposal_status_date =now();
-            $data->update();
-
-            if($req->proposal_status ==3){ // 3= rejected
-                $user_rejected = User::find($data->student_id);
-                $user_rejected->freez_profile =0;
-                $user_rejected->update();
-            }
-
-            return response(
-                ['msg'=>'Updated successfully.']
-            );
-
         }elseif($name=="accept_status_update"){
 
             $data =StudentProposal::find($req->id);

+ 36 - 0
app/Http/Controllers/ModalController.php

@@ -13,6 +13,7 @@ use App\Models\Admin;
 use App\Models\Requirement;
 use App\Models\University;
 use App\Models\Publication;
+use App\Models\FeedbackReason;
 use App\Workexperience;
 use App\Institution;
 use App\Score;
@@ -79,6 +80,7 @@ class ModalController extends Controller{
         }elseif($name=="proposal_status_rejected_form"){
             $data['teacher']=Auth::guard('teacher')->user();
             $data['std_proposal']=StudentProposal::find($req->id);
+            $data['feedback_reasons'] =FeedbackReason::where('status',1)->orderBy('id','DESC')->get();
         }else $name='default';
 
 
@@ -629,6 +631,40 @@ class ModalController extends Controller{
                 ['msg'=>'Send email successfully.']
             );
         
+        }elseif($name=="proposal_status_rejected_form"){
+            $data['teacher']=Auth::guard('teacher')->user();
+            $validator=\Validator::make($req->all(), [
+                'feedback'=>'required', 
+            ]);
+
+            if($validator->fails()){
+                $errors=$validator->errors()->all();
+                return response(['msg'=>$errors[0]], 422);
+            }
+
+            $data =StudentProposal::find($req->id);
+            $data->proposal_status = 6; // rejected
+
+            if($req->feedback=="others"){ 
+                $data->feedback_msg =$req->feedback_msg;
+                $data->feedback_reason =NULL;
+            }else{
+                $data->feedback_reason =$req->feedback;
+                $data->feedback_msg =NULL;
+            }
+            $data->proposal_status_date =now();
+            $data->update();
+
+            if($data->proposal_status ==6){ // 6= rejected
+                $user_rejected = User::find($data->student_id);
+                $user_rejected->freez_profile =0;
+                $user_rejected->update();
+            }
+
+            return response(
+                ['msg'=>'Saved successfully.']
+            );
+             
         }
 
         return response(['msg'=>'No name argument found.'], 403);

+ 10 - 0
app/Models/FeedbackReason.php

@@ -0,0 +1,10 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class FeedbackReason extends Model
+{
+    //
+}

+ 13 - 9
resources/views/modal_pages/proposal_status_rejected_form.blade.php

@@ -26,19 +26,24 @@
             <div class="co-md-12 p-3">
                 <form class="modal-form" action="{{ url()->current() }}" method="POST" enctype="multipart/form-data">
                 {{ csrf_field() }}
+                <input type="hidden" name="id" value="{{$std_proposal->id}}">
                     <div class="row">
                         <div class="col-md-12"> 
                             <ul>
-                                <li>
-                                    <div class="pretty p-default p-curve">
-                                        <input class="feedback" type="radio" name="feedback" value="reasons" />
+                                @if(count($feedback_reasons) > 0)
+                                @foreach($feedback_reasons as $row)
+                                <li style="list-style-type: none;">
+                                    <div class="pretty p-default p-round">
+                                        <input class="feedback" type="radio" name="feedback" value="{{$row->reasons}}" />
                                         <div class="state p-success-o">
-                                            <label>Success</label>
+                                            <label>{{$row->reasons}}</label>
                                         </div>
                                     </div>
                                 </li>
-                                <li>
-                                    <div class="pretty p-default p-curve">
+                                @endforeach
+                                @endif
+                                <li style="list-style-type: none;">
+                                    <div class="pretty p-default p-round">
                                         <input class="feedback" type="radio" name="feedback" value="others"/>
                                         <div class="state p-success-o">
                                             <label>Others</label>
@@ -51,9 +56,8 @@
                         </div> 
                         <div class="col-md-12" id="feedback_msg" style="display: none;"> 
                             <label class="form-label">Feedback</label>
-                            <div class="form-icon position-relative">
-                                <input type="hidden" name="p_status" id="p_status" value="">
-                                <textarea class="form-control" name="message" id="message" required=""></textarea>
+                            <div class="form-icon position-relative"> 
+                                <textarea class="form-control" name="feedback_msg" id="message"></textarea>
                             </div> 
                         </div> 
                         <div class="col-md-12">

+ 52 - 144
resources/views/teacher/student_proposal_details.blade.php

@@ -983,24 +983,30 @@ element.style {
                                     <div class="right_part_right">
                                         <div class="right_part_right_whole">
                                             <div class="col-md-5 mt-1 method-box">
-                                                
                                                 <div class="ms-3 mt-2 mb-3"> 
-                                                    <span style="font-size: 19px; font-weight: 700;">{{cn($proposal_details,'student_details.first_name','')}} {{cn($proposal_details,'student_details.last_name','')}}</span> <br>
-                                                    <span style="font-size:12px;">
-                                                        <span style="color: #868e96;">Nationality :</span>
-                                                        <strong>{{cn($proposal_details,'student_details.country_name.name','')}}</strong>
-                                                    </span> <br>
-                                                    <span style="font-size:12px;">
-                                                        <span style="color: #868e96;">Gender :</span>
-                                                        <strong>{{\Str::ucfirst(cn($proposal_details,'student_details.gender',''))}}</strong>
-                                                    </span> <br>
-                                                    <span style="font-size:12px;">
-                                                        <span style="color: #868e96;">Age :</span>
-                                                        {{-- <strong>23 years 3 month</strong> --}}
-                                                        <strong>{{age_calculator(cn($proposal_details,'student_details.dob',''))}}
-                                                            
-                                                        </strong>
-                                                    </span>
+                                                <div style="display:flex;"> 
+                                                    @if($proposal_details->student_details->nationality)
+                                                        <img class="img-responsive listFlag" style="border-radius: 2px; padding: 0px;height: 45px; width: 45px;" src="{{ asset('/assets/img/flags/4x3').'/'.strtolower(cn($proposal_details,'student_details.country_name.iso_3166_2','')).'.svg' }}" alt="Flag" data-toggle="tooltip" title="" data-placement="top">
+                                                    @endif
+                                                    <div class="alert" style="background-color:white; padding: 3px 7px; margin-bottom: 0px;">
+                                                            <span style="font-size: 19px; font-weight: 700;">{{cn($proposal_details,'student_details.first_name','')}} {{cn($proposal_details,'student_details.last_name','')}}</span> <br>
+                                                            <span style="font-size:12px;">
+                                                                <span style="color: #868e96;">Nationality :</span>
+                                                                <strong>{{cn($proposal_details,'student_details.country_name.name','')}}</strong>
+                                                            </span> <br>
+                                                            <span style="font-size:12px;">
+                                                                <span style="color: #868e96;">Gender :</span>
+                                                                <strong>{{\Str::ucfirst(cn($proposal_details,'student_details.gender',''))}}</strong>
+                                                            </span> <br>
+                                                            <span style="font-size:12px;">
+                                                                <span style="color: #868e96;">Age :</span>
+                                                                {{-- <strong>23 years 3 month</strong> --}}
+                                                                <strong>{{age_calculator(cn($proposal_details,'student_details.dob',''))}}
+                                                                    
+                                                                </strong>
+                                                            </span>
+                                                        </div>
+                                                    </div>
                                                 </div>
                                             </div>
                                             <div class="mt-3 p-3 method-box ms-3" style="width: 65%; border-right: 1px solid #eee; background-color: white;"> 
@@ -1244,42 +1250,28 @@ element.style {
                         </div>
                     </div><!--end col-->
                     <div class="col-md-9 mt-4" style="padding: 3px;">
-                        <div class="card border-0" style="border-radius:6px !important;">
+                        <div class="card border-0 mb-3" style="border-radius:6px !important;">
                             <div class="container-fluid">
-                                <div class="row">
-                                    <div class="col-md-12 d-none" id="feedback"  style="width: 99%; background-color:white; border-radius: 6px; padding: 10px;">
-                                        <div class="single_glance_row mt-1"  style="border-bottom: none;">
-                                            <span class="title" style="font-size:11px; font-weight: 600;">Feedback :</span>
-                                            <span class="tbl2"> 
-                                                <div class="mb-2">
-                                                    <div class="form-icon position-relative">
-                                                        <input type="hidden" name="p_status" id="p_status" value="">
-                                                        <textarea class="form-control" name="message" id="message" required="">{{$proposal_details->feedback_msg ?? ''}}</textarea>
-                                                    </div>
-                                                </div>
-                                                <div class="text-end">
-                                                    <button class="btn btn2 feedback_btn" data-id="{{$proposal_details->id}}">Save</button>                                                                                                                
-                                                </div>                                
-                                            </span>     
-                                        </div> 
-                                    </div>  
-                                    @if($proposal_details->feedback_msg)
+                                <div class="row"> 
+                                    @if($proposal_details->feedback_msg || $proposal_details->feedback_reason)
                                     <div class="col-md-12" style="width: 99%;font-size: 12px !important; background-color:#fff0d6; border-radius: 6px; padding: 10px;color: rgb(237, 14, 14);">
                                         <div class="single_glance_row mt-1 single_edit_item">
                                             
                                             <div class="row" style="display: flex;">
                                                 <div class="col-md-10" style="width: 90%;">
                                                     <span class="title" style="font-size:11px; font-weight: 600; color: rgb(237, 14, 14) !important;"> <i class="fa fa-warning" style="font-size: 11px; margin-right: 5px; color: rgb(237, 14, 14) !important; top: 0px; position: relative;"></i>
-                                                    Feedback :  {{$proposal_details->feedback_msg}} </span> 
+                                                    Feedback : @if($proposal_details->feedback_msg) {{$proposal_details->feedback_msg}}  @endif
+                                                    @if($proposal_details->feedback_reason) {{$proposal_details->feedback_reason}}   @endif
+                                                  </span> 
                                                 </div>
 
                                                 <div class="col-md-2" style="width: 10%;">
-                                                    <span class="title" style="font-size:11px; font-weight: 600;">
+                                                    {{-- <span class="title" style="font-size:11px; font-weight: 600;">
                                                         <button type="button" class="btn btn2 edit_feedback mb-1" data-id="{{$proposal_details->id}}" style="padding: 2px 5px !important; font-size: 11px;"><i class="fa fa-pencil"></i></button> 
                                                     </span>
                                                     <span class="title" style="font-size:11px; font-weight: 600;">
                                                         <button type="button" class="btn btn2 delete_feedback mb-1" data-id="{{$proposal_details->id}}" style="padding: 2px 5px !important; font-size: 11px;"><i class="fa fa-trash" style="margin-left:2px;"></i></button>
-                                                    </span>
+                                                    </span> --}}
                                                 </div>
                                             </div>
                                             
@@ -1289,7 +1281,7 @@ element.style {
                                 </div>
                             </div>   
                         </div> 
-                        <div class="card border-0" style="border-radius:6px !important;">
+                        <div class="card border-0 mt-0" style="border-radius:6px !important;">
                             <div class="container-fluid">
                                 <div class="row">
                                     <div class="col-md-12" style="width: 99%; background-color:white; border-radius: 6px; padding: 10px;">
@@ -1322,77 +1314,7 @@ element.style {
                                     </div>  
                                 </div>
                             </div>   
-                        </div>
 
-                        <!-- <div class="card border-0 mt-3" style="border-radius:0px !important;">
-                            <div class="container-fluid">
-                                <div class="row">
-                                    <div class="col-md-12 mb-3" style="width: 99%; background-color:white; border-radius: 6px; padding: 10px;">
-                                        <ul class="nav nav-pills shadow flex-column flex-sm-row d-md-inline-flex nav-justified mb-0 bg-white rounded-top position-relative overflow-hidden" id="pills-tab" role="tablist">
-                                            <li class="nav-item m-1">
-                                                    <i class="fa fa-graduation-cap"></i></br>
-                                                <a class="nav-link active rounded" id="proposal" data-bs-toggle="pill" href="#propose" role="tab" aria-controls="propose" aria-selected="false" style="width:100px;">
-                                                    Proposal
-                                                </a>
-                                            </li>  
-                                            <li class="nav-item m-1 ms-3">
-                                                    <i class="fa fa-list-ul"></i></br>
-                                                <a class="nav-link rounded" id="doc-info" data-bs-toggle="pill" href="#doc" role="tab" aria-controls="doc" aria-selected="false" style="width:114px;">
-                                                    Doc/Info Required
-                                                </a>
-                                            </li>                                         
-                                        </ul>
-                                        <div class="row">
-                                            <div class="col-md-8" style="padding:0px;">
-                                                <div class="card border-0 shadow">
-                                                    <div class="container" style="padding-left: 13px; padding-right: 12px;">     
-                                                        <div class="row mt-3 mb-1">
-                                                            <div class="col-12">
-                                                                <div class="tab-content bg-white rounded-bottom shadow" id="pills-tabContent">
-                                                                    <div class="card border-0 tab-pane fade show active" id="propose" role="tabpanel" aria-labelledby="proposal">
-                                                                        <div class="row align-items-center">
-                                                                                <div class="col-md-12">
-                                                                                
-                                                                                @if(file_exists( public_path().'/uploads/proposal/'.@$proposal_details->proposal->document_file ) && @$proposal_details->proposal->document_file != null)
-                                                                                    <iframe src ="{{url(asset('/uploads/proposal').'/'.@$proposal_details->proposal->document_file) }}" type="application/pdf"  width="100%" height="560px"></iframe>
-                                                                                @else 
-                                                                                    <iframe src ="{{url(asset('web/files/CRM.pdf'))}}" type="application/pdf"  width="100%" height="670px"></iframe>
-                                                                                @endif
-                                                                                                                                                        
-                                                                                
-                                                                            </div>
-                                                                        </div>
-                                                                    </div>
-                                                        
-                                                                    <div class="card border-0 tab-pane fade" id="doc" role="tabpanel" aria-labelledby="doc-info">
-                                                                        <div id="doc_required_load"></div> 
-                                                                    </div> 
-                                                                </div>
-                                                            </div>
-                                                    </div>
-                                                </div>
-                                            </div>
-                                        </div>
-                                        <div class="col-md-4">
-                                            <div class="card shadow p-3 rounded border-0 mb-4" style="background-color: white;">
-                                                <div class="info-palate mt-0">
-                                                    <div class="left">
-                                                        <div id="doc_required_load"></div> 
-                                                                                                                        
-                                                        </div>     
-                                                    </div>
-                                                </div>
-                                            </div>
-                                        </div>
-                                </div>
-                            </div>
-                        </div> -->
-                    </div>
-                    </div>
-                </div>
-        </div><!--end row-->
-    </div><!--end container-->
-</section><!--end section-->
         <!-- Hero End -->
       <!-- Main Js -->
       <script src="{{asset('web/js/bootstrap.bundle.min.js')}}"></script>
@@ -1675,7 +1597,7 @@ element.style {
                  }
                  
                  if(value==2 || value ==3  || value ==4  || value ==5){  // 2 =Reviewing; 3 =Push; 4 =Hold; 5 =Interested
-                    $("#feedback").addClass('d-none');
+                     
                     swal({
                         title: "Are you sure you want to change status?",
                         text: "Please check before submitting!",
@@ -1702,48 +1624,34 @@ element.style {
                             });
                         } 
                     }); 
-                 }else if(value == 6){
-                    $("#feedback").removeClass('d-none');
-                    $('input[name="p_status"]').val(value);
-                 }
-
-                 
+                 } 
             });
 
-            // $('.status_change').on('click', function(){
-            //     var value = $(this).data('val');
-            //     if(value == 6){
-            //         $("#feedback").removeClass('d-none');
-            //         $('input[name="p_status"]').val(value);
-                     
-            //     }else{
-            //         $("#feedback").addClass('d-none'); 
-            //     } 
-            // });
+           
 
-            $('.feedback_btn').click(function(){
+            // $('.feedback_btn').click(function(){
 
-                var id =$(this).data('id');  
-                var message =$('#message').val();  
-                var proposal_status =$('#p_status').val();  
+            //     var id =$(this).data('id');  
+            //     var message =$('#message').val();  
+            //     var proposal_status =$('#p_status').val();  
 
-                var form_data={
-                    _token: "{{ csrf_token() }}", 
-                    id: id,
-                    message: message, 
-                    proposal_status: proposal_status, 
-                }
+            //     var form_data={
+            //         _token: "{{ csrf_token() }}", 
+            //         id: id,
+            //         message: message, 
+            //         proposal_status: proposal_status, 
+            //     }
 
-                $.post("{{ route('ajax-post', ['name'=>'proposal_feedback_update']) }}", form_data, function(res){ 
-                    pop_up_msg(res.msg);
-                    window.location.reload();
+            //     $.post("{{ route('ajax-post', ['name'=>'proposal_feedback_update']) }}", form_data, function(res){ 
+            //         pop_up_msg(res.msg);
+            //         window.location.reload();
 
-                }).fail(function(err){
+            //     }).fail(function(err){
 
-                    pop_up_msg(err_msg(err), 'error');
+            //         pop_up_msg(err_msg(err), 'error');
 
-                }); 
-            });
+            //     }); 
+            // });
 
             fetch_sub_content(
                 '#doc_required_load',

+ 16 - 0
sql/update.sql

@@ -240,3 +240,19 @@ ALTER TABLE `users`
 
 ALTER TABLE `student_proposals`
 	ADD COLUMN `preferred_start_date` DATE NULL DEFAULT NULL AFTER `proposal_id`;
+
+
+ALTER TABLE `student_proposals`
+	ADD COLUMN `feedback_reason` VARCHAR(255) NULL DEFAULT NULL AFTER `feedback_msg`;
+
+CREATE TABLE `feedback_reasons` (
+	`id` INT(11) NOT NULL AUTO_INCREMENT,
+	`reasons` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
+	`status` TINYINT(4) NULL DEFAULT '1',
+	`created_at` TIMESTAMP NULL DEFAULT NULL,
+	`updated_at` TIMESTAMP NULL DEFAULT NULL,
+	PRIMARY KEY (`id`) USING BTREE
+)
+COLLATE='utf8mb4_general_ci'
+ENGINE=InnoDB 
+;