Providers fix

This commit is contained in:
Dennis
2020-11-12 20:41:41 +01:00
parent b65526e040
commit a925a70448
6 changed files with 38 additions and 67 deletions

View File

@@ -25,4 +25,13 @@ class ProviderController extends Controller
return redirect()->route('admin.services.index')->with('success', __('Provider has been updated'));
}
public function destroy($id)
{
$provider = Provider::findOrFail($id);
$provider->delete();
return redirect()->route('admin.services.index')->with('success', __('Provider has been deleted'));
}
}

View File

@@ -38,4 +38,20 @@ class Provider extends Model
{
return $this->hasMany(Server::class);
}
public static function booted()
{
static::deleting(function(self $provider){
$provider->regions()->delete();
$provider->plans()->delete();
$provider->packages()->detach();
foreach($provider->servers as $server){
$server->provider_id = null;
$server->provider_plan_id = null;
$server->provider_region_id = null;
$server->save();
}
});
}
}

41
public/js/10.js vendored
View File

@@ -167,7 +167,7 @@ __webpack_require__.r(__webpack_exports__);
Object(_hooks_confirm_delete__WEBPACK_IMPORTED_MODULE_20__["useConfirmDelete"])({
title: this.__('Are you sure?'),
message: this.__('Are you sure you want to delete this server? Everything associated with this server will be detached.'),
message: this.__('Are you sure you want to delete this provider?'),
onConfirm: function onConfirm() {
return _this2["delete"]();
}
@@ -176,41 +176,14 @@ __webpack_require__.r(__webpack_exports__);
"delete": function _delete() {
var _this3 = this;
this.sending = true;
this.$inertia["delete"](this.route('admin.services.servers.delete', this.server.id)).then(function () {
return _this3.sending = false;
});
},
attach: function attach() {
var _this4 = this;
this.sending = true;
this.$inertia.post(this.route('admin.services.servers.attach', this.server.id), this.formAttach).then(function () {
_this4.sending = false;
if (!Object.keys(_this4.$page.props.errors).length) {
_this4.formAttach.email = null;
this.$inertia["delete"](this.route('admin.services.providers.delete', this.provider.id), {
onStart: function onStart() {
return _this3.sending = true;
},
onFinish: function onFinish() {
return _this3.sending = false;
}
});
},
confirmDetach: function confirmDetach(userId) {
var _this5 = this;
Object(_hooks_confirm_delete__WEBPACK_IMPORTED_MODULE_20__["useConfirmDelete"])({
title: this.__('Are you sure?'),
message: this.__('Are you sure you want to detach this user from this server?'),
onConfirm: function onConfirm() {
return _this5.detach(userId);
}
});
},
detach: function detach(userId) {
var _this6 = this;
this.sending = true;
this.$inertia["delete"](this.route('admin.services.servers.detach', [this.server.id, userId])).then(function () {
return _this6.sending = false;
});
}
}
});

2
public/js/app.js vendored
View File

@@ -43,7 +43,7 @@
/******/
/******/ // script path function
/******/ function jsonpScriptSrc(chunkId) {
/******/ return __webpack_require__.p + "js/" + ({}[chunkId]||chunkId) + ".js?id=" + {"0":"6eb6c6536cbed8938f93","1":"036bc93ad1cffe03c96e","2":"d2a49802291d427ca7c8","3":"a0f4c2f49863abbfe7f1","4":"27416beeac7dd90b6c9f","5":"fbfbcf45610d060d921e","6":"73fc0264b5cc06f5bd55","7":"140acb8c38018bb7c822","8":"800cf8f4ae1573afb58b","9":"02624062748a221e1b6a","10":"b595780ed64e26944581","11":"df06b1a535d8806055b1","12":"4f7af8d4fd1bb64e00eb","13":"b6c8a10e296cb17abec4","14":"5689f13594bbe5fdbc3d","15":"f8477af56d89087de9a1","16":"e0c2664cf52612b9bd2d","17":"bcdab5000a82c728e7f9","18":"d8e3ad96345fe8e4afda","19":"1a4bd1588a470e523f22","20":"335eb934468e7096df6d","21":"cbe3778af8f4248c876f","22":"b12ca72bb7c62c6b9630","23":"9e6d4e65d20f1f49cda2","24":"3f7e288607390fc1eaa2","25":"ccbb1bff0ab817028556","26":"4a9f39a08d92a65f04a2","27":"f27bdc03e4c908fa2f06","28":"b23bce944757db5374be","29":"2a08ca7a9cbebf388aeb","30":"a49d0e302f965a22d28d","31":"443fb652d0d033856436","32":"2b9a4d6183e96ad3b935","33":"9a8db6581ef9377e3e63","34":"07f49d4e778319da1022","35":"4c0c644051361fcaa9c3","36":"b70bbbcb5c906cf9b53d","37":"96f2da065f5811256e37","38":"6b76604456aa862ed33d","39":"80ab32bc65580c5182b6","40":"7593d03916fe5e07f64e","41":"cc5e313e8c42c6ed08aa","42":"9f3a959fff3688b43151","43":"6cbaf6dc1a1b795ead0f","44":"fd8de34d2f7e44b1d3a1","45":"026fbbd51c2b703ed981","46":"4a5fd31135e72546e1de","47":"441a57ca598380ec8a43","48":"699d52b71338effb04b5","49":"9c0d39c376f2cd53ed2f","50":"86600b10bae23b4ef330","51":"21a5ad16c9318416587d","52":"bd4daa6dbf911725c6bc","53":"ad3dfac514f00d194887","54":"24e588ab18461e348783","55":"d8aec6ee1a5781b6af87","56":"99dee147a9adbb340507","57":"6edfa2c75fb31a1195b8","58":"fcc08fc7e48e734ab2a7","59":"b736d0ac4880f045f12a","60":"7cc85b6cb3f60be021b4","61":"b39bcd32e03c012a816f","62":"d61b419c5b861c001670","63":"37ac4d3b25619e38fd90","64":"4f44b9f12add6be38b47","65":"a9de2950510b1bbb3ea1","66":"ee681a4a50dba9230df9","67":"8325349530a31bd5094a","68":"e6e4bb315f4d1a40b067","69":"e2914dd4dcf67db1a599","70":"5c262f47c883d5c74a8d","71":"87e8edd3eba0a29944d5","72":"e88d92ed4b2efbbf1e86","73":"3174bd6a722bab7cc6e6","74":"fb29103b00712180c4b7","75":"3c12f6ff58ce2e22ee05","76":"6c85122b7fd55535796f","77":"ac563e59d325c5b4bdbc","78":"b417ff0680afc876a404","79":"069176fd73397f72a5c2","80":"5a8b8d6dfd61aeae151d"}[chunkId] + ""
/******/ return __webpack_require__.p + "js/" + ({}[chunkId]||chunkId) + ".js?id=" + {"0":"6eb6c6536cbed8938f93","1":"036bc93ad1cffe03c96e","2":"d2a49802291d427ca7c8","3":"a0f4c2f49863abbfe7f1","4":"27416beeac7dd90b6c9f","5":"fbfbcf45610d060d921e","6":"73fc0264b5cc06f5bd55","7":"140acb8c38018bb7c822","8":"800cf8f4ae1573afb58b","9":"02624062748a221e1b6a","10":"ddd6bac3b04119c5054b","11":"df06b1a535d8806055b1","12":"4f7af8d4fd1bb64e00eb","13":"b6c8a10e296cb17abec4","14":"5689f13594bbe5fdbc3d","15":"f8477af56d89087de9a1","16":"e0c2664cf52612b9bd2d","17":"bcdab5000a82c728e7f9","18":"d8e3ad96345fe8e4afda","19":"1a4bd1588a470e523f22","20":"335eb934468e7096df6d","21":"cbe3778af8f4248c876f","22":"b12ca72bb7c62c6b9630","23":"9e6d4e65d20f1f49cda2","24":"3f7e288607390fc1eaa2","25":"ccbb1bff0ab817028556","26":"4a9f39a08d92a65f04a2","27":"f27bdc03e4c908fa2f06","28":"b23bce944757db5374be","29":"2a08ca7a9cbebf388aeb","30":"a49d0e302f965a22d28d","31":"443fb652d0d033856436","32":"2b9a4d6183e96ad3b935","33":"9a8db6581ef9377e3e63","34":"07f49d4e778319da1022","35":"4c0c644051361fcaa9c3","36":"b70bbbcb5c906cf9b53d","37":"96f2da065f5811256e37","38":"6b76604456aa862ed33d","39":"80ab32bc65580c5182b6","40":"7593d03916fe5e07f64e","41":"cc5e313e8c42c6ed08aa","42":"9f3a959fff3688b43151","43":"6cbaf6dc1a1b795ead0f","44":"fd8de34d2f7e44b1d3a1","45":"026fbbd51c2b703ed981","46":"4a5fd31135e72546e1de","47":"441a57ca598380ec8a43","48":"699d52b71338effb04b5","49":"9c0d39c376f2cd53ed2f","50":"86600b10bae23b4ef330","51":"21a5ad16c9318416587d","52":"bd4daa6dbf911725c6bc","53":"ad3dfac514f00d194887","54":"24e588ab18461e348783","55":"d8aec6ee1a5781b6af87","56":"99dee147a9adbb340507","57":"6edfa2c75fb31a1195b8","58":"fcc08fc7e48e734ab2a7","59":"b736d0ac4880f045f12a","60":"7cc85b6cb3f60be021b4","61":"b39bcd32e03c012a816f","62":"d61b419c5b861c001670","63":"37ac4d3b25619e38fd90","64":"4f44b9f12add6be38b47","65":"a9de2950510b1bbb3ea1","66":"ee681a4a50dba9230df9","67":"8325349530a31bd5094a","68":"e6e4bb315f4d1a40b067","69":"e2914dd4dcf67db1a599","70":"5c262f47c883d5c74a8d","71":"87e8edd3eba0a29944d5","72":"e88d92ed4b2efbbf1e86","73":"3174bd6a722bab7cc6e6","74":"fb29103b00712180c4b7","75":"3c12f6ff58ce2e22ee05","76":"6c85122b7fd55535796f","77":"ac563e59d325c5b4bdbc","78":"b417ff0680afc876a404","79":"069176fd73397f72a5c2","80":"5a8b8d6dfd61aeae151d"}[chunkId] + ""
/******/ }
/******/
/******/ // The require function

View File

@@ -129,45 +129,17 @@
confirmDelete() {
useConfirmDelete({
title: this.__('Are you sure?'),
message: this.__('Are you sure you want to delete this server? Everything associated with this server will be detached.'),
message: this.__('Are you sure you want to delete this provider?'),
onConfirm: () => this.delete(),
})
},
delete() {
this.sending = true
this.$inertia.delete(this.route('admin.services.servers.delete', this.server.id))
.then(() => this.sending = false)
},
attach() {
this.sending = true
this.$inertia.post(this.route('admin.services.servers.attach', this.server.id), this.formAttach)
.then(() => {
this.sending = false
if (!Object.keys(this.$page.props.errors).length) {
this.formAttach.email = null;
}
})
},
confirmDetach(userId) {
useConfirmDelete({
title: this.__('Are you sure?'),
message: this.__('Are you sure you want to detach this user from this server?'),
onConfirm: () => this.detach(userId),
this.$inertia.delete(this.route('admin.services.providers.delete', this.provider.id), {
onStart: () => this.sending = true,
onFinish: () => this.sending = false
})
},
detach(userId) {
this.sending = true
this.$inertia.delete(this.route('admin.services.servers.detach', [this.server.id, userId]))
.then(() => this.sending = false)
}
}
}
</script>

View File

@@ -58,6 +58,7 @@ Route::group(['prefix' => 'services', 'as' => 'services.'], function () {
Route::get('{provider}/edit', 'ProviderController@edit')->name('edit');
Route::patch('{provider}', 'ProviderController@update')->name('update');
Route::delete('{provider}', 'ProviderController@destroy')->name('delete');
});
// Site syncing