TeacherHomeController.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  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($hash){
  38. $user = Auth::guard('teacher')->user();
  39. $hashids=new \Hashids\Hashids('application', 25);
  40. $hash_ids=$hashids->decode($hash);
  41. if(empty($hash_ids[0])) abort(404);
  42. $proposal_details = StudentProposal::find($hash_ids);
  43. $education_history =Institution::where(
  44. 'student_id',$proposal_details->student_id
  45. )->orderBy('id','desc')->get();
  46. $experience =Workexperience::where(
  47. 'student_id',$proposal_details->student_id
  48. )->get();
  49. if(isset($experience)){
  50. $work_experince =[];
  51. foreach($experience as $key=>$row){
  52. array_push($work_experince,$row->start_date);
  53. array_push($work_experince,$row->end_date);
  54. }
  55. $start_date = current($work_experince);
  56. $end_date = end($work_experince);
  57. }
  58. $doc_info =Requirement::where(
  59. 'std_proposal_id',$proposal_details->id
  60. )->get();
  61. return view('teacher.student_proposal_details',compact('hash_ids','proposal_details','education_history','start_date','end_date','doc_info'));
  62. }
  63. public function search()
  64. {
  65. $input = Input::all();
  66. $request = (object) $input;
  67. $carbon=new \Carbon\Carbon;
  68. $teacher = Auth::guard('teacher')->user();
  69. $students = StudentProposal::where(
  70. 'proposal_submit_status',1
  71. )->where(
  72. 'teacher_id',$teacher->id
  73. )->orderBy('id','desc');
  74. if ($request->apply_ref) {
  75. $students->where('student_apply_ref',$request->apply_ref);
  76. }
  77. if (isset($input['proposal_status'])) {
  78. $students->where('proposal_status',$input['proposal_status']);
  79. }
  80. if($request->submitted_date){
  81. $date_array = explode("to",$request->submitted_date);
  82. $from_date = date('d-m-Y', strtotime($date_array[0]));
  83. $to_date = date('d-m-Y', strtotime($date_array[1]));
  84. $start_date=$carbon->parse($from_date)->toDateString();
  85. $end_date=$carbon->parse($to_date)->toDateString();
  86. $students->whereRaw("DATE(submitted_date) >= ? AND DATE(submitted_date) <= ?", [$start_date, $end_date]);
  87. }
  88. if($request->preffered_start_date){
  89. $date_array = explode("to",$request->preffered_start_date);
  90. $from_month_year = date('m-Y', strtotime($date_array[0])); //01-06-2023
  91. $to_month_year = date('m-Y', strtotime($date_array[1]));//31-07-2023
  92. $start_date=$carbon->parse('01-'.$from_month_year)->toDateString();
  93. $end_date=$carbon->parse('01-'.$to_month_year)->toDateString();
  94. $students->whereRaw("DATE(preferred_start_date) >= ? AND DATE(preferred_start_date) <= ?", [$start_date, $end_date]);
  95. }
  96. $data=[
  97. 'students' => $students->get(),
  98. 'user'=> Auth::guard('teacher')->user(),
  99. ];
  100. return view('teacher.load_application',$data);
  101. }
  102. }