akaunting 3.0 (the last dance)

This commit is contained in:
Burak Civan
2022-06-01 10:15:55 +03:00
parent cead09f6d4
commit d9c0764572
3812 changed files with 126831 additions and 102949 deletions

View File

@ -3,13 +3,9 @@
namespace App\Http\Controllers\Modules;
use App\Abstracts\Http\Controller;
use App\Traits\Modules;
use App\Models\Module\Module;
class Home extends Controller
{
use Modules;
/**
* Display a listing of the resource.
*
@ -17,19 +13,7 @@ class Home extends Controller
*/
public function index()
{
$data = [
'query' => [
'limit' => 4
]
];
$pre_sale = $this->getPreSaleModules($data);
$paid = $this->getPaidModules($data);
$new = $this->getNewModules($data);
$free = $this->getFreeModules($data);
$installed = Module::all()->pluck('enabled', 'alias')->toArray();
return $this->response('modules.home.index', compact('pre_sale', 'paid', 'new', 'free', 'installed'));
return $this->response('modules.home.index');
}
/**

View File

@ -276,10 +276,10 @@ class Item extends Controller
public function uninstall($alias)
{
try {
$name = module($alias)->getName();
$this->dispatch(new UninstallModule($alias, company_id()));
$name = module($alias)->getName();
$message = trans('modules.uninstalled', ['module' => $name]);
flash($message)->success();
@ -295,9 +295,9 @@ class Item extends Controller
public function enable($alias)
{
try {
$name = module($alias)->getName();
$this->dispatch(new EnableModule($alias, company_id()));
$name = module($alias)->getName();
$message = trans('modules.enabled', ['module' => $name]);
@ -314,10 +314,10 @@ class Item extends Controller
public function disable($alias)
{
try {
$name = module($alias)->getName();
$this->dispatch(new DisableModule($alias, company_id()));
$name = module($alias)->getName();
$message = trans('modules.disabled', ['module' => $name]);
flash($message)->success();
@ -340,7 +340,7 @@ class Item extends Controller
$releases = $this->getModuleReleases($alias, $data);
$html = view('partials.modules.releases', compact('releases'))->render();
$html = view('components.layouts.modules.releases', compact('releases'))->render();
return response()->json([
'success' => true,
@ -361,7 +361,7 @@ class Item extends Controller
$reviews = $this->getModuleReviews($alias, $data);
$html = view('partials.modules.reviews', compact('reviews'))->render();
$html = view('components.layouts.modules.reviews', compact('reviews'))->render();
return response()->json([
'success' => true,

View File

@ -3,13 +3,9 @@
namespace App\Http\Controllers\Modules;
use App\Abstracts\Http\Controller;
use App\Models\Module\Module;
use App\Traits\Modules;
class My extends Controller
{
use Modules;
/**
* Display a listing of the resource.
*
@ -17,10 +13,6 @@ class My extends Controller
*/
public function index()
{
$purchased = $this->getMyModules();
$modules = $this->getInstalledModules();
$installed = Module::where('company_id', '=', company_id())->pluck('enabled', 'alias')->toArray();
return $this->response('modules.my.index', compact('purchased', 'modules', 'installed'));
return $this->response('modules.my.index');
}
}

View File

@ -3,10 +3,10 @@
namespace App\Http\Controllers\Modules;
use App\Traits\Modules;
use Illuminate\Support\Str;
use Illuminate\Http\Request;
use App\Models\Module\Module;
use App\Abstracts\Http\Controller;
use Illuminate\Support\Str;
use Illuminate\Http\Request;
class Tiles extends Controller
{
@ -23,13 +23,13 @@ class Tiles extends Controller
{
$page = request('page', 1);
$request = [
$data = [
'query' => [
'page' => $page,
]
];
$data = $this->getModulesByCategory($alias, $request);
$data = $this->getModulesByCategory($alias, $data);
if (empty($data)) {
return redirect()->route('apps.home.index')->send();
@ -39,7 +39,7 @@ class Tiles extends Controller
$modules = !empty($data->modules) ? $data->modules : [];
$installed = Module::all()->pluck('enabled', 'alias')->toArray();
return view('modules.tiles.index', compact('title', 'modules', 'installed'));
return $this->response('modules.tiles.index', compact('modules', 'title', 'installed'));
}
/**
@ -53,19 +53,19 @@ class Tiles extends Controller
{
$page = request('page', 1);
$request = [
$data = [
'query' => [
'page' => $page,
]
];
$data = $this->getModulesByVendor($alias, $request);
$data = $this->getModulesByVendor($alias, $data);
$title = !empty($data->vendor) ? $data->vendor->name : Str::studly($alias);
$modules = !empty($data->modules) ? $data->modules : [];
$installed = Module::all()->pluck('enabled', 'alias')->toArray();
return view('modules.tiles.index', compact('title', 'modules', 'installed'));
return $this->response('modules.tiles.index', compact('modules', 'title', 'installed'));
}
/**
@ -87,7 +87,7 @@ class Tiles extends Controller
$modules = $this->getPaidModules($data);
$installed = Module::all()->pluck('enabled', 'alias')->toArray();
return view('modules.tiles.index', compact('title', 'modules', 'installed'));
return $this->response('modules.tiles.index', compact('modules', 'title', 'installed'));
}
/**
@ -109,7 +109,7 @@ class Tiles extends Controller
$modules = $this->getNewModules($data);
$installed = Module::all()->pluck('enabled', 'alias')->toArray();
return view('modules.tiles.index', compact('title', 'modules', 'installed'));
return $this->response('modules.tiles.index', compact('modules', 'title', 'installed'));
}
/**
@ -131,7 +131,7 @@ class Tiles extends Controller
$modules = $this->getFreeModules($data);
$installed = Module::all()->pluck('enabled', 'alias')->toArray();
return view('modules.tiles.index', compact('title', 'modules', 'installed'));
return $this->response('modules.tiles.index', compact('modules', 'title','installed'));
}
/**
@ -141,8 +141,8 @@ class Tiles extends Controller
*/
public function searchModules(Request $request)
{
$keyword = $request['keyword'];
$page = request('page', 1);
$keyword = $request->get('keyword');
$page = $request->get('page', 1);
$data = [
'query' => [
@ -157,4 +157,87 @@ class Tiles extends Controller
return view('modules.tiles.index', compact('title', 'modules', 'keyword', 'installed'));
}
public function loadMore($type, Request $request)
{
$page = $request->get('page', 1);
$modules = [];
$data = [
'query' => [
'page' => $page,
]
];
$last_page = 1;
switch ($type) {
case 'categories':
$alias = $request->get('alias');
$response = $this->getModulesByCategory($alias, $data);
$response = !empty($response->modules) ? $response->modules : [];
$last_page = ! empty($response) ? $response->last_page : 1;
$modules = $this->prepareModules($response);
break;
case 'vendors':
$alias = $request->get('alias');
$response = $this->getModulesByVendor($alias, $data);
$response = !empty($response->modules) ? $response->modules : [];
$last_page = ! empty($response) ? $response->last_page : 1;
$modules = $this->prepareModules($response);
break;
case 'paid':
$response = $this->getPaidModules($data);
$last_page = $response->last_page;
$modules = $this->prepareModules($response);
break;
case 'new':
$response = $this->getNewModules($data);
$last_page = $response->last_page;
$modules = $this->prepareModules($response);
break;
case 'free':
$response = $this->getFreeModules($data);
$last_page = $response->last_page;
$modules = $this->prepareModules($response);
break;
case 'search':
$data['query']['keyword'] = $request->get('keyword');
$response = $this->getSearchModules($data);
$last_page = $response->last_page;
$modules = $this->prepareModules($response);
break;
}
$html = view('components.modules.raw_items', compact('modules'))->render();
return response()->json([
'success' => true,
'error' => false,
'message' => 'null',
'modules' => $modules,
'last_page' => $last_page,
'html' => $html,
]);
}
protected function prepareModules($response)
{
if (! empty($response->data)) {
return $response->data;
}
return $response;
}
}