protected function execute(InputInterface $input, OutputInterface $output) { /** * @var EntityManager $em */ $em = (new OrmProvider())->getEntityManager(); /** * @var GroupRepository $groupRepository */ $groupRepository = $em->getRepository('LW\\Model\\Entity\\Group'); $dict = new Dictionary(); $users['director'] = $this->generateUser('ivanov_vu', 'ivanov_vu@test', 'ivanov_vu', $dict->userRoles()->ROLE_BOSS[0], 'Иванов', 'Василий', 'Юрьевич', 'Директор'); $users['department_chief'] = $this->generateUser('vasiliev_va', 'vasiliev_va@test', 'vasiliev_va', $dict->userRoles()->ROLE_BOSS[0], 'Васильев', 'Владимир', 'Алексеевич', 'Начальник отдела рекламы'); $users['designer'] = $this->generateUser('rasstrelnikov_sv', 'rasstrelnikov_sv@test', 'rasstrelnikov_sv', $dict->userRoles()->ROLE_WORKER[0], 'Расстрельников', 'Сергей', 'Викторович', 'Дизайнер'); $users['copywriter'] = $this->generateUser('tverskaya_aa', 'tverskaya_aa@test', 'tverskaya_aa', $dict->userRoles()->ROLE_WORKER[0], 'Тверская', 'Алена', 'Александровна', 'Копирайтер'); $users['system_administrator'] = $this->generateUser('admin', 'kolelov_in@test', '_admin_', $dict->userRoles()->ROLE_WORKER[0], 'Колелов', 'Иван', 'Николаевич', 'Системный администратор'); $groups['organisation'] = $this->generateGroup('ООО Наша фирма'); $groups['chief'] = $this->generateGroup('Директор'); $groups['department_advertising'] = $this->generateGroup('Отдел рекламы'); $groups['chief_department'] = $this->generateGroup('Начальник отдела'); $groups['worker_department'] = $this->generateGroup('Работники'); foreach ($users as $user) { $em->persist($user); } foreach ($groups as $group) { $group->setInnerOrder($groupRepository->getNextNumberByOwner(0)); $em->persist($group); } $em->flush(); $request = new Request(); $router = new Router($request); $manager = new Manager($em, $router); $manager->addUsersToGroup($groups['chief']->getId(), array($users['director']->getId())); $manager->addUsersToGroup($groups['chief_department']->getId(), array($users['department_chief']->getId())); $manager->addUsersToGroup($groups['worker_department']->getId(), array($users['copywriter']->getId(), $users['designer']->getId())); $manager->moveNode($groups['chief']->getId(), $groups['organisation']->getId(), 1); $manager->moveNode($groups['department_advertising']->getId(), $groups['chief']->getId(), 1); $manager->moveNode($groups['chief_department']->getId(), $groups['department_advertising']->getId(), 1); $manager->moveNode($groups['worker_department']->getId(), $groups['chief_department']->getId(), 1); $output->writeln('Successful!'); }
public function editTask(User $user, Task $task) { $dictionary = new Dictionary(); if ($user->getRole() != $dictionary->userRoles()->ROLE_BOSS[0]) { return; } $this->task = $task; $newUserList = $task->getUsers(); foreach ($newUserList as $userTask) { if ($userTask->getUserId() == $user->getId() && $userTask->getRole() == $dictionary->taskRoles()->CREATOR[0]) { continue; } if ($userTask->getId() != null) { $this->dataRepository->remove($userTask); continue; } $userTask->setRole($dictionary->taskRoles()->EXECUTOR[0]); $userTask->setUser($this->dataRepository->findUser($userTask->getUserId())); $this->dataRepository->persist($userTask); } $this->wasChanged = true; }