public function postSendMessage(Request $request, $property_id = NULL) { $rules = ['message' => 'required']; $this->validate($request, $rules); $property = Property::find($property_id); $property->load('agentList'); $user = Auth::user(); if ($property->agentList) { $agent = $property->agentList; } else { $agent = ProjectHelper::getDefaultAgent(); } $conversation = $user->getPropertyConversation($property); if ($conversation) { $agent = $conversation->recipient; } else { $conversation = $user->createPropertyConversation($property, $agent); } $message = new Message(['message' => $request->input('message')]); $message->sender()->associate($user); if ($agent) { $message->recipient()->associate($agent); } $message->referenced()->associate($property); $message->parentMessage()->associate($conversation); $message->save(); if ($request->ajax()) { $return = ['message' => ['id' => $message->id, 'text' => $message->message]]; return response()->json($return); } return redirect()->back()->with('messages', [trans('property.inbox.sent_message')]); }
public function getViewExternal(Request $request, $for, $location, $property) { $propertyListingCode = last(explode('-', $property)); if (strpos($propertyListingCode, 'go') === false) { $propertyObj = Property::find($propertyListingCode); } else { $propertyObj = Property::where('listing_code', $propertyListingCode)->first(); } return $this->getView($request, $propertyObj, true); }