Skip to content
This repository has been archived by the owner on Apr 3, 2022. It is now read-only.

Commit

Permalink
webapp: views: upload: fix user profile photo upload
Browse files Browse the repository at this point in the history
Signed-off-by: João Lourenço <jlourenco5691@gmail.com>
  • Loading branch information
iK4tsu committed Jan 4, 2021
1 parent 5baf5c8 commit 2a4af1e
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 27 deletions.
18 changes: 9 additions & 9 deletions webapp/app/Http/Controllers/API/UserController.php
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public function create(UserPostRequest $request)
$user->password = Hash::make($request->password);

if ($request->has('photo'))
$user->photo = savePhoto($request->photo);
$user->photo = savePhoto($request->photo_url);

$user->save();

Expand Down Expand Up @@ -84,7 +84,7 @@ public function updateProfile(AuthPutRequest $request)
$user->password = Hash::make($request->password);

if ($request->hasFile('photo'))
$user->photo_url = $this->deleteAndSavePhoto($request->photo, $user);
$user->photo_url = $this->deleteAndSavePhoto($request->photo_url, $user);

$user->save();
return response()->json($user);
Expand All @@ -99,7 +99,7 @@ public function update(UserPutRequest $request, User $user)
$user->password = Hash::make($request->password);

if ($request->hasFile('photo'))
$user->photo_url = $this->deleteAndSavePhoto($request->photo, $user);
$user->photo_url = $this->deleteAndSavePhoto($request->photo_url, $user);

$user->save();
return response()->json($user);
Expand All @@ -109,29 +109,29 @@ public function photoProfile(PhotoRequest $request)
{
$request->validated();
$user = $request->user();
$user->photo_ur = $this->deleteAndSavePhoto($request->photo, $user);
$user->photo_url = $this->deleteAndSavePhoto($request->photo_url, $user);
$user->save();
}

public function photo(UserPhotoRequest $request, User $user)
{
$request->validated();
$user->photo_url = $this->deleteAndSavePhoto($request->photo, $user);
$user->photo_url = $this->deleteAndSavePhoto($request->photo_url, $user);
$user->save();
}

public function photoDelete(UserRequest $request, User $user)
{
$request->validated();
$this->deletePhoto($user->photo_url, $user);
$this->deletePhoto($user);
$user->photo_url = null;
$user->save();
}

public function photoDeleteProfile(Request $request)
{
$user = $request->user();
$this->deletePhoto($user->photo_url, $user);
$this->deletePhoto($user);
$user->photo_url = null;
$user->save();
}
Expand All @@ -158,7 +158,7 @@ public function block(Request $request, User $user)
return response()->json($user);
}

private function deletePhoto($photo, User $user)
private function deletePhoto(User $user)
{
if(!is_null($user->photo_url))
{
Expand All @@ -175,7 +175,7 @@ private function savePhoto($photo)

private function deleteAndSavePhoto($photo, User $user)
{
$this->deletePhoto($photo, $user);
$this->deletePhoto($user);
return $this->savePhoto($photo);
}
}
2 changes: 1 addition & 1 deletion webapp/app/Http/Requests/PhotoRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public function authorize()
public function rules()
{
return [
'photo' => 'required|image|max:8192',
'photo_url' => 'required|image|max:8192',
];
}
}
35 changes: 18 additions & 17 deletions webapp/resources/js/views/user/upload.vue
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ export default class UserUploadPhotoView extends Vue {
onSubmit() {
let formData = new FormData();
formData.append('photo', this.file);
formData.append('photo_url', this.file);
axios({
url: (this.$route.params.id)
? `users/${this.$route.params.id}/photo`
Expand All @@ -87,22 +87,23 @@ export default class UserUploadPhotoView extends Vue {
}
mounted() {
this.getUser({ params: { id: this.$route.params.id } }).then((result) => {
if (this.authUser?.type == UserType.EMPLOYEE_MANAGER && result.data?.type == UserType.CUSTOMER)
router.go(-1);
}).catch((request) => {
router.push({ name: "list-users" })
.then(() => {
if (request.response.data.errors) {
let errors = request.response.data.errors;
for (const error in errors) {
createAlert(AlertType.Danger, `Error fetching user (${this.$route.params.id}): ${error}: ${errors[error]}`);
}
} else {
createAlert(AlertType.Danger, `Error fetching user (${this.$route.params.id}): ${request.response.data.message}`);
}
});
})
if (this.$route.params.id)
this.getUser({ params: { id: this.$route.params.id } }).then((result) => {
if (this.authUser?.type == UserType.EMPLOYEE_MANAGER && result.data?.type == UserType.CUSTOMER)
router.go(-1);
}).catch((request) => {
router.push({ name: "list-users" })
.then(() => {
if (request.response.data.errors) {
let errors = request.response.data.errors;
for (const error in errors) {
createAlert(AlertType.Danger, `Error fetching user (${this.$route.params.id}): ${error}: ${errors[error]}`);
}
} else {
createAlert(AlertType.Danger, `Error fetching user (${this.$route.params.id}): ${request.response.data.message}`);
}
});
})
}
}
</script>

0 comments on commit 2a4af1e

Please sign in to comment.