/** * @param CreateUserRequest|UpdateUserRequest $request * @param IValidator[] $additionalValidators * @return array|string[] */ private function Validate($request, $additionalValidators = array()) { $validators = $additionalValidators; $validators[] = new RequestRequiredValueValidator($request->firstName, 'firstName'); $validators[] = new RequestRequiredValueValidator($request->lastName, 'lastName'); $validators[] = new RequestRequiredValueValidator($request->userName, 'userName'); $validators[] = new RequestRequiredValueValidator($request->timezone, 'timezone'); $validators[] = new EmailValidator($request->emailAddress); $attributes = array(); foreach ($request->GetCustomAttributes() as $attribute) { $attributes[] = new AttributeValue($attribute->attributeId, $attribute->attributeValue); } $validators[] = new AttributeValidator($this->attributeService, CustomAttributeCategory::USER, $attributes); $errors = array(); /** @var $validator IValidator */ foreach ($validators as $validator) { $validator->Validate(); if (!$validator->IsValid()) { foreach ($validator->Messages() as $message) { $errors[] = $message; } } } return $errors; }
public function testValidatesUpdateRequest() { $request = UpdateUserRequest::Example(); $session = new FakeWebServiceUserSession(123); $errors = array('error'); $this->requestValidator->expects($this->once())->method('ValidateUpdateRequest')->with($this->equalTo(1), $this->equalTo($request))->will($this->returnValue($errors)); $result = $this->controller->Update(1, $request, $session); $this->assertFalse($result->WasSuccessful()); $this->assertEquals($errors, $result->Errors()); }
/** * @param $id * @param UpdateUserRequest $request * @return mixed */ public function update($id, UpdateUserRequest $request) { $this->users->update($id, $request->except('assignees_roles', 'permission_user'), $request->only('assignees_roles'), $request->only('permission_user')); return redirect()->route('admin.access.users.index')->withFlashSuccess('The user was successfully updated.'); }
public function testUpdateValidatesAttributes() { $request = UpdateUserRequest::Example(); $result = new AttributeServiceValidationResult(false, array('error')); $this->attributeService->expects($this->once())->method('Validate')->with($this->equalTo(CustomAttributeCategory::USER), $this->equalTo(array(new AttributeValue($request->customAttributes[0]->attributeId, $request->customAttributes[0]->attributeValue))))->will($this->returnValue($result)); $errors = $this->validator->ValidateUpdateRequest(1, $request); $this->assertTrue(count($errors) == 1); }
public function update($id, UpdateUserRequest $request) { $user = $this->userrepository->findOrFail($id); if ($request->hasFile('afbeelding')) { $file = $request->file('afbeelding'); $destinationPath = 'images/users'; $filename = $file->getClientOriginalName(); $encoded = urlencode($filename); $upload_success = $file->move($destinationPath, $encoded); $image = str_replace('\\', '/', $upload_success); } else { $image = $user->afbeelding; } $user->update(['voornaam' => $request->get('voornaam'), 'achternaam' => $request->get('achternaam'), 'email' => $request->get('email'), 'password' => bcrypt($request->get('password')), 'afbeelding' => $image, 'role_id' => $request->get('role_id'), 'over' => $request->get('over'), 'facebook' => $request->get('facebook'), 'twitter' => $request->get('twitter'), 'googleplus' => $request->get('googleplus'), 'linkedin' => $request->get('linkedin')]); return redirect('jandje/users'); }