<?php
namespace CoreBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use UserBundle\Entity\User;
/**
* link the session with the students
* @ORM\Table("textbook_session_unit")
* @ORM\Entity(repositoryClass="CoreBundle\Entity\TextbookSessionUnitRepository")
*/
class TextbookSessionUnit
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var User
*
* @ORM\ManyToOne(targetEntity="UserBundle\Entity\User")
* @ORM\JoinColumn(name="student", referencedColumnName="id")
*/
private $student;
/**
* @var TextbookSession
*
* @ORM\ManyToOne(targetEntity="CoreBundle\Entity\TextbookSession", inversedBy="units")
* @ORM\JoinColumn(name="session", referencedColumnName="id", onDelete="CASCADE")
*/
private $session;
/**
* @var bool
*
* @ORM\Column(type="boolean", nullable=true, options={"default": null})
*/
private $finished = null;
/**
* @var \DateTime
*
* @ORM\Column(name="extended_deadline", type="datetime", nullable=true)
*/
private $extendedDeadline;
public function __construct($student, $session)
{
$this->student = $student;
$this->session = $session;
$this->finished = false;
}
public function getStudent(): User
{
return $this->student;
}
public function isFinished(): ?bool
{
return $this->finished;
}
public function setFinished(bool $finished)
{
$this->finished = $finished;
}
/**
* @return \DateTime|null
*/
public function getExtendedDeadline(): ?\DateTime
{
return $this->extendedDeadline;
}
/**
* @param \DateTime $extendedDeadline
*/
public function setExtendedDeadline(\DateTime $extendedDeadline): void
{
$this->extendedDeadline = $extendedDeadline;
}
}