Browse Source

Refer User

Shah Rakibur Rahaman 1 year ago
parent
commit
5a7325a948

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

@@ -8,6 +8,8 @@ use App\User;
 use App\Models\MarketCountry;
 use App\Models\University;
 use App\Models\Department;
+use App\Models\ReferUser;
+use App\StudentProposal;
 use Session;
 use Mail;
 use Auth;
@@ -68,7 +70,7 @@ class AjaxController extends Controller
             } 
 
 		}elseif($name=="teacher_user_status_change"){
-
+            $user=auth_user('teacher'); 
             $teacher =User::find($req->id);
             $teacher->status =$req->status;
             $teacher->update();
@@ -173,6 +175,37 @@ class AjaxController extends Controller
             return response(
                 ['msg'=>'Saved successfully.']
             ); 
+        }elseif($name=="add_refer_user"){
+            $user =Auth::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);
+            }
+
+            $std_proposal =StudentProposal::where('student_id',$user->id)->first();
+            
+            if(empty($std_proposal)){
+                return response(
+                    ['msg'=>'Sorry! you have to submit a proposal first.'],403
+                );
+            }
+
+            $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();
+
+            return response(
+                ['msg'=>'Refer saved successfully.']
+            ); 
         }  
 	}
 }

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

@@ -67,6 +67,11 @@ class ModalController extends Controller{
                 return response(['msg'=>$errors[0]], 422);
             } 
 
+            $already_exists = StudentProposal::where('student_id',$req->student_id)->exists();
+            if($already_exists){
+                return response(['msg'=>'Sorry! you can not submit proposal.You already submitted.'],403);
+            }
+
             $student_proposal =new StudentProposal; 
             $student_proposal->student_id =$req->student_id;
             $student_proposal->teacher_id =$req->teacher_id;

+ 10 - 0
app/Models/ReferUser.php

@@ -0,0 +1,10 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class ReferUser extends Model
+{
+    protected $guarded=['id']; 
+}

+ 12 - 8
resources/views/auth/register.blade.php

@@ -48,6 +48,7 @@
         <link rel="preconnect" href="https://fonts.googleapis.com">
         <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
         <link href="https://fonts.googleapis.com/css2?family=Ubuntu:wght@700&display=swap" rel="stylesheet">
+        <link href="{{ asset('css/flatpickr/dist/flatpickr.min.css') }}" rel="stylesheet" type="text/css">
     </head>
     <style>
 h1, h2, h3, h4, h6 {
@@ -185,7 +186,7 @@ h5{
                                 <div class="col-md-12 back">
                                     <div>
                                         <!-- <label class="form-label">Date of Birth </label> -->
-                                        <input name="dob" type="text" class="form-control start" placeholder="Select your Date of Birth" autocomplete="off">
+                                        <input name="dob" type="text" class="form-control start" id="dob" placeholder="Select your Date of Birth" autocomplete="off">
                                     </div>
                                 </div>
                             </div>
@@ -250,15 +251,18 @@ h5{
       <script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.slim.min.js"></script>
       <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js"></script>
       <script src="{{asset('web/js/plugins.init.js')}}"></script>
-      <script src="{{asset('web/js/app.js')}}"></script>
-      <script src="{{asset('web/js/datepicker.min.js')}}"></script>
+      <script src="{{asset('web/js/app.js')}}"></script> 
       <script src="{{asset('web/js/bootstrap.bundle.min.js')}}"></script>
       <script src="{{asset('web/js/plugins.init.js')}}"></script>
       <script src="{{asset('web/js/app.js')}}"></script>
-<script>
-            $('.dob').datepicker({
-                dateFormat: 'yy-mm-dd',
-            }); 
-      </script>
+      <script src="{{ asset('css/flatpickr/dist/flatpickr.min.js') }}"></script>
+    <script>
+        $(function(){
+            $("#dob").flatpickr({
+                dateFormat: "d M Y",
+            });
+        });
+            
+    </script>
 </body>
 </html>

+ 52 - 6
resources/views/home.blade.php

@@ -50,13 +50,13 @@
                                                 <p class="mb-1" style="font-size:14px; font-weight:bold !important; color: #141639c4;">Refer a Friend</p>
                                                 <p  style="font-size: 13px;">Earn points by referring your friends or colleagues to register and submit their first application. Once they submit their application, you will receive the points.</p>                            
                                                 <div class="col-md-12">
-                                                    <form class="login-form">
+                                                    
                                                         <div class="row">
                                                             <div class="col-md-12">
                                                                 <div class="mb-3">
                                                                     <label class="form-label"></label>
                                                                     <div class="form-icon position-relative">
-                                                                        <input type="name" class="form-control" placeholder="Full Name" name="name" required="">
+                                                                        <input type="text" class="form-control" id="ref_name" placeholder="Full Name" name="name" required="">
                                                                     </div>
                                                                 </div>
                                                             </div>    
@@ -64,20 +64,20 @@
                                                                 <div class="mb-3">
                                                                     <label class="form-label"></label>
                                                                     <div class="form-icon position-relative">
-                                                                        <input type="email" class="form-control" placeholder="Email Address" name="email" required="">
+                                                                        <input type="email" class="form-control" id="ref_email" placeholder="Email Address" name="email" required="">
                                                                     </div>
                                                                 </div>
                                                             </div><!--end col-->
 
                                                             <div class="col-md-12">
                                                                 <div class="mt-2 mb-4 text-center">
-                                                                    <button type="submit" class="btn btn1" style="padding: 3px 18px;">
+                                                                    <button type="submit" class="btn btn1 refer_btn" style="padding: 3px 18px;">
                                                                         {{ __('Invite Now') }}
                                                                     </button>
                                                                 </div>
                                                             </div>
                                                         </div>
-                                                    </form>
+                                                    
                                                 </div>
                                             </div>
                                         </div>                                                           
@@ -157,6 +157,30 @@
 @push('js')
 
 <script>
+    function pop_up_msg(msg='No message specified', type='success', callback=null){ 
+        new Noty({
+        theme:'sunset',
+        text: msg,
+        type: type,
+        timeout:1500,
+        callbacks:{
+            afterClose: callback
+        }
+        }).show(); 
+    }
+
+    function err_msg(err){
+
+        var msg="Request failed to process, try again later.";
+
+        if(err.responseJSON && err.responseJSON.msg){
+        msg=err.responseJSON.msg;
+        }
+
+        return msg;
+
+    }
+
     $(function(){
         $('.search_button').on('click', function(){
             get_data();
@@ -183,7 +207,29 @@
                 pop_up_error_msg('Please type a Teacher Reference No.');
             }
           
-        } 
+        }
+        
+
+        $('.refer_btn').on('click', function(){ 
+                  
+                var name =$('#ref_name').val();
+                var email =$('#ref_email').val();
+
+                var form_data={
+                    _token: "{{ csrf_token() }}", 
+                    name: name,
+                    email: email, 
+                }
+
+                $.post("{{ route('ajax-post', ['name'=>'add_refer_user']) }}", form_data, function(res){ 
+                    pop_up_msg(res.msg); 
+
+                }).fail(function(err){
+
+                    pop_up_msg(err_msg(err), 'error');
+
+                }); 
+            });
         
     });
 </script>