|
|
| 345 |
Request::redirect(null, null, null, 'submission', $paperId); |
345 |
Request::redirect(null, null, null, 'submission', $paperId); |
| 346 |
} |
346 |
} |
| 347 |
|
347 |
|
| 348 |
function recordDecision() { |
348 |
function recordDecision($args) { |
| 349 |
$paperId = Request::getUserVar('paperId'); |
349 |
$paperId = (int) Request::getUserVar('paperId'); |
|
|
350 |
$decision = (int) Request::getUserVar('decision'); |
| 351 |
$stage = (int) array_shift($args); |
| 352 |
|
| 350 |
$this->validate($paperId, TRACK_DIRECTOR_ACCESS_REVIEW); |
353 |
$this->validate($paperId, TRACK_DIRECTOR_ACCESS_REVIEW); |
| 351 |
$conference =& Request::getConference(); |
354 |
$conference =& Request::getConference(); |
| 352 |
$schedConf =& Request::getSchedConf(); |
355 |
$schedConf =& Request::getSchedConf(); |
| 353 |
$submission =& $this->submission; |
356 |
$submission =& $this->submission; |
| 354 |
|
357 |
|
| 355 |
$stage = $submission->getCurrentStage(); |
358 |
// If the director changes the decision on the first round, |
| 356 |
|
359 |
// roll back to the abstract review stage. |
| 357 |
$decision = Request::getUserVar('decision'); |
360 |
if ( |
| 358 |
|
361 |
$submission->getCurrentStage() == REVIEW_STAGE_PRESENTATION && |
| 359 |
// If the director requires revisions for the presentation, reset reviews |
362 |
$stage == REVIEW_STAGE_ABSTRACT |
| 360 |
if($submission->getCurrentStage() == REVIEW_STAGE_PRESENTATION && |
363 |
) { |
| 361 |
($decision == SUBMISSION_DIRECTOR_DECISION_PENDING_REVISIONS || $decision == SUBMISSION_DIRECTOR_DECISION_DECLINE)) { |
|
|
| 362 |
$submission->setCurrentStage(REVIEW_STAGE_PRESENTATION); |
| 363 |
$submission->setSubmissionProgress(2); |
| 364 |
$stage = REVIEW_STAGE_PRESENTATION; |
| 365 |
|
| 366 |
TrackDirectorAction::recordDecision($submission, $decision); |
| 367 |
} else if($submission->getCurrentStage() == REVIEW_STAGE_ABSTRACT && |
| 368 |
($decision == SUBMISSION_DIRECTOR_DECISION_PENDING_REVISIONS || $decision == SUBMISSION_DIRECTOR_DECISION_DECLINE)) { |
| 369 |
$submission->setCurrentStage(REVIEW_STAGE_ABSTRACT); |
364 |
$submission->setCurrentStage(REVIEW_STAGE_ABSTRACT); |
| 370 |
$submission->setSubmissionProgress(3); |
|
|
| 371 |
$stage = REVIEW_STAGE_ABSTRACT; |
| 372 |
|
365 |
|
| 373 |
// Now, unassign all reviewers from the paper review |
366 |
// Now, unassign all reviewers from the paper review |
| 374 |
foreach ($submission->getReviewAssignments(REVIEW_STAGE_PRESENTATION) as $reviewAssignment) { |
367 |
foreach ($submission->getReviewAssignments(REVIEW_STAGE_PRESENTATION) as $reviewAssignment) { |
|
|
| 377 |
} |
370 |
} |
| 378 |
} |
371 |
} |
| 379 |
|
372 |
|
| 380 |
TrackDirectorAction::recordDecision($submission, $decision); |
373 |
TrackDirectorAction::recordDecision($submission, $decision, $stage); |
| 381 |
} else { |
374 |
} else { |
| 382 |
switch ($decision) { |
375 |
switch ($decision) { |
| 383 |
case SUBMISSION_DIRECTOR_DECISION_ACCEPT: |
376 |
case SUBMISSION_DIRECTOR_DECISION_ACCEPT: |
| 384 |
case SUBMISSION_DIRECTOR_DECISION_INVITE: |
377 |
case SUBMISSION_DIRECTOR_DECISION_INVITE: |
| 385 |
case SUBMISSION_DIRECTOR_DECISION_PENDING_REVISIONS: |
378 |
case SUBMISSION_DIRECTOR_DECISION_PENDING_REVISIONS: |
| 386 |
case SUBMISSION_DIRECTOR_DECISION_DECLINE: |
379 |
case SUBMISSION_DIRECTOR_DECISION_DECLINE: |
| 387 |
TrackDirectorAction::recordDecision($submission, $decision); |
380 |
TrackDirectorAction::recordDecision($submission, $decision, $stage); |
| 388 |
break; |
381 |
break; |
| 389 |
} |
382 |
} |
| 390 |
} |
383 |
} |