/** * @inheritdoc */ public function load(ObjectManager $manager) { $foobar = new Project('Foobar', 'foobar'); $foobar->setRepositorySize(256); $foobar->setDefaultBranch('new-feature'); $manager->persist($foobar); $this->setReference('project-foobar', $foobar); $this->dispatch($foobar); $empty = new Project('Empty', 'empty'); $empty->setRepositorySize(256); $manager->persist($empty); $this->setReference('project-empty', $empty); $this->dispatch($empty); $barbaz = new Project('Barbaz', 'barbaz'); $barbaz->setRepositorySize(352); $manager->persist($barbaz); $this->setReference('project-barbaz', $barbaz); $this->dispatch($barbaz); $secret = new Project('Secret', 'secret'); $secret->setRepositorySize(564); $manager->persist($secret); $this->setReference('project-secret', $secret); $this->dispatch($secret); $manager->flush(); }
public function findByProject(Entity\Project $project) { $em = $this->getManager(); $query = $em->createQuery(<<<SQL SELECT U FROM GitonomyCoreBundle:User U INNER JOIN U.projectRoles UR WHERE UR.project = :projectId SQL )->setParameter('projectId', $project->getId()); return $query->getResult(); }
/** * @inheritdoc */ protected function execute(InputInterface $input, OutputInterface $output) { $em = $this->getContainer()->get('doctrine')->getManager(); $project = new Project(); $project->setName($input->getArgument('name')); $project->setSlug($input->getArgument('slug')); $em->persist($project); $em->flush(); $event = new ProjectEvent($project); $this->getContainer()->get('gitonomy_core.event_dispatcher')->dispatch(GitonomyEvents::PROJECT_CREATE, $event); $em->persist($project); $em->flush(); $output->writeln(sprintf('Project <info>%s</info> was created!', $project->getName())); }
public function getBranchesActivity(Project $project, $branch = null) { $repository = $project->getRepository(); $references = $repository->getReferences(); $branchName = null === $branch ? $project->getDefaultBranch() : $branch; $against = $references->getBranch($branchName); foreach ($references->getBranches() as $branch) { $logBehind = $repository->getLog($repository->getRevision($branch->getFullname() . '..' . $against->getFullname())); $logAbove = $repository->getLog($repository->getRevision($against->getFullname() . '..' . $branch->getFullname())); $rows[] = array('branch' => $branch, 'above' => $logAbove->count(), 'behind' => $logBehind->count(), 'lastModification' => $branch->getLastModification()); } usort($rows, function ($left, $right) { return $left['lastModification']->getAuthorDate() < $right['lastModification']->getAuthorDate(); }); return $rows; }
public static function create(Project $project, Reference $reference, User $user) { return new self(array('project_id' => $project->getId(), 'user_id' => $user->getId(), 'ref' => $reference->getFullname())); }
/** * Handles the git pack. */ public function handle(Project $project, $command, array $env = array()) { $project->getRepository()->shell($command, $env); }
/** * Computes the repository path for a given project. */ protected function getPath(Project $project) { return $this->repositoryPath . '/' . $project->getSlug() . '.git'; }
public function isProject(Project $project) { return $project->getSlug() == $this->slug; }
public static function isSlugValid(Project $project, ExecutionContextInterface $context) { if (!preg_match('#^' . Project::SLUG_PATTERN . '$#', $project->getSlug())) { $context->addViolationAt('slug', 'This value is not valid.', array(), null); } }