Browse Source

WIP Move ticket from plugin to chamilo tool see BT#11081

Julio 8 years ago
parent
commit
b58c7ac0ca

+ 263 - 0
src/Chamilo/TicketBundle/Entities/Action.php

@@ -0,0 +1,263 @@
+<?php
+/* For licensing terms, see /license.txt */
+
+namespace Chamilo\TicketBundle\Entity;
+
+use Gedmo\Mapping\Annotation as Gedmo;
+use Doctrine\ORM\Mapping as ORM;
+use Chamilo\CoreBundle\Entity\Course;
+use Chamilo\CoreBundle\Entity\Session;
+use Chamilo\TicketBundle\Entity\Project;
+use Chamilo\TicketBundle\Entity\Priority;
+
+/**
+ * Ticket
+ *
+ * @ORM\Table(
+ *  name="ticket_ticket",
+ * )
+ * @ORM\Entity
+ */
+class Ticket
+{
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="id", type="integer")
+     * @ORM\Id
+     * @ORM\GeneratedValue
+     */
+    protected $id;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="ticket_code", type="string", length=255, nullable=false)
+     */
+    protected $code;
+
+    /**
+     * @var Project
+     *
+     * @ORM\ManyToOne(targetEntity="Chamilo\TicketBundle\Project")
+     * @ORM\JoinColumn(name="project_id", referencedColumnName="id")
+     **/
+    protected $project;
+
+
+    /**
+     * @var Priority
+     *
+     * @ORM\ManyToOne(targetEntity="Chamilo\TicketBundle\Project\Priority")
+     * @ORM\JoinColumn(name="priority_id", referencedColumnName="id")
+     **/
+    protected $priority;
+
+
+    /**
+     * @var Course
+     *
+     * @ORM\ManyToOne(targetEntity="Course")
+     * @ORM\JoinColumn(name="course_id", referencedColumnName="id")
+     **/
+    protected $course;
+
+    /**
+     * @var Session
+     *
+     * @ORM\ManyToOne(targetEntity="Session")
+     * @ORM\JoinColumn(name="session_id", referencedColumnName="id")
+     **/
+    protected $session;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="personal_email", type="string", length=255, nullable=false)
+     */
+    protected $personalEmail;
+
+
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="assigned_last_user", type="integer", nullable=true)
+     */
+    protected $assignedLastUser;
+    protected $status;
+
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="total_messages", type="int", length=255, nullable=false)
+     */
+    protected $totalMessages;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="keyword", type="string", length=255, nullable=true)
+     */
+    protected $keyword;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="source", type="string", length=255, nullable=true)
+     */
+    protected $source;
+
+    /**
+     * @var \DateTime
+     *
+     * @ORM\Column(name="start_date", type="datetime", nullable=true, unique=false)
+     */
+    protected $startDate;
+
+    /**
+     * @var \DateTime
+     *
+     * @ORM\Column(name="end_date", type="datetime", nullable=true, unique=false)
+     */
+    protected $endDate;
+
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="sys_insert_user_id", type="integer", nullable=false, unique=false)
+     */
+    protected $insertUserId;
+    /**
+     * @var \DateTime
+     *
+     * @ORM\Column(name="sys_insert_datetime", type="datetime", nullable=false, unique=false)
+     */
+    protected $insertDateTime;
+
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="sys_lastedit_user_id", type="integer", nullable=false, unique=false)
+     */
+    protected $lastEditUserId
+
+    /**
+     * @var \DateTime
+     *
+     * @ORM\Column(name="sys_lastedit_datetime", type="datetime", nullable=true, unique=false)
+     */
+    protected $lastEditDateTime;
+
+    /**
+     *
+     * @Gedmo\SortableGroup
+     * @ORM\ManyToOne(targetEntity="Chamilo\SkillBundle\Entity\Profile", inversedBy="level")
+     * @ORM\JoinColumn(name="profile_id", referencedColumnName="id")
+     **/
+    protected $category;
+
+    /**
+     * @return string
+     */
+    public function __toString()
+    {
+        return (string) $this->getName();
+    }
+
+    /**
+     * @return int
+     */
+    public function getId()
+    {
+        return $this->id;
+    }
+
+    /**
+     * @param int $id
+     * @return Level
+     */
+    public function setId($id)
+    {
+        $this->id = $id;
+
+        return $this;
+    }
+
+    /**
+     * @return string
+     */
+    public function getName()
+    {
+        return $this->name;
+    }
+
+    /**
+     * @param string $name
+     * @return Level
+     */
+    public function setName($name)
+    {
+        $this->name = $name;
+
+        return $this;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getPosition()
+    {
+        return $this->position;
+    }
+
+    /**
+     * @param mixed $position
+     * @return Level
+     */
+    public function setPosition($position)
+    {
+        $this->position = $position;
+
+        return $this;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getShortName()
+    {
+        return $this->shortName;
+    }
+
+    /**
+     * @param mixed $shortName
+     * @return Level
+     */
+    public function setShortName($shortName)
+    {
+        $this->shortName = $shortName;
+
+        return $this;
+    }
+
+    /**
+     * @return Profile
+     */
+    public function getProfile()
+    {
+        return $this->profile;
+    }
+
+    /**
+     * @param mixed $profile
+     * @return Level
+     */
+    public function setProfile($profile)
+    {
+        $this->profile = $profile;
+
+        return $this;
+    }
+
+
+}

+ 202 - 0
src/Chamilo/TicketBundle/Entities/AssignedLog.php

@@ -0,0 +1,202 @@
+<?php
+/* For licensing terms, see /license.txt */
+
+namespace Chamilo\TicketBundle\Entity;
+
+use Gedmo\Mapping\Annotation as Gedmo;
+use Doctrine\ORM\Mapping as ORM;
+use Chamilo\CoreBundle\Entity\Course;
+use Chamilo\CoreBundle\Entity\Session;
+
+/**
+ * Status
+ *
+ * @ORM\Table(
+ *  name="ticket_assigned_log",
+ * )
+ * @ORM\Entity
+ */
+class AssignedLog
+{
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="id", type="integer")
+     * @ORM\Id
+     * @ORM\GeneratedValue
+     */
+    protected $id;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="name", type="string", length=255, nullable=false)
+     */
+    protected $name;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="description", type="text", nullable=true)
+     */
+    protected $description;
+
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="total_tickets", type="int", nullable=false)
+     */
+    protected $totalTickets;
+
+
+    /**
+     * @var bool
+     *
+     * @ORM\Column(name="course_required", type="boolean", nullable=false)
+     */
+    protected $courseRequired;
+
+
+    /**
+     * @var Session
+     *
+     * @ORM\ManyToOne(targetEntity="Chamilo\TicketBundle\Project")
+     * @ORM\JoinColumn(name="project_id", referencedColumnName="id")
+     **/
+    protected $project;
+
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="sys_insert_user_id", type="integer", nullable=false, unique=false)
+     */
+    protected $insertUserId;
+    
+    /**
+     * @var \DateTime
+     *
+     * @ORM\Column(name="sys_insert_datetime", type="datetime", nullable=false, unique=false)
+     */
+    protected $insertDateTime;
+
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="sys_lastedit_user_id", type="integer", nullable=false, unique=false)
+     */
+    protected $lastEditUserId
+
+    /**
+     * @var \DateTime
+     *
+     * @ORM\Column(name="sys_lastedit_datetime", type="datetime", nullable=true, unique=false)
+     */
+    protected $lastEditDateTime;
+
+
+
+    /**
+     * @return string
+     */
+    public function __toString()
+    {
+        return (string) $this->getName();
+    }
+
+    /**
+     * @return int
+     */
+    public function getId()
+    {
+        return $this->id;
+    }
+
+    /**
+     * @param int $id
+     * @return Level
+     */
+    public function setId($id)
+    {
+        $this->id = $id;
+
+        return $this;
+    }
+
+    /**
+     * @return string
+     */
+    public function getName()
+    {
+        return $this->name;
+    }
+
+    /**
+     * @param string $name
+     * @return Level
+     */
+    public function setName($name)
+    {
+        $this->name = $name;
+
+        return $this;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getPosition()
+    {
+        return $this->position;
+    }
+
+    /**
+     * @param mixed $position
+     * @return Level
+     */
+    public function setPosition($position)
+    {
+        $this->position = $position;
+
+        return $this;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getShortName()
+    {
+        return $this->shortName;
+    }
+
+    /**
+     * @param mixed $shortName
+     * @return Level
+     */
+    public function setShortName($shortName)
+    {
+        $this->shortName = $shortName;
+
+        return $this;
+    }
+
+    /**
+     * @return Profile
+     */
+    public function getProfile()
+    {
+        return $this->profile;
+    }
+
+    /**
+     * @param mixed $profile
+     * @return Level
+     */
+    public function setProfile($profile)
+    {
+        $this->profile = $profile;
+
+        return $this;
+    }
+
+
+}

+ 202 - 0
src/Chamilo/TicketBundle/Entities/Category.php

@@ -0,0 +1,202 @@
+<?php
+/* For licensing terms, see /license.txt */
+
+namespace Chamilo\TicketBundle\Entity;
+
+use Gedmo\Mapping\Annotation as Gedmo;
+use Doctrine\ORM\Mapping as ORM;
+use Chamilo\CoreBundle\Entity\Course;
+use Chamilo\CoreBundle\Entity\Session;
+
+/**
+ * Status
+ *
+ * @ORM\Table(
+ *  name="ticket_category",
+ * )
+ * @ORM\Entity
+ */
+class Category
+{
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="id", type="integer")
+     * @ORM\Id
+     * @ORM\GeneratedValue
+     */
+    protected $id;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="name", type="string", length=255, nullable=false)
+     */
+    protected $name;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="description", type="text", nullable=true)
+     */
+    protected $description;
+
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="total_tickets", type="int", nullable=false)
+     */
+    protected $totalTickets;
+
+
+    /**
+     * @var bool
+     *
+     * @ORM\Column(name="course_required", type="boolean", nullable=false)
+     */
+    protected $courseRequired;
+
+
+    /**
+     * @var Session
+     *
+     * @ORM\ManyToOne(targetEntity="Chamilo\TicketBundle\Project")
+     * @ORM\JoinColumn(name="project_id", referencedColumnName="id")
+     **/
+    protected $project;
+
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="sys_insert_user_id", type="integer", nullable=false, unique=false)
+     */
+    protected $insertUserId;
+    
+    /**
+     * @var \DateTime
+     *
+     * @ORM\Column(name="sys_insert_datetime", type="datetime", nullable=false, unique=false)
+     */
+    protected $insertDateTime;
+
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="sys_lastedit_user_id", type="integer", nullable=false, unique=false)
+     */
+    protected $lastEditUserId
+
+    /**
+     * @var \DateTime
+     *
+     * @ORM\Column(name="sys_lastedit_datetime", type="datetime", nullable=true, unique=false)
+     */
+    protected $lastEditDateTime;
+
+
+
+    /**
+     * @return string
+     */
+    public function __toString()
+    {
+        return (string) $this->getName();
+    }
+
+    /**
+     * @return int
+     */
+    public function getId()
+    {
+        return $this->id;
+    }
+
+    /**
+     * @param int $id
+     * @return Level
+     */
+    public function setId($id)
+    {
+        $this->id = $id;
+
+        return $this;
+    }
+
+    /**
+     * @return string
+     */
+    public function getName()
+    {
+        return $this->name;
+    }
+
+    /**
+     * @param string $name
+     * @return Level
+     */
+    public function setName($name)
+    {
+        $this->name = $name;
+
+        return $this;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getPosition()
+    {
+        return $this->position;
+    }
+
+    /**
+     * @param mixed $position
+     * @return Level
+     */
+    public function setPosition($position)
+    {
+        $this->position = $position;
+
+        return $this;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getShortName()
+    {
+        return $this->shortName;
+    }
+
+    /**
+     * @param mixed $shortName
+     * @return Level
+     */
+    public function setShortName($shortName)
+    {
+        $this->shortName = $shortName;
+
+        return $this;
+    }
+
+    /**
+     * @return Profile
+     */
+    public function getProfile()
+    {
+        return $this->profile;
+    }
+
+    /**
+     * @param mixed $profile
+     * @return Level
+     */
+    public function setProfile($profile)
+    {
+        $this->profile = $profile;
+
+        return $this;
+    }
+
+
+}

+ 197 - 0
src/Chamilo/TicketBundle/Entities/Message.php

@@ -0,0 +1,197 @@
+<?php
+/* For licensing terms, see /license.txt */
+
+namespace Chamilo\TicketBundle\Entity;
+
+use Gedmo\Mapping\Annotation as Gedmo;
+use Doctrine\ORM\Mapping as ORM;
+use Chamilo\CoreBundle\Entity\Course;
+use Chamilo\CoreBundle\Entity\Session;
+
+/**
+ * Ticket
+ *
+ * @ORM\Table(
+ *  name="ticket_message",
+ * )
+ * @ORM\Entity
+ */
+class Message
+{
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="id", type="integer")
+     * @ORM\Id
+     * @ORM\GeneratedValue
+     */
+    protected $id;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="subject", type="string", length=255, nullable=false)
+     */
+    protected $subject;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="message", type="text", nullable=true)
+     */
+    protected $message;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="status", type="string", nullable=false)
+     */
+    protected $status;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="ip_address", type="string", nullable=false)
+     */
+    protected $ipAddress;
+
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="sys_insert_user_id", type="integer", nullable=false, unique=false)
+     */
+    protected $insertUserId;
+    /**
+     * @var \DateTime
+     *
+     * @ORM\Column(name="sys_insert_datetime", type="datetime", nullable=false, unique=false)
+     */
+    protected $insertDateTime;
+
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="sys_lastedit_user_id", type="integer", nullable=false, unique=false)
+     */
+    protected $lastEditUserId
+
+    /**
+     * @var \DateTime
+     *
+     * @ORM\Column(name="sys_lastedit_datetime", type="datetime", nullable=true, unique=false)
+     */
+    protected $lastEditDateTime;
+
+    /**
+     *
+     * @Gedmo\SortableGroup
+     * @ORM\ManyToOne(targetEntity="Chamilo\SkillBundle\Entity\Profile", inversedBy="level")
+     * @ORM\JoinColumn(name="profile_id", referencedColumnName="id")
+     **/
+    protected $category;
+
+    /**
+     * @return string
+     */
+    public function __toString()
+    {
+        return (string) $this->getName();
+    }
+
+    /**
+     * @return int
+     */
+    public function getId()
+    {
+        return $this->id;
+    }
+
+    /**
+     * @param int $id
+     * @return Level
+     */
+    public function setId($id)
+    {
+        $this->id = $id;
+
+        return $this;
+    }
+
+    /**
+     * @return string
+     */
+    public function getName()
+    {
+        return $this->name;
+    }
+
+    /**
+     * @param string $name
+     * @return Level
+     */
+    public function setName($name)
+    {
+        $this->name = $name;
+
+        return $this;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getPosition()
+    {
+        return $this->position;
+    }
+
+    /**
+     * @param mixed $position
+     * @return Level
+     */
+    public function setPosition($position)
+    {
+        $this->position = $position;
+
+        return $this;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getShortName()
+    {
+        return $this->shortName;
+    }
+
+    /**
+     * @param mixed $shortName
+     * @return Level
+     */
+    public function setShortName($shortName)
+    {
+        $this->shortName = $shortName;
+
+        return $this;
+    }
+
+    /**
+     * @return Profile
+     */
+    public function getProfile()
+    {
+        return $this->profile;
+    }
+
+    /**
+     * @param mixed $profile
+     * @return Level
+     */
+    public function setProfile($profile)
+    {
+        $this->profile = $profile;
+
+        return $this;
+    }
+
+
+}

+ 197 - 0
src/Chamilo/TicketBundle/Entities/Priority.php

@@ -0,0 +1,197 @@
+<?php
+/* For licensing terms, see /license.txt */
+
+namespace Chamilo\TicketBundle\Entity;
+
+use Gedmo\Mapping\Annotation as Gedmo;
+use Doctrine\ORM\Mapping as ORM;
+use Chamilo\CoreBundle\Entity\Course;
+use Chamilo\CoreBundle\Entity\Session;
+
+/**
+ * Ticket
+ *
+ * @ORM\Table(
+ *  name="ticket_message",
+ * )
+ * @ORM\Entity
+ */
+class Priority
+{
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="id", type="integer")
+     * @ORM\Id
+     * @ORM\GeneratedValue
+     */
+    protected $id;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="name", type="string", length=255, nullable=false)
+     */
+    protected $name;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="description", type="text", nullable=true)
+     */
+    protected $description;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="color", type="string", nullable=false)
+     */
+    protected $color;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="urgency", type="string", nullable=false)
+     */
+    protected $urgency;
+
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="sys_insert_user_id", type="integer", nullable=false, unique=false)
+     */
+    protected $insertUserId;
+    /**
+     * @var \DateTime
+     *
+     * @ORM\Column(name="sys_insert_datetime", type="datetime", nullable=false, unique=false)
+     */
+    protected $insertDateTime;
+
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="sys_lastedit_user_id", type="integer", nullable=false, unique=false)
+     */
+    protected $lastEditUserId
+
+    /**
+     * @var \DateTime
+     *
+     * @ORM\Column(name="sys_lastedit_datetime", type="datetime", nullable=true, unique=false)
+     */
+    protected $lastEditDateTime;
+
+    /**
+     *
+     * @Gedmo\SortableGroup
+     * @ORM\ManyToOne(targetEntity="Chamilo\SkillBundle\Entity\Profile", inversedBy="level")
+     * @ORM\JoinColumn(name="profile_id", referencedColumnName="id")
+     **/
+    protected $category;
+
+    /**
+     * @return string
+     */
+    public function __toString()
+    {
+        return (string) $this->getName();
+    }
+
+    /**
+     * @return int
+     */
+    public function getId()
+    {
+        return $this->id;
+    }
+
+    /**
+     * @param int $id
+     * @return Level
+     */
+    public function setId($id)
+    {
+        $this->id = $id;
+
+        return $this;
+    }
+
+    /**
+     * @return string
+     */
+    public function getName()
+    {
+        return $this->name;
+    }
+
+    /**
+     * @param string $name
+     * @return Level
+     */
+    public function setName($name)
+    {
+        $this->name = $name;
+
+        return $this;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getPosition()
+    {
+        return $this->position;
+    }
+
+    /**
+     * @param mixed $position
+     * @return Level
+     */
+    public function setPosition($position)
+    {
+        $this->position = $position;
+
+        return $this;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getShortName()
+    {
+        return $this->shortName;
+    }
+
+    /**
+     * @param mixed $shortName
+     * @return Level
+     */
+    public function setShortName($shortName)
+    {
+        $this->shortName = $shortName;
+
+        return $this;
+    }
+
+    /**
+     * @return Profile
+     */
+    public function getProfile()
+    {
+        return $this->profile;
+    }
+
+    /**
+     * @param mixed $profile
+     * @return Level
+     */
+    public function setProfile($profile)
+    {
+        $this->profile = $profile;
+
+        return $this;
+    }
+
+
+}

+ 148 - 0
src/Chamilo/TicketBundle/Entities/Status.php

@@ -0,0 +1,148 @@
+<?php
+/* For licensing terms, see /license.txt */
+
+namespace Chamilo\TicketBundle\Entity;
+
+use Gedmo\Mapping\Annotation as Gedmo;
+use Doctrine\ORM\Mapping as ORM;
+use Chamilo\CoreBundle\Entity\Course;
+use Chamilo\CoreBundle\Entity\Session;
+
+/**
+ * Status
+ *
+ * @ORM\Table(
+ *  name="ticket_status",
+ * )
+ * @ORM\Entity
+ */
+class Status
+{
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="id", type="integer")
+     * @ORM\Id
+     * @ORM\GeneratedValue
+     */
+    protected $id;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="name", type="string", length=255, nullable=false)
+     */
+    protected $name;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="description", type="text", nullable=true)
+     */
+    protected $description;
+
+    /**
+     * @return string
+     */
+    public function __toString()
+    {
+        return (string) $this->getName();
+    }
+
+    /**
+     * @return int
+     */
+    public function getId()
+    {
+        return $this->id;
+    }
+
+    /**
+     * @param int $id
+     * @return Level
+     */
+    public function setId($id)
+    {
+        $this->id = $id;
+
+        return $this;
+    }
+
+    /**
+     * @return string
+     */
+    public function getName()
+    {
+        return $this->name;
+    }
+
+    /**
+     * @param string $name
+     * @return Level
+     */
+    public function setName($name)
+    {
+        $this->name = $name;
+
+        return $this;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getPosition()
+    {
+        return $this->position;
+    }
+
+    /**
+     * @param mixed $position
+     * @return Level
+     */
+    public function setPosition($position)
+    {
+        $this->position = $position;
+
+        return $this;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getShortName()
+    {
+        return $this->shortName;
+    }
+
+    /**
+     * @param mixed $shortName
+     * @return Level
+     */
+    public function setShortName($shortName)
+    {
+        $this->shortName = $shortName;
+
+        return $this;
+    }
+
+    /**
+     * @return Profile
+     */
+    public function getProfile()
+    {
+        return $this->profile;
+    }
+
+    /**
+     * @param mixed $profile
+     * @return Level
+     */
+    public function setProfile($profile)
+    {
+        $this->profile = $profile;
+
+        return $this;
+    }
+
+
+}

+ 199 - 0
src/Chamilo/TicketBundle/Entities/TicketProject.php

@@ -0,0 +1,199 @@
+<?php
+/* For licensing terms, see /license.txt */
+
+namespace Chamilo\TicketBundle\Entity;
+
+use Gedmo\Mapping\Annotation as Gedmo;
+use Doctrine\ORM\Mapping as ORM;
+use Chamilo\CoreBundle\Entity\Course;
+use Chamilo\CoreBundle\Entity\Session;
+
+/**
+ * Project
+ *
+ * @ORM\Table(
+ *  name="ticket_project",
+ * )
+ * @ORM\Entity
+ */
+class Project
+{
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="id", type="integer")
+     * @ORM\Id
+     * @ORM\GeneratedValue
+     */
+    protected $id;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="name", type="string", length=255, nullable=false)
+     */
+    protected $name;
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="descrition", type="text", nullable=true)
+     */
+    protected $descrition;
+
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="email", type="string", nullable=true)
+     */
+    protected $email;
+
+
+    /**
+     * @var string
+     *
+     * @ORM\Column(name="other_area", type="int", nullable=true)
+     */
+    protected $otherArea;
+
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="sys_insert_user_id", type="integer", nullable=false, unique=false)
+     */
+    protected $insertUserId;
+    /**
+     * @var \DateTime
+     *
+     * @ORM\Column(name="sys_insert_datetime", type="datetime", nullable=false, unique=false)
+     */
+    protected $insertDateTime;
+
+    /**
+     * @var integer
+     *
+     * @ORM\Column(name="sys_lastedit_user_id", type="integer", nullable=false, unique=false)
+     */
+    protected $lastEditUserId
+
+    /**
+     * @var \DateTime
+     *
+     * @ORM\Column(name="sys_lastedit_datetime", type="datetime", nullable=true, unique=false)
+     */
+    protected $lastEditDateTime;
+
+    /**
+     *
+     * @Gedmo\SortableGroup
+     * @ORM\ManyToOne(targetEntity="Chamilo\SkillBundle\Entity\Profile", inversedBy="level")
+     * @ORM\JoinColumn(name="profile_id", referencedColumnName="id")
+     **/
+    protected $category;
+
+    /**
+     * @return string
+     */
+    public function __toString()
+    {
+        return (string) $this->getName();
+    }
+
+    /**
+     * @return int
+     */
+    public function getId()
+    {
+        return $this->id;
+    }
+
+    /**
+     * @param int $id
+     * @return Level
+     */
+    public function setId($id)
+    {
+        $this->id = $id;
+
+        return $this;
+    }
+
+    /**
+     * @return string
+     */
+    public function getName()
+    {
+        return $this->name;
+    }
+
+    /**
+     * @param string $name
+     * @return Level
+     */
+    public function setName($name)
+    {
+        $this->name = $name;
+
+        return $this;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getPosition()
+    {
+        return $this->position;
+    }
+
+    /**
+     * @param mixed $position
+     * @return Level
+     */
+    public function setPosition($position)
+    {
+        $this->position = $position;
+
+        return $this;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getShortName()
+    {
+        return $this->shortName;
+    }
+
+    /**
+     * @param mixed $shortName
+     * @return Level
+     */
+    public function setShortName($shortName)
+    {
+        $this->shortName = $shortName;
+
+        return $this;
+    }
+
+    /**
+     * @return Profile
+     */
+    public function getProfile()
+    {
+        return $this->profile;
+    }
+
+    /**
+     * @param mixed $profile
+     * @return Level
+     */
+    public function setProfile($profile)
+    {
+        $this->profile = $profile;
+
+        return $this;
+    }
+
+
+}