public function checkSitePagePermissions($page_id, $action)
    {
        $group_id = self::getInstance()->getUserData('group_id');

        // Check if current group have access to any page
        if (self::getInstance()->getGroupData('structure_permissions', $group_id)) {
            return true;
        }

        // Check and init cache
        if (!self::$_structure_permissions) {
            // Build access tree for every page
            $structure_pages = new StructurePagePermissionEntityRepository();
            $structure_pages->setWhereGroupId((int)$group_id);
            foreach ($structure_pages->getAsArrayOfObjectData() as $v) {
                self::$_structure_permissions[$v['id']] = $v;
            }
        }

        // Check that user have access to desired action on selected stucture page
        return isset(self::$_structure_permissions[$page_id], self::$_structure_permissions[$page_id][$action]) && self::$_structure_permissions[$page_id][$action];
    }