public function testupdateClearingEvent() { $this->testDb->createSequences(array('clearing_event_clearing_event_pk_seq')); $this->testDb->createConstraints(array('clearing_event_pkey')); $this->dbManager->queryOnce("ALTER TABLE clearing_event ALTER COLUMN clearing_event_pk SET DEFAULT nextval('clearing_event_clearing_event_pk_seq'::regclass)"); $this->clearingDao->updateClearingEvent($uploadTreeId = 301, $userId = 1, $groupId = 1, $licenseId = 402, $what = 'comment', $changeCom = 'abc123'); $rowPast = $this->dbManager->getSingleRow('SELECT * FROM clearing_event WHERE uploadtree_fk=$1 AND rf_fk=$2 ORDER BY clearing_event_pk DESC LIMIT 1', array($uploadTreeId, $licenseId), __METHOD__ . 'beforeReportinfo'); assertThat($rowPast['comment'], equalTo($changeCom)); $this->clearingDao->updateClearingEvent($uploadTreeId, $userId, $groupId, $licenseId, $what = 'reportinfo', $changeRep = 'def456'); $rowFuture = $this->dbManager->getSingleRow('SELECT * FROM clearing_event WHERE uploadtree_fk=$1 AND rf_fk=$2 ORDER BY clearing_event_pk DESC LIMIT 1', array($uploadTreeId, $licenseId), __METHOD__ . 'afterReportinfo'); assertThat($rowFuture['comment'], equalTo($changeCom)); assertThat($rowFuture['reportinfo'], equalTo($changeRep)); }
/** * @return Response */ function Output() { $userId = Auth::getUserId(); $groupId = Auth::getGroupId(); $action = GetParm("do", PARM_STRING); $uploadId = GetParm("upload", PARM_INTEGER); $uploadTreeId = GetParm("item", PARM_INTEGER); $licenseId = GetParm("licenseId", PARM_INTEGER); $sort0 = GetParm("sSortDir_0", PARM_STRING); $orderAscending = isset($sort0) ? $sort0 === "asc" : true; switch ($action) { case "licenses": return new JsonResponse($this->doLicenses($orderAscending, $groupId, $uploadId, $uploadTreeId)); case "licenseDecisions": return new JsonResponse($this->doClearings($orderAscending, $groupId, $uploadId, $uploadTreeId)); case "addLicense": $this->clearingDao->insertClearingEvent($uploadTreeId, $userId, $groupId, $licenseId, false, ClearingEventTypes::USER); return new JsonResponse(); case "removeLicense": $this->clearingDao->insertClearingEvent($uploadTreeId, $userId, $groupId, $licenseId, true, ClearingEventTypes::USER); return new JsonResponse(); case "makeMainLicense": $this->clearingDao->makeMainLicense($uploadId, $groupId, $licenseId); return new JsonResponse(); case "removeMainLicense": $this->clearingDao->removeMainLicense($uploadId, $groupId, $licenseId); return new JsonResponse(); case "setNextPrev": case "setNextPrevCopyRight": case "setNextPrevIp": case "setNextPrevEcc": return new JsonResponse($this->doNextPrev($action, $uploadId, $uploadTreeId, $groupId)); case "updateClearings": $id = GetParm("id", PARM_STRING); if (isset($id)) { list($uploadTreeId, $licenseId) = explode(',', $id); $what = GetParm("columnId", PARM_INTEGER) == 3 ? 'comment' : 'reportinfo'; $changeTo = GetParm("value", PARM_RAW); $this->clearingDao->updateClearingEvent($uploadTreeId, $userId, $groupId, $licenseId, $what, $changeTo); } return $this->createPlainResponse("success"); default: return $this->createPlainResponse("fail"); } }