private function buildActionView(PhabricatorFile $file) { $request = $this->getRequest(); $viewer = $request->getUser(); $id = $file->getID(); $can_edit = PhabricatorPolicyFilter::hasCapability($viewer, $file, PhabricatorPolicyCapability::CAN_EDIT); $view = id(new PhabricatorActionListView())->setUser($viewer)->setObjectURI($this->getRequest()->getRequestURI())->setObject($file); if ($file->isViewableInBrowser()) { $view->addAction(id(new PhabricatorActionView())->setName(pht('View File'))->setIcon('fa-file-o')->setHref($file->getViewURI())); } else { $view->addAction(id(new PhabricatorActionView())->setUser($viewer)->setRenderAsForm(true)->setDownload(true)->setName(pht('Download File'))->setIcon('fa-download')->setHref($file->getViewURI())); } $view->addAction(id(new PhabricatorActionView())->setName(pht('Edit File'))->setIcon('fa-pencil')->setHref($this->getApplicationURI("/edit/{$id}/"))->setWorkflow(!$can_edit)->setDisabled(!$can_edit)); $view->addAction(id(new PhabricatorActionView())->setName(pht('Delete File'))->setIcon('fa-times')->setHref($this->getApplicationURI("/delete/{$id}/"))->setWorkflow(true)->setDisabled(!$can_edit)); return $view; }
private function buildCurtainView(PhabricatorFile $file) { $viewer = $this->getViewer(); $id = $file->getID(); $can_edit = PhabricatorPolicyFilter::hasCapability($viewer, $file, PhabricatorPolicyCapability::CAN_EDIT); $curtain = $this->newCurtainView($file); $can_download = !$file->getIsPartial(); if ($file->isViewableInBrowser()) { $curtain->addAction(id(new PhabricatorActionView())->setName(pht('View File'))->setIcon('fa-file-o')->setHref($file->getViewURI())->setDisabled(!$can_download)->setWorkflow(!$can_download)); } else { $curtain->addAction(id(new PhabricatorActionView())->setUser($viewer)->setRenderAsForm($can_download)->setDownload($can_download)->setName(pht('Download File'))->setIcon('fa-download')->setHref($file->getViewURI())->setDisabled(!$can_download)->setWorkflow(!$can_download)); } $curtain->addAction(id(new PhabricatorActionView())->setName(pht('Edit File'))->setIcon('fa-pencil')->setHref($this->getApplicationURI("/edit/{$id}/"))->setWorkflow(!$can_edit)->setDisabled(!$can_edit)); $curtain->addAction(id(new PhabricatorActionView())->setName(pht('Delete File'))->setIcon('fa-times')->setHref($this->getApplicationURI("/delete/{$id}/"))->setWorkflow(true)->setDisabled(!$can_edit)); $curtain->addAction(id(new PhabricatorActionView())->setName(pht('View Transforms'))->setIcon('fa-crop')->setHref($this->getApplicationURI("/transforms/{$id}/"))); return $curtain; }
private function getFileDictionary(PhabricatorFile $file) { return array('id' => $file->getID(), 'phid' => $file->getPHID(), 'uri' => $file->getBestURI()); }