Ejemplo n.º 1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     //
     $rules = ['issueNo' => 'required', 'user_id' => 'required', 'createdDate' => 'required', 'type' => 'required', 'project_id' => 'required', 'sendDate' => 'required', 'question' => 'required'];
     $this->validate($request, $rules);
     $issue = new Issue(array('issueNo' => $request->get('issueNo'), 'createdDate' => $request->get('createdDate'), 'type' => $request->get('type'), 'status' => '等待回覆'));
     $project = Project::findOrFail($request->get('project_id'));
     $issue->project()->associate($project);
     $user = User::findOrFail($request->get('user_id'));
     $issue->user()->associate($user);
     $issue->save();
     foreach ($request->get('sendList') as &$receiver) {
         if (empty($sendList)) {
             if ($receiver == '業務') {
                 $target_id = $project->salesman;
             } elseif ($receiver == '業務主管') {
                 $target = User::where('job', '業務主管')->firstOrFail();
                 $target_id = $target->id;
             } elseif ($receiver == '產品專員') {
                 $target = User::where('job', '產品專員')->firstOrFail();
                 $target_id = $target->id;
             } elseif ($receiver == '總經理') {
                 $target = User::where('job', '總經理')->firstOrFail();
                 $target_id = $target->id;
             }
             $sendList = $target_id;
         } else {
             if ($receiver == '業務') {
                 $target_id = $project->salesman;
             } elseif ($receiver == '業務主管') {
                 $target = User::where('job', '業務主管')->firstOrFail();
                 $target_id = $target->id;
             } elseif ($receiver == '產品專員') {
                 $target = User::where('job', '產品專員')->firstOrFail();
                 $target_id = $target->id;
             } elseif ($receiver == '總經理') {
                 $target = User::where('job', '總經理')->firstOrFail();
                 $target_id = $target->id;
             }
             $sendList = $sendList . "|" . $target_id;
         }
     }
     $question = new Question(array('question' => $request->get('question'), 'sendDate' => $request->get('sendDate'), 'type' => $request->get('type'), 'sendList' => $sendList, 'status' => '等待回覆'));
     $question->issue()->associate($issue);
     $sender = User::find(\Auth::id());
     $question->sender()->associate($sender);
     $question->save();
     Mail::send('emails.issueSend', ['user' => $user], function ($m) use($user) {
         $m->to($user->email, $user->name)->subject('Your issue has been forwarded!');
     });
     return \Redirect::to('issue/index')->with('message', 'Your Issue has been created!');
 }