• 목록
  • 아래로
  • 위로

5/19

[버그] 문제 삭제시 해당 문제의 배점만큼 총 배점도 감산

 

현재는 시험 문제를 삭제할 때 해당 문제의 배점(point)만큼 시험의 총배점(total_point)이 감소되지 않고 있습니다.

procExamQuestionDelete() 함수를 개선할 필요가 있겠습니다.

exam.controller.php #328-329 행의

$output = $this->deleteQuestion($args);
if(!$output->toBool()) return $output;

윗부분을 다음과 같이 바꾸니 total_point도 수정되고 캐시 삭제로 바뀐 값도 바로 적용됩니다.

 

	$output = $this->deleteQuestion($args);
	if(!$output->toBool()) return $this->makeObject(-1, "msg_invalid_request");

	// 삭제한 문제의 배점만큼 만점 재계산
	$total_point = $examitem->get('total_point') - $questionitem->get('point');
	$output = $this->updateTotalPoint($document_srl, $total_point);
	if(!$output->toBool()) return $this->makeObject(-1, "Failed to update total_point");

	//remove from cache
	$oCacheHandler = CacheHandler::getInstance('object');
	if($oCacheHandler->isSupport())
	{
		//remove document item from cache
		$cache_key = 'exam_item:'. getNumberingPath($document_srl) . $document_srl;
		$oCacheHandler->delete($cache_key);
	}

공유

facebooktwitterpinterestbandkakao story
퍼머링크

댓글 0

에디터