Disable exercise link if it was disabled.

pull/3064/head
Julio Montoya 6 years ago
parent b5f005f420
commit ee3142fccf
  1. 14
      main/exercise/exercise.class.php
  2. 28
      src/CoreBundle/Entity/Resource/ResourceLink.php

@ -8418,7 +8418,16 @@ class Exercise
// Url link.
$grid->getColumn('title')->manipulateRenderCell(
function ($value, $row, $router) use ($course, $sessionId) {
function ($value, $row, $router) use ($course, $session, $sessionId) {
/** @var CQuiz $exercise */
$exercise = $row->getEntity();
$link = $exercise->getFirstResourceLinkFromCourseSession($course, $session);
$attributes = [];
if ($link && $link->isDraft()) {
$attributes['class'] = ' text-muted ';
}
$url = $router->generate(
'legacy_main',
[
@ -8428,7 +8437,8 @@ class Exercise
'exerciseId' => $row->getField('id'),
]
);
return Display::url($value, $url);
return Display::url($value, $url, $attributes);
}
);

@ -328,11 +328,39 @@ class ResourceLink
*/
public function setVisibility(int $visibility): ResourceLink
{
if (!in_array($visibility, self::getVisibilityList())) {
throw new \LogicException('The visibility is not valid');
}
$this->visibility = $visibility;
return $this;
}
/**
* @return bool
*/
public function isPublished()
{
return $this->getVisibility() === self::VISIBILITY_PUBLISHED;
}
/**
* @return bool
*/
public function isPending()
{
return $this->getVisibility() === self::VISIBILITY_PENDING;
}
/**
* @return bool
*/
public function isDraft()
{
return $this->getVisibility() === self::VISIBILITY_DRAFT;
}
/**
* @return $this
*/

Loading…
Cancel
Save