improved first step of create order form

This commit is contained in:
2021-08-23 00:46:52 +02:00
parent a39da8fc36
commit 05b2621bc7
7 changed files with 191 additions and 3 deletions

View File

@@ -0,0 +1,55 @@
<?php
namespace Drupal\materio_commerce\Plugin\EntityReferenceSelection;
use Drupal\Core\Database\Connection;
use Drupal\Core\Database\Query\Condition;
use Drupal\Core\Database\Query\SelectInterface;
use Drupal\Core\Entity\EntityFieldManagerInterface;
use Drupal\Core\Entity\EntityRepositoryInterface;
use Drupal\Core\Entity\EntityTypeBundleInfoInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Entity\Plugin\EntityReferenceSelection\DefaultSelection;
use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Session\AccountInterface;
use Drupal\user\RoleInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\user\Plugin\EntityReferenceSelection\UserSelection;
/**
* Provides specific access control for the user entity type.
*
* @EntityReferenceSelection(
* id = "default:user_by_email",
* label = @Translation("User selection By Email"),
* entity_types = {"user"},
* group = "default",
* weight = 3
* )
*/
class UserByEmailSelection extends UserSelection {
/**
* {@inheritdoc}
*/
public function entityQueryAlter(SelectInterface $query) {
parent::entityQueryAlter($query);
$conditions = &$query->conditions();
foreach ($conditions as $key => $condition) {
if ($key !== '#conjunction' && is_string($condition['field']) && $condition['field'] === 'users_field_data.name') {
unset($conditions[$key]);
$or = new Condition('OR');
$or->condition('users_field_data.name', $condition['value'], $condition['operator']);
$or->condition('mail', $condition['value'], $condition['operator']);
$query->condition($or);
$t="t";
}
}
}
}