13 namespace Fossology\UI\Api\Models;
18 use Symfony\Component\HttpFoundation\Request;
20 if (!class_exists(
"AgentAdder",
false)) {
21 require_once dirname(__DIR__, 2) .
"/agent-add.php";
23 require_once dirname(__DIR__, 4) .
"/lib/php/common-folders.php";
97 foreach ($uploadsAccessible as $singleUpload) {
98 if ($singleUpload[
'upload_pk'] == $uploadId) {
103 if ($found ===
false) {
105 "Folder id $folderId does not have upload id " .
106 "$uploadId or you do not have write access to the folder.");
110 $paramAgentRequest =
new Request();
115 $returnStatus = (new \AgentAdder())->
scheduleAgents($uploadId, $agentsToAdd, $paramAgentRequest);
116 if (is_numeric($returnStatus)) {
117 return new Info(201, $returnStatus, InfoType::INFO);
130 foreach ($this->analysis->getArray() as $agent => $set) {
132 if ($agent ==
"copyright_email_author") {
133 $agentsToAdd[] =
"agent_copyright";
135 $agentsToAdd[] =
"agent_$agent";
148 if ($this->reuse->getReuseUpload() == 0) {
153 if ($this->reuse->getReuseMain() ===
true) {
154 $reuserRules[] =
'reuseMain';
156 if ($this->reuse->getReuseEnhanced() ===
true) {
157 $reuserRules[] =
'reuseEnhanced';
159 if ($this->reuse->getReuseReport() ===
true) {
160 $reuserRules[] =
'reuseConf';
162 if ($this->reuse->getReuseCopyright() ===
true) {
163 $reuserRules[] =
'reuseCopyright';
165 $userDao = $GLOBALS[
'container']->get(
"dao.user");
166 $reuserSelector = $this->reuse->getReuseUpload() .
"," . $userDao->getGroupIdByName($this->reuse->getReuseGroup());
167 $request->request->set(
'uploadToReuse', $reuserSelector);
168 $request->request->set(
'reuseMode', $reuserRules);
178 if ($this->decider->getNomosMonk() ===
true) {
179 $deciderRules[] =
'nomosInMonk';
181 if ($this->decider->getBulkReused() ===
true) {
182 $deciderRules[] =
'reuseBulk';
184 if ($this->decider->getNewScanner() ===
true) {
185 $deciderRules[] =
'wipScannerUpdates';
187 if ($this->decider->getOjoDecider() ===
true) {
188 $deciderRules[] =
'ojoNoContradiction';
190 $request->request->set(
'deciderRules', $deciderRules);
191 if ($this->analysis->getNomos()) {
192 $request->request->set(
'Check_agent_nomos', 1);
203 if ($this->scancode->getScanLicense() ===
true) {
204 $scancodeRules[] =
'license';
206 if ($this->scancode->getScanCopyright() ===
true) {
207 $scancodeRules[] =
'copyright';
209 if ($this->scancode->getScanEmail() ===
true) {
210 $scancodeRules[] =
'email';
212 if ($this->scancode->getScanUrl() ===
true) {
213 $scancodeRules[] =
'url';
215 $request->request->set(
'scancodeFlags', $scancodeRules);
Contains the constants and helpers for authentication of user.
Info model to contain general error and return values.
Model to hold add settings for new scan.
prepareScancode(Request &$request)
scheduleAgents($folderId, $uploadId, $newUpload=true)
prepareReuser(Request &$request)
__construct($analysis, $reuse, $decider, $scancode)
prepareDecider(Request &$request)
FolderListUploads_perm($ParentFolder, $perm)
Returns an array of uploads in a folder.