Browse Source

Create TrackECourseAccessRepository - refs BT#10092 #TMI

Angel Fernando Quiroz Campos 9 years ago
parent
commit
67b0693c31

+ 42 - 0
src/Chamilo/CoreBundle/Entity/Repository/TrackECourseAccessRepository.php

@@ -0,0 +1,42 @@
+<?php
+/* For licensing terms, see /license.txt */
+
+namespace Chamilo\CoreBundle\Entity\Repository;
+
+use Doctrine\ORM\EntityRepository;
+use \Chamilo\UserBundle\Entity\User;
+
+/**
+ * TrackECourseAccessRepository
+ *
+ * @package Chamilo\CoreBundle\Entity\Repository
+ * @author Angel Fernando Quiroz Campos <angel.quiroz@beeznest.com>
+ */
+class TrackECourseAccessRepository extends EntityRepository {
+
+    /**
+     * Get the last registered access by an user
+     * @param \Chamilo\UserBundle\Entity\User $user The user
+     * @return \ChamiloCoreBundle\TrackECourseAcess The access if exists.
+     *          Otherwise return null
+     */
+    public function getLastAccessByUser(User $user)
+    {
+        if (empty($user)) {
+            return null;
+        }
+
+        $lastAccess = $this->findBy(
+            ['userId' => $user->getId()],
+            ['courseAccessId' => 'DESC'],
+            1
+        );
+
+        if (!empty($lastAccess)) {
+            return $lastAccess[0];
+        }
+
+        return null;
+    }
+
+}

+ 1 - 1
src/Chamilo/CoreBundle/Entity/TrackECourseAccess.php

@@ -8,7 +8,7 @@ use Doctrine\ORM\Mapping as ORM;
  * TrackECourseAccess
  *
  * @ORM\Table(name="track_e_course_access", indexes={@ORM\Index(name="user_id", columns={"user_id"}), @ORM\Index(name="login_course_date", columns={"login_course_date"}), @ORM\Index(name="session_id", columns={"session_id"})})
- * @ORM\Entity
+ * @ORM\Entity(repositoryClass="Chamilo\CoreBundle\Entity\Repository\TrackECourseAccessRepository")
  */
 class TrackECourseAccess
 {