public function assignToAgent(Request $request, $id)
 {
     $viewingSchedule = ViewingSchedule::findOrFail($id);
     if ($request->isMethod('POST')) {
         $conversation = $viewingSchedule->user->getPropertyConversation($viewingSchedule->property);
         if ($request->has('agent')) {
             $agent = User::findOrFail($request->input('agent'));
             $viewingSchedule->agent()->associate($agent);
             if ($conversation) {
                 $conversation->recipient()->associate($agent);
                 $conversation->save();
             }
             $message = 'Viewing Schedule has been assigned to ' . $agent->profile->singleName . '.';
         } else {
             $viewingSchedule->agent()->dissociate();
             if ($conversation) {
                 $conversation->recipient()->dissociate();
                 $conversation->save();
             }
             $message = 'Viewing Schedule is detached from Agent.';
         }
         $viewingSchedule->save();
         return redirect($request->get('backUrl', route('admin.viewing_schedule.index')))->with('messages', [$message]);
     }
     $agentOptions = AgentHelper::getAgentOptions();
     return view('admin.viewing_schedules.assign_to_agent', ['viewingSchedule' => $viewingSchedule, 'agentOptions' => $agentOptions]);
 }
Esempio n. 2
0
 /**
  * Get the validation rules that apply to the request.
  *
  * @return array
  */
 public function rules()
 {
     $allowedSubscriptions = Subscription::lists('slug')->all();
     $allowedStatus = array_keys(User::getStatusLabel());
     $routeName = $this->route()->getName();
     $rules = ['email' => 'required|email|max:255', 'password' => 'confirmed|min:6', 'status' => 'required|in:' . implode(',', $allowedStatus), 'profile.first_name' => 'required|min:2', 'profile.last_name' => 'min:2', 'profile.mobile_phone_number' => 'required|min:5', 'profile.profile_picture' => 'image|max:500', 'profile.address' => 'required', 'profile.province' => 'required|not_in:0', 'profile.city' => 'required|not_in:0', 'profile.subdistrict' => 'required|not_in:0', 'profile.postal_code' => ''];
     if ($this->get('role') != 'agent') {
         //$rules['username'] .= '|required';
     }
     if (in_array($routeName, ['admin.member.store', 'admin.member.update'])) {
         $rules['profile.extendedProfile.property_to_sell'] = 'required';
         $rules['profile.extendedProfile.property_to_let'] = 'required';
         $rules['profile.extendedProfile.referral_source'] = 'required';
     }
     if ($this->route()->hasParameter('id')) {
         $member = User::findOrFail($this->route('id'));
         //$rules['username'] = $rules['username'].'|unique:users,username,'.$member->id;
         $rules['email'] = $rules['email'] . '|unique:users,email,' . $member->id;
     } else {
         $rules['password'] = $rules['password'] . '|required';
         //$rules['username'] = $rules['username'].'|unique:users';
         $rules['email'] = $rules['email'] . '|unique:users';
     }
     foreach ($this->input('subscriptions', []) as $idx => $submittedSubscription) {
         $rules['subscriptions.' . $idx] = 'in:' . implode(',', $allowedSubscriptions);
     }
     return $rules;
 }
 public function assignToAgent(Request $request, $id)
 {
     $conversation = Message::findOrFail($id);
     if ($request->isMethod('POST')) {
         if ($request->has('agent')) {
             $agent = User::findOrFail($request->input('agent'));
             $conversation->recipient()->associate($agent);
             $message = 'Conversation has been assigned to ' . $agent->profile->singleName . '.';
         } else {
             $conversation->recipient()->dissociate();
             $message = 'Conversation is detached from Agent.';
         }
         $conversation->save();
         return redirect($request->get('backUrl', route('admin.customer_inquiry.index', ['type' => str_replace('_message', '', $conversation->type)])))->with('messages', [$message]);
     }
     $agentOptions = AgentHelper::getAgentOptions();
     return view('admin.customer_inquiry.assign_to_agent', ['conversation' => $conversation, 'agentOptions' => $agentOptions]);
 }
Esempio n. 4
0
 public function delete(Request $request, $id)
 {
     $user = User::findOrFail($id);
     $user->delete();
     return redirect($request->get('backUrl', route('admin.member.index')))->with('messages', [$user->getName() . ' has been deleted.']);
 }
Esempio n. 5
0
 public function delete(Request $request, $id)
 {
     if (!Auth::user()->is('administrator')) {
         return redirect()->back()->withErrors(['You are not authorized to do this.']);
     }
     $user = User::findOrFail($id);
     $user->delete();
     return redirect($request->get('backUrl', route('admin.agent.index')))->with('messages', [$user->getName() . ' has been deleted.']);
 }
Esempio n. 6
0
 public function assignToAgent(Request $request, $id)
 {
     $property = Property::findOrFail($id);
     $backUrl = $request->get('backUrl', route('admin.property.index'));
     if ($request->isMethod('POST')) {
         $backUrl = $request->input('backUrl', route('admin.property.index'));
         //Get remaining schedules for this property
         $viewingSchedules = $property->viewingSchedules()->where('viewing_from', '>', Carbon::now())->get();
         $conversations = $property->conversations;
         if ($request->has('agent')) {
             $agent = User::findOrFail($request->input('agent'));
             $property->agentList()->associate($agent);
             foreach ($viewingSchedules as $viewingSchedule) {
                 $viewingSchedule->agent()->associate($agent);
                 $viewingSchedule->save();
             }
             foreach ($conversations as $conversation) {
                 $conversation->recipient()->associate($agent);
                 $conversation->save();
             }
             $message = 'Property, Viewing Schedules and Conversation have been assigned to ' . $agent->profile->singleName . '.';
         } else {
             $property->agentList()->dissociate();
             foreach ($viewingSchedules as $viewingSchedule) {
                 $viewingSchedule->agent()->dissociate();
                 $viewingSchedule->save();
             }
             foreach ($conversations as $conversation) {
                 $conversation->recipient()->dissociate();
                 $conversation->save();
             }
             $message = 'Property, Viewing Schedules and Conversation have been detached from Agent.';
         }
         $property->save();
         return redirect($backUrl)->with('messages', [$message]);
     }
     $agentOptions = AgentHelper::getAgentOptions();
     return view('admin.property.assign_to_agent', ['property' => $property, 'agentOptions' => $agentOptions, 'backUrl' => $backUrl]);
 }