TeacherHomeController.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use App\User;
  5. use App\StudentProposal;
  6. use App\Models\Department;
  7. use App\Models\ReferUser;
  8. use App\Models\University;
  9. use App\Models\Requirement;
  10. use App\Institution;
  11. use App\Workexperience;
  12. use Auth;
  13. use Input;
  14. class TeacherHomeController extends Controller
  15. {
  16. public function __construct()
  17. {
  18. $this->middleware('teacher');
  19. }
  20. public function teacher_profile(Request $request)
  21. { $user = Auth::guard('teacher')->user();
  22. $students = StudentProposal::where(
  23. 'teacher_id',$user->id
  24. )->where(
  25. 'proposal_submit_status',1
  26. )->get();
  27. $departments =Department::where('status',1)->orderBy('name','ASC')->get();
  28. // $refer_users =ReferUser::where('teacher_id',$user->id)->orderBy('id','DESC')->get();
  29. $refer_users =User::where(
  30. 'wishlist_teacher_id',$user->id
  31. )->whereIn(
  32. 'register_type',[3,4] // 3=q_form; 4= wishlist
  33. )->orderBy('id','DESC')->get();
  34. $universities =University::orderBy('name','ASC')->get();
  35. return view('teacher_profile',compact('students','user','departments','refer_users','universities'));
  36. }
  37. public function student_proposal_details($id){
  38. $user = Auth::guard('teacher')->user();
  39. $proposal_details = StudentProposal::find($id);
  40. $education_history =Institution::where(
  41. 'student_id',$proposal_details->student_id
  42. )->orderBy('id','desc')->get();
  43. $experience =Workexperience::where(
  44. 'student_id',$proposal_details->student_id
  45. )->get();
  46. if(isset($experience)){
  47. $work_experince =[];
  48. foreach($experience as $key=>$row){
  49. array_push($work_experince,$row->start_date);
  50. array_push($work_experince,$row->end_date);
  51. }
  52. $start_date = current($work_experince);
  53. $end_date = end($work_experince);
  54. }
  55. $doc_info =Requirement::where(
  56. 'std_proposal_id',$proposal_details->id
  57. )->get();
  58. return view('teacher.student_proposal_details',compact('proposal_details','education_history','start_date','end_date','doc_info'));
  59. }
  60. public function search()
  61. {
  62. $input = Input::all();
  63. $request = (object) $input;
  64. $carbon=new \Carbon\Carbon;
  65. $teacher = Auth::guard('teacher')->user();
  66. $students = StudentProposal::where(
  67. 'proposal_submit_status',1
  68. )->where(
  69. 'teacher_id',$teacher->id
  70. )->orderBy('id','desc');
  71. if ($request->apply_ref) {
  72. $students->where('student_apply_ref',$request->apply_ref);
  73. }
  74. if (isset($input['proposal_status'])) {
  75. $students->where('proposal_status',$input['proposal_status']);
  76. }
  77. if($request->submitted_date){
  78. $date_array = explode("to",$request->submitted_date);
  79. $from_date = date('d-m-Y', strtotime($date_array[0]));
  80. $to_date = date('d-m-Y', strtotime($date_array[1]));
  81. $start_date=$carbon->parse($from_date)->toDateString();
  82. $end_date=$carbon->parse($to_date)->toDateString();
  83. $students->whereRaw("DATE(submitted_date) >= ? AND DATE(submitted_date) <= ?", [$start_date, $end_date]);
  84. }
  85. if($request->preffered_start_date){
  86. $date_array = explode("to",$request->preffered_start_date);
  87. $from_month_year = date('m-Y', strtotime($date_array[0])); //01-06-2023
  88. $to_month_year = date('m-Y', strtotime($date_array[1]));//31-07-2023
  89. $start_date=$carbon->parse('01-'.$from_month_year)->toDateString();
  90. $end_date=$carbon->parse('01-'.$to_month_year)->toDateString();
  91. $students->whereRaw("DATE(preferred_start_date) >= ? AND DATE(preferred_start_date) <= ?", [$start_date, $end_date]);
  92. }
  93. $data=[
  94. 'students' => $students->get(),
  95. 'user'=> Auth::guard('teacher')->user(),
  96. ];
  97. return view('teacher.load_application',$data);
  98. }
  99. }