Adding jury members repository see BT#6312

skala
Julio Montoya 12 years ago
parent 0e8e6ea4b3
commit a39026f63d
  1. 2
      main/inc/Entity/JuryMembers.php
  2. 65
      main/inc/Entity/Repository/JuryMembersRepository.php
  3. 6
      main/inc/Entity/Repository/JuryRepository.php
  4. 2
      main/template/default/admin/jury_member/assign_members.tpl
  5. 2
      main/template/default/admin/jury_president/assign_members.tpl
  6. 2
      main/template/minedu/admin/jury_member/assign_members.tpl
  7. 11
      main/template/minedu/admin/jury_president/assign_members.tpl
  8. 43
      src/ChamiloLMS/Controller/Admin/JuryPresident/JuryPresidentController.php

@ -9,7 +9,7 @@ use Doctrine\Common\Collections\ArrayCollection;
* JuryMembers
*
* @ORM\Table(name="jury_members")
* @ORM\Entity
* @ORM\Entity(repositoryClass="Entity\Repository\JuryMembersRepository")
*/
class JuryMembers
{

@ -0,0 +1,65 @@
<?php
namespace Entity\Repository;
use Doctrine\ORM\EntityRepository;
use Doctrine\Common\Collections\Criteria;
use Doctrine\ORM\NoResultException;
/**
* JuryRepository
*
*/
class JuryMembersRepository extends EntityRepository
{
/**
* @param int $userId
* @param int $juryMemberId
* @return string
*/
public function assignUserToJuryMember($userId, $juryMemberId)
{
$member = $this->find($juryMemberId);
if ($member) {
$criteria = array('userId' => $userId, 'juryMemberId'=> $juryMemberId);
$em = $this->getEntityManager();
$result = $em->getRepository('Entity\JuryMemberRelUser')->findOneBy($criteria);
if (empty($result)) {
$object = new \Entity\JuryMemberRelUser();
$object->setMember($member);
$object->setUserId($userId);
$em->persist($object);
$em->flush();
return '1';
}
}
return '0';
}
/**
* @param int $userId
* @param int $juryMemberId
* @return string
*/
public function removeUserToJuryMember($userId, $juryMemberId)
{
$em = $this->getEntityManager();
$member = $em->getRepository('Entity\JuryMembers')->find($juryMemberId);
if ($member) {
$criteria = array('userId' => $userId, 'juryMemberId'=> $juryMemberId);
$result = $em->getRepository('Entity\JuryMemberRelUser')->findOneBy($criteria);
if (!empty($result)) {
$em = $this->getManager();
$em->remove($result);
$em->flush();
return '1';
}
}
return '0';
}
}

@ -91,10 +91,4 @@ class JuryRepository extends EntityRepository
return false;
}
}
public function getExerciseAttemptsByJury($juryId)
{
}
}

@ -60,7 +60,7 @@
{% if my_status_for_student[attempt.user.getUserId] %}
<a href="#" class="btn btn-success disabled">Evaluado</a>
{% else %}
<a href="{{ url('jury_member.controller:scoreUserAction', { 'exeId': attempt.getExeId }) }}" class="btn btn-warning">Evaluar</a>
<a href="{{ url('jury_member.controller:scoreAttemptAction', { 'exeId': attempt.getExeId, 'juryId': jury.id }) }}" class="btn btn-warning">Evaluar</a>
{% endif %}
</td>
</tr>

@ -58,7 +58,7 @@
{% if my_status_for_student[attempt.user.getUserId] %}
<a href="#" class="btn btn-success disabled">Evaluado</a>
{% else %}
<a href="{{ url('jury_member.controller:scoreUserAction', { 'exeId': attempt.getExeId }) }}" class="btn btn-warning">Evaluar</a>
<a href="{{ url('jury_member.controller:scoreAttemptAction', { 'exeId': attempt.getExeId, 'juryId' => jury.id }) }}" class="btn btn-warning">Evaluar</a>
{% endif %}
</td>
</tr>

@ -66,7 +66,7 @@
{% if my_status_for_student[attempt.user.getUserId] %}
<a href="#" class="btn btn-success disabled">Evaluado</a>
{% else %}
<a href="{{ url('jury_member.controller:scoreUserAction', { 'exeId': attempt.getExeId }) }}" class="btn btn-warning">Evaluar</a>
<a href="{{ url('jury_member.controller:scoreAttemptAction', { 'exeId': attempt.getExeId, 'juryId' : jury.id }) }}" class="btn btn-warning">Evaluar</a>
{% endif %}
</td>
</tr>

@ -17,8 +17,8 @@
$.ajax(url);
});
});
</script>
<a class="btn" href="">Asignar al azar</a>
<hr>
<form>
@ -58,11 +58,14 @@
{% set memberHover = '' %}
{% endif %}
{% if relations[attempt.user.getUserId][member.user.userId] == 3 %}
{% if relations[attempt.user.getUserId][member.user.userId] %}
{% set checkedSuccess = 'class="success"' %}
{% set disabled = 'disabled' %}
{% else %}
{% set checkedSuccess = '' %}
{% set disabled = '' %}
{% endif %}
<td class="{{ memberHover }}">
{% set studentList = students_by_member[member.id] %}
{% if attempt.user.getUserId in studentList %}
@ -71,7 +74,7 @@
{% set checked = '' %}
{% endif %}
<div {{ checkedSuccess }}>
<input class="inputAction" {{ checked }} id="check_{{ attempt.user.getUserId }}_{{ member.id }}" type="checkbox">
<input {{ disabled }} class="inputAction" {{ checked }} id="check_{{ attempt.user.getUserId }}_{{ member.id }}" type="checkbox">
</div>
</td>
{% endfor %}
@ -79,7 +82,7 @@
{% if my_status_for_student[attempt.user.getUserId] %}
<a href="#" class="btn btn-success disabled">Evaluado</a>
{% else %}
<a href="{{ url('jury_member.controller:scoreUserAction', { 'exeId': attempt.getExeId }) }}" class="btn btn-warning">Evaluar</a>
<a href="{{ url('jury_member.controller:scoreAttemptAction', { 'exeId': attempt.getExeId, 'juryId': jury.id }) }}" class="btn btn-warning">Evaluar</a>
{% endif %}
</td>
</tr>

@ -108,26 +108,7 @@ class JuryPresidentController extends CommonController
*/
public function assignUserToJuryMemberAction($userId, $juryMemberId)
{
/** @var Entity\Jury $jury */
$em = $this->getManager();
$member = $em->getRepository('Entity\JuryMembers')->find($juryMemberId);
if ($member) {
$criteria = array('userId' => $userId, 'juryMemberId'=> $juryMemberId);
$result = $em->getRepository('Entity\JuryMemberRelUser')->findOneBy($criteria);
if (empty($result)) {
$object = new Entity\JuryMemberRelUser();
$object->setMember($member);
$object->setUserId($userId);
$em = $this->getManager();
$em->persist($object);
$em->flush();
return '1';
}
}
return '0';
return $this->getManager()->getRepository('Entity\JuryMembers')->assignUserToJuryMember($userId, $juryMemberId);
}
/**
@ -136,20 +117,7 @@ class JuryPresidentController extends CommonController
*/
public function removeUserToJuryMemberAction($userId, $juryMemberId)
{
$em = $this->getManager();
$member = $em->getRepository('Entity\JuryMembers')->find($juryMemberId);
if ($member) {
$criteria = array('userId' => $userId, 'juryMemberId'=> $juryMemberId);
$result = $em->getRepository('Entity\JuryMemberRelUser')->findOneBy($criteria);
if (!empty($result)) {
$em = $this->getManager();
$em->remove($result);
$em->flush();
return '1';
}
}
return '0';
return $this->getManager()->getRepository('Entity\JuryMembers')->removeUserToJuryMember($userId, $juryMemberId);
}
/**
@ -170,9 +138,6 @@ class JuryPresidentController extends CommonController
return $this->redirect($url);
}
// @todo add to a repository
// $students = $this->getRepository()->getStudentsByJury($jury->getId());
$attempts = $jury->getExerciseAttempts();
// @todo move logic in a repository
@ -180,6 +145,8 @@ class JuryPresidentController extends CommonController
$students = array();
$relations = array();
$myStatusForStudent = array();
$maxCountOfMemberToVoteToConsiderEvaluated = 3;
foreach ($attempts as $attempt) {
$user = $attempt->getUser();
@ -199,7 +166,7 @@ class JuryPresidentController extends CommonController
foreach ($tempAttempt as $memberId => $answerCount) {
$relations[$user->getUserId()][$memberId] = $answerCount;
if ($userId == $memberId) {
if ($answerCount == 3) {
if ($answerCount == $maxCountOfMemberToVoteToConsiderEvaluated) {
$myStatusForStudent[$user->getUserId()] = true;
} else {
$myStatusForStudent[$user->getUserId()] = false;

Loading…
Cancel
Save