* Fix bug #50254, get files from results.
This commit is contained in:
@@ -6,6 +6,8 @@ global $lang, $app;
|
||||
$isShadowProduct = data('product.shadow');
|
||||
$noMultipleProject = data('project.multiple') === '0';
|
||||
$isOriginalProduct = (int)data('bug.productID') === (int)data('productID');
|
||||
$resultFiles = data('resultFiles');
|
||||
$resultFiles = array_values($resultFiles);
|
||||
|
||||
$fields = defineFieldList('bug.create', 'bug');
|
||||
|
||||
@@ -50,7 +52,7 @@ $fields->field('steps')
|
||||
|
||||
$fields->field('files')
|
||||
->width('full')
|
||||
->control('fileSelector', array('defaultFiles' => data('resultFiles')));
|
||||
->control('fileSelector', array('defaultFiles' => $resultFiles));
|
||||
|
||||
$fields->field('story')->foldable();
|
||||
|
||||
@@ -72,4 +74,6 @@ $fields->field('module')->className($isShadowProduct ? 'w-1/2' : 'w-1/4')->class
|
||||
|
||||
$fields->field('openedBuild')->className($isShadowProduct ? 'w-1/2' : 'w-1/4')->className('full:w-1/2');
|
||||
|
||||
$fields->field('resultFiles')->control('hidden')->value(data('resultFiles'));
|
||||
|
||||
if($isShadowProduct && !$isOriginalProduct) $fields->moveAfter('module', 'product');
|
||||
|
||||
+12
-11
@@ -1103,7 +1103,7 @@ class bugZen extends bug
|
||||
$this->view->allBuilds = !empty($bug->allBuilds) ? $bug->allBuilds : '';
|
||||
$this->view->allUsers = !empty($bug->allUsers) ? $bug->allUsers : '';
|
||||
$this->view->releasedBuilds = $this->loadModel('release')->getReleasedBuilds((int)$bug->productID, (string)$bug->branch);
|
||||
$this->view->resultFiles = array_values($resultFiles);
|
||||
$this->view->resultFiles = $resultFiles;
|
||||
$this->view->contactList = $this->loadModel('user')->getContactLists();
|
||||
$this->view->branchID = $bug->branch != 'all' ? $bug->branch : '0';
|
||||
}
|
||||
@@ -1822,25 +1822,26 @@ class bugZen extends bug
|
||||
*/
|
||||
private function updateFileAfterCreate(int $bugID): bool
|
||||
{
|
||||
if(isset($this->post->resultFiles))
|
||||
$this->loadModel('file');
|
||||
if(!empty($_POST['resultFiles']))
|
||||
{
|
||||
$resultFiles = $this->post->resultFiles;
|
||||
if(isset($this->post->deleteFiles))
|
||||
if($resultFiles) $resultFiles = json_decode($resultFiles, true);
|
||||
if(!empty($_POST['deleteFiles']))
|
||||
{
|
||||
foreach($this->post->deleteFiles as $deletedCaseFileID) $resultFiles = trim(str_replace(",$deletedCaseFileID,", ',', ",$resultFiles,"), ',');
|
||||
foreach($this->post->deleteFiles as $deletedCaseFileID) unset($resultFiles[$deletedCaseFileID]);
|
||||
}
|
||||
$files = $this->dao->select('*')->from(TABLE_FILE)->where('id')->in($resultFiles)->fetchAll('id');
|
||||
foreach($files as $file)
|
||||
foreach($resultFiles as $file)
|
||||
{
|
||||
unset($file->id);
|
||||
$file->objectType = 'bug';
|
||||
$file->objectID = $bugID;
|
||||
$this->dao->insert(TABLE_FILE)->data($file)->exec();
|
||||
unset($file['id']);
|
||||
$file['objectType'] = 'bug';
|
||||
$file['objectID'] = $bugID;
|
||||
$this->file->saveFile($file, 'url,deleted,realPath,webPath,name,url,extra');
|
||||
}
|
||||
}
|
||||
|
||||
$uid = $this->post->uid ? $this->post->uid : '';
|
||||
$this->loadModel('file')->updateObjectID($uid, $bugID, 'bug');
|
||||
$this->file->updateObjectID($uid, $bugID, 'bug');
|
||||
$this->file->saveUpload('bug', $bugID);
|
||||
|
||||
return !dao::isError();
|
||||
|
||||
Reference in New Issue
Block a user