added new tablet mode for creating shipping notes
This commit is contained in:
@@ -27,21 +27,26 @@ class TTCrud extends mfBaseController {
|
||||
}
|
||||
|
||||
protected function init() {
|
||||
$this->needlogin = true;
|
||||
$me = new User();
|
||||
$me->loadMe();
|
||||
$this->user = $me;
|
||||
$this->layout()->set('me', $me);
|
||||
$className = get_class($this);
|
||||
|
||||
if (isset($this->permissionCheck) && !$me->can($this->permissionCheck)) {
|
||||
$this->redirect("Dashboard");
|
||||
} else if (!$me->can($this->permissionCheck) && !$me->is(["Admin"])) {
|
||||
$this->redirect("Dashboard");
|
||||
if (defined('TT_WAREHOUSE_LOGIN_OVERRIDE') && is_array(TT_WAREHOUSE_LOGIN_OVERRIDE)
|
||||
&& in_array($className, TT_WAREHOUSE_LOGIN_OVERRIDE) && !mfLoginController::isLoggedIn())
|
||||
$this->user = $this->loginOverride();
|
||||
else {
|
||||
$this->needlogin = true;
|
||||
$this->user = new User();
|
||||
$this->user->loadMe();
|
||||
}
|
||||
$this->layout()->set('me', $this->user);
|
||||
|
||||
$c = get_class($this);
|
||||
foreach ([str_replace('Controller', 'Model', $c), str_replace('Controller', '', $c)] as $m)
|
||||
if (class_exists($m)) {
|
||||
if (method_exists($this, 'permissionsCheckOverride'))
|
||||
$this->permissionsCheckOverride();
|
||||
else if (!$this->user->is(["Admin"]))
|
||||
$this->redirect("Dashboard");
|
||||
|
||||
|
||||
foreach ([str_replace('Controller', 'Model', $className), str_replace('Controller', '', $className)] as $m) {
|
||||
if (class_exists($m))
|
||||
$this->model = new $m();
|
||||
break;
|
||||
}
|
||||
@@ -52,6 +57,37 @@ class TTCrud extends mfBaseController {
|
||||
if (method_exists($this, 'afterInit')) $this->afterInit();
|
||||
}
|
||||
|
||||
protected function loginOverride() {
|
||||
$allowedIPs = ['193.105.204.200', '91.227.230.253', '193.105.204.195', '172.18.0.1'];
|
||||
if (!in_array($_SERVER['REMOTE_ADDR'], $allowedIPs)) $this->redirect('Dashboard');
|
||||
|
||||
if (isset($_POST['wantedUserId']) && is_numeric($_POST['wantedUserId'])) {
|
||||
$user = new User($_POST['wantedUserId']);
|
||||
if ($user->id && $user->address_id == 1) {
|
||||
$_SESSION[MFAPPNAME . '_warehouse_login_override'] = $user->id;
|
||||
$_SESSION[MFAPPNAME . '_warehouse_login_override_timestamp'] = time();
|
||||
$this->redirect('WarehouseShippingNote');
|
||||
}
|
||||
$this->redirect('Dashboard');
|
||||
}
|
||||
|
||||
$sessionUserId = $_SESSION[MFAPPNAME . '_warehouse_login_override'] ?? null;
|
||||
$sessionTimestamp = $_SESSION[MFAPPNAME . '_warehouse_login_override_timestamp'] ?? 0;
|
||||
|
||||
if (is_numeric($sessionUserId) && (time() - $sessionTimestamp <= 300)) {
|
||||
$user = new User($sessionUserId);
|
||||
if ($user->id && $user->address_id == 1) return $user;
|
||||
$this->redirect('WarehouseShippingNote');
|
||||
}
|
||||
|
||||
$users = UserModel::search(['employee' => true, 'active' => true]);
|
||||
$userOptions = array_map(fn($user) => ['value' => (int)$user->id, 'text' => $user->name], $users);
|
||||
|
||||
$this->layout()->set('userOptions', $userOptions);
|
||||
$this->layout()->setTemplate("VueViews/WarehouseLoginOverride");
|
||||
echo $this->layout()->render();
|
||||
exit;
|
||||
}
|
||||
/**
|
||||
* Returns the checkArray for the CRUD component.
|
||||
* @return array
|
||||
|
||||
@@ -128,7 +128,7 @@ class mfLoginController extends mfBaseController
|
||||
UserToken::checkToken();
|
||||
|
||||
|
||||
if ($_SESSION[MFAPPNAME . '_username'] && $_SESSION[MFAPPNAME . '_ip']) {
|
||||
if (isset($_SESSION[MFAPPNAME . '_username']) && $_SESSION[MFAPPNAME . '_username'] && $_SESSION[MFAPPNAME . '_ip']) {
|
||||
$username = $_SESSION[MFAPPNAME . '_username'];
|
||||
$ip = $_SERVER['REMOTE_ADDR'];
|
||||
$sid = session_id();
|
||||
|
||||
Reference in New Issue
Block a user