<?php require_once '../app.php'; use Orcamentos\Model\EquipmentType; use Orcamentos\Model\ServiceType; use Orcamentos\Model\HumanType; $em = $app['orm.em']; $types = $em->getRepository('Orcamentos\\Model\\Type')->findAll(); if (count($types) == 0) { $equipmentType = new EquipmentType(); $equipmentType->setName('Computador'); $em->persist($equipmentType); $serviceType = new ServiceType(); $serviceType->setName('Conta'); $em->persist($serviceType); $humanType = new HumanType(); $humanType->setName('Funcionário'); $em->persist($humanType); try { $em->flush(); } catch (Exception $e) { echo $e->getMessage(); } }
protected function execute(InputInterface $input, OutputInterface $output) { try { $command = $this->getApplication()->find('orm:schema-tool:create'); $returnCode = $command->run($input, $output); } catch (\Exception $e) { $output->writeln("<error>Your database alread have the schema!</error>"); } $this->input = $input; $this->output = $output; $em = $this->getEm(); $userRepo = $this->getEm()->getRepository('Orcamentos\\Model\\User'); $users = $userRepo->findAll(); if (count($users)) { $output->writeln("<error>Your database alread have users!</error>"); return; } // Inserting types $equipmentType = new EquipmentType(); $equipmentType->setName('Computador'); $em->persist($equipmentType); $serviceType = new ServiceType(); $serviceType->setName('Conta'); $em->persist($serviceType); $humanType = new HumanType(); $humanType->setName('Funcionário'); $em->persist($humanType); // Company Questions $output->writeln("<info>Company setup:</info>"); $companyName = $this->askFor('What is your company name', 'Demo'); $companyTelephone = $this->askFor('Company phone number', '99 9999999'); $companyEmail = $this->askFor('Company e-mail address', '*****@*****.**'); $company = new Company(); $company->setName($companyName); $company->setTelephone($companyTelephone); $company->setEmail($companyEmail); $company->setTaxes(6); $em->persist($company); // User questions $output->writeln("\n<info>User setup</info>"); $userName = $this->askFor('Full name of the user', 'Administrator'); $userEmail = $this->askFor('User\'s e-mail address', $companyEmail); $userPassword = $this->askForPassword(); $userAdmin = true; $userCompany = $company->getId(); $user = new User(); $user->setName($userName); $user->setEmail($userEmail); $user->setPassword((new Bcrypt())->create($userPassword)); $user->setAdmin(true); $user->setCompany($company); $em->persist($user); // Plan questions $output->writeln("\n<info>Plan setup:</info>"); $planName = $this->askFor('Enter a name for the default plan', 'Default'); $planPrice = 0 + $this->askFor('Enter the price for this plan', '0'); $plan = new Plan(); $plan->setName($planName); $plan->setPrice($planPrice); $plan->setQuoteLimit(null); $em->persist($plan); $company->setPlan($plan); try { $em->flush(); $output->writeln("<info>Initial setup complete!<info>"); } catch (\Exception $e) { $output->writeln("<error>Failed to initialize the database</error>"); } }