示例#1
0
 /**
  * @Extra\Route("/sign-up/{id}", name="SignUpForEvent")
  * @Extra\ParamConverter()
  */
 public function signUpAction(Entity\Announcement $announcement, Request $request)
 {
     $announcement->addTicketsBooking($request->get('name'), $request->get('count'));
     if ($request->get('contact')) {
         $announcement->addVolunteer($request->get('name'), $request->get('contact'));
     }
     $this->getEm()->flush();
     return new Response();
 }
示例#2
0
文件: Event.php 项目: arodiss/15x4
 /**
  * @param Announcement $announcement
  * @return self
  */
 public static function fromAnnouncement(Announcement $announcement)
 {
     $self = new self();
     $self->setCity($announcement->getCity());
     $self->setDate($announcement->getDate());
     $lectures = new ArrayCollection();
     foreach ($announcement->getLectures() as $lectureAnnouncement) {
         $lecture = new Lecture();
         $lecture->setTitle($lectureAnnouncement->getTitle());
         $lecture->setTeaser($lectureAnnouncement->getTeaser());
         $lecture->setLecturer($lectureAnnouncement->getLecturer());
         $lecture->setField($lectureAnnouncement->getField());
         $lecture->setEvent($self);
         $lectures->add($lecture);
     }
     $self->lectures = $lectures;
     $self->created = new \DateTime();
     //todo this should be set automatically, why it is not?
     return $self;
 }
示例#3
0
 /**
  * @Extra\Route("/announcements/{id}/get-volunteers", name="GetAnnouncementVolunteers")
  * @Extra\ParamConverter
  */
 public function downloadVolunteersAction(Entity\Announcement $announcement)
 {
     $file = $this->get("arodiss.xls.builder")->buildXlsFromArray(array_merge([['Имя', 'Контакты']], $announcement->getVolunteers()));
     $response = new Response();
     $response->headers->set("Content-Type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
     $response->headers->set("Content-Disposition", "attachment;filename=volunteers.xlsx");
     $response->setContent(file_get_contents($file));
     return $response;
 }