. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Hooks\GroupEmailFolder; use Espo\Entities\GroupEmailFolder; use Espo\ORM\Entity; use Espo\ORM\EntityManager; class Order { private EntityManager $entityManager; public function __construct(EntityManager $entityManager) { $this->entityManager = $entityManager; } /** * @param GroupEmailFolder $entity */ public function beforeSave(Entity $entity): void { $order = $entity->getOrder(); if ($order !== null) { return; } $order = $this->entityManager ->getRDBRepositoryByClass(GroupEmailFolder::class) ->max('order'); if (!$order) { $order = 0; } $order++; $entity->set('order', $order); } }