close #352 Fixed: Not running migrations on module install

This commit is contained in:
cuneytsenturk 2018-05-22 12:18:34 +03:00
parent b894daff29
commit 8242da88f3
5 changed files with 26 additions and 5 deletions

View File

@ -7,6 +7,7 @@ use App\Models\Module\Module;
use App\Models\Module\ModuleHistory;
use App\Traits\Modules;
use Artisan;
use Module as LModule;
use Illuminate\Http\Request;
class Item extends Controller
@ -147,8 +148,6 @@ class Item extends Controller
$json = $this->installModule($path);
if ($json['success']) {
Artisan::call('module:install', ['alias' => $json['data']['alias'], 'company_id' => session('company_id')]);
$message = trans('modules.installed', ['module' => $json['data']['name']]);
flash($message)->success();
@ -266,4 +265,25 @@ class Item extends Controller
return redirect('apps/' . $alias)->send();
}
/**
* Final actions post update.
*
* @param $alias
* @param $old
* @param $new
* @return Response
*/
public function post($alias)
{
Artisan::call('module:install', ['alias' => $alias, 'company_id' => session('company_id')]);
$module = LModule::findByAlias($alias);
$message = trans('modules.installed', ['module' => $module->get('name')]);
flash($message)->success();
return redirect('apps/' . $alias);
}
}

View File

@ -241,7 +241,7 @@ trait Modules
return [
'success' => true,
'installed' => true,
'installed' => url("apps/post/" . $module->alias),
'errors' => false,
'data' => $data,
];

View File

@ -137,7 +137,7 @@ class Updater
$data['core'] = $version;
}
} else {
$module = Module::get($alias);
$module = Module::findByAlias($alias);
// Up-to-date
if (version_compare($module->get('version'), $version) == 0) {

View File

@ -231,7 +231,7 @@
}
if (json['installed']) {
window.location = '{{ url("apps/" . $module->slug) }}';
window.location = json['installed'];
}
},
error: function(xhr, ajaxOptions, thrownError) {

View File

@ -125,6 +125,7 @@ Route::group(['middleware' => 'language'], function () {
Route::post('download', 'Modules\Item@download');
Route::post('unzip', 'Modules\Item@unzip');
Route::post('install', 'Modules\Item@install');
Route::get('post/{alias}', 'Modules\Item@post');
Route::get('{alias}/uninstall', 'Modules\Item@uninstall');
Route::get('{alias}/enable', 'Modules\Item@enable');
Route::get('{alias}/disable', 'Modules\Item@disable');