コード例 #1
0
 /**
  * Add a new public message, public message file(s), and a public contact.
  *
  * @param Ticket $ticket
  * @param PublicMessageRequest $request
  * @param PublicContactRequest $contactRequest
  * @return PublicMessage
  */
 public function addNewPublicMessage(Ticket $ticket, PublicMessageRequest $request, PublicContactRequest $contactRequest)
 {
     // if a file was posted
     $publicMessageFile = new PublicMessageFile();
     if ($request->file('file')) {
         // save the file into storage and update the eloquent model
         Event::fire(new PublicMessageFileWasUploaded($request->file('file'), $publicMessageFile));
     }
     // add a new public message
     $message = new PublicMessage($request->all());
     $ticket->publicMessages()->save($message);
     // add new file to public message
     if ($publicMessageFile->toArray()) {
         $message->files()->save($publicMessageFile);
     }
     // add a new public contact
     $this->addNewPublicContact($ticket, $request, $contactRequest);
     Session::flash('new_public_message_id', $message->id);
     return $message;
 }