コード例 #1
0
ファイル: AdminPresenter.php プロジェクト: fuca/sportsclub
 public function createComponentEventsGrid($name)
 {
     $eventTypes = [null => null] + EventType::getOptions();
     $grid = new Grid($this, $name);
     $grid->setModel($this->eventsService->getEventsDataSource());
     $grid->setTranslator($this->getTranslator());
     $grid->addColumnNumber('id', '#')->cellPrototype->class[] = 'center';
     $headerId = $grid->getColumn('id')->headerPrototype;
     $headerId->class[] = 'center';
     $headerId->rowspan = "2";
     $headerId->style['width'] = '0.1%';
     $grid->addColumnText('title', 'Titulek')->setTruncate(20)->setSortable()->setFilterText();
     $headerTitle = $grid->getColumn('title')->headerPrototype;
     $headerTitle->class[] = 'center';
     $grid->addColumnText('eventType', 'Typ')->setCustomRender($this->typeRender)->setSortable()->setFilterSelect($eventTypes);
     $headerType = $grid->getColumn('eventType')->headerPrototype;
     $headerType->class[] = 'center';
     $grid->addColumnDate('takePlaceSince', 'Od', self::DATETIME_FORMAT)->setSortable()->setFilterDateRange();
     $headerSince = $grid->getColumn('takePlaceSince')->headerPrototype;
     $headerSince->class[] = 'center';
     $grid->addColumnDate('takePlaceTill', 'Do', self::DATETIME_FORMAT)->setSortable()->setFilterDateRange();
     $headerTill = $grid->getColumn('takePlaceTill')->headerPrototype;
     $headerTill->class[] = 'center';
     $grid->addColumnDate('confirmUntil', 'Potvrdit', self::DATETIME_FORMAT)->setSortable();
     $headerDead = $grid->getColumn('confirmUntil')->headerPrototype;
     $headerDead->class[] = 'center';
     $grid->addActionHref('delete', '', 'deleteEvent!')->setIcon('trash')->setElementPrototype(\Nette\Utils\Html::el("a")->addAttributes(["title" => $this->tt("eventsModule.grid.deleteEvent")]))->setConfirm(function ($u) {
         return $this->tt("eventsModule.admin.grid.rlyDelEvent", null, ["id" => $u->getId()]);
     });
     $grid->addActionHref("participation", "", "updateParticipation")->setElementPrototype(\Nette\Utils\Html::el("a")->addAttributes(["title" => $this->tt("eventsModule.grid.updateParticipation")]))->setIcon("list-alt");
     $grid->addActionHref('edit', '', 'updateEvent')->setElementPrototype(\Nette\Utils\Html::el("a")->addAttributes(["title" => $this->tt("eventsModule.grid.updateEvent")]))->setIcon('pencil');
     $grid->setOperation(["delete" => "Delete"], $this->eventsGridOperationHandler)->setConfirm('delete', 'Are you sure you want to delete %i items?');
     $grid->setFilterRenderType($this->filterRenderType);
     $grid->setExport("admin-events" . date("Y-m-d H:i:s", time()));
 }
コード例 #2
0
ファイル: ClubPresenter.php プロジェクト: fuca/sportsclub
 /**
  * @Secured(resource="cancelParticipation")
  */
 public function handleCancelParticipation()
 {
     try {
         $this->eventService->deleteEventParticipation($this->getUser()->getIdentity(), $this->getEntity());
     } catch (Exceptions\DataErrorException $ex) {
         $this->handleDataDelete($this->getEntity()->getId(), "this", $ex);
     }
     $this->redirect("this");
 }
コード例 #3
0
ファイル: UserPresenter.php プロジェクト: fuca/sportsclub
 public function actionGoToEvent($id)
 {
     $participation = $this->eventService->getEventParticipation($id);
     $this->redirect(":Events:Club:showEvent", $participation->getEvent()->getId());
 }