Bladeren bron

Update Apllication Proposal

Md.Mostafijur Rahman 1 jaar geleden
bovenliggende
commit
b4e736a1be

+ 27 - 2
app/Http/Controllers/AjaxController.php

@@ -415,9 +415,25 @@ class AjaxController extends Controller
                 return response(['msg'=>$errors[0]], 422);
             }
 
-            $user_check_data =User::where('email',$req->email)->where('user_type',1)->doesntExist();
 
-            if($user_check_data){
+            $old_user =User::where(
+                'email',$req->email
+            )->where(
+                'user_type',1
+            )->where(
+                'sign_up',1
+            )->exists();
+
+            if($old_user){
+                return response(
+                    ['msg'=>'You already registered.','action'=>'old_user']
+                );
+            }
+
+            $new_user =User::where('email',$req->email)->where('user_type',1)->doesntExist();
+
+
+            if($new_user){
                $user_data =new User;
                $user_data->first_name =$req->name;
                $user_data->email =$req->email;
@@ -431,6 +447,15 @@ class AjaxController extends Controller
 
             $user =User::where('email',$req->email)->where('user_type',1)->first();
 
+            if($user){
+                $student_proposal =new StudentProposal;
+                $student_proposal->student_id =$user->id;
+                $student_proposal->teacher_id =$req->id;
+                $student_proposal->save();
+            }
+
+
+
             $refer =new ReferUser;
             $refer->name =$req->name;
             $refer->email =$req->email;

+ 113 - 22
app/Http/Controllers/ModalController.php

@@ -38,6 +38,13 @@ class ModalController extends Controller{
             $data['teacher'] = User::find($req->t_id);
             $data['student'] = User::find($student->id);
             $data['proposal']= Proposal::where('student_id',$user->id)->get();
+        }elseif($name=="update_student_proposal"){
+            $data['std_proposal'] =StudentProposal::find($req->id);
+            $data['teacher'] = User::find($req->teacher_id);
+            $data['student'] = User::find($req->student_id);
+            $data['proposal']= Proposal::where('student_id',$req->student_id)->get();
+            $data['years']=range((int)date('Y'), date('Y')+1);
+
         }elseif($name=="view_apply_proposal"){
             $data['std_proposal'] =StudentProposal::find($req->id);
 
@@ -102,7 +109,7 @@ class ModalController extends Controller{
             //$worK_exp =Workexperience::where('student_id',$req->student_id)->doesntExist();
             //$institution =Institution::where('student_id',$req->student_id)->doesntExist();
             //$score =Score::where('student_id',$req->student_id)->doesntExist();
-            
+
             $publication =User::where('id',$req->student_id)->whereNull('is_publication')->exists();
             $worK_exp =User::where('id',$req->student_id)->whereNull('is_work_experience')->exists();
             $institution =User::where('id',$req->student_id)->whereNull('is_education')->exists();
@@ -112,8 +119,6 @@ class ModalController extends Controller{
                 return response(['msg'=>'you didn\'t complete your profile.'],403);
             }
 
-             
-
             $student_proposal =new StudentProposal;
             $student_proposal->student_id =$req->student_id;
             $student_proposal->teacher_id =$req->teacher_id;
@@ -127,7 +132,7 @@ class ModalController extends Controller{
             $student_data =User::find($student_proposal->student_id);
             $student_data->freez_profile =1;
             $student_data->update();
-            
+
             $proposal_user =User::find($student_proposal->teacher_id);
 
 			 if($user){
@@ -168,6 +173,92 @@ class ModalController extends Controller{
 
             return response(['msg'=>'Proposal send successfully.']);
 
+        }elseif($name=="update_student_proposal"){
+
+            $new_rules=[
+                'proposal_id'=>'required',
+            ];
+
+            $validator=\Validator::make($req->all(),$new_rules,[
+                'proposal_id.required'=>'No Proposal available.',
+                'startdate'=>'required',
+                'startmonth'=>'required',
+            ]);
+
+            if($validator->fails()){
+
+                $errors=$validator->errors()->all();
+                return response(['msg'=>$errors[0]], 422);
+            }
+
+            $already_exists = StudentProposal::where('student_id',$req->student_id)->where('proposal_submit_status',1)->exists();
+            if($already_exists){
+                return response(['msg'=>'Sorry! You already submitted. You can not submit proposal.'],403);
+            }
+
+            $publication =User::where('id',$req->student_id)->whereNull('is_publication')->exists();
+            $worK_exp =User::where('id',$req->student_id)->whereNull('is_work_experience')->exists();
+            $institution =User::where('id',$req->student_id)->whereNull('is_education')->exists();
+            $score =User::where('id',$req->student_id)->whereNull('is_test_score')->exists();
+
+            if($publication || $worK_exp || $institution || $score){
+                return response(['msg'=>'you didn\'t complete your profile.'],403);
+            }
+
+            $student_proposal =StudentProposal::find($req->id);
+            $student_proposal->proposal_id =$req->proposal_id;
+            $student_proposal->start_year =$req->startdate;
+            $student_proposal->start_month =$req->startmonth;
+            $student_proposal->student_apply_ref =studentRefNoGenerate();
+            $student_proposal->proposal_submit_status = 1;
+            $student_proposal->submitted_date = now();
+            $student_proposal->created_by =$req->student_id;
+            $student_proposal->update();
+
+            $student_data =User::find($student_proposal->student_id);
+            $student_data->freez_profile =1;
+            $student_data->update();
+
+            $teacher =User::find($student_proposal->teacher_id);
+
+			 if($user){
+				$data['name'] = $student_data->first_name.' '.$student_data->last_name;
+				$data['teacher'] = $teacher->first_name.' '.$teacher->last_name;
+                $data['university'] = $teacher->university_name;
+                $data['submission_date'] = $student_data->created_at;
+                $data['receive_email']=$student_data->email;
+				//$data['arn'] = $proposal_user->ref_no;
+				$user_mail =$student_data->email;
+				$from = 'asraful@revinr.com';
+				Mail::send('email.student_proposal_email',$data, function ($message) use ($user_mail,$from,$student_proposal) {
+					$message->from($from);
+					$message->to($user_mail)->subject('Apply Ref:' .$student_proposal->student_apply_ref. '- Proposal has been submitted successfully ');
+				});
+			 }
+
+             $proposal =Proposal::where(
+                    'student_id',$student_proposal->student_id
+                )->where(
+                    'id',$student_proposal->proposal_id
+                )->first();
+
+             if($teacher){
+                $data['name'] = $teacher->first_name.' '.$teacher->last_name;
+                $data['std_name'] = $student_data->first_name.' '.$student_data->last_name;
+                $data['proposal_title'] =$proposal->title;
+                $data['date_time']=$student_proposal->created_at;
+                $data['receive_email']=$teacher->email;
+				$user_mail =$teacher->email;
+				$from = 'asraful@revinr.com';
+				Mail::send('email.teacher_proposal_email',$data, function ($message) use ($user_mail,$from) {
+					$message->from($from);
+					$message->to($user_mail)->subject('New Proposal Received - Action Required');
+				});
+             }
+
+
+            return response(['msg'=>'Successfully updated.']);
+
         }elseif($name=="add_wishlist"){
             $user =Auth::guard('teacher')->user();
             $validator=\Validator::make($req->all(), [
@@ -187,13 +278,13 @@ class ModalController extends Controller{
             // }
 
             $user_check_data =User::where('email',$req->email)->where('user_type',1)->doesntExist();
-            
-            if($user_check_data){ 
+
+            if($user_check_data){
                 $user_data =new User;
                 $user_data->first_name =$req->name;
                 $user_data->email =$req->email;
-                $user_data->user_type =1; 
-                $user_data->status =0; 
+                $user_data->user_type =1;
+                $user_data->status =0;
                 $user_data->register_type =4; // 1=invitation ; 2= landing/wishlish; 3 =q_form ; 4=student-wishlist
                 $user_data->invitation_date =now();
                 $user_data->wishlist_teacher_id =$user->id;
@@ -207,7 +298,7 @@ class ModalController extends Controller{
             $refer->teacher_id =$user->id;
             $refer->save();
 
-            
+
             $user_notify =User::where('email',$req->email)->where('user_type',1)->first();
 
             if($refer->save()){
@@ -235,7 +326,7 @@ class ModalController extends Controller{
 
         }elseif($name=="teacher_invited"){
 
-             
+
 
             $admin =Admin::find($req->id);
             $validator=\Validator::make($req->all(), [
@@ -258,17 +349,17 @@ class ModalController extends Controller{
                 $user_data->admin_invite_id =$admin->id;
                 $user_data->user_type =2;
                 $user_data->register_type =1; // 1=invitation ; 2=wishlist/landing
-                $user_data->invitation_date =now();  
+                $user_data->invitation_date =now();
                 $user_data->save();
-            } 
+            }
 
             $teacher_user =User::where('email',$req->email)->where('user_type',2)->first();
 
             $refer =new ReferUser;
             $refer->name =$req->name;
             $refer->email =$req->email;
-            $refer->refer_by =$admin->id; 
-            $refer->teacher_id =$teacher_user->id; 
+            $refer->refer_by =$admin->id;
+            $refer->teacher_id =$teacher_user->id;
             $refer->save();
 
 
@@ -291,8 +382,8 @@ class ModalController extends Controller{
                         $message->from($from);
                         $message->to($user_mail)->subject('Manage Doctoral Applicants with Ease - You’re invited!');
                     });
-                } 
-               
+                }
+
             }
 
             $already_invited =ReferUser::where('email',$refer->email)->count();
@@ -300,7 +391,7 @@ class ModalController extends Controller{
             if($already_invited > 1) {
                 return response(
                     ['msg'=>"Successfully saved. Already invitation send {$already_invited} times."]
-                ); 
+                );
             }else{
                 return response(
                     ['msg'=>'Invitation saved successfully.']
@@ -370,7 +461,7 @@ class ModalController extends Controller{
 
             $user_check_data =User::where('email',$req->email)->where('user_type',2)->doesntExist();
 
-            if($user_check_data){ 
+            if($user_check_data){
                $user_data =new User;
                $user_data->first_name =$req->name;
                $user_data->email =$req->email;
@@ -379,16 +470,16 @@ class ModalController extends Controller{
                $user_data->uni_website =$req->uni_website;
                $user_data->user_type =2;
                $user_data->register_type =2; // 1=invitation ; 2= landing/wishlish
-              // $user_data->invitation_date =now();  
+              // $user_data->invitation_date =now();
                $user_data->save();
-            } 
+            }
 
             $user =User::where('email',$req->email)->where('user_type',2)->first();
-            
+
                 $refer =new ReferUser;
                 $refer->name =$req->name;
                 $refer->email =$req->email;
-                $refer->teacher_id =$user->id; 
+                $refer->teacher_id =$user->id;
                 $refer->save();
 
             return response(

+ 3 - 0
resources/views/Q_apply_form.blade.php

@@ -400,6 +400,9 @@
                         $('.wait').waitMe("hide");
                         $('#name').val('');
                         $('#email').val('');
+                        if(res.action == 'old_user'){
+                            window.location.href = "{{ url('/login') }}";
+                        }
                         pop_up_msg(res.msg);
 
                     }).fail(function(err){

+ 22 - 20
resources/views/application.blade.php

@@ -25,9 +25,9 @@
                                 <div class="p-2" style="display:flex;">
                                     <div class="left" style="width:50%;">
                                         <div class="uni_details" style="display:flex;">
-                                             
 
-                                            @if(cn($row,'teacher_details.university')) 
+
+                                            @if(cn($row,'teacher_details.university'))
                                             <img class="img-responsive listFlag" style="border-radius: 20px; padding: 0px;height: 37px;width: 37px;" src="{{ asset('/assets/img/flags/4x3').'/'.strtolower(cn($row,'teacher_details.university.country.iso_3166_2','')).'.svg' }}" alt="Flag" data-toggle="tooltip" title="" data-placement="top">
                                             @else
                                             <div class="inner_left mt-1" style="border: 1px solid black; border-radius: 20px; padding: 6px; height: 37px; width: 37px;">
@@ -50,35 +50,34 @@
                                     </div>
                                     <div class="text-end" style="width:50%;">
                                         <span style="font-size:12px;">Apply Reference</span><br>
-                                        <span class="label_badge_radius" style="background-color: #463993; color: white; border-radius: 4px; font-size:11px !important; font-weight:800;">{{$row->student_apply_ref ?? ''}}</span>
+                                        <span class="label_badge_radius" style="background-color: #463993; color: white; border-radius: 4px; font-size:11px !important; font-weight:800;">{{$row->student_apply_ref ?? 'N/A'}}</span>
                                     </div>
                                 </div>
                                 <div class="p-2" style="display:flex; border-top: 1px solid #eee;">
                                     <div class="left" style="width:50%;">
                                         <div class="uni_details" style="display:flex;">
                                             <div class="inner_right ms-5">
-                                                <span @if($row->proposal->document_file ) class="open_modal_page" style="cursor: pointer;"  data-url="{{route('modal-get',['name'=>'view_student_proposal','id'=>$row->proposal->id])}}" @endif>
-                                                     <strong style="font-size: 13px; font-weight: 600;">{{cn($row,'proposal.title','')}}</strong>
+                                                <span @if(isset($row->proposal->document_file)) class="open_modal_page" style="cursor: pointer;"  data-url="{{route('modal-get',['name'=>'view_student_proposal','id'=>$row->proposal->id])}}" @endif>
+                                                     <strong style="font-size: 13px; font-weight: 600;">{{cn($row,'proposal.title','N/A')}}</strong>
                                                 </span>
-                                               </br>
+                                               <br>
                                                     <div style="margin-top: -2px;">
-                                                        <span style="font-size:12px;">{{cn($row,'proposal.proposal_ref','')}}</span>
-                                                        <span> • </span>
-                                                        <span style="font-size:12px;">{{cn($row,'proposal.methology','')}}</span>
+                                                        <span style="font-size:12px;">{{cn($row,'proposal.proposal_ref','N/A')}}</span>
                                                         <span> • </span>
+                                                        <span style="font-size:12px;">{{cn($row,'proposal.methology','N/A')}}</span>
                                                         @php
-                                                               $proposal =\DB::table('proposal')->where('id',$row->proposal_id)->first();
-                                                               if($proposal->department){
+                                                            $proposal =\DB::table('proposal')->where('id',$row->proposal_id)->first();
+                                                            if(isset($proposal->department)){
                                                                 $department =model('Department')::find($proposal->department);
-                                                               }
-                                                               
-                                                                
+                                                            }
+
                                                             @endphp
-                                                            @if($department)
-                                                                <span style="font-size:12px;">{{$department->name ?? ''}}</span>
-                                                            @endif
+                                                        @if(isset($department))
                                                         <span> • </span>
-                                                        <span style="font-size:12px;">{{cn($row,'proposal.status','')}}</span>
+                                                            <span style="font-size:12px;">{{$department->name ?? ''}}</span>
+                                                        @endif
+                                                        <span> • </span>
+                                                        <span style="font-size:12px;">{{cn($row,'proposal.status','N/A')}}</span>
                                                     </div>
                                             </div>
                                         </div>
@@ -94,8 +93,11 @@
                                     </div>
                                     <div class="text-end" style="width:50%;">
                                         <span style="font-size:12px;">Application Status </span><br>
-                                        <span class="label_badge_radius" style="background-color: #d8fdd8; color: green; border-radius: 5px; font-weight: bold;">Applied</span>
-
+                                        @if($row->proposal_submit_status==1)
+                                            <span class="label_badge_radius" style="background-color: #d8fdd8; color: green; border-radius: 5px; font-weight: bold;">Applied</span>
+                                        @else
+                                            <span class="label_badge_radius open_modal_page" data-url="{{ route('modal-get',['name'=>'update_student_proposal','id'=>$row->id,'student_id'=>$row->student_id,'teacher_id'=>$row->teacher_id]) }}" data-title="Submit your Proposal" style="background-color: #d8fdd8; color: green; border-radius: 5px; font-weight: bold; cursor: pointer;">Draft</span>
+                                        @endif
                                     </div>
                                 </div>
                                  <div class="p-2" style="display:flex; border-top: 1px solid #eee;">

+ 115 - 0
resources/views/modal_pages/update_student_proposal.blade.php

@@ -0,0 +1,115 @@
+@extends('modal_pages.base')
+
+@section('main')
+<form class="modal-form" action="{{ url()->current() }}" method="POST" enctype="multipart/form-data">
+    {{ csrf_field() }}
+    <div class="container">
+        <div class="col-md-12">
+            <div class="middle p-3" style="background-color:white; border-radius:6px;">
+                <p style="font-size: 16px; font-weight: bold; margin: 0px;">This proposal will be sent to the following supervisor</p>
+                <div class="alert" style="padding: 0px; margin: 0px">
+                    <input type="hidden" name="id" value="{{$std_proposal->id}}">
+                    <input type="hidden" name="teacher_id" value="{{$teacher->id}}">
+                    <input type="hidden" name="student_id" value="{{$student->id}}">
+                    <div class="d-flex">
+                        @if($teacher->university)
+                             <img class="img-responsive listFlag mt-2" style="border-radius: 2px; padding: 0px;height: 45px; width: 44px;" src="{{ asset('/assets/img/flags/4x3').'/'.strtolower(cn($teacher,'university.country.iso_3166_2','')).'.svg' }}" alt="Flag" data-toggle="tooltip" title="" data-placement="top">
+                        {{-- @else
+                        <div class="inner_left mt-1" style="background-color: #141639c4; padding: 18px 0px 0px 0px; height: 47px; width: 56px; margin-top: 9px !important;">
+                            <p style="color:white; font-weight:600 !important; letter-spacing: 2px; text-align: center; margin-top: -8px; font-size: 17px;">{{ name_initials($teacher->first_name, $teacher->last_name) }}</p>
+                        </div> --}}
+                        @endif
+                        <div class="alert" style="background-color:white; padding: 3px 7px; margin-bottom: 0px;">
+                            <span style="margin: 0px;">{{$teacher->first_name}} {{$teacher->last_name}}</span></br>
+                            <span class="text-muted" style="font-weight: 500;">{{$teacher->designation}}</span></br>
+                            @if($teacher->others_department)
+                                <span class="text-muted" style="font-weight: 500;">{{$teacher->others_department}}</span>
+                            @else
+                                <span class="text-muted" style="font-weight: 500;">{{cn($teacher,'department_name.name','')}}</span>
+                            @endif
+                            <span> . </span>
+                            @if($teacher->university_name)
+                                <span class="text-muted" style="font-weight: 500;">{{$teacher->university_name}}</span>
+                            @else
+                                <span class="text-muted" style="font-weight: 500;">{{cn($teacher,'university.name','')}}</span>
+                            @endif
+                        </div>
+                    </div>
+
+                </div>
+            </div>
+        </div>
+
+        <div class="middle p-3 mt-3" style="background-color:white; border-radius:6px;">
+            <p style="font-size: 16px; font-weight: bold; margin-bottom: 0px !important;">Please select which proposal you want to send</p>
+            <div class="alert mb-3 propose" style="padding: 0px; margin-bottom: 0px">
+                <div style="width:100%;">
+                    @if(count($proposal) > 0)
+                    @foreach($proposal as $row)
+                    <div class="p-2" style="border-bottom: 2px solid #eee;">
+                        <div class="custom-control custom-radio custom-control-inline">
+                            <div class="form-check mb-0">
+                                <input class="form-check-input mt-2" type="radio" name="proposal_id" value="{{$row->id}}" id="flexRadioDefault1">
+                                <label class="form-check-label" for="flexRadioDefault1" style="font-weight: 600 !important; font-size: 13px;">{{$row->title}}</label></br>
+                                <span class="label_badge_radius" style="background-image: linear-gradient(90deg,rgba(46,17,83,.19),#f5f4fd); font-weight: 400 !important; font-size: 10px;">Ref. ({{ $row->proposal_ref}})</span>
+                            </div>
+                        </div>
+                    </div>
+                    @endforeach
+                    @else
+                    <div class="col md-4 mt-1">
+                        <div class="col-md-12">
+                            <span class="alert mt-3" role="alert" style="font-size: 12px !important; border-radius: .55rem; padding: 8px 12px; margin-top: 6px; background: #fff0d6; color: #fdad2a; border-color: #ffebca; border-width: 3px; border-style: double;"> <i class="fa fa-warning" style="font-size: 11px; margin-right: 5px; color: #fdad2a !important; top: 0px; position: relative;"></i>No proposal available!</span>
+                        </div>
+                    </div>
+                    @endif
+
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="container mt-3">
+        <div class="col-md-12 p-3" style="background-color:white; border-radius:6px;">
+            <p style="margin:0px; font-size: 16px; font-weight: bold;">Select propose start date</p>
+            <div class="row">
+                <div class="col-md-6">
+                    <div class="mb-1">
+                            <label class="form-label"></label>
+                        <div class="form-icon position-relative" style="margin-top: -10px;">
+                            <select name="startdate" id="start date" class="form-control frm" required=""  style="font-size: 13px;">
+                                <option disabled="" selected="" value="">Year</option>
+                                @foreach($years as $year)
+                                <option value="{{$year}}">{{$year}}</option>
+                                @endforeach
+                            </select>
+                        </div>
+                    </div>
+                </div>
+                <div class="col-md-6">
+                    <div class="mb-1">
+                            <label class="form-label"></label>
+                        <div class="form-icon position-relative" style="margin-top: -10px;">
+                            <select name="startmonth" id="month" class="form-control frm" required="">
+                                <option disabled="" selected="" value="">Month</option>
+                                @for($i=1; $i<=12; $i++)
+                                    <option value="{{ date('m', mktime(0, 0, 0, $i, 1)) }}">{{ date('F', mktime(0, 0, 0, $i, 1)) }}</option>
+                                @endfor
+                            </select>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="col-md-12 text-end">
+            <button type="submit" class="btn btn1 mt-3 mb-3" style="padding: 3px 18px;">Submit</button>
+        </div>
+    </div>
+</form>
+
+<script>
+    $(function(){
+        // $('.select2').select2();
+        $('#modal_page_footer').hide();
+    });
+    </script>
+@endsection

+ 14 - 2
sql/update.sql

@@ -171,7 +171,7 @@ ALTER TABLE `users`
 	ADD COLUMN `is_education` TINYINT(1) NULL DEFAULT NULL COMMENT '1=yes, 2=no' AFTER `is_publication`;
 
 ALTER TABLE `users`
-	ADD COLUMN `freez_profile` TINYINT(4) NULL DEFAULT 0 AFTER `id`; 
+	ADD COLUMN `freez_profile` TINYINT(4) NULL DEFAULT 0 AFTER `id`;
 
 ALTER TABLE `users`
 	CHANGE COLUMN `user_type` `user_type` TINYINT(4) NULL DEFAULT NULL COMMENT '1=student, 2=teacher' AFTER `save_as_complete`,
@@ -192,4 +192,16 @@ ALTER TABLE `users`
 	ADD COLUMN `university_id` INT(11) NULL DEFAULT NULL AFTER `university_name`;
 
 ALTER TABLE `users`
-	CHANGE COLUMN `department` `department` INT(11) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci' AFTER `university_id`;
+	CHANGE COLUMN `department` `department` INT(11) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci' AFTER `university_id`;
+
+ALTER TABLE `student_proposals`
+	CHANGE COLUMN `start_year` `start_year` INT(10) UNSIGNED NULL DEFAULT NULL AFTER `proposal_id`,
+	CHANGE COLUMN `start_month` `start_month` INT(10) UNSIGNED NULL DEFAULT NULL AFTER `start_year`,
+	CHANGE COLUMN `created_by` `created_by` INT(10) UNSIGNED NULL DEFAULT NULL AFTER `start_month`
+
+
+ALTER TABLE `student_proposals`
+	ADD COLUMN `proposal_submit_status` TINYINT(4) NULL DEFAULT '0' AFTER `start_month`;
+
+ALTER TABLE `student_proposals`
+	ADD COLUMN `submitted_date` DATETIME NULL DEFAULT NULL AFTER `proposal_submit_status`;