+
+
+
+
+
+ {{ __('form.Delete') }}
+
+
+
+
+
+ {{ __('form.Restore') }}
+
+
@@ -79,10 +113,14 @@
suppliers: [],
search_supplier: '',
+ success: false,
+ error: false,
+ message: '',
+
init() {
let vm = this;
- axios.get('/supplier')
- .then(function(response) {
+ axios.get('/supplier-with-trashed')
+ .then(function (response) {
vm.suppliers = response.data;
})
},
@@ -93,10 +131,50 @@
}
return this.suppliers.filter((supplier) => {
return supplier.name
- .replace(/ /g, '')
- .toLowerCase()
- .includes(this.search_supplier.replace(/ /g, '').toLowerCase())
+ .replace(/ /g, '')
+ .toLowerCase()
+ .includes(this.search_supplier.replace(/ /g, '').toLowerCase())
});
+ },
+
+ deleteSupplier(index) {
+ let vm = this;
+ let supplier_key = Object.keys(this.suppliers).find(key => (this.suppliers[key].id == this.getFilteredSuppliers()[index].id));
+ axios.delete('/supplier/' + this.suppliers[supplier_key].id)
+ .then(function (response) {
+ vm.error = false;
+ vm.success = true;
+ vm.message = '';
+ vm.suppliers[supplier_key].deleted_at = 0;
+ window.setTimeout(function () {
+ vm.success = false;
+ }, 1000);
+ })
+ .catch(function (error) {
+ vm.error = true;
+ vm.success = false;
+ vm.message = error.response.data.message;
+ });
+ },
+
+ restoreSupplier(index) {
+ let vm = this;
+ let supplier_key = Object.keys(this.suppliers).find(key => (this.suppliers[key].id == this.getFilteredSuppliers()[index].id));
+ axios.get('/supplier/' + this.suppliers[supplier_key].id + '/restore')
+ .then(function (response) {
+ vm.error = false;
+ vm.success = true;
+ vm.message = '';
+ vm.suppliers[supplier_key].deleted_at = null;
+ window.setTimeout(function () {
+ vm.success = false;
+ }, 1000);
+ })
+ .catch(function(error) {
+ vm.error = true;
+ vm.success = false;
+ vm.message = error.response.data.message;
+ })
}
}
}
diff --git a/routes/api.php b/routes/api.php
index 0a053c3..f384fd9 100644
--- a/routes/api.php
+++ b/routes/api.php
@@ -56,7 +56,9 @@ Route::group(['as' => 'api.'], function () {
Route::post('/incoming', [IncomingController::class, 'store'])->name('incoming.store');
Route::apiResource('/project', ProjectController::class);
Route::apiResource('/dashboard', DashboardController::class)->only(['index', 'update']);
- Route::apiResource('/supplier', SupplierController::class)->only(['index', 'store', 'update']);
+ Route::apiResource('/supplier', SupplierController::class);
+ Route::get('/supplier-with-trashed', [SupplierController::class, 'withTrashed']);
+ Route::get('/supplier/{id}/restore', [SupplierController::class, 'restore'])->name('supplier.restore');
});