WIP: Add entities as resources

CStudentPublication
CStudentPublicationComment
CStudentPublicationAssignment
pull/3064/head
Julio 6 years ago
parent 6f5084cdb1
commit ebc5ed28a2
  1. 9
      public/main/template/default/work/comments.html.twig
  2. 3
      public/main/template/default/work/view.html.twig
  3. 548
      public/main/work/work.lib.php
  4. 2
      src/CoreBundle/Entity/Resource/ResourceNode.php
  5. 9
      src/CoreBundle/Framework/Container.php
  6. 10
      src/CoreBundle/Repository/ResourceRepository.php
  7. 2
      src/CoreBundle/Resources/config/tools.yml
  8. 6
      src/CourseBundle/Entity/CStudentPublication.php
  9. 14
      src/CourseBundle/Entity/CStudentPublicationAssignment.php
  10. 45
      src/CourseBundle/Entity/CStudentPublicationComment.php
  11. 10
      src/CourseBundle/Repository/CStudentPublicationCommentRepository.php
  12. 9
      src/CourseBundle/Repository/CStudentPublicationRepository.php
  13. 4
      src/CourseBundle/Resources/config/services.yml

@ -1,6 +1,7 @@
{% autoescape false %}
<hr />
<h3>
{{ 'Comments' | get_lang }}
{{ 'Comments' | trans }}
</h3>
<hr>
<ul>
@ -15,7 +16,7 @@
{% if comment.comment is not empty %}
{{ comment.comment }}
{% else %}
{{ 'HereIsYourFeedback' | get_lang }}
{{ 'Here is your feedback' | trans }}
{% endif %}
</p>
{% if comment.file_url is not empty %}
@ -27,7 +28,7 @@
</a>
{% if is_allowed_to_edit %}
<a href="{{ comment.delete_file_url }}">
{{ 'delete.png'|img(22, 'Delete'|get_lang) }}
{{ 'delete.png'|img(22, 'Delete'|trans) }}
</a>
{% endif %}
</li>
@ -37,3 +38,5 @@
{% endfor %}
</ul>
<br />
{% endautoescape %}

@ -1,3 +1,4 @@
{% autoescape false %}
<div class="page-header">
<h2>
{{ work.title }}
@ -25,3 +26,5 @@
{% endif %}
{% include template ~ '/work/comments.html.twig' %}
{% endautoescape %}

File diff suppressed because it is too large Load Diff

@ -468,7 +468,7 @@ class ResourceNode
return false;
}
public function setResourceFile(ResourceFile $resourceFile): ResourceNode
public function setResourceFile(ResourceFile $resourceFile = null): ResourceNode
{
$this->resourceFile = $resourceFile;

@ -18,6 +18,7 @@ use Chamilo\CourseBundle\Repository\CQuizQuestionCategoryRepository;
use Chamilo\CourseBundle\Repository\CQuizQuestionRepository;
use Chamilo\CourseBundle\Repository\CQuizRepository;
use Chamilo\CourseBundle\Repository\CStudentPublicationAssignmentRepository;
use Chamilo\CourseBundle\Repository\CStudentPublicationCommentRepository;
use Chamilo\CourseBundle\Repository\CStudentPublicationRepository;
use Chamilo\PageBundle\Entity\Page;
use Chamilo\SettingsBundle\Manager\SettingsManager;
@ -398,6 +399,14 @@ class Container
return self::$container->get('Chamilo\CourseBundle\Repository\CStudentPublicationAssignmentRepository');
}
/**
* @return CStudentPublicationCommentRepository
*/
public static function getStudentPublicationCommentRepository()
{
return self::$container->get('Chamilo\CourseBundle\Repository\CStudentPublicationCommentRepository');
}
/**
* @param $manager UserManager
*/

@ -295,10 +295,12 @@ class ResourceRepository extends EntityRepository
}
/**
* @param int $visibility
* @param Course $course
* @param Session $session
* @param CGroupInfo $group
* @param ResourceNode $resourceNode
* @param $visibility
* @param $course
* @param $session
* @param $group
*
*/
public function addResourceNodeToCourse(ResourceNode $resourceNode, $visibility, $course, $session, $group): void
{

@ -87,6 +87,8 @@ services:
repository: Chamilo\CourseBundle\Repository\CStudentPublicationRepository
student_publications_assignments:
repository: Chamilo\CourseBundle\Repository\CStudentPublicationAssignmentRepository
student_publications_comments:
repository: Chamilo\CourseBundle\Repository\CStudentPublicationCommentRepository
- '01'
tags:
- {name: chamilo_core.tool}

@ -91,7 +91,7 @@ class CStudentPublication extends AbstractResource implements ResourceInterface
/**
* @var bool
*
* @ORM\Column(name="active", type="boolean", nullable=true)
* @ORM\Column(name="active", type="integer", nullable=true)
*/
protected $active;
@ -327,13 +327,13 @@ class CStudentPublication extends AbstractResource implements ResourceInterface
/**
* Set active.
*
* @param bool $active
* @param int $active
*
* @return CStudentPublication
*/
public function setActive($active)
{
$this->active = $active;
$this->active = (int) $active;
return $this;
}

@ -78,9 +78,17 @@ class CStudentPublicationAssignment extends AbstractResource implements Resource
*/
protected $publicationId;
/**
* @return int
*/
public function getIid(): int
{
return $this->iid;
}
public function __toString(): string
{
return (string) $this->getId();
return (string) $this->getIid();
}
/**
@ -256,11 +264,11 @@ class CStudentPublicationAssignment extends AbstractResource implements Resource
*/
public function getResourceIdentifier(): int
{
return $this->getId();
return $this->getIid();
}
public function getResourceName(): string
{
return (string) $this->getId();
return (string) $this->getIid();
}
}

@ -3,6 +3,8 @@
namespace Chamilo\CourseBundle\Entity;
use Chamilo\CoreBundle\Entity\Resource\AbstractResource;
use Chamilo\CoreBundle\Entity\Resource\ResourceInterface;
use Doctrine\ORM\Mapping as ORM;
/**
@ -18,7 +20,7 @@ use Doctrine\ORM\Mapping as ORM;
* )
* @ORM\Entity
*/
class CStudentPublicationComment
class CStudentPublicationComment extends AbstractResource implements ResourceInterface
{
/**
* @var int
@ -78,6 +80,34 @@ class CStudentPublicationComment
*/
protected $sentAt;
public function __construct()
{
$this->sentAt = new \DateTime();
}
public function __toString(): string
{
return (string) $this->getIid();
}
/**
* @return int
*/
public function getIid()
{
return $this->iid;
}
/**
* @return int
*/
public function setId($id)
{
$this->id = $id;
return $this;
}
/**
* Set workId.
*
@ -231,4 +261,17 @@ class CStudentPublicationComment
{
return $this->id;
}
/**
* Resource identifier.
*/
public function getResourceIdentifier(): int
{
return $this->getIid();
}
public function getResourceName(): string
{
return (string) substr($this->getComment(), 0, 80);
}
}

@ -0,0 +1,10 @@
<?php
/* For licensing terms, see /license.txt */
namespace Chamilo\CourseBundle\Repository;
use Chamilo\CoreBundle\Repository\ResourceRepository;
final class CStudentPublicationCommentRepository extends ResourceRepository
{
}

@ -16,13 +16,8 @@ final class CStudentPublicationRepository extends ResourceRepository
{
/**
* Find all the works registered by a teacher.
*
* @param Session $session Optional
* @param int $groupId Optional
*
* @return array
*/
public function findWorksByTeacher(User $user, Course $course, Session $session = null, $groupId = 0)
*/
public function findWorksByTeacher(User $user, Course $course, Session $session = null, $groupId = 0): array
{
$qb = $this->createQueryBuilder('w');

@ -113,6 +113,10 @@ services:
arguments:
$className: 'Chamilo\CourseBundle\Entity\CStudentPublicationAssignment'
Chamilo\CourseBundle\Repository\CStudentPublicationCommentRepository:
arguments:
$className: 'Chamilo\CourseBundle\Entity\CStudentPublicationComment'
Chamilo\CourseBundle\Repository\CLpCategoryRepository:
arguments:
$className: 'Chamilo\CourseBundle\Entity\CLpCategory'

Loading…
Cancel
Save