Skip to content

Commit

Permalink
Merge pull request #17 from bristol-su/develop
Browse files Browse the repository at this point in the history
v2.1.3
  • Loading branch information
tobytwigger authored May 1, 2020
2 parents 94f430b + 23a9126 commit c07b11b
Show file tree
Hide file tree
Showing 6 changed files with 52 additions and 51 deletions.
14 changes: 13 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [2.1.3] - (01/05/2020)

### Changed
- Passing null to DataUserController::update sets a field to null
- Passing null to DataGroupController::update sets a field to null
- Passing null to DataRoleController::update sets a field to null
- Passing null to DataPositionController::update sets a field to null

### Fixed
- DataUserNotify notified create method on updating

## [2.1.2] - (28/04/2020)

### Fixed
Expand Down Expand Up @@ -157,7 +168,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- model/repository contracts


[Unreleased]: https://github.com/bristol-su/control/compare/v2.1.2...HEAD
[Unreleased]: https://github.com/bristol-su/control/compare/v2.1.3...HEAD
[2.1.3]: https://github.com/bristol-su/control/compare/v2.1.2...v2.1.3
[2.1.2]: https://github.com/bristol-su/control/compare/v2.1.1...v2.1.2
[2.1.1]: https://github.com/bristol-su/control/compare/v2.1...v2.1.1
[2.1]: https://github.com/bristol-su/control/compare/v2.0...v2.1
Expand Down
15 changes: 7 additions & 8 deletions src/Http/Controllers/Group/GroupController.php
Original file line number Diff line number Diff line change
Expand Up @@ -101,16 +101,15 @@ public function store(StoreGroupRequest $request, GroupRepository $groupReposito
* @param StoreGroupRequest $request
* @return Group
*/
public function update(Group $group, StoreGroupRequest $request)
public function update(Group $group, StoreGroupRequest $request, DataGroupRepository $dataGroupRepository)
{
$dataGroup = $group->data();
if($request->input('name') !== null) {
$dataGroup->setName($request->input('name'));
}
if($request->input('email') !== null) {
$dataGroup->setEmail($request->input('email'));
}

$dataGroupRepository->update(
$group->dataProviderId(),
$request->input('name', $dataGroup->name()),
$request->input('email', $dataGroup->email())
);

foreach($dataGroup->getAdditionalAttributes() as $additionalAttribute) {
if($request->has($additionalAttribute)) {
$dataGroup->saveAdditionalAttribute($additionalAttribute, $request->input($additionalAttribute));
Expand Down
15 changes: 7 additions & 8 deletions src/Http/Controllers/Position/PositionController.php
Original file line number Diff line number Diff line change
Expand Up @@ -100,16 +100,15 @@ public function store(StorePositionRequest $request, PositionRepository $positio
* @param DataPositionRepository $dataPositionRepository
* @return Position
*/
public function update(Position $position, UpdatePositionRequest $request, PositionRepository $positionRepository, DataPositionRepository $dataPositionRepository)
public function update(Position $position, UpdatePositionRequest $request, DataPositionRepository $dataPositionRepository)
{
$dataPosition = $position->data();

if($request->input('name') !== null) {
$dataPosition->setName($request->input('name'));
}
if($request->input('description') !== null) {
$dataPosition->setDescription($request->input('description'));
}
$dataPositionRepository->update(
$dataPosition->id(),
$request->input('name', $dataPosition->name()),
$request->input('description', $dataPosition->description())
);

foreach($dataPosition->getAdditionalAttributes() as $additionalAttribute) {
if($request->has($additionalAttribute)) {
$dataPosition->saveAdditionalAttribute($additionalAttribute, $request->input($additionalAttribute));
Expand Down
30 changes: 14 additions & 16 deletions src/Http/Controllers/Role/RoleController.php
Original file line number Diff line number Diff line change
Expand Up @@ -83,29 +83,27 @@ public function store(StoreRoleRequest $request, RoleRepository $roleRepository,
public function update(Role $role, UpdateRoleRequest $request, RoleRepository $roleRepository, DataRoleRepository $dataRoleRepository)
{
$dataRole = $role->data();

if($request->input('role_name') !== null) {
$dataRole->setRoleName($request->input('role_name'));
}
if($request->input('email') !== null) {
$dataRole->setEmail($request->input('email'));
}

if($request->input('position_id') !== null) {
$role->setPositionId($request->input('position_id'));
}

if($request->input('group_id') !== null) {
$role->setGroupId($request->input('group_id'));
}

$dataRoleRepository->update(
$dataRole->id(),
$request->input('role_name', $dataRole->roleName()),
$request->input('email', $dataRole->email()),
);

$roleRepository->update(
$role->id(),
$request->input('position_id', $role->positionId()),
$request->input('group_id', $role->groupId()),
$dataRole->id()
);

foreach($dataRole->getAdditionalAttributes() as $additionalAttribute) {
if($request->has($additionalAttribute)) {
$dataRole->saveAdditionalAttribute($additionalAttribute, $request->input($additionalAttribute));
}
}

return $role;
return $roleRepository->getById($role->id());
}

/**
Expand Down
27 changes: 10 additions & 17 deletions src/Http/Controllers/User/UserController.php
Original file line number Diff line number Diff line change
Expand Up @@ -112,29 +112,22 @@ public function update(User $user, StoreUserRequest $request, UserRepository $us
{
$dataUser = $user->data();

if($request->input('first_name') !== null) {
$dataUser->setFirstName($request->input('first_name'));
}
if($request->input('last_name') !== null) {
$dataUser->setLastName($request->input('last_name'));
}
if($request->input('email') !== null) {
$dataUser->setEmail($request->input('email'));
}
if($request->input('dob') !== null) {
$dataUser->setDob(Carbon::make($request->input('dob')));
}
if($request->input('preferred_name') !== null) {
$dataUser->setPreferredName($request->input('preferred_name'));
}

$dataUserRepository->update(
$dataUser->id(),
$request->input('first_name', $dataUser->firstName()),
$request->input('last_name', $dataUser->lastName()),
$request->input('email', $dataUser->email()),
($request->has('dob') ? Carbon::make($request->input('dob')) : $dataUser->dob()),
$request->input('preferred_name', $dataUser->preferredName()),
);

foreach($dataUser->getAdditionalAttributes() as $additionalAttribute) {
if($request->has($additionalAttribute)) {
$dataUser->saveAdditionalAttribute($additionalAttribute, $request->input($additionalAttribute));
}
}

return $user;
return $userRepository->getById($user->id());
}

/**
Expand Down
2 changes: 1 addition & 1 deletion src/Observers/NotifyObservers/DataUserNotifier.php
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ public function update(int $id, ?string $firstName = null, ?string $lastName = n
{
$oldDataUser = $this->getById($id);
$newDataUser = $this->dataUserRepository->update($id, $firstName, $lastName, $email, $dob, $preferredName);
$this->notify('create', $oldDataUser, $newDataUser);
$this->notify('update', $oldDataUser, $newDataUser);
return $newDataUser;
}
}

0 comments on commit c07b11b

Please sign in to comment.