Mostafijur Rahman 1 year ago
parent
commit
e07c015ca8

+ 5 - 2
app/Http/Controllers/Admin/AdminController.php

@@ -7,6 +7,7 @@ use Illuminate\Http\Request;
 use App\User;
 use App\User;
 use App\Country;
 use App\Country;
 use App\Models\MarketCountry;
 use App\Models\MarketCountry;
+use App\Models\ReferUser;
 use Auth;
 use Auth;
 use Mail;
 use Mail;
 use Session;
 use Session;
@@ -54,12 +55,14 @@ class AdminController extends Controller
                 'market_countries.*', \DB::raw('(SELECT name FROM countries WHERE market_countries.country_id = countries.id ) as sort')
                 'market_countries.*', \DB::raw('(SELECT name FROM countries WHERE market_countries.country_id = countries.id ) as sort')
             )->orderBy('sort')->get();
             )->orderBy('sort')->get();
             
             
-        
+        $refer_users =ReferUser::orderBy('id','DESC')->get();
+
         $data =[
         $data =[
           'register_teachers_list'=>$register_teachers_list , 
           'register_teachers_list'=>$register_teachers_list , 
           'active_teachers_list'=>$active_teachers_list, 
           'active_teachers_list'=>$active_teachers_list, 
           'register_student_list'=>$register_student_list , 
           'register_student_list'=>$register_student_list , 
-          'market_countries'=>$market_countries  
+          'market_countries'=>$market_countries,  
+          'refer_users'=>$refer_users  
         ];
         ];
         return view('admin.admin_profile',$data);
         return view('admin.admin_profile',$data);
     }
     }

+ 19 - 8
app/Http/Controllers/AjaxController.php

@@ -176,8 +176,7 @@ class AjaxController extends Controller
                 ['msg'=>'Saved successfully.']
                 ['msg'=>'Saved successfully.']
             ); 
             ); 
         }elseif($name=="add_refer_user"){
         }elseif($name=="add_refer_user"){
-            $user =Auth::user(); 
-
+            $user =Auth::user();  
             $validator=\Validator::make($req->all(), [
             $validator=\Validator::make($req->all(), [
                 'name'=>'required', 
                 'name'=>'required', 
                 'email'=>'required|email|max:255|unique:refer_users' 
                 'email'=>'required|email|max:255|unique:refer_users' 
@@ -196,12 +195,24 @@ class AjaxController extends Controller
                 );
                 );
             }
             }
 
 
-            $data =new ReferUser; 
-            $data->name =$req->name; 
-            $data->email =$req->email;  
-            $data->refer_by =$user->id;  
-            $data->teacher_id =$std_proposal->teacher_id;  
-            $data->save();
+            $refer =new ReferUser; 
+            $refer->name =$req->name; 
+            $refer->email =$req->email;  
+            $refer->refer_by =$user->id;  
+            $refer->teacher_id =$std_proposal->teacher_id;  
+            $refer->save();
+
+            if($refer->save()){
+                $data['name'] = $refer->name;  
+                $data['applicant_name'] = $user->first_name.' '.$user->last_name;  
+                $user_mail = $refer->email;
+                $from = 'test@mail.com'; 
+            
+                Mail::send('email.refer_email',$data, function ($message) use ($user_mail,$from) {
+                    $message->from($from);
+                    $message->to($user_mail)->subject('New Email Send to you');
+                });
+            } 
 
 
             return response(
             return response(
                 ['msg'=>'Refer saved successfully.']
                 ['msg'=>'Refer saved successfully.']

+ 10 - 1
app/Http/Controllers/Auth/RegisterController.php

@@ -5,11 +5,12 @@ namespace App\Http\Controllers\Auth;
 use App\Http\Controllers\Controller;
 use App\Http\Controllers\Controller;
 use App\Providers\RouteServiceProvider;
 use App\Providers\RouteServiceProvider;
 use App\User;
 use App\User;
+use Illuminate\Support\Facades\Validator;
 use Illuminate\Foundation\Auth\RegistersUsers;
 use Illuminate\Foundation\Auth\RegistersUsers;
 use Illuminate\Support\Facades\Mail;
 use Illuminate\Support\Facades\Mail;
 use Illuminate\Support\Facades\Hash;
 use Illuminate\Support\Facades\Hash;
 use App\Mail\SignUp;
 use App\Mail\SignUp;
-use Illuminate\Support\Facades\Validator;
+use App\Models\ReferUser;
 use Auth;
 use Auth;
 
 
 class RegisterController extends Controller
 class RegisterController extends Controller
@@ -85,6 +86,14 @@ class RegisterController extends Controller
                 'user_type' => $data['user_type'],
                 'user_type' => $data['user_type'],
                 'password' => Hash::make($data['password'])
                 'password' => Hash::make($data['password'])
             ]);
             ]);
+
+            $refer_user_exists = ReferUser::where('email',$data['email'])->first();
+             
+            if($refer_user_exists){ 
+                $refer_user_exists->signup =1;
+                $refer_user_exists->update();
+            }
+
             Mail::to('test@mail.com')->send(new SignUp($data->id));
             Mail::to('test@mail.com')->send(new SignUp($data->id));
 
 
         }  
         }  

+ 38 - 1
app/Http/Controllers/ModalController.php

@@ -7,6 +7,7 @@ use App\Http\Controllers\Controller;
 use App\Proposal;
 use App\Proposal;
 use App\User;
 use App\User;
 use App\StudentProposal;
 use App\StudentProposal;
+use App\Models\ReferUser;
 use Hash;
 use Hash;
 use DB;
 use DB;
 use Session;
 use Session;
@@ -40,7 +41,9 @@ class ModalController extends Controller{
 
 
         }elseif($name=="add_destination"){
         }elseif($name=="add_destination"){
 
 
-        }elseif($name=="change_password"){
+        }elseif($name=="add_wishlist"){
+            $user =Auth::guard('teacher')->user();
+            $data['refer'] = new ReferUser;
 
 
         }else $name='default';
         }else $name='default';
 
 
@@ -119,6 +122,40 @@ class ModalController extends Controller{
            
            
             return response(['msg'=>'Proposal send successfully.']);
             return response(['msg'=>'Proposal send successfully.']);
 
 
+        }elseif($name=="add_wishlist"){
+            $user =Auth::guard('teacher')->user();
+            $validator=\Validator::make($req->all(), [
+                'name'=>'required', 
+                'email'=>'required|email|max:255|unique:refer_users' 
+            ]); 
+
+            if($validator->fails()){
+                $errors=$validator->errors()->all();
+                return response(['msg'=>$errors[0]], 422);
+            }
+
+            $refer =new ReferUser; 
+            $refer->name =$req->name; 
+            $refer->email =$req->email;  
+            $refer->refer_by =$user->id;  
+            $refer->teacher_id =$user->id;  
+            $refer->save();
+
+            if($refer->save()){
+                $data['name'] = $refer->name;  
+                $data['applicant_name'] = $user->first_name.' '.$user->last_name;  
+                $user_mail = $refer->email;
+                $from = 'test@mail.com'; 
+            
+                Mail::send('email.refer_email',$data, function ($message) use ($user_mail,$from) {
+                    $message->from($from);
+                    $message->to($user_mail)->subject('New Email Send to you');
+                });
+            } 
+
+            return response(
+                ['msg'=>'Refer saved successfully.']
+            );
         } 
         } 
 
 
         return response(['msg'=>'No name argument found.'], 403);
         return response(['msg'=>'No name argument found.'], 403);

+ 2 - 3
app/Http/Controllers/TeacherAuth/RegisterController.php

@@ -9,7 +9,7 @@ use Illuminate\Foundation\Auth\RegistersUsers;
 use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\Auth;
 use App\Mail\SignUp;
 use App\Mail\SignUp;
 use App\User;
 use App\User;
-use App\Models\Department;
+use App\Models\Department; 
 use Hash;
 use Hash;
 use Mail;
 use Mail;
 
 
@@ -83,8 +83,7 @@ class RegisterController extends Controller
             'uni_website' => $req->universitywebsite,
             'uni_website' => $req->universitywebsite,
             'user_type' => $req->user_type,
             'user_type' => $req->user_type,
             'ref_no' => name_initials($req->firstname,$req->lastname).''.teacherRefNoGenerate(),
             'ref_no' => name_initials($req->firstname,$req->lastname).''.teacherRefNoGenerate(),
-        ]);
-
+        ]); 
        //Mail::to('test@mail.com')->send(new SignUp($data->id));
        //Mail::to('test@mail.com')->send(new SignUp($data->id));
 
 
         $data['name'] = $user_data->first_name.' '.$user_data->last_name;  
         $data['name'] = $user_data->first_name.' '.$user_data->last_name;  

+ 4 - 2
app/Http/Controllers/TeacherHomeController.php

@@ -6,6 +6,7 @@ use Illuminate\Http\Request;
 use App\User;
 use App\User;
 use App\StudentProposal;
 use App\StudentProposal;
 use App\Models\Department;
 use App\Models\Department;
+use App\Models\ReferUser;
 use Auth;
 use Auth;
 
 
 class TeacherHomeController extends Controller
 class TeacherHomeController extends Controller
@@ -15,10 +16,11 @@ class TeacherHomeController extends Controller
        $this->middleware('teacher');
        $this->middleware('teacher');
    } 
    } 
     public function teacher_profile(Request $request)
     public function teacher_profile(Request $request)
-    {   $user = Auth::guard('teacher')->user();
+    {   $user = Auth::guard('teacher')->user(); 
         $students = StudentProposal::where('teacher_id',$user->id)->get(); 
         $students = StudentProposal::where('teacher_id',$user->id)->get(); 
         $departments =Department::where('status',1)->orderBy('name','ASC')->get();
         $departments =Department::where('status',1)->orderBy('name','ASC')->get();
-        return view('teacher_profile',compact('students','user','departments'));
+        $refer_users =ReferUser::where('teacher_id',$user->id)->orderBy('id','DESC')->get();
+        return view('teacher_profile',compact('students','user','departments','refer_users'));
     }
     }
 
 
     
     

+ 9 - 0
app/Models/ReferUser.php

@@ -7,4 +7,13 @@ use Illuminate\Database\Eloquent\Model;
 class ReferUser extends Model
 class ReferUser extends Model
 {
 {
     protected $guarded=['id']; 
     protected $guarded=['id']; 
+
+    public function refer_by_user(){
+        return $this->belongsTo('App\User','refer_by');
+    }
+
+    public function refer_signup_user(){
+        return $this->belongsTo('App\User','email');
+    }
+
 }
 }

+ 27 - 9
resources/views/admin/admin_profile.blade.php

@@ -609,17 +609,35 @@ tbody, td, tfoot, th, thead, tr {
                                                                             </tr>
                                                                             </tr>
                                                                         </thead>
                                                                         </thead>
                                                                             <tbody>
                                                                             <tbody>
+                                                                                @if(count($refer_users) > 0)
+                                                                                    @foreach($refer_users as $key=>$row)
+                                                                                    <tr>
+                                                                                        <td style="font-size: 11px;">{{$key+1}}</td>
+                                                                                        <td style="font-size: 11px;">{{$row->name}}</td>
+                                                                                        <td style="font-size: 11px;">{{$row->email}}</td>
+                                                                                        <td style="font-size: 11px;">{{date('y M', strtotime($row->created_at))}}</td>
+                                                                                        <td style="font-size: 11px;">{{cn($row, 'refer_by_user.first_name','')}} {{cn($row, 'refer_by_user.last_name','')}}</td>
+                                                                                        <td style="font-size: 11px; text-align:center;">
+                                                                                            @if($row->signup==1)
+                                                                                            <span class="label_badge_radius" style="background-color: #d8fdd8; color: green;">Yes</span><br>
+                                                                                            @php 
+                                                                                                $refer_signup_user = \App\User::where('email',$row->email)->first();
+                                                                                            @endphp
+                                                                                            @if($refer_signup_user)
+                                                                                            <span>{{date('y M', strtotime($refer_signup_user->created_at))}}</span>
+                                                                                            @endif
+                                                                                            @else
+                                                                                            <span class="label_badge_radius" style="background-color: #d8fdd8; color: rgb(230, 13, 13);">No</span><br>
+                                                                                            @endif
+                                                                                            
+                                                                                        </td>
+                                                                                    </tr>
+                                                                                    @endforeach
+                                                                                @else
                                                                                 <tr>
                                                                                 <tr>
-                                                                                    <td style="font-size: 11px;">1</td>
-                                                                                    <td style="font-size: 11px;">Mr X</td>
-                                                                                    <td style="font-size: 11px;">x@mail.com</td>
-                                                                                    <td style="font-size: 11px;">20 Mar</td>
-                                                                                    <td style="font-size: 11px;">Mr z</td>
-                                                                                    <td style="font-size: 11px; text-align:center;">
-                                                                                        <span class="label_badge_radius" style="background-color: #d8fdd8; color: green;">Yes</span><br>
-                                                                                        <span>23 Mar</span>
-                                                                                    </td>
+                                                                                    <td colspan="6" class="text-center text-danger">No data found!</td>
                                                                                 </tr>
                                                                                 </tr>
+                                                                                @endif 
                                                                         </tbody>
                                                                         </tbody>
                                                                     </table>
                                                                     </table>
                                                                 </div>
                                                                 </div>

+ 3 - 3
resources/views/email/refer_email.blade.php

@@ -80,16 +80,16 @@
                         <div class="col-md-9">
                         <div class="col-md-9">
                             <div class="card rounded border-0 shadow p-5" style="background-color:white;">
                             <div class="card rounded border-0 shadow p-5" style="background-color:white;">
                                 <h3 style="text-align: center; font-family:Ubuntu !important; color: #3c4858 !important; font-size: 30px !important;">Research Admission</h3>
                                 <h3 style="text-align: center; font-family:Ubuntu !important; color: #3c4858 !important; font-size: 30px !important;">Research Admission</h3>
-                                <p class="mt-5">Dear name,</p>
+                                <p class="mt-5">Dear {{$name}},</p>
                                 <p class="mt-3">I have found the Research Admission Platform incredibly helpful in my own search for a research supervisor. The platform is a free and easy-to-use tool that can help you connect with potential supervisors.</p>
                                 <p class="mt-3">I have found the Research Admission Platform incredibly helpful in my own search for a research supervisor. The platform is a free and easy-to-use tool that can help you connect with potential supervisors.</p>
                                 <p class="mt-2"> It allows you to submit your research proposal to multiple supervisors with just a few clicks. You can then track the real-time status of your application and receive a decision quickly. I found this feature particularly useful, as it allowed me to keep track of the progress of my applications without having to constantly follow up with supervisors.</p>
                                 <p class="mt-2"> It allows you to submit your research proposal to multiple supervisors with just a few clicks. You can then track the real-time status of your application and receive a decision quickly. I found this feature particularly useful, as it allowed me to keep track of the progress of my applications without having to constantly follow up with supervisors.</p>
                                 <p class="mt-2"> I think you would find it to be a valuable resource in your own search for a research supervisor. It's free to use and can save you a lot of time and effort in finding the right match for your research interests. If you have any questions about the platform or would like some help getting started, please don't hesitate to reach out to me.</p>
                                 <p class="mt-2"> I think you would find it to be a valuable resource in your own search for a research supervisor. It's free to use and can save you a lot of time and effort in finding the right match for your research interests. If you have any questions about the platform or would like some help getting started, please don't hesitate to reach out to me.</p>
                                 <p class="mt-2" style="margin: 0px;">Best regards,</p>
                                 <p class="mt-2" style="margin: 0px;">Best regards,</p>
-                                <h6>Applicant name</h6>
+                                <h4>{{$applicant_name}}</h4>
                                     <div style="border-top: 1px solid #eee;">
                                     <div style="border-top: 1px solid #eee;">
                                     <p class="mt-3 tmail" style="font-style: italic;">This email was sent to example@gmail.com</p>
                                     <p class="mt-3 tmail" style="font-style: italic;">This email was sent to example@gmail.com</p>
                                 </div>
                                 </div>
-                                <p class="mt-3 tmail" style="font-size: 12px;">Copyright © 2023 Research Admission</p>
+                                <p class="mt-3 tmail" style="font-size: 12px;">Copyright © {{date('Y')}} Research Admission</p>
                             </div>
                             </div>
                         </div>
                         </div>
                     </div><!--end row-->
                     </div><!--end row-->

+ 2 - 1
resources/views/modal_pages/change_password.blade.php → resources/views/modal_pages/add_wishlist.blade.php

@@ -24,7 +24,8 @@
     <div class="container" style="background-color: white; border-radius: 6px;">
     <div class="container" style="background-color: white; border-radius: 6px;">
         <div class="row">
         <div class="row">
             <div class="co-md-12 p-3">
             <div class="co-md-12 p-3">
-                <form class="login-form">
+                <form class="ajax-form" action="{{ url()->current() }}" method="POST" enctype="multipart/form-data">
+                {{ csrf_field() }}
                     <div class="row">
                     <div class="row">
                         <div class="col-md-12">
                         <div class="col-md-12">
                             <div class="mb-3">
                             <div class="mb-3">

+ 14 - 6
resources/views/teacher_profile.blade.php

@@ -328,7 +328,7 @@ tbody, td, tfoot, th, thead, tr {
                             <div class="col-md-2" style="display:flex;">
                             <div class="col-md-2" style="display:flex;">
                                 <ul class="nav navbar-nav align-items-center ml-auto header_right ps-2">
                                 <ul class="nav navbar-nav align-items-center ml-auto header_right ps-2">
                                     <li class="nav-item dropdown dropdown-notification">
                                     <li class="nav-item dropdown dropdown-notification">
-                                        <a href="javascript:void(0)" class="open_modal_page" data-url="{{route('modal-get',['name'=>'change_password'])}}" data-title="Wishlist">
+                                        <a href="javascript:void(0)" class="open_modal_page" data-url="{{route('modal-get',['name'=>'add_wishlist'])}}" data-title="Wishlist">
                                         <button class="btn btn2">New lead</button>    
                                         <button class="btn btn2">New lead</button>    
                                         </a>
                                         </a>
                                     </li>
                                     </li>
@@ -612,13 +612,21 @@ tbody, td, tfoot, th, thead, tr {
                                         </tr>
                                         </tr>
                                     </thead>
                                     </thead>
                                     <tbody>
                                     <tbody>
+                                        @if(count($refer_users) > 0)
+                                        @foreach($refer_users as $key=>$row)
                                         <tr>
                                         <tr>
-                                            <td style="font-size: 11px;">1</td>
-                                            <td style="font-size: 11px;">Mr X</td>
-                                            <td style="font-size: 11px;">x@mail.com</td>
-                                            <td style="font-size: 11px;">20 Mar</td>
-                                            <td style="font-size: 11px;">23 Mar</td>
+                                            <td style="font-size: 11px;">{{$key+1}}</td>
+                                            <td style="font-size: 11px;">{{$row->name}}</td>
+                                            <td style="font-size: 11px;">{{$row->email}}</td>
+                                            <td style="font-size: 11px;">{{cn($row, 'refer_by_user.first_name','')}} {{cn($row, 'refer_by_user.last_name','')}}</td>
+                                            <td style="font-size: 11px;">{{date('y M', strtotime($row->created_at))}}</td>
+                                        </tr>
+                                        @endforeach
+                                        @else
+                                        <tr>
+                                            <td colspan="5" class="text-center text-danger">No data found!</td>
                                         </tr>
                                         </tr>
+                                        @endif
                                     </tbody>
                                     </tbody>
                                 </table>
                                 </table>
                             </div>
                             </div>