feat: VivesPOS landing on Winter CMS 1.2 — theme + plugin + Dockerfile
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
- Base: wintercms/winter branch 1.2 (full framework) - Theme vivespos: Canvas 7 + Bootstrap 5 CDN, custom CSS - Layout: deferred GTM/GA4 tracking, JSON-LD SoftwareApplication - Partials: hero (offline-first), features, modes (offline/nube toggle), screenshots, pricing (3 planes), comparison, FAQ, CTA - Plugin VivesPOS.Site with ContactForm - Dockerfile: PHP 8.2 Apache, port 80, healthcheck - Added winter/wn-pages, blog, sitemap, seo plugins - Active theme set to vivespos
This commit is contained in:
81
modules/backend/controllers/Index.php
Normal file
81
modules/backend/controllers/Index.php
Normal file
@@ -0,0 +1,81 @@
|
||||
<?php namespace Backend\Controllers;
|
||||
|
||||
use Backend;
|
||||
use Redirect;
|
||||
use BackendMenu;
|
||||
use Backend\Classes\Controller;
|
||||
use Backend\Widgets\ReportContainer;
|
||||
|
||||
/**
|
||||
* Dashboard controller
|
||||
*
|
||||
* @package winter\wn-backend-module
|
||||
* @author Alexey Bobkov, Samuel Georges
|
||||
*
|
||||
*/
|
||||
class Index extends Controller
|
||||
{
|
||||
use \Backend\Traits\InspectableContainer;
|
||||
|
||||
/**
|
||||
* @var array Permissions required to view this page.
|
||||
* @see checkPermissionRedirect()
|
||||
*/
|
||||
public $requiredPermissions = [];
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
BackendMenu::setContextOwner('Winter.Backend');
|
||||
|
||||
$this->addCss('/modules/backend/assets/css/dashboard/dashboard.css', 'core');
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
if ($redirect = $this->checkPermissionRedirect()) {
|
||||
return $redirect;
|
||||
}
|
||||
|
||||
$this->initReportContainer();
|
||||
|
||||
$this->pageTitle = 'backend::lang.dashboard.menu_label';
|
||||
|
||||
BackendMenu::setContextMainMenu('dashboard');
|
||||
}
|
||||
|
||||
public function index_onInitReportContainer()
|
||||
{
|
||||
$this->initReportContainer();
|
||||
|
||||
return ['#dashReportContainer' => $this->widget->reportContainer->render()];
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepare the report widget used by the dashboard
|
||||
* @param Model $model
|
||||
* @return void
|
||||
*/
|
||||
protected function initReportContainer()
|
||||
{
|
||||
new ReportContainer($this, 'config_dashboard.yaml');
|
||||
}
|
||||
|
||||
/**
|
||||
* Custom permissions check that will redirect to the next
|
||||
* available menu item, if permission to this page is denied.
|
||||
*/
|
||||
protected function checkPermissionRedirect()
|
||||
{
|
||||
if (!$this->user->hasAccess('backend.access_dashboard')) {
|
||||
if ($first = array_first(BackendMenu::listMainMenuItems())) {
|
||||
return Redirect::intended($first->url);
|
||||
}
|
||||
return Backend::redirect('backend/myaccount');
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user