Beispiel #1
0
 public static function newArea(Project $project, Territory $territory, AreaStatus $status, $name)
 {
     $item = new Area();
     $item->setProject($project);
     $item->setTerritory($territory);
     $item->setStatus($status);
     $item->setName($name);
     return $item;
 }
 /**
  * @Route("/insert", name="project_area_insert")
  */
 public function insertAction(Request $request)
 {
     $territoryRepo = $this->get('cantiga.core.repo.project_territory');
     $statusRepo = $this->get('cantiga.core.repo.project_area_status');
     $groupRepo = $this->get('cantiga.core.repo.project_group');
     $territoryRepo->setProject($this->getActiveProject());
     $statusRepo->setProject($this->getActiveProject());
     $groupRepo->setProject($this->getActiveProject());
     $formModel = $this->extensionPointFromSettings(CoreExtensions::AREA_FORM, CoreSettings::AREA_FORM);
     $item = new Area();
     $item->setReporter($this->getUser());
     $item->setProject($this->getActiveProject());
     $action = new InsertAction($this->crudInfo, $item, ProjectAreaForm::class, ['customFormModel' => $formModel, 'territoryRepository' => $territoryRepo, 'groupRepository' => $groupRepo, 'statusRepository' => $statusRepo]);
     $action->slug($this->getSlug());
     $action->customForm($formModel);
     return $action->run($this, $request);
 }
Beispiel #3
0
 public function approve(Connection $conn, MembershipRoleResolver $resolver)
 {
     $this->status = $conn->fetchColumn('SELECT `status` FROM `' . CoreTables::AREA_REQUEST_TBL . '` WHERE `id` = :id', [':id' => $this->id]);
     if ($this->status == self::STATUS_VERIFICATION) {
         $this->lastUpdatedAt = time();
         $this->status = self::STATUS_APPROVED;
         $conn->update(CoreTables::AREA_REQUEST_TBL, ['lastUpdatedAt' => $this->lastUpdatedAt, 'status' => $this->status], ['id' => $this->getId()]);
         $area = new Area();
         $area->setName($this->name);
         $area->setProject($this->project);
         $area->setTerritory($this->territory);
         $area->setReporter($this->requestor);
         // oops, naming inconsistency
         $id = $area->insert($conn);
         $conn->update(CoreTables::AREA_REQUEST_TBL, ['areaId' => $id], ['id' => $this->getId()]);
         $area->joinMember($conn, $this->requestor, $resolver->getHighestRole('Area'), '');
         return $area;
     }
     return false;
 }