Skip to content

Commit

Permalink
Merge branch '2.4-develop' into fix/add-to-cart-grouped-product
Browse files Browse the repository at this point in the history
  • Loading branch information
gihovani authored Dec 18, 2019
2 parents f27f749 + 9400c1e commit 1e2ee96
Show file tree
Hide file tree
Showing 3,023 changed files with 103,716 additions and 18,903 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
412 changes: 412 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
[![Open Source Helpers](https://www.codetriage.com/magento/magento2/badges/users.svg)](https://www.codetriage.com/magento/magento2)
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/magento/magento2?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/magento-2/localized.svg)](https://crowdin.com/project/magento-2)
<h2>Welcome</h2>

## Welcome
Welcome to Magento 2 installation! We're glad you chose to install Magento 2, a cutting-edge, feature-rich eCommerce solution that gets results.

## Magento System Requirements
Expand Down Expand Up @@ -30,7 +31,7 @@ To suggest documentation improvements, click [here][4].
[4]: https://devdocs.magento.com

<h3>Community Maintainers</h3>
The members of this team have been recognized for their outstanding commitment to maintaining and improving Magento. Magento has granted them permission to accept, merge, and reject pull requests, as well as review issues, and thanks these Community Maintainers for their valuable contributions.
The members of this team have been recognized for their outstanding commitment to maintaining and improving Magento. Magento has granted them permission to accept, merge, and reject pull requests, as well as review issues, and thanks to these Community Maintainers for their valuable contributions.

<a href="https://magento.com/magento-contributors#maintainers">
<img src="https://raw.githubusercontent.com/wiki/magento/magento2/images/maintainers.png"/>
Expand Down Expand Up @@ -64,7 +65,7 @@ Please see LICENSE_EE.txt for the full text of the MEE License or visit https://

## Community Engineering Slack

To connect with Magento and the Community, join us on the [Magento Community Engineering Slack](https://magentocommeng.slack.com). If you are interested in joining Slack, or a specific channel, send us a request at [[email protected]](mailto:[email protected]) or [self signup](https://tinyurl.com/engcom-slack).
To connect with Magento and the Community, join us on the [Magento Community Engineering Slack](https://magentocommeng.slack.com). If you are interested in joining Slack, or a specific channel, send us a request at [[email protected]](mailto:[email protected]) or [self signup](https://opensource.magento.com/slack).


We have channels for each project. These channels are recommended for new members:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);

namespace Magento\AdminAnalytics\Controller\Adminhtml\Config;

use Magento\Backend\App\Action;
use Magento\Framework\App\Action\HttpPostActionInterface;
use Magento\Framework\Controller\ResultFactory;
use Magento\AdminAnalytics\Model\ResourceModel\Viewer\Logger as NotificationLogger;
use Magento\Framework\App\ProductMetadataInterface;
use Magento\Framework\Controller\ResultInterface;
use Magento\Config\Model\Config\Factory;

/**
* Controller to record Admin analytics usage log
*/
class DisableAdminUsage extends Action implements HttpPostActionInterface
{
/**
* @var Factory
*/
private $configFactory;

/**
* @var ProductMetadataInterface
*/
private $productMetadata;

/**
* @var NotificationLogger
*/
private $notificationLogger;

/**
* DisableAdminUsage constructor.
*
* @param Action\Context $context
* @param ProductMetadataInterface $productMetadata
* @param NotificationLogger $notificationLogger
* @param Factory $configFactory
*/
public function __construct(
Action\Context $context,
ProductMetadataInterface $productMetadata,
NotificationLogger $notificationLogger,
Factory $configFactory
) {
parent::__construct($context);
$this->configFactory = $configFactory;
$this->productMetadata = $productMetadata;
$this->notificationLogger = $notificationLogger;
}

/**
* Change the value of config/admin/usage/enabled
*/
private function disableAdminUsage()
{
$configModel = $this->configFactory->create();
$configModel->setDataByPath('admin/usage/enabled', 0);
$configModel->save();
}

/**
* Log information about the last admin usage selection
*
* @return ResultInterface
*/
private function markUserNotified(): ResultInterface
{
$responseContent = [
'success' => $this->notificationLogger->log(
$this->productMetadata->getVersion()
),
'error_message' => ''
];

$resultJson = $this->resultFactory->create(ResultFactory::TYPE_JSON);
return $resultJson->setData($responseContent);
}

/**
* Log information about the last shown advertisement
*
* @return ResultInterface
*/
public function execute()
{
$this->disableAdminUsage();
$this->markUserNotified();
}

/**
* @inheritDoc
*/
protected function _isAllowed()
{
return $this->_authorization->isAllowed(static::ADMIN_RESOURCE);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);

namespace Magento\AdminAnalytics\Controller\Adminhtml\Config;

use Magento\Backend\App\Action;
use Magento\Framework\App\Action\HttpPostActionInterface;
use Magento\Framework\Controller\ResultFactory;
use Magento\AdminAnalytics\Model\ResourceModel\Viewer\Logger as NotificationLogger;
use Magento\Framework\App\ProductMetadataInterface;
use Magento\Framework\Controller\ResultInterface;
use Magento\Config\Model\Config\Factory;

/**
* Controller to record that the current admin user has responded to Admin Analytics notice
*/
class EnableAdminUsage extends Action implements HttpPostActionInterface
{
/**
* @var Factory
*/
private $configFactory;

/**
* @var ProductMetadataInterface
*/
private $productMetadata;

/**
* @var NotificationLogger
*/
private $notificationLogger;

/**
* @param Action\Context $context
* @param ProductMetadataInterface $productMetadata
* @param NotificationLogger $notificationLogger
* @param Factory $configFactory
*/
public function __construct(
Action\Context $context,
ProductMetadataInterface $productMetadata,
NotificationLogger $notificationLogger,
Factory $configFactory
) {
parent::__construct($context);
$this->configFactory = $configFactory;
$this->productMetadata = $productMetadata;
$this->notificationLogger = $notificationLogger;
}

/**
* Change the value of config/admin/usage/enabled
*/
private function enableAdminUsage()
{
$configModel = $this->configFactory->create();
$configModel->setDataByPath('admin/usage/enabled', 1);
$configModel->save();
}

/**
* Log information about the last user response
*
* @return ResultInterface
*/
private function markUserNotified(): ResultInterface
{
$responseContent = [
'success' => $this->notificationLogger->log(
$this->productMetadata->getVersion()
),
'error_message' => ''
];

$resultJson = $this->resultFactory->create(ResultFactory::TYPE_JSON);
return $resultJson->setData($responseContent);
}

/**
* Log information about the last shown advertisement
*
* @return \Magento\Framework\Controller\ResultInterface
*/
public function execute()
{
$this->enableAdminUsage();
$this->markUserNotified();
}

/**
* @inheritDoc
*/
protected function _isAllowed()
{
return $this->_authorization->isAllowed(static::ADMIN_RESOURCE);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);

namespace Magento\AdminAnalytics\Model\Condition;

use Magento\AdminAnalytics\Model\ResourceModel\Viewer\Logger;
use Magento\Framework\View\Layout\Condition\VisibilityConditionInterface;
use Magento\Framework\App\CacheInterface;

/**
* Dynamic validator for UI admin analytics notification, control UI component visibility.
*/
class CanViewNotification implements VisibilityConditionInterface
{
/**
* Unique condition name.
*
* @var string
*/
private static $conditionName = 'can_view_admin_usage_notification';

/**
* Prefix for cache
*
* @var string
*/
private static $cachePrefix = 'admin-usage-notification-popup';

/**
* @var Logger
*/
private $viewerLogger;

/**
* @var CacheInterface
*/
private $cacheStorage;

/**
* @param Logger $viewerLogger
* @param CacheInterface $cacheStorage
*/
public function __construct(
Logger $viewerLogger,
CacheInterface $cacheStorage
) {
$this->viewerLogger = $viewerLogger;
$this->cacheStorage = $cacheStorage;
}

/**
* Validate if notification popup can be shown and set the notification flag
*
* @param array $arguments Attributes from element node.
* @inheritdoc
*/
public function isVisible(array $arguments): bool
{
$cacheKey = self::$cachePrefix;
$value = $this->cacheStorage->load($cacheKey);
if ($value !== 'log-exists') {
$logExists = $this->viewerLogger->checkLogExists();
if ($logExists) {
$this->cacheStorage->save('log-exists', $cacheKey);
}
return !$logExists;
}
return false;
}

/**
* Get condition name
*
* @return string
*/
public function getName(): string
{
return self::$conditionName;
}
}
Loading

0 comments on commit 1e2ee96

Please sign in to comment.