示例#1
0
 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");
     }
 }