/**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     $agent = new Agent();
     $validator = Validator::make($request->all(), ['first_name' => 'required', 'last_name' => 'required', 'email' => 'required|email|unique:agents', 'password' => 'required']);
     if ($validator->fails()) {
         $messages = $validator->messages();
         //dd($messages);
         return redirect::route('agent_add')->withErrors($validator)->withInput();
     } else {
         $first_name = $request->input('first_name');
         $last_name = $request->input('last_name');
         $email_address = $request->input('email');
         $password = $request->input('password');
         $phone = $request->file('phone');
         if ($phone) {
             $agent->phone = $phone;
         }
         $agent->first_name = $first_name;
         $agent->last_name = $last_name;
         $agent->email = $email_address;
         $agent->password = $password;
         if ($request->file('user_image')) {
             $file = Input::file('user_image');
             $imagename = time() . '.' . $file->getClientOriginalExtension();
             $path = public_path('upload/agentprofile/' . $imagename);
             $image = \Image::make($file->getRealPath())->save($path);
             $th_path = public_path('upload/agentprofile/thumb/' . $imagename);
             $image = \Image::make($file->getRealPath())->resize(128, 128)->save($th_path);
             $agent->image = $imagename;
         }
         $agent->save();
         return redirect::route('agent_management')->with('success', 'Agent inserted successfully.');
     }
 }
 public function testCallPlanet()
 {
     // Given
     $fakePhoneNumber = '+1555999000';
     $newAgent = new Agent(['extension' => 'Brodo', 'phone_number' => $fakePhoneNumber]);
     $newAgent->save();
     // When
     $response = $this->call('GET', route('extension-connection'), ['Digits' => 2]);
     $menuResponse = new SimpleXMLElement($response->getContent());
     // Then
     $this->assertEquals($fakePhoneNumber, $menuResponse->Dial->Number);
 }
 public function testIndex()
 {
     // Given
     $fakeNumber = '+15558884441';
     $fakeRecording = 'http://help-pls.mp3';
     $fakeTranscription = 'Help me I am trapped in a phone exchange';
     $newAgent = new Agent(['extension' => 'Alderaan', 'phone_number' => '+15559997771']);
     $newAgent->save();
     $newRecording = new Recording(['caller_number' => $fakeNumber, 'transcription' => $fakeTranscription, 'recording_url' => $fakeRecording, 'agent_id' => $newAgent->id]);
     $newRecording->save();
     // When
     $response = $this->call('GET', route('agent-recordings') . '?agentNumber=15559997771');
     $responseContext = $response->getOriginalContent();
     // Then
     $this->assertCount(1, $responseContext['recordings']);
     $recordings = $responseContext['recordings'];
     $this->assertEquals($fakeNumber, $recordings[0]->caller_number);
     $this->assertEquals($fakeTranscription, $recordings[0]->transcription);
     $this->assertEquals($fakeRecording, $recordings[0]->recording_url);
     $this->assertEquals($newAgent->id, $recordings[0]->agent_id);
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     // validate request
     $validateAgent = Validator::make($request->get('Agent'), Agent::$rules);
     $validationMessages = [];
     if ($validateAgent->fails() or count($validationMessages) > 0) {
         $validationMessages = array_merge_recursive($validateAgent->messages()->toArray(), $validationMessages);
         return redirect()->back()->withErrors($validationMessages)->withInput();
     }
     $user = $request->user();
     // insert Agent
     $agent = new Agent();
     //$agent->key = Common::createKeyURL($request->input('Agent.name'));
     $agent->name = $request->input('Agent.name');
     $agent->email = $request->input('Agent.email');
     $agent->mobile = $request->input('Agent.mobile');
     // get thumnail
     $agent->thumnail = $request->input('Agent.thumnail');
     $agent->priority = $request->input('Agent.priority');
     $agent->active = $request->input('Agent.active');
     $agent->created_by = $user->name;
     $agent->updated_by = $user->name;
     $agent->save();
     // save attachments
     if ($request->input('Agent.attachments') != "") {
         $requestAttachments = explode(',', $request->input('Agent.attachments'));
         $attachments = [];
         foreach ($requestAttachments as $key => $value) {
             array_push($attachments, new Attachment(['entry_id' => $agent->id, 'table_name' => 'agents', 'path' => $value, 'priority' => 0, 'is_publish' => 1]));
         }
         if (count($attachments) > 0) {
             $agent->attachments()->saveMany($attachments);
         }
     }
     return redirect()->route('admin.agents.index');
 }