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\Models\Module\ModuleHistory;
use App\Traits\Modules; use App\Traits\Modules;
use Artisan; use Artisan;
use Module as LModule;
use Illuminate\Http\Request; use Illuminate\Http\Request;
class Item extends Controller class Item extends Controller
@ -147,8 +148,6 @@ class Item extends Controller
$json = $this->installModule($path); $json = $this->installModule($path);
if ($json['success']) { if ($json['success']) {
Artisan::call('module:install', ['alias' => $json['data']['alias'], 'company_id' => session('company_id')]);
$message = trans('modules.installed', ['module' => $json['data']['name']]); $message = trans('modules.installed', ['module' => $json['data']['name']]);
flash($message)->success(); flash($message)->success();
@ -266,4 +265,25 @@ class Item extends Controller
return redirect('apps/' . $alias)->send(); 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 [ return [
'success' => true, 'success' => true,
'installed' => true, 'installed' => url("apps/post/" . $module->alias),
'errors' => false, 'errors' => false,
'data' => $data, 'data' => $data,
]; ];

View File

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

View File

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

View File

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