ModalController.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use App\Http\Controllers\Controller;
  5. use App\Proposal;
  6. use App\User;
  7. use App\StudentProposal;
  8. use Hash;
  9. use DB;
  10. use Session;
  11. use Auth;
  12. use Mail;
  13. class ModalController extends Controller{
  14. public function get(Request $req, $name){
  15. $user = Auth::user();
  16. $carbon=new \Carbon\Carbon;
  17. $data=[
  18. 'name'=>$name,
  19. 'carbon'=>$carbon
  20. ];
  21. if($name=="apply_student_proposal"){
  22. $data['teacher'] = User::find($req->id);
  23. $data['student'] = User::find($user->id);
  24. $data['proposal']= Proposal::where('student_id',$user->id)->get();
  25. }elseif($name=="view_apply_proposal"){
  26. $data['std_proposal'] =StudentProposal::find($req->id);
  27. } else $name='default';
  28. return view("modal_pages.{$name}", $data);
  29. }
  30. public function post(Request $req, $name){
  31. $user=\Auth::user();
  32. $carbon=new \Carbon\Carbon;
  33. if($name=='apply_student_proposal'){
  34. $validator=\Validator::make($req->all(), [
  35. 'proposal_id'=>'required',
  36. 'startdate'=>'required',
  37. 'startmonth'=>'required',
  38. ]);
  39. if($validator->fails()){
  40. $errors=$validator->errors()->all();
  41. return response(['msg'=>$errors[0]], 422);
  42. }
  43. $student_proposal =new StudentProposal;
  44. $student_proposal->student_id =$req->student_id;
  45. $student_proposal->teacher_id =$req->teacher_id;
  46. $student_proposal->proposal_id =$req->proposal_id;
  47. $student_proposal->start_year =$req->startdate;
  48. $student_proposal->start_month =$req->startmonth;
  49. $student_proposal->created_by =$user->id;
  50. $student_proposal->student_apply_ref =studentRefNoGenerate();
  51. $student_proposal->save();
  52. $user =User::find($req->id);
  53. if($user){
  54. $data['name'] = $user->first_name.' '.$user->last_name;
  55. $user_mail =$user->email;
  56. $from = 'test@mail.com';
  57. Mail::send('email.send_apply_student_teacher_email',$data, function ($message) use ($user_mail,$from) {
  58. $message->from($from);
  59. $message->to($user_mail)->subject('New Email Send to you');
  60. });
  61. }
  62. return response(['msg'=>'Proposal send successfully.']);
  63. }
  64. return response(['msg'=>'No name argument found.'], 403);
  65. }
  66. }