Skip to content

Commit

Permalink
[Dropzone] fixes statuses and evaluation start
Browse files Browse the repository at this point in the history
  • Loading branch information
Elorfin committed Apr 1, 2021
1 parent 5c71f5a commit 28ac861
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 54 deletions.
1 change: 1 addition & 0 deletions src/plugin/drop-zone/Controller/API/DropController.php
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ public function createAction(Dropzone $dropzone, User $user, Team $team = null):
if (!empty($team)) {
$this->checkTeamUser($team, $user);
}

try {
if (empty($team)) {
// creates a User drop
Expand Down
6 changes: 2 additions & 4 deletions src/plugin/drop-zone/Listener/Resource/DropzoneListener.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,11 @@
use Claroline\DropZoneBundle\Manager\DropzoneManager;
use Claroline\TeamBundle\Manager\TeamManager;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
use Symfony\Component\Translation\TranslatorInterface;
use Symfony\Contracts\Translation\TranslatorInterface;

class DropzoneListener
{
/** @var TokenStorageInterface */
private $tokenStorage;

/** @var DropzoneManager */
Expand All @@ -38,9 +39,6 @@ class DropzoneListener
/** @var TranslatorInterface */
private $translator;

/**
* DropzoneListener constructor.
*/
public function __construct(
TokenStorageInterface $tokenStorage,
DropzoneManager $dropzoneManager,
Expand Down
9 changes: 3 additions & 6 deletions src/plugin/drop-zone/Manager/DropzoneManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,6 @@ public function getTeamDrop(Dropzone $dropzone, Team $team, User $user, $withCre

if ($withCreation) {
if (empty($drop)) {
$this->om->startFlushSuite();
$drop = new Drop();
$drop->setUser($user);
$drop->setDropzone($dropzone);
Expand All @@ -295,22 +294,20 @@ public function getTeamDrop(Dropzone $dropzone, Team $team, User $user, $withCre
['status' => AbstractEvaluation::STATUS_INCOMPLETE]
);
}
$this->om->persist($drop);
$this->om->endFlushSuite();

$this->eventDispatcher->dispatch(new LogDropStartEvent($dropzone, $drop), 'log');
} elseif (!$drop->hasUser($user)) {
$this->om->startFlushSuite();
$drop->addUser($user);
$this->resourceEvalManager->createResourceEvaluation(
$dropzone->getResourceNode(),
$user,
null,
['status' => AbstractEvaluation::STATUS_INCOMPLETE]
);
$this->om->persist($drop);
$this->om->endFlushSuite();
}

$this->om->persist($drop);
$this->om->flush();
}

return $drop;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ OverviewComponent.propTypes = {
}),
errorMessage: T.string,
teams: T.arrayOf(T.shape({
id: T.number.isRequired,
id: T.string.isRequired,
name: T.string.isRequired
})),
startDrop: T.func.isRequired,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,10 @@ const Timeline = props =>
title={constants.PLANNING_STATES.all[constants.STATE_NOT_STARTED]}
active={constants.STATE_NOT_STARTED === props.state}
>
<span>
{trans('dropzone_start', {}, 'dropzone')} : {props.planning.type === constants.PLANNING_TYPE_AUTO && props.planning.drop && props.planning.drop.length > 0 ?
<div><b>{displayDate(props.planning.drop[0], false, true)}</b></div> :
<b>-</b>
}
</span>
{trans('dropzone_start', {}, 'dropzone')} : {props.planning.type === constants.PLANNING_TYPE_AUTO && props.planning.drop && props.planning.drop.length > 0 ?
<div><b>{displayDate(props.planning.drop[0], false, true)}</b></div> :
<b>-</b>
}
</EvaluationStatus>

<EvaluationStatus
Expand All @@ -53,7 +51,13 @@ const Timeline = props =>
constants.STATE_ALLOW_DROP_AND_PEER_REVIEW
].indexOf(props.state) > -1}
>
{trans('manager_defined_period', {}, 'dropzone')}
{props.planning.type === constants.PLANNING_TYPE_AUTO && props.planning.drop && props.planning.drop.length > 0 ?
trans('date_range', {
start: displayDate(props.planning.drop[0], false, true),
end: displayDate(props.planning.drop[1], false, true)
}) :
trans('manager_defined_period', {}, 'dropzone')
}
</EvaluationStatus>

{constants.REVIEW_TYPE_PEER === props.reviewType &&
Expand All @@ -65,7 +69,13 @@ const Timeline = props =>
constants.STATE_ALLOW_DROP_AND_PEER_REVIEW
].indexOf(props.state) > -1}
>
{trans('manager_defined_period', {}, 'dropzone')}
{props.planning.type === constants.PLANNING_TYPE_AUTO && props.planning.review && props.planning.review.length > 0 ?
trans('date_range', {
start: displayDate(props.planning.review[0], false, true),
end: displayDate(props.planning.review[1], false, true)
}) :
trans('manager_defined_period', {}, 'dropzone')
}
</EvaluationStatus>
}

Expand All @@ -74,12 +84,10 @@ const Timeline = props =>
title={constants.PLANNING_STATES.all[constants.STATE_FINISHED]}
active={constants.STATE_FINISHED === props.state}
>
<span>
{trans('dropzone_end', {}, 'dropzone')} : {props.planning.type === constants.PLANNING_TYPE_AUTO && props.planning.drop && props.planning.drop.length > 1 ?
<div><b>{displayDate(props.planning.drop[1], false, true)}</b></div> :
<b>-</b>
}
</span>
{trans('dropzone_end', {}, 'dropzone')} : {props.planning.type === constants.PLANNING_TYPE_AUTO && props.planning.review && props.planning.review.length > 1 ?
<div><b>{displayDate(props.planning.review[1], false, true)}</b></div> :
<b>-</b>
}
</EvaluationStatus>
</ul>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -168,26 +168,27 @@ const currentState = createSelector(
//finished if end deposit date is reached
if (currentDate > dropzone.planning.drop[1]) {
currentState = constants.STATE_FINISHED
} else if(currentDate <= dropzone.planning.drop[1]){
} else if (currentDate <= dropzone.planning.drop[1]){
currentState = constants.STATE_ALLOW_DROP
}
} else if(constants.REVIEW_TYPE_PEER === dropzone.parameters.reviewType){
} else if (constants.REVIEW_TYPE_PEER === dropzone.parameters.reviewType){
//peer review mode
//finished if end deposit date and review end date are reached
if(currentDate > dropzone.planning.drop[1] ) {
if (currentDate > dropzone.planning.drop[1] ) {
if (currentDate < dropzone.planning.review[0]) {
currentState = constants.STATE_WAITING_FOR_PEER_REVIEW
} else if (currentDate >= dropzone.planning.review[0] && currentDate <= dropzone.planning.review[1]) {
currentState = constants.STATE_PEER_REVIEW
} else {
currentState = constants.STATE_FINISHED
}
} else{
} else {
currentState = constants.STATE_ALLOW_DROP
}
}
}
}

return currentState
}
)
Expand Down Expand Up @@ -224,20 +225,9 @@ const dropDisabledMessages = createSelector(
messages.push(trans('drop_disabled_finished', {}, 'dropzone'))
break

// otherwise checks drop date boundaries
default:
if (constants.PLANNING_TYPE_MANUAL === dropzone.planning.type) {
if (!isDropEnabledManual) {
if (constants.PLANNING_TYPE_MANUAL === dropzone.planning.type && !isDropEnabledManual) {
messages.push(trans('drop_disabled_not_active', {}, 'dropzone'))
}
} else {
if (now(false) < dropzone.planning.drop[0]) {
// drop has not already started
messages.push(trans('drop_disabled_not_started', {}, 'dropzone'))
} else if (now(false) > dropzone.planning.drop[1]) {
// drop has already finished
messages.push(trans('drop_disabled_finished', {}, 'dropzone'))
}
}

break
Expand Down Expand Up @@ -279,20 +269,9 @@ const peerReviewDisabledMessages = createSelector(
messages.push(trans('review_disabled_finished', {}, 'dropzone'))
break

// otherwise checks drop date boundaries
default:
if (constants.PLANNING_TYPE_MANUAL === dropzone.planning.type) {
if (!isPeerReviewEnabledManual) {
if (constants.PLANNING_TYPE_MANUAL === dropzone.planning.type && !isPeerReviewEnabledManual) {
messages.push(trans('review_disabled_not_active', {}, 'dropzone'))
}
} else {
if (now(false) < dropzone.planning.review[0]) {
// drop has not already started
messages.push(trans('review_disabled_not_started', {}, 'dropzone'))
} else if (now(false) > dropzone.planning.review[1]) {
// drop has already finished
messages.push(trans('review_disabled_finished', {}, 'dropzone'))
}
}

break
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
"drop_comments": "Commentaires sur la production",
"drop_date": "Date de dépôt",
"drop_disabled_finished": "Le dépôt de productions est terminé.",
"drop_disabled_not_active": " dépôt n'est pas activé.",
"drop_disabled_not_active": "Le dépôt n'est pas activé.",
"drop_disabled_not_started": "Le dépôt de productions n'a pas encore commencé.",
"drop_disabled_team_required": "Une équipe est requise.",
"drop_disabled_user_required": "Un utilisateur est requis.",
Expand Down

0 comments on commit 28ac861

Please sign in to comment.