Major overhaul:
* Switched to semantic ui. * Add searching by location or tag * Reworked the forms
This commit is contained in:
parent
741e1c403a
commit
1f6c3c5fd4
51 changed files with 43286 additions and 771 deletions
|
@ -2,6 +2,9 @@
|
|||
|
||||
namespace Hackspace\Bundle\CalciferBundle\Controller;
|
||||
|
||||
use Doctrine\ORM\EntityManager;
|
||||
use Hackspace\Bundle\CalciferBundle\Entity\Location;
|
||||
use Hackspace\Bundle\CalciferBundle\Entity\Tag;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
|
||||
|
@ -29,7 +32,7 @@ class EventController extends Controller
|
|||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
|
||||
$entities = $em->getRepository('CalciferBundle:Event')->findAll();
|
||||
$entities = $em->getRepository('CalciferBundle:Event')->findBy([],['startdate' => 'ASC']);
|
||||
|
||||
return array(
|
||||
'entities' => $entities,
|
||||
|
@ -49,6 +52,52 @@ class EventController extends Controller
|
|||
$entity->setSummary($request->get('summary'));
|
||||
$entity->setUrl($request->get('url'));
|
||||
$startdate = $request->get('startdate');
|
||||
$startdate = new \DateTime($startdate);
|
||||
$entity->setStartdate($startdate);
|
||||
|
||||
$enddate = $request->get('enddate');
|
||||
if (strlen($enddate) > 0) {
|
||||
$enddate = new \DateTime($enddate);
|
||||
$entity->setenddate($enddate);
|
||||
}
|
||||
|
||||
$location = $request->get('location');
|
||||
if (strlen($location) > 0) {
|
||||
// check if the location already exists
|
||||
/** @var EntityManager $em */
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$repo = $em->getRepository('CalciferBundle:Location');
|
||||
$results = $repo->findBy(['name' => $location]);
|
||||
if (count($results) > 0) {
|
||||
$entity->setLocation($results[0]);
|
||||
} else {
|
||||
$location_obj = new Location();
|
||||
$location_obj->setName($location);
|
||||
$em->persist($location_obj);
|
||||
$em->flush();
|
||||
$entity->setLocation($location_obj);
|
||||
}
|
||||
}
|
||||
|
||||
$tags = $request->get('tags');
|
||||
if (strlen($tags) > 0) {
|
||||
$tags = explode(',',$tags);
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$repo = $em->getRepository('CalciferBundle:Tag');
|
||||
foreach ($tags as $tag) {
|
||||
$tag = trim($tag);
|
||||
$results = $repo->findBy(['name' => $tag]);
|
||||
if (count($results) > 0) {
|
||||
$entity->addTag($results[0]);
|
||||
} else {
|
||||
$tag_obj = new Tag();
|
||||
$tag_obj->setName($tag);
|
||||
$em->persist($tag_obj);
|
||||
$em->flush();
|
||||
$entity->addTag($tag_obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($entity->isValid()) {
|
||||
|
@ -64,25 +113,6 @@ class EventController extends Controller
|
|||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a form to create a Event entity.
|
||||
*
|
||||
* @param Event $entity The entity
|
||||
*
|
||||
* @return \Symfony\Component\Form\Form The form
|
||||
*/
|
||||
private function createCreateForm(Event $entity)
|
||||
{
|
||||
$form = $this->createForm(new EventType(), $entity, array(
|
||||
'action' => $this->generateUrl('_create'),
|
||||
'method' => 'POST',
|
||||
));
|
||||
|
||||
$form->add('submit', 'submit', array('label' => 'Create'));
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays a form to create a new Event entity.
|
||||
*
|
||||
|
@ -93,11 +123,9 @@ class EventController extends Controller
|
|||
public function newAction()
|
||||
{
|
||||
$entity = new Event();
|
||||
$form = $this->createCreateForm($entity);
|
||||
|
||||
return array(
|
||||
'entity' => $entity,
|
||||
'form' => $form->createView(),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -118,11 +146,8 @@ class EventController extends Controller
|
|||
throw $this->createNotFoundException('Unable to find Event entity.');
|
||||
}
|
||||
|
||||
$deleteForm = $this->createDeleteForm($id);
|
||||
|
||||
return array(
|
||||
'entity' => $entity,
|
||||
'delete_form' => $deleteForm->createView(),
|
||||
'entity' => $entity
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -143,107 +168,92 @@ class EventController extends Controller
|
|||
throw $this->createNotFoundException('Unable to find Event entity.');
|
||||
}
|
||||
|
||||
$editForm = $this->createEditForm($entity);
|
||||
$deleteForm = $this->createDeleteForm($id);
|
||||
|
||||
return array(
|
||||
'entity' => $entity,
|
||||
'edit_form' => $editForm->createView(),
|
||||
'delete_form' => $deleteForm->createView(),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a form to edit a Event entity.
|
||||
*
|
||||
* @param Event $entity The entity
|
||||
*
|
||||
* @return \Symfony\Component\Form\Form The form
|
||||
*/
|
||||
private function createEditForm(Event $entity)
|
||||
{
|
||||
$form = $this->createForm(new EventType(), $entity, array(
|
||||
'action' => $this->generateUrl('_update', array('id' => $entity->getId())),
|
||||
'method' => 'PUT',
|
||||
));
|
||||
|
||||
$form->add('submit', 'submit', array('label' => 'Update'));
|
||||
|
||||
return $form;
|
||||
}
|
||||
/**
|
||||
* Edits an existing Event entity.
|
||||
*
|
||||
* @Route("/{id}", name="_update")
|
||||
* @Method("PUT")
|
||||
* @Method("POST")
|
||||
* @Template("CalciferBundle:Event:edit.html.twig")
|
||||
*/
|
||||
public function updateAction(Request $request, $id)
|
||||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
|
||||
/** @var Event $entity */
|
||||
$entity = $em->getRepository('CalciferBundle:Event')->find($id);
|
||||
|
||||
if (!$entity) {
|
||||
throw $this->createNotFoundException('Unable to find Event entity.');
|
||||
}
|
||||
|
||||
$deleteForm = $this->createDeleteForm($id);
|
||||
$editForm = $this->createEditForm($entity);
|
||||
$editForm->handleRequest($request);
|
||||
$entity->setDescription($request->get('description'));
|
||||
$entity->setSummary($request->get('summary'));
|
||||
$entity->setUrl($request->get('url'));
|
||||
$startdate = $request->get('startdate');
|
||||
$startdate = new \DateTime($startdate);
|
||||
$entity->setStartdate($startdate);
|
||||
|
||||
if ($editForm->isValid()) {
|
||||
$enddate = $request->get('enddate');
|
||||
if (strlen($enddate) > 0) {
|
||||
$enddate = new \DateTime($enddate);
|
||||
$entity->setenddate($enddate);
|
||||
}
|
||||
|
||||
$location = $request->get('location');
|
||||
if (strlen($location) > 0) {
|
||||
// check if the location already exists
|
||||
/** @var EntityManager $em */
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$repo = $em->getRepository('CalciferBundle:Location');
|
||||
$results = $repo->findBy(['name' => $location]);
|
||||
if (count($results) > 0) {
|
||||
$entity->setLocation($results[0]);
|
||||
} else {
|
||||
$location_obj = new Location();
|
||||
$location_obj->setName($location);
|
||||
$em->persist($location_obj);
|
||||
$em->flush();
|
||||
$entity->setLocation($location_obj);
|
||||
}
|
||||
}
|
||||
|
||||
$tags = $request->get('tags');
|
||||
if (strlen($tags) > 0) {
|
||||
$tags = explode(',',$tags);
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$repo = $em->getRepository('CalciferBundle:Tag');
|
||||
foreach ($tags as $tag) {
|
||||
$tag = trim($tag);
|
||||
$results = $repo->findBy(['name' => $tag]);
|
||||
if (count($results) > 0) {
|
||||
$entity->addTag($results[0]);
|
||||
} else {
|
||||
$tag_obj = new Tag();
|
||||
$tag_obj->setName($tag);
|
||||
$em->persist($tag_obj);
|
||||
$em->flush();
|
||||
$entity->addTag($tag_obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($entity->isValid()) {
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$em->persist($entity);
|
||||
$em->flush();
|
||||
|
||||
return $this->redirect($this->generateUrl('_edit', array('id' => $id)));
|
||||
return $this->redirect($this->generateUrl('_show', array('id' => $entity->getId())));
|
||||
}
|
||||
|
||||
return array(
|
||||
'entity' => $entity,
|
||||
'edit_form' => $editForm->createView(),
|
||||
'delete_form' => $deleteForm->createView(),
|
||||
|
||||
);
|
||||
}
|
||||
/**
|
||||
* Deletes a Event entity.
|
||||
*
|
||||
* @Route("/{id}", name="_delete")
|
||||
* @Method("DELETE")
|
||||
*/
|
||||
public function deleteAction(Request $request, $id)
|
||||
{
|
||||
$form = $this->createDeleteForm($id);
|
||||
$form->handleRequest($request);
|
||||
|
||||
if ($form->isValid()) {
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$entity = $em->getRepository('CalciferBundle:Event')->find($id);
|
||||
|
||||
if (!$entity) {
|
||||
throw $this->createNotFoundException('Unable to find Event entity.');
|
||||
}
|
||||
|
||||
$em->remove($entity);
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
return $this->redirect($this->generateUrl(''));
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a form to delete a Event entity by id.
|
||||
*
|
||||
* @param mixed $id The entity id
|
||||
*
|
||||
* @return \Symfony\Component\Form\Form The form
|
||||
*/
|
||||
private function createDeleteForm($id)
|
||||
{
|
||||
return $this->createFormBuilder()
|
||||
->setAction($this->generateUrl('_delete', array('id' => $id)))
|
||||
->setMethod('DELETE')
|
||||
->add('submit', 'submit', array('label' => 'Delete'))
|
||||
->getForm()
|
||||
;
|
||||
}
|
||||
}
|
||||
|
|
100
src/Hackspace/Bundle/CalciferBundle/Controller/LocationController.php
Executable file
100
src/Hackspace/Bundle/CalciferBundle/Controller/LocationController.php
Executable file
|
@ -0,0 +1,100 @@
|
|||
<?php
|
||||
|
||||
namespace Hackspace\Bundle\CalciferBundle\Controller;
|
||||
|
||||
use Doctrine\ORM\EntityManager;
|
||||
use Hackspace\Bundle\CalciferBundle\Entity\Location;
|
||||
use Hackspace\Bundle\CalciferBundle\Entity\Tag;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
|
||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
|
||||
use Hackspace\Bundle\CalciferBundle\Entity\Event;
|
||||
use Hackspace\Bundle\CalciferBundle\Form\EventType;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Jsvrcek\ICS\Model\Calendar;
|
||||
use Jsvrcek\ICS\Model\CalendarEvent;
|
||||
use Jsvrcek\ICS\Model\Relationship\Attendee;
|
||||
use Jsvrcek\ICS\Model\Relationship\Organizer;
|
||||
|
||||
use Jsvrcek\ICS\Utility\Formatter;
|
||||
use Jsvrcek\ICS\CalendarStream;
|
||||
use Jsvrcek\ICS\CalendarExport;
|
||||
use Symfony\Component\Validator\Constraints\DateTime;
|
||||
|
||||
/**
|
||||
* Location controller.
|
||||
*
|
||||
* @Route("/locations")
|
||||
*/
|
||||
class LocationController extends Controller
|
||||
{
|
||||
/**
|
||||
* Finds and displays a Event entity.
|
||||
*
|
||||
* @Route("/{id}", requirements={"id" = "\d+"}, name="location_show")
|
||||
* @Method("GET")
|
||||
* @Template("CalciferBundle:Event:index.html.twig")
|
||||
*/
|
||||
public function showAction($id)
|
||||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
|
||||
/** @var Location $location */
|
||||
$location = $em->getRepository('CalciferBundle:Location')->find($id);
|
||||
|
||||
if (!$location) {
|
||||
throw $this->createNotFoundException('Unable to find Location entity.');
|
||||
}
|
||||
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
|
||||
$entities = $em->getRepository('CalciferBundle:Event')->findBy(['locations_id' => $location->getId()],['startdate' => 'ASC']);
|
||||
|
||||
return array(
|
||||
'entities' => $entities,
|
||||
'location' => $location,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds and displays a Event entity.
|
||||
*
|
||||
* @Route("/{id}.ics", requirements={"id" = "\d+"}, name="location_show_ics")
|
||||
* @Method("GET")
|
||||
*/
|
||||
public function showActionICS($id)
|
||||
{
|
||||
$results = $this->showAction(str_replace('.ics','',$id));
|
||||
$entities = $results['entities'];
|
||||
|
||||
$calendar = new Calendar();
|
||||
$calendar->setProdId('-//My Company//Cool Calendar App//EN');
|
||||
|
||||
foreach($entities as $entity) {
|
||||
/** @var Event $entity */
|
||||
$event = new CalendarEvent();
|
||||
$event->setStart($entity->getStartdate());
|
||||
if ($entity->getEnddate() instanceof DateTime)
|
||||
$event->setEnd($entity->getEnddate());
|
||||
$event->setSummary($entity->getSummary());
|
||||
$event->setDescription($entity->getDescription());
|
||||
$location = new \Jsvrcek\ICS\Model\Description\Location();
|
||||
$location->setName($entity->getLocation()->getName());
|
||||
$event->setLocations([$location]);
|
||||
$calendar->addEvent($event);
|
||||
}
|
||||
|
||||
$calendarExport = new CalendarExport(new CalendarStream, new Formatter());
|
||||
$calendarExport->addCalendar($calendar);
|
||||
|
||||
//output .ics formatted text
|
||||
$result = $calendarExport->getStream();
|
||||
|
||||
$response = new Response($result);
|
||||
$response->headers->set('Content-Type', 'text/calendar');
|
||||
|
||||
return $response;
|
||||
}
|
||||
}
|
103
src/Hackspace/Bundle/CalciferBundle/Controller/TagController.php
Executable file
103
src/Hackspace/Bundle/CalciferBundle/Controller/TagController.php
Executable file
|
@ -0,0 +1,103 @@
|
|||
<?php
|
||||
|
||||
namespace Hackspace\Bundle\CalciferBundle\Controller;
|
||||
|
||||
use Doctrine\ORM\EntityManager;
|
||||
use Doctrine\ORM\QueryBuilder;
|
||||
use Hackspace\Bundle\CalciferBundle\Entity\Location;
|
||||
use Hackspace\Bundle\CalciferBundle\Entity\Tag;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
|
||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
|
||||
use Hackspace\Bundle\CalciferBundle\Entity\Event;
|
||||
use Hackspace\Bundle\CalciferBundle\Form\EventType;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Jsvrcek\ICS\Model\Calendar;
|
||||
use Jsvrcek\ICS\Model\CalendarEvent;
|
||||
use Jsvrcek\ICS\Model\Relationship\Attendee;
|
||||
use Jsvrcek\ICS\Model\Relationship\Organizer;
|
||||
|
||||
use Jsvrcek\ICS\Utility\Formatter;
|
||||
use Jsvrcek\ICS\CalendarStream;
|
||||
use Jsvrcek\ICS\CalendarExport;
|
||||
|
||||
/**
|
||||
* Tag controller.
|
||||
*
|
||||
* @Route("/tags")
|
||||
*/
|
||||
class TagController extends Controller
|
||||
{
|
||||
/**
|
||||
* Finds and displays a Event entity.
|
||||
*
|
||||
* @Route("/{id}", requirements={"id" = "\d+"}, name="tag_show")
|
||||
* @Method("GET")
|
||||
* @Template("CalciferBundle:Event:index.html.twig")
|
||||
*/
|
||||
public function showAction($id)
|
||||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
|
||||
/** @var Tag $tag */
|
||||
$tag = $em->getRepository('CalciferBundle:Tag')->find($id);
|
||||
|
||||
if (!$tag) {
|
||||
throw $this->createNotFoundException('Unable to find tag entity.');
|
||||
}
|
||||
|
||||
/** @var QueryBuilder $qb */
|
||||
$qb = $em->createQueryBuilder();
|
||||
$qb ->select(array('e'))
|
||||
->from('CalciferBundle:Event', 'e')
|
||||
->join('e.tags', 't', 'WITH', $qb->expr()->in('t.id', $tag->getId()))
|
||||
->orderBy('e.startdate');
|
||||
$entities = $qb->getQuery()->execute();
|
||||
|
||||
return array(
|
||||
'entities' => $entities,
|
||||
'tag' => $tag,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds and displays a Event entity.
|
||||
*
|
||||
* @Route("/{id}.ics", requirements={"id" = "\d+"}, name="tag_show_ics")
|
||||
* @Method("GET")
|
||||
*/
|
||||
public function showActionICS($id)
|
||||
{
|
||||
$results = $this->showAction(str_replace('.ics','',$id));
|
||||
$entities = $results['entities'];
|
||||
|
||||
$calendar = new Calendar();
|
||||
$calendar->setProdId('-//My Company//Cool Calendar App//EN');
|
||||
|
||||
foreach($entities as $entity) {
|
||||
/** @var Event $entity */
|
||||
$event = new CalendarEvent();
|
||||
$event->setStart($entity->getStartdate());
|
||||
$event->setEnd($entity->getEnddate());
|
||||
$event->setSummary($entity->getSummary());
|
||||
$event->setDescription($entity->getDescription());
|
||||
$location = new \Jsvrcek\ICS\Model\Description\Location();
|
||||
$location->setName($entity->getLocation()->getName());
|
||||
$event->setLocations([$location]);
|
||||
$calendar->addEvent($event);
|
||||
}
|
||||
|
||||
$calendarExport = new CalendarExport(new CalendarStream, new Formatter());
|
||||
$calendarExport->addCalendar($calendar);
|
||||
|
||||
//output .ics formatted text
|
||||
$result = $calendarExport->getStream();
|
||||
|
||||
$response = new Response($result);
|
||||
$response->headers->set('Content-Type', 'text/calendar');
|
||||
|
||||
return $response;
|
||||
}
|
||||
}
|
|
@ -3,6 +3,7 @@
|
|||
namespace Hackspace\Bundle\CalciferBundle\Entity;
|
||||
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Doctrine\ORM\PersistentCollection;
|
||||
|
||||
/**
|
||||
* Event
|
||||
|
@ -45,7 +46,7 @@ class Event
|
|||
/**
|
||||
* @var string
|
||||
*
|
||||
* @ORM\Column(name="description", type="string", length=255, nullable=true)
|
||||
* @ORM\Column(name="description", type="text", nullable=true)
|
||||
*/
|
||||
private $description;
|
||||
|
||||
|
@ -59,7 +60,7 @@ class Event
|
|||
/**
|
||||
* @var Location
|
||||
*
|
||||
* @ORM\OneToOne(targetEntity="Location")
|
||||
* @ORM\ManyToOne(targetEntity="Location")
|
||||
* @ORM\JoinColumn(name="locations_id", referencedColumnName="id")
|
||||
*/
|
||||
private $location;
|
||||
|
@ -74,13 +75,13 @@ class Event
|
|||
/**
|
||||
* @var array
|
||||
*
|
||||
* @ORM\ManyToMany(targetEntity="Tag", inversedBy="features")
|
||||
* @ORM\ManyToMany(targetEntity="Tag")
|
||||
* @ORM\JoinTable(name="events2tags",
|
||||
* joinColumns={@ORM\JoinColumn(name="events_id", referencedColumnName="id")},
|
||||
* inverseJoinColumns={@ORM\JoinColumn(name="tags_id", referencedColumnName="id")}
|
||||
* )
|
||||
*/
|
||||
private $tags;
|
||||
private $tags = [];
|
||||
|
||||
|
||||
/**
|
||||
|
@ -253,7 +254,37 @@ class Event
|
|||
return $this->tags;
|
||||
}
|
||||
|
||||
public function hasTag(Tag $tag) {
|
||||
if ($this->tags instanceof PersistentCollection) {
|
||||
return $this->tags->contains($tag);
|
||||
} elseif (is_array($this->tags)) {
|
||||
return in_array($tag,$this->tags);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function addTag(Tag $tag) {
|
||||
/** @var PersistentCollection $this->tags */
|
||||
if (!$this->hasTag($tag)) {
|
||||
$this->tags[] = $tag;
|
||||
}
|
||||
}
|
||||
|
||||
public function isValid() {
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
public function getTagsAsText() {
|
||||
if (count($this->tags) > 0) {
|
||||
$tags = [];
|
||||
foreach ($this->tags as $tag) {
|
||||
$tags[] = $tag->getName();
|
||||
}
|
||||
return implode(',',$tags);
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,14 +31,14 @@ class Location
|
|||
/**
|
||||
* @var float
|
||||
*
|
||||
* @ORM\Column(name="lon", type="float")
|
||||
* @ORM\Column(name="lon", type="float", nullable=true)
|
||||
*/
|
||||
private $lon;
|
||||
|
||||
/**
|
||||
* @var float
|
||||
*
|
||||
* @ORM\Column(name="lat", type="float")
|
||||
* @ORM\Column(name="lat", type="float", nullable=true)
|
||||
*/
|
||||
private $lat;
|
||||
|
||||
|
|
31
src/Hackspace/Bundle/CalciferBundle/Resources/assets/css/events.scss
Executable file
31
src/Hackspace/Bundle/CalciferBundle/Resources/assets/css/events.scss
Executable file
|
@ -0,0 +1,31 @@
|
|||
.event.box {
|
||||
h2 {
|
||||
padding: 0.5rem;
|
||||
a,a:hover,a:visited {
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
.startdate,.location,.url,.edit {
|
||||
/*float: left;*/
|
||||
display: inline;
|
||||
margin: 0;
|
||||
margin-right: 0.5rem;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
ul.tags {
|
||||
padding-left: 0;
|
||||
/*float: left;*/
|
||||
margin: 0;
|
||||
margin-right: 0.5rem;
|
||||
margin-bottom: 0.5rem;
|
||||
display: inline;
|
||||
li {
|
||||
list-style-type: none;
|
||||
/*float: left;*/
|
||||
display: inline;
|
||||
margin-right: 0.5rem;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,366 @@
|
|||
.xdsoft_datetimepicker {
|
||||
box-shadow: 0px 5px 15px -5px rgba(0, 0, 0, 0.506);
|
||||
background: #FFFFFF;
|
||||
border-bottom: 1px solid #BBBBBB;
|
||||
border-left: 1px solid #CCCCCC;
|
||||
border-right: 1px solid #CCCCCC;
|
||||
border-top: 1px solid #CCCCCC;
|
||||
color: #333333;
|
||||
font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
|
||||
padding: 8px;
|
||||
padding-left: 0px;
|
||||
padding-top: 2px;
|
||||
position: absolute;
|
||||
z-index: 9999;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker iframe {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 75px;
|
||||
height: 210px;
|
||||
background: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
/*For IE8 or lower*/
|
||||
.xdsoft_datetimepicker button {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.xdsoft_noselect {
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
-o-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.xdsoft_noselect::selection {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.xdsoft_noselect::-moz-selection {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_inline {
|
||||
display: inline-block;
|
||||
position: static;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker * {
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_datepicker, .xdsoft_datetimepicker .xdsoft_timepicker {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_datepicker.active, .xdsoft_datetimepicker .xdsoft_timepicker.active {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_datepicker {
|
||||
width: 224px;
|
||||
float: left;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker {
|
||||
width: 58px;
|
||||
float: left;
|
||||
text-align: center;
|
||||
margin-left: 8px;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_datepicker.active + .xdsoft_timepicker {
|
||||
margin-top: 8px;
|
||||
margin-bottom: 3px
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_mounthpicker {
|
||||
position: relative;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_prev, .xdsoft_datetimepicker .xdsoft_next, .xdsoft_datetimepicker .xdsoft_today_button {
|
||||
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAAeCAYAAACsYQl4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozQjRCQjRGREU4MkNFMzExQjRDQkIyRDJDOTdBRUI1MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCQjg0OUYyNTZDODAxMUUzQjMwM0IwMERBNUU0ODQ5NSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCQjg0OUYyNDZDODAxMUUzQjMwM0IwMERBNUU0ODQ5NSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkI5NzE3MjFBN0E2Q0UzMTFBQjJEQjgzMDk5RTNBNTdBIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjNCNEJCNEZERTgyQ0UzMTFCNENCQjJEMkM5N0FFQjUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+aQvATgAAAfVJREFUeNrsmr1OwzAQxzGtkPjYEAuvVGAvfQIGRKADE49gdLwDDwBiZ2RhQUKwICQkWLsgFiRQuIBTucFJ/XFp4+hO+quqnZ4uvzj2nV2RpukCW/22yAgYNINmc7du7DcghCjrkqgOKjF1znpt6rZ0AGWQj7TvCU8d9UM+QAGDrhdyc2Bnc1WVVPBev9V8lBnY+rDwncWZThG4xk4lmxtJy2AHgoY/FySgbSBPwPZ8mEXbQx3aDERb0EbYAYFC7pcAtAvkMWwC0D3NX58S9D/YnoGC7nPWr3Dg9JTbtuHhDShBT8D2CBSK/iIEvVXxpuxSgh7DdgwUTL4iA92zmJb6lKB/YTsECmV+IgK947AGDIqgQ/LojsO135Hn51l2cWlov0JdGNrPUceueXRwilSVgkUyom9Rd6gbLfYTDeO+1v6orn0InTogYDGUkYLO3/wc9BdqqTCKP1Tfi+oTIaCBIL2TES+GTyruT9S61p6BHam+99DFEAgLFklYsIBHwSI9QY80H5ta+1rB/6ovaKihBJeEJbgLbBlQgl+j3lDPqA2tfQV1j3pVn8s+oKHGTSVJ+FqDLeR5bCqJ2E/BCycsoLZETXaKGs7rhKVt+9HZScrZNMi88V8P7LlDbvOZYaJVpMMmBCT4n0o8dTBoNgbdWPsRYACs3r7XyNfbnAAAAABJRU5ErkJggg==');
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_prev {
|
||||
float: left;
|
||||
background-position: -20px 0px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_today_button {
|
||||
float: left;
|
||||
background-position: -70px 0px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_next {
|
||||
float: right;
|
||||
background-position: 0px 0px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_next:active, .xdsoft_datetimepicker .xdsoft_prev:active {
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_next, .xdsoft_datetimepicker .xdsoft_prev, .xdsoft_datetimepicker .xdsoft_today_button {
|
||||
background-color: transparent;
|
||||
background-repeat: no-repeat;
|
||||
border: 0px none currentColor;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
height: 30px;
|
||||
opacity: 0.5;
|
||||
outline: medium none currentColor;
|
||||
overflow: hidden;
|
||||
padding: 0px;
|
||||
position: relative;
|
||||
text-indent: 100%;
|
||||
white-space: nowrap;
|
||||
width: 20px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev,
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next {
|
||||
float: none;
|
||||
background-position: -40px -15px;
|
||||
height: 15px;
|
||||
width: 30px;
|
||||
display: block;
|
||||
margin-left: 14px;
|
||||
margin-top: 7px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev {
|
||||
background-position: -40px 0px;
|
||||
margin-bottom: 7px;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box {
|
||||
height: 151px;
|
||||
overflow: hidden;
|
||||
border-bottom: 1px solid #DDDDDD;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div {
|
||||
background: #F5F5F5;
|
||||
border-top: 1px solid #DDDDDD;
|
||||
color: #666666;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
border-collapse: collapse;
|
||||
cursor: pointer;
|
||||
border-bottom-width: 0px;
|
||||
height: 25px;
|
||||
line-height: 25px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div:first-child {
|
||||
border-top-width: 0px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_today_button:hover,
|
||||
.xdsoft_datetimepicker .xdsoft_next:hover,
|
||||
.xdsoft_datetimepicker .xdsoft_prev:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label {
|
||||
display: inline;
|
||||
position: relative;
|
||||
z-index: 9999;
|
||||
margin: 0;
|
||||
padding: 5px 3px;
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
font-weight: bold;
|
||||
background-color: #fff;
|
||||
float: left;
|
||||
width: 182px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select {
|
||||
border: 1px solid #ccc;
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
top: 30px;
|
||||
z-index: 101;
|
||||
display: none;
|
||||
background: #fff;
|
||||
max-height: 160px;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_monthselect {
|
||||
right: -7px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_yearselect {
|
||||
right: 2px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover {
|
||||
color: #fff;
|
||||
background: #ff8000;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option {
|
||||
padding: 2px 10px 2px 5px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current {
|
||||
background: #33AAFF;
|
||||
box-shadow: #178FE5 0px 1px 3px 0px inset;
|
||||
color: #fff;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_month {
|
||||
width: 90px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_year {
|
||||
width: 56px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar table {
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td > div {
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar th {
|
||||
height: 25px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td, .xdsoft_datetimepicker .xdsoft_calendar th {
|
||||
width: 14.2857142%;
|
||||
background: #F5F5F5;
|
||||
border: 1px solid #DDDDDD;
|
||||
color: #666666;
|
||||
font-size: 12px;
|
||||
text-align: right;
|
||||
padding: 0px;
|
||||
border-collapse: collapse;
|
||||
cursor: pointer;
|
||||
height: 25px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar th {
|
||||
background: #F1F1F1;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today {
|
||||
color: #33AAFF;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div.xdsoft_current {
|
||||
background: #33AAFF;
|
||||
box-shadow: #178FE5 0px 1px 3px 0px inset;
|
||||
color: #fff;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled,
|
||||
.xdsoft_datetimepicker .xdsoft_time_box > div > div.xdsoft_disabled {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month.xdsoft_disabled {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td:hover,
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div:hover {
|
||||
color: #fff !important;
|
||||
background: #ff8000 !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled:hover,
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div.xdsoft_disabled:hover {
|
||||
color: inherit !important;
|
||||
background: inherit !important;
|
||||
/*box-shadow: inherit !important;*/
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar th {
|
||||
font-weight: 700;
|
||||
text-align: center;
|
||||
color: #999;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_copyright {
|
||||
color: #ccc !important;
|
||||
font-size: 10px;
|
||||
clear: both;
|
||||
float: none;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_copyright a {
|
||||
color: #eee !important;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_copyright a:hover {
|
||||
color: #aaa !important;
|
||||
}
|
||||
|
||||
.xdsoft_time_box {
|
||||
position: relative;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.xdsoft_scrollbar > .xdsoft_scroller {
|
||||
background: #ccc !important;
|
||||
height: 20px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.xdsoft_scrollbar {
|
||||
position: absolute;
|
||||
width: 7px;
|
||||
right: 0px;
|
||||
top: 0px;
|
||||
bottom: 0px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.xdsoft_scroller_box {
|
||||
position: relative;
|
||||
}
|
10
src/Hackspace/Bundle/CalciferBundle/Resources/assets/js/events.js
Executable file
10
src/Hackspace/Bundle/CalciferBundle/Resources/assets/js/events.js
Executable file
|
@ -0,0 +1,10 @@
|
|||
/**
|
||||
* Created by tim on 06.07.14.
|
||||
*/
|
||||
|
||||
// initializing with settings
|
||||
|
||||
$(document).ready(function () {
|
||||
$('.icon.link').popup();
|
||||
jQuery('input[type=datetime]').datetimepicker({lang: 'de',format:'Y-m-d H:i'});
|
||||
});
|
File diff suppressed because one or more lines are too long
|
@ -1,16 +1,31 @@
|
|||
{% extends 'CalciferBundle::layout.html.twig' %}
|
||||
|
||||
{% block body -%}
|
||||
<h1>Event edit</h1>
|
||||
|
||||
{{ form(edit_form) }}
|
||||
|
||||
<ul class="record_actions">
|
||||
<li>
|
||||
<a href="{{ path('') }}">
|
||||
Back to the list
|
||||
</a>
|
||||
</li>
|
||||
<li>{{ form(delete_form) }}</li>
|
||||
</ul>
|
||||
{% block css %}
|
||||
{% stylesheets filter="compass"
|
||||
"@CalciferBundle/Resources/assets/css/jquery.datetimepicker.scss" %}
|
||||
<link rel="stylesheet" href="{{ asset_url }}"/>
|
||||
{% endstylesheets %}
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
{% javascripts
|
||||
"@CalciferBundle/Resources/assets/js/jquery.datetimepicker.js"
|
||||
"@CalciferBundle/Resources/assets/js/events.js" %}
|
||||
<script src="{{ asset_url }}"></script>
|
||||
{% endjavascripts %}
|
||||
{% endblock %}
|
||||
|
||||
{% block body -%}
|
||||
<div class="ui one column page grid">
|
||||
<div class="ui column">
|
||||
<h1>Termin bearbeiten</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui one column page grid">
|
||||
<div class="ui column">
|
||||
{{ include('CalciferBundle:Event:event_form.html.twig',{'entity':entity}) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
<div class="ui column">
|
||||
<div class="ui segment event box">
|
||||
<h2 class="ui dividing header segment green inverted"><a href="{{ path('_show', { 'id': entity.id }) }}">{{ entity.summary }}</a>
|
||||
</h2>
|
||||
|
||||
<p class="edit">
|
||||
<a href="{{ path('_edit', {'id' : entity.id}) }}"><i class="ui icon edit circular green inverted"></i>Bearbeiten</a>
|
||||
</p>
|
||||
|
||||
<p class="startdate ">
|
||||
<i class="ui icon calendar circular green inverted link" title="Wann?" data-content="Wann?"></i>{{ entity.startdate.format('Y-m-d H:i') }}
|
||||
</p>
|
||||
|
||||
{% if entity.location is not null %}
|
||||
<p class="location">
|
||||
<a href="{{ path('location_show', {'id' : entity.location.id}) }}"><i class="ui icon map marker circular green inverted link" title="Wo?" data-content="Wo?"></i>{{ entity.location.name }}</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if entity.tags|length > 0 %}
|
||||
<ul class="tags">
|
||||
{% for tag in entity.tags %}
|
||||
<li class="tag"><a href="{{ path('tag_show',{'id' : tag.id}) }}"><i class="circular icon tag green inverted"></i>{{ tag.name }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
{% if entity.url|length > 0 %}
|
||||
<p class="url">
|
||||
<a href="{{ entity.url }}"><i class="ui icon globe green circular inverted"></i>{{ entity.url }}</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<div class="ui clearing divider"></div>
|
||||
|
||||
{% if truncate_summary|default(false) %}
|
||||
<p>{{ entity.description|truncate(255)|markdown }}</p>
|
||||
{% else %}
|
||||
<p>{{ entity.description|markdown }}</p>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
107
src/Hackspace/Bundle/CalciferBundle/Resources/views/Event/event_form.html.twig
Executable file
107
src/Hackspace/Bundle/CalciferBundle/Resources/views/Event/event_form.html.twig
Executable file
|
@ -0,0 +1,107 @@
|
|||
<form method="post" action="{% if entity.id > 0 %}{{ path('_update',{'id':entity.id}) }}{% else %}{{ path('_create') }}{% endif %}">
|
||||
<div class="ui form segment">
|
||||
<div class="field">
|
||||
<label class="control-label required" for="event_startdate">Startdatum</label>
|
||||
|
||||
<div class="ui left labeled icon input">
|
||||
<input type="datetime"
|
||||
id="event_startdate"
|
||||
name="startdate"
|
||||
required="required"
|
||||
value="{{ entity.startdate.format('Y-m-d H:i')|default('') }}"
|
||||
placeholder="{{ "now"|date('d.m.Y H:i') }}"
|
||||
class="form-control">
|
||||
|
||||
<i class="icon calendar"></i>
|
||||
|
||||
<div class="ui corner label">
|
||||
<i class="icon asterisk"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="control-label required" for="event_enddate">Enddatum</label>
|
||||
|
||||
<div class="ui left labeled icon input">
|
||||
<input type="datetime"
|
||||
id="event_enddate"
|
||||
name="enddate"
|
||||
value="{{ entity.enddate.format('Y-m-d H:i')|default('') }}"
|
||||
placeholder="{{ "now"|date('d.m.Y H:i') }}"
|
||||
class="form-control">
|
||||
|
||||
<i class="icon calendar"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="" for="event_summary">Zusammenfassung</label>
|
||||
|
||||
<div class="ui left labeled input">
|
||||
<input type="text"
|
||||
id="event_summary"
|
||||
name="summary"
|
||||
value="{{ entity.summary|default('') }}"
|
||||
required="required"
|
||||
maxlength="255"
|
||||
class="form-control">
|
||||
|
||||
<div class="ui corner label">
|
||||
<i class="icon asterisk"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="control-label required" for="event_summary">Beschreibung</label>
|
||||
|
||||
<div class="ui left labeled icon input">
|
||||
<textarea name="description">{{ entity.description|default('') }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="control-label required" for="event_url">URL</label>
|
||||
|
||||
<div class="ui left labeled icon input">
|
||||
<input type="text"
|
||||
id="event_url"
|
||||
name="url"
|
||||
maxlength="255"
|
||||
value="{{ entity.url|default('') }}"
|
||||
class="form-control">
|
||||
<i class="icon globe"></i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="control-label required" for="event_location">Ort</label>
|
||||
|
||||
<div class="ui left labeled icon input">
|
||||
<input type="text"
|
||||
id="event_location"
|
||||
name="location"
|
||||
maxlength="255"
|
||||
value="{{ entity.location.name|default('') }}"
|
||||
class="form-control">
|
||||
<i class="icon map marker"></i>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="" for="event_tags">Tags</label>
|
||||
|
||||
<div class="ui left labeled icon input">
|
||||
<input type="text"
|
||||
id="event_tags"
|
||||
name="tags"
|
||||
value="{{ entity.getTagsAsText() }}"
|
||||
class="form-control">
|
||||
<i class="icon tag"></i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="submit" class="ui button blue" value="Speichern"/>
|
||||
</div>
|
||||
|
||||
</form>
|
|
@ -1,49 +1,36 @@
|
|||
{% extends 'CalciferBundle::layout.html.twig' %}
|
||||
|
||||
{% block css %}
|
||||
{% stylesheets filter="compass"
|
||||
"@CalciferBundle/Resources/assets/css/events.scss"
|
||||
%}
|
||||
<link rel="stylesheet" href="{{ asset_url }}" />
|
||||
{% endstylesheets %}
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
{% javascripts
|
||||
"@CalciferBundle/Resources/assets/js/events.js"
|
||||
%}
|
||||
<script src="{{ asset_url }}"></script>
|
||||
{% endjavascripts %}
|
||||
{% endblock %}
|
||||
|
||||
{% block body -%}
|
||||
<h1>Event list</h1>
|
||||
<div class="ui one column page grid title">
|
||||
<div class="ui column">
|
||||
<h1>
|
||||
Termine
|
||||
{% if tag|default(false) %} für Tag „{{ tag.name }}“{% endif %}
|
||||
{% if location|default(false) %} für Ort „{{ location.name }}{% endif %}
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="records_list table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Id</th>
|
||||
<th>Startdate</th>
|
||||
<th>Enddate</th>
|
||||
<th>Summary</th>
|
||||
<th>Description</th>
|
||||
<th>Url</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<div class="ui three column page grid">
|
||||
{% for entity in entities %}
|
||||
<tr>
|
||||
<td><a href="{{ path('_show', { 'id': entity.id }) }}">{{ entity.id }}</a></td>
|
||||
<td>{{ entity.startdate }}</td>
|
||||
<td>{{ entity.enddate }}</td>
|
||||
<td>{{ entity.summary }}</td>
|
||||
<td>{{ entity.description }}</td>
|
||||
<td>{{ entity.url }}</td>
|
||||
<td>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="{{ path('_show', { 'id': entity.id }) }}">show</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path('_edit', { 'id': entity.id }) }}">edit</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
{{ include('CalciferBundle:Event:event_box.html.twig',{'truncate_summary':true}) }}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<a href="{{ path('_new') }}">
|
||||
Create a new entry
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,410 +1,31 @@
|
|||
{% extends 'CalciferBundle::layout.html.twig' %}
|
||||
|
||||
{% form_theme form _self %}
|
||||
{% block css %}
|
||||
{% stylesheets filter="compass"
|
||||
"@CalciferBundle/Resources/assets/css/jquery.datetimepicker.scss" %}
|
||||
<link rel="stylesheet" href="{{ asset_url }}"/>
|
||||
{% endstylesheets %}
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
{% javascripts
|
||||
"@CalciferBundle/Resources/assets/js/jquery.datetimepicker.js"
|
||||
"@CalciferBundle/Resources/assets/js/events.js" %}
|
||||
<script src="{{ asset_url }}"></script>
|
||||
{% endjavascripts %}
|
||||
{% endblock %}
|
||||
|
||||
{% block body -%}
|
||||
<h1>Event creation</h1>
|
||||
|
||||
<form name="hackspace_bundle_calciferbundle_event" method="post" action="/" role="form">
|
||||
<div id="hackspace_bundle_calciferbundle_event">
|
||||
<div class="form-group">
|
||||
<label class="control-label required">Startdate</label>
|
||||
|
||||
<div id="hackspace_bundle_calciferbundle_event_startdate" class="bootstrap-datetime">
|
||||
<div id="hackspace_bundle_calciferbundle_event_startdate_date" class="bootstrap-date">
|
||||
<select id="hackspace_bundle_calciferbundle_event_startdate_date_day"
|
||||
name="startdate[day]"
|
||||
required="required"
|
||||
class="form-control">
|
||||
<option value="1">01</option>
|
||||
<option value="2">02</option>
|
||||
<option value="3">03</option>
|
||||
<option value="4">04</option>
|
||||
<option value="5">05</option>
|
||||
<option value="6">06</option>
|
||||
<option value="7">07</option>
|
||||
<option value="8">08</option>
|
||||
<option value="9">09</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
<option value="13">13</option>
|
||||
<option value="14">14</option>
|
||||
<option value="15">15</option>
|
||||
<option value="16">16</option>
|
||||
<option value="17">17</option>
|
||||
<option value="18">18</option>
|
||||
<option value="19">19</option>
|
||||
<option value="20">20</option>
|
||||
<option value="21">21</option>
|
||||
<option value="22">22</option>
|
||||
<option value="23">23</option>
|
||||
<option value="24">24</option>
|
||||
<option value="25">25</option>
|
||||
<option value="26">26</option>
|
||||
<option value="27">27</option>
|
||||
<option value="28">28</option>
|
||||
<option value="29">29</option>
|
||||
<option value="30">30</option>
|
||||
<option value="31">31</option>
|
||||
</select>
|
||||
<select id="hackspace_bundle_calciferbundle_event_startdate_date_month"
|
||||
name="startdate[month]"
|
||||
required="required"
|
||||
class="form-control">
|
||||
<option value="1">01</option>
|
||||
<option value="2">02</option>
|
||||
<option value="3">03</option>
|
||||
<option value="4">04</option>
|
||||
<option value="5">05</option>
|
||||
<option value="6">06</option>
|
||||
<option value="7">07</option>
|
||||
<option value="8">08</option>
|
||||
<option value="9">09</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
</select>
|
||||
<select id="hackspace_bundle_calciferbundle_event_startdate_date_year"
|
||||
name="startdate[year]"
|
||||
required="required"
|
||||
class="form-control">
|
||||
<option value="2009">2009</option>
|
||||
<option value="2010">2010</option>
|
||||
<option value="2011">2011</option>
|
||||
<option value="2012">2012</option>
|
||||
<option value="2013">2013</option>
|
||||
<option value="2014">2014</option>
|
||||
<option value="2015">2015</option>
|
||||
<option value="2016">2016</option>
|
||||
<option value="2017">2017</option>
|
||||
<option value="2018">2018</option>
|
||||
<option value="2019">2019</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="hackspace_bundle_calciferbundle_event_startdate_time" class="bootstrap-time">
|
||||
<select id="hackspace_bundle_calciferbundle_event_startdate_time_hour"
|
||||
name="startdate[hour]"
|
||||
required="required"
|
||||
class="form-control">
|
||||
<option value="0">00</option>
|
||||
<option value="1">01</option>
|
||||
<option value="2">02</option>
|
||||
<option value="3">03</option>
|
||||
<option value="4">04</option>
|
||||
<option value="5">05</option>
|
||||
<option value="6">06</option>
|
||||
<option value="7">07</option>
|
||||
<option value="8">08</option>
|
||||
<option value="9">09</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
<option value="13">13</option>
|
||||
<option value="14">14</option>
|
||||
<option value="15">15</option>
|
||||
<option value="16">16</option>
|
||||
<option value="17">17</option>
|
||||
<option value="18">18</option>
|
||||
<option value="19">19</option>
|
||||
<option value="20">20</option>
|
||||
<option value="21">21</option>
|
||||
<option value="22">22</option>
|
||||
<option value="23">23</option>
|
||||
</select>
|
||||
:<select id="hackspace_bundle_calciferbundle_event_startdate_time_minute"
|
||||
name="startdate[minute]"
|
||||
required="required"
|
||||
class="form-control">
|
||||
<option value="0">00</option>
|
||||
<option value="1">01</option>
|
||||
<option value="2">02</option>
|
||||
<option value="3">03</option>
|
||||
<option value="4">04</option>
|
||||
<option value="5">05</option>
|
||||
<option value="6">06</option>
|
||||
<option value="7">07</option>
|
||||
<option value="8">08</option>
|
||||
<option value="9">09</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
<option value="13">13</option>
|
||||
<option value="14">14</option>
|
||||
<option value="15">15</option>
|
||||
<option value="16">16</option>
|
||||
<option value="17">17</option>
|
||||
<option value="18">18</option>
|
||||
<option value="19">19</option>
|
||||
<option value="20">20</option>
|
||||
<option value="21">21</option>
|
||||
<option value="22">22</option>
|
||||
<option value="23">23</option>
|
||||
<option value="24">24</option>
|
||||
<option value="25">25</option>
|
||||
<option value="26">26</option>
|
||||
<option value="27">27</option>
|
||||
<option value="28">28</option>
|
||||
<option value="29">29</option>
|
||||
<option value="30">30</option>
|
||||
<option value="31">31</option>
|
||||
<option value="32">32</option>
|
||||
<option value="33">33</option>
|
||||
<option value="34">34</option>
|
||||
<option value="35">35</option>
|
||||
<option value="36">36</option>
|
||||
<option value="37">37</option>
|
||||
<option value="38">38</option>
|
||||
<option value="39">39</option>
|
||||
<option value="40">40</option>
|
||||
<option value="41">41</option>
|
||||
<option value="42">42</option>
|
||||
<option value="43">43</option>
|
||||
<option value="44">44</option>
|
||||
<option value="45">45</option>
|
||||
<option value="46">46</option>
|
||||
<option value="47">47</option>
|
||||
<option value="48">48</option>
|
||||
<option value="49">49</option>
|
||||
<option value="50">50</option>
|
||||
<option value="51">51</option>
|
||||
<option value="52">52</option>
|
||||
<option value="53">53</option>
|
||||
<option value="54">54</option>
|
||||
<option value="55">55</option>
|
||||
<option value="56">56</option>
|
||||
<option value="57">57</option>
|
||||
<option value="58">58</option>
|
||||
<option value="59">59</option>
|
||||
</select></div>
|
||||
<div class="ui one column page grid">
|
||||
<div class="ui column">
|
||||
<h1>Termin bearbeiten</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group"><label class="control-label">Enddate</label>
|
||||
|
||||
<div id="hackspace_bundle_calciferbundle_event_enddate" class="bootstrap-datetime">
|
||||
<div id="hackspace_bundle_calciferbundle_event_enddate_date" class="bootstrap-date">
|
||||
<select id="hackspace_bundle_calciferbundle_event_enddate_date_day"
|
||||
name="enddate[day]"
|
||||
class="form-control">
|
||||
<option value=""></option>
|
||||
<option value="1">01</option>
|
||||
<option value="2">02</option>
|
||||
<option value="3">03</option>
|
||||
<option value="4">04</option>
|
||||
<option value="5">05</option>
|
||||
<option value="6">06</option>
|
||||
<option value="7">07</option>
|
||||
<option value="8">08</option>
|
||||
<option value="9">09</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
<option value="13">13</option>
|
||||
<option value="14">14</option>
|
||||
<option value="15">15</option>
|
||||
<option value="16">16</option>
|
||||
<option value="17">17</option>
|
||||
<option value="18">18</option>
|
||||
<option value="19">19</option>
|
||||
<option value="20">20</option>
|
||||
<option value="21">21</option>
|
||||
<option value="22">22</option>
|
||||
<option value="23">23</option>
|
||||
<option value="24">24</option>
|
||||
<option value="25">25</option>
|
||||
<option value="26">26</option>
|
||||
<option value="27">27</option>
|
||||
<option value="28">28</option>
|
||||
<option value="29">29</option>
|
||||
<option value="30">30</option>
|
||||
<option value="31">31</option>
|
||||
</select>
|
||||
<select id="hackspace_bundle_calciferbundle_event_enddate_date_month"
|
||||
name="enddate[month]"
|
||||
class="form-control">
|
||||
<option value=""></option>
|
||||
<option value="1">01</option>
|
||||
<option value="2">02</option>
|
||||
<option value="3">03</option>
|
||||
<option value="4">04</option>
|
||||
<option value="5">05</option>
|
||||
<option value="6">06</option>
|
||||
<option value="7">07</option>
|
||||
<option value="8">08</option>
|
||||
<option value="9">09</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
</select>
|
||||
<select id="hackspace_bundle_calciferbundle_event_enddate_date_year"
|
||||
name="enddate[year]"
|
||||
class="form-control">
|
||||
<option value=""></option>
|
||||
<option value="2009">2009</option>
|
||||
<option value="2010">2010</option>
|
||||
<option value="2011">2011</option>
|
||||
<option value="2012">2012</option>
|
||||
<option value="2013">2013</option>
|
||||
<option value="2014">2014</option>
|
||||
<option value="2015">2015</option>
|
||||
<option value="2016">2016</option>
|
||||
<option value="2017">2017</option>
|
||||
<option value="2018">2018</option>
|
||||
<option value="2019">2019</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="hackspace_bundle_calciferbundle_event_enddate_time" class="bootstrap-time">
|
||||
<select id="hackspace_bundle_calciferbundle_event_enddate_time_hour"
|
||||
name="enddate[hour]"
|
||||
class="form-control">
|
||||
<option value=""></option>
|
||||
<option value="0">00</option>
|
||||
<option value="1">01</option>
|
||||
<option value="2">02</option>
|
||||
<option value="3">03</option>
|
||||
<option value="4">04</option>
|
||||
<option value="5">05</option>
|
||||
<option value="6">06</option>
|
||||
<option value="7">07</option>
|
||||
<option value="8">08</option>
|
||||
<option value="9">09</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
<option value="13">13</option>
|
||||
<option value="14">14</option>
|
||||
<option value="15">15</option>
|
||||
<option value="16">16</option>
|
||||
<option value="17">17</option>
|
||||
<option value="18">18</option>
|
||||
<option value="19">19</option>
|
||||
<option value="20">20</option>
|
||||
<option value="21">21</option>
|
||||
<option value="22">22</option>
|
||||
<option value="23">23</option>
|
||||
</select>
|
||||
:<select id="hackspace_bundle_calciferbundle_event_enddate_time_minute"
|
||||
name="enddate[minute]"
|
||||
class="form-control">
|
||||
<option value=""></option>
|
||||
<option value="0">00</option>
|
||||
<option value="1">01</option>
|
||||
<option value="2">02</option>
|
||||
<option value="3">03</option>
|
||||
<option value="4">04</option>
|
||||
<option value="5">05</option>
|
||||
<option value="6">06</option>
|
||||
<option value="7">07</option>
|
||||
<option value="8">08</option>
|
||||
<option value="9">09</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
<option value="13">13</option>
|
||||
<option value="14">14</option>
|
||||
<option value="15">15</option>
|
||||
<option value="16">16</option>
|
||||
<option value="17">17</option>
|
||||
<option value="18">18</option>
|
||||
<option value="19">19</option>
|
||||
<option value="20">20</option>
|
||||
<option value="21">21</option>
|
||||
<option value="22">22</option>
|
||||
<option value="23">23</option>
|
||||
<option value="24">24</option>
|
||||
<option value="25">25</option>
|
||||
<option value="26">26</option>
|
||||
<option value="27">27</option>
|
||||
<option value="28">28</option>
|
||||
<option value="29">29</option>
|
||||
<option value="30">30</option>
|
||||
<option value="31">31</option>
|
||||
<option value="32">32</option>
|
||||
<option value="33">33</option>
|
||||
<option value="34">34</option>
|
||||
<option value="35">35</option>
|
||||
<option value="36">36</option>
|
||||
<option value="37">37</option>
|
||||
<option value="38">38</option>
|
||||
<option value="39">39</option>
|
||||
<option value="40">40</option>
|
||||
<option value="41">41</option>
|
||||
<option value="42">42</option>
|
||||
<option value="43">43</option>
|
||||
<option value="44">44</option>
|
||||
<option value="45">45</option>
|
||||
<option value="46">46</option>
|
||||
<option value="47">47</option>
|
||||
<option value="48">48</option>
|
||||
<option value="49">49</option>
|
||||
<option value="50">50</option>
|
||||
<option value="51">51</option>
|
||||
<option value="52">52</option>
|
||||
<option value="53">53</option>
|
||||
<option value="54">54</option>
|
||||
<option value="55">55</option>
|
||||
<option value="56">56</option>
|
||||
<option value="57">57</option>
|
||||
<option value="58">58</option>
|
||||
<option value="59">59</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="ui one column page grid">
|
||||
<div class="ui column">
|
||||
{{ include('CalciferBundle:Event:event_form.html.twig',{'entity':entity}) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label required" for="hackspace_bundle_calciferbundle_event_summary">Summary</label>
|
||||
<input type="text"
|
||||
id="hackspace_bundle_calciferbundle_event_summary"
|
||||
name="hackspace_bundle_calciferbundle_event[summary]"
|
||||
required="required"
|
||||
maxlength="255"
|
||||
class="form-control">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label" for="hackspace_bundle_calciferbundle_event_description">Description</label>
|
||||
<input type="text"
|
||||
id="hackspace_bundle_calciferbundle_event_description"
|
||||
name="hackspace_bundle_calciferbundle_event[description]"
|
||||
maxlength="255"
|
||||
class="form-control">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label" for="hackspace_bundle_calciferbundle_event_url">Url</label>
|
||||
<input id="hackspace_bundle_calciferbundle_event_url"
|
||||
name="hackspace_bundle_calciferbundle_event[url]"
|
||||
maxlength="255"
|
||||
type="url"
|
||||
class="form-control">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label" for="hackspace_bundle_calciferbundle_event_location">Location</label>
|
||||
<input id="hackspace_bundle_calciferbundle_event_location"
|
||||
name="hackspace_bundle_calciferbundle_event[location]"
|
||||
type="text"
|
||||
class="form-control">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label required" for="hackspace_bundle_calciferbundle_event_tags">Tags</label>
|
||||
<input
|
||||
id="hackspace_bundle_calciferbundle_event_tags"
|
||||
name="hackspace_bundle_calciferbundle_event[tags][]" class="form-control"
|
||||
type="text">
|
||||
</div>
|
||||
<button type="submit" id="hackspace_bundle_calciferbundle_event_submit"
|
||||
name="hackspace_bundle_calciferbundle_event[submit]" class="btn btn-primary">Create
|
||||
</button>
|
||||
<input type="hidden" id="hackspace_bundle_calciferbundle_event__token"
|
||||
name="hackspace_bundle_calciferbundle_event[_token]" class="form-control"
|
||||
value="fArTmEGgXbPkuP4rwDtYX2qH6Mm5jmsAsToEzn5NQpY">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
<ul class="record_actions">
|
||||
<li>
|
||||
<a href="{{ path('') }}">
|
||||
Back to the list
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,52 +1,23 @@
|
|||
{% extends 'CalciferBundle::layout.html.twig' %}
|
||||
|
||||
{% block body -%}
|
||||
<h1>Event</h1>
|
||||
|
||||
<table class="record_properties">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>Id</th>
|
||||
<td>{{ entity.id }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Startdate</th>
|
||||
<td>{{ entity.startdate }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Enddate</th>
|
||||
<td>{{ entity.enddate }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Summary</th>
|
||||
<td>{{ entity.summary }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Description</th>
|
||||
<td>{{ entity.description }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Locations_id</th>
|
||||
<td>{{ entity.locationsid }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Url</th>
|
||||
<td>{{ entity.url }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<ul class="record_actions">
|
||||
<li>
|
||||
<a href="{{ path('') }}">
|
||||
Back to the list
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path('_edit', { 'id': entity.id }) }}">
|
||||
Edit
|
||||
</a>
|
||||
</li>
|
||||
<li>{{ form(delete_form) }}</li>
|
||||
</ul>
|
||||
{% block css %}
|
||||
{% stylesheets filter="compass"
|
||||
"@CalciferBundle/Resources/assets/css/events.scss"
|
||||
%}
|
||||
<link rel="stylesheet" href="{{ asset_url }}" />
|
||||
{% endstylesheets %}
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
{% javascripts
|
||||
"@CalciferBundle/Resources/assets/js/events.js"
|
||||
%}
|
||||
<script src="{{ asset_url }}"></script>
|
||||
{% endjavascripts %}
|
||||
{% endblock %}
|
||||
|
||||
{% block body -%}
|
||||
<div class="ui one column page grid">
|
||||
{{ include('CalciferBundle:Event:event_box.html.twig') }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
0
src/Hackspace/Bundle/CalciferBundle/Resources/views/Tag/show.html.twig
Executable file
0
src/Hackspace/Bundle/CalciferBundle/Resources/views/Tag/show.html.twig
Executable file
|
@ -5,23 +5,25 @@
|
|||
<title>{% block title %}Terminverwaltung Calcifer{% endblock %}</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<!-- Bootstrap -->
|
||||
<link href="{{ asset('css/bootstrap.css') }}" rel="stylesheet" media="screen">
|
||||
<link href="{{ asset('css/semantic.css') }}" rel="stylesheet" media="screen">
|
||||
<link href='http://fonts.googleapis.com/css?family=Roboto:400,700' rel='stylesheet' type='text/css'>
|
||||
<link href="{{ asset('css/custom.css') }}" rel="stylesheet" media="screen">
|
||||
{% block css %}
|
||||
|
||||
<!-- HTML5 Shim and Respond.js add IE8 support of HTML5 elements and media queries -->
|
||||
{% include 'BraincraftedBootstrapBundle::ie8-support.html.twig' %}
|
||||
{% endblock %}
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
{% include "CalciferBundle::navigation.html.twig" %}
|
||||
|
||||
<div class="container">
|
||||
<div id="main" class="segment">
|
||||
{% block body %}{% endblock %}
|
||||
</div>
|
||||
{% block javascripts %}{% endblock %}
|
||||
<!-- jQuery (necessary for Bootstraps JavaScript plugins) -->
|
||||
<script src="{{ asset('js/jquery.js') }}"></script>
|
||||
<!-- Include all JavaScripts, compiled by Assetic -->
|
||||
<script src="{{ asset('js/bootstrap.js') }}"></script>
|
||||
<script src="{{ asset('js/semantic.js') }}"></script>
|
||||
{% block javascripts %}{% endblock %}
|
||||
</body>
|
||||
</html>
|
|
@ -1,21 +1,7 @@
|
|||
|
||||
<div class="navbar navbar-default navbar-static-top" role="navigation">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="{{ path('') }}">Calcifer</a>
|
||||
<header class="ui fixed main menu inverted transparent ">
|
||||
<div class="ui one column page grid">
|
||||
<div class="ui column">
|
||||
<div class="title item"><a href="{{ path('') }}">Calcifer</a></div>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li class="active"><a href="#">Home</a></li>
|
||||
<li><a href="#about">About</a></li>
|
||||
<li><a href="#contact">Contact</a></li>
|
||||
</ul>
|
||||
</div><!--/.nav-collapse -->
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
Reference in a new issue