|
@@ -23,6 +23,7 @@ use App\Services\SparePartReservationService;
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Request;
|
|
|
use Illuminate\Support\Carbon;
|
|
use Illuminate\Support\Carbon;
|
|
|
use Illuminate\Support\Facades\Storage;
|
|
use Illuminate\Support\Facades\Storage;
|
|
|
|
|
+use Throwable;
|
|
|
|
|
|
|
|
class ReclamationController extends Controller
|
|
class ReclamationController extends Controller
|
|
|
{
|
|
{
|
|
@@ -173,13 +174,21 @@ class ReclamationController extends Controller
|
|
|
$data = $request->validate([
|
|
$data = $request->validate([
|
|
|
'photo.*' => 'mimes:jpeg,jpg,png|max:8192',
|
|
'photo.*' => 'mimes:jpeg,jpg,png|max:8192',
|
|
|
]);
|
|
]);
|
|
|
- $f = [];
|
|
|
|
|
- foreach ($data['photo'] as $photo) {
|
|
|
|
|
- $f[] = $fileService->saveUploadedFile('reclamations/' . $reclamation->id . '/photo_before', $photo);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ $f = [];
|
|
|
|
|
+ foreach ($data['photo'] as $photo) {
|
|
|
|
|
+ $f[] = $fileService->saveUploadedFile('reclamations/' . $reclamation->id . '/photo_before', $photo);
|
|
|
|
|
+ }
|
|
|
|
|
+ $reclamation->photos_before()->syncWithoutDetaching($f);
|
|
|
|
|
+ } catch (Throwable $e) {
|
|
|
|
|
+ report($e);
|
|
|
|
|
+ return redirect()->route('reclamations.show', ['reclamation' => $reclamation, 'previous_url' => $request->get('previous_url')])
|
|
|
|
|
+ ->with(['error' => 'Ошибка загрузки фотографий проблемы. Проверьте имя файла и повторите попытку.']);
|
|
|
}
|
|
}
|
|
|
- $reclamation->photos_before()->syncWithoutDetaching($f);
|
|
|
|
|
|
|
|
|
|
- return redirect()->route('reclamations.show', ['reclamation' => $reclamation, 'previous_url' => $request->get('previous_url')]);
|
|
|
|
|
|
|
+ return redirect()->route('reclamations.show', ['reclamation' => $reclamation, 'previous_url' => $request->get('previous_url')])
|
|
|
|
|
+ ->with(['success' => 'Фотографии проблемы успешно загружены!']);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function uploadPhotoAfter(Request $request, Reclamation $reclamation, FileService $fileService)
|
|
public function uploadPhotoAfter(Request $request, Reclamation $reclamation, FileService $fileService)
|
|
@@ -187,13 +196,21 @@ class ReclamationController extends Controller
|
|
|
$data = $request->validate([
|
|
$data = $request->validate([
|
|
|
'photo.*' => 'mimes:jpeg,jpg,png|max:8192',
|
|
'photo.*' => 'mimes:jpeg,jpg,png|max:8192',
|
|
|
]);
|
|
]);
|
|
|
- $f = [];
|
|
|
|
|
- foreach ($data['photo'] as $photo) {
|
|
|
|
|
- $f[] = $fileService->saveUploadedFile('reclamations/' . $reclamation->id . '/photo_after', $photo);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ $f = [];
|
|
|
|
|
+ foreach ($data['photo'] as $photo) {
|
|
|
|
|
+ $f[] = $fileService->saveUploadedFile('reclamations/' . $reclamation->id . '/photo_after', $photo);
|
|
|
|
|
+ }
|
|
|
|
|
+ $reclamation->photos_after()->syncWithoutDetaching($f);
|
|
|
|
|
+ } catch (Throwable $e) {
|
|
|
|
|
+ report($e);
|
|
|
|
|
+ return redirect()->route('reclamations.show', ['reclamation' => $reclamation, 'previous_url' => $request->get('previous_url')])
|
|
|
|
|
+ ->with(['error' => 'Ошибка загрузки фотографий после устранения. Проверьте имя файла и повторите попытку.']);
|
|
|
}
|
|
}
|
|
|
- $reclamation->photos_after()->syncWithoutDetaching($f);
|
|
|
|
|
|
|
|
|
|
- return redirect()->route('reclamations.show', ['reclamation' => $reclamation, 'previous_url' => $request->get('previous_url')]);
|
|
|
|
|
|
|
+ return redirect()->route('reclamations.show', ['reclamation' => $reclamation, 'previous_url' => $request->get('previous_url')])
|
|
|
|
|
+ ->with(['success' => 'Фотографии после устранения успешно загружены!']);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function deletePhotoBefore(Request $request, Reclamation $reclamation, File $file, FileService $fileService)
|
|
public function deletePhotoBefore(Request $request, Reclamation $reclamation, File $file, FileService $fileService)
|
|
@@ -217,15 +234,23 @@ class ReclamationController extends Controller
|
|
|
$data = $request->validate([
|
|
$data = $request->validate([
|
|
|
'document.*' => 'file',
|
|
'document.*' => 'file',
|
|
|
]);
|
|
]);
|
|
|
- $f = [];
|
|
|
|
|
- $i = 0;
|
|
|
|
|
- foreach ($data['document'] as $document) {
|
|
|
|
|
- if($i++ >= 5) break;
|
|
|
|
|
- $f[] = $fileService->saveUploadedFile('reclamations/' . $reclamation->id . '/document', $document);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ $f = [];
|
|
|
|
|
+ $i = 0;
|
|
|
|
|
+ foreach ($data['document'] as $document) {
|
|
|
|
|
+ if ($i++ >= 5) break;
|
|
|
|
|
+ $f[] = $fileService->saveUploadedFile('reclamations/' . $reclamation->id . '/document', $document);
|
|
|
|
|
+ }
|
|
|
|
|
+ $reclamation->documents()->syncWithoutDetaching($f);
|
|
|
|
|
+ } catch (Throwable $e) {
|
|
|
|
|
+ report($e);
|
|
|
|
|
+ return redirect()->route('reclamations.show', ['reclamation' => $reclamation, 'previous_url' => $request->get('previous_url')])
|
|
|
|
|
+ ->with(['error' => 'Ошибка загрузки документов рекламации. Проверьте имя файла и повторите попытку.']);
|
|
|
}
|
|
}
|
|
|
- $reclamation->documents()->syncWithoutDetaching($f);
|
|
|
|
|
|
|
|
|
|
- return redirect()->route('reclamations.show', ['reclamation' => $reclamation, 'previous_url' => $request->get('previous_url')]);
|
|
|
|
|
|
|
+ return redirect()->route('reclamations.show', ['reclamation' => $reclamation, 'previous_url' => $request->get('previous_url')])
|
|
|
|
|
+ ->with(['success' => 'Документы рекламации успешно загружены!']);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function deleteDocument(Request $request, Reclamation $reclamation, File $file)
|
|
public function deleteDocument(Request $request, Reclamation $reclamation, File $file)
|
|
@@ -241,15 +266,23 @@ class ReclamationController extends Controller
|
|
|
$data = $request->validate([
|
|
$data = $request->validate([
|
|
|
'acts.*' => 'file',
|
|
'acts.*' => 'file',
|
|
|
]);
|
|
]);
|
|
|
- $f = [];
|
|
|
|
|
- $i = 0;
|
|
|
|
|
- foreach ($data['acts'] as $document) {
|
|
|
|
|
- if($i++ >= 5) break;
|
|
|
|
|
- $f[] = $fileService->saveUploadedFile('reclamations/' . $reclamation->id . '/act', $document);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ $f = [];
|
|
|
|
|
+ $i = 0;
|
|
|
|
|
+ foreach ($data['acts'] as $document) {
|
|
|
|
|
+ if ($i++ >= 5) break;
|
|
|
|
|
+ $f[] = $fileService->saveUploadedFile('reclamations/' . $reclamation->id . '/act', $document);
|
|
|
|
|
+ }
|
|
|
|
|
+ $reclamation->acts()->syncWithoutDetaching($f);
|
|
|
|
|
+ } catch (Throwable $e) {
|
|
|
|
|
+ report($e);
|
|
|
|
|
+ return redirect()->route('reclamations.show', ['reclamation' => $reclamation, 'previous_url' => $request->get('previous_url')])
|
|
|
|
|
+ ->with(['error' => 'Ошибка загрузки актов. Проверьте имя файла и повторите попытку.']);
|
|
|
}
|
|
}
|
|
|
- $reclamation->acts()->syncWithoutDetaching($f);
|
|
|
|
|
|
|
|
|
|
- return redirect()->route('reclamations.show', ['reclamation' => $reclamation, 'previous_url' => $request->get('previous_url')]);
|
|
|
|
|
|
|
+ return redirect()->route('reclamations.show', ['reclamation' => $reclamation, 'previous_url' => $request->get('previous_url')])
|
|
|
|
|
+ ->with(['success' => 'Акты успешно загружены!']);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function deleteAct(Request $request, Reclamation $reclamation, File $file)
|
|
public function deleteAct(Request $request, Reclamation $reclamation, File $file)
|