Merge branch 'sprint/zentaopms256_lanzongjun' into 'zentaopms_256'
* Finish Task #77799#77806 See merge request easycorp/zentaopms!6415
This commit is contained in:
@@ -898,7 +898,7 @@ class execution extends control
|
||||
$storyBugs = $this->loadModel('bug')->getStoryBugCounts($storyIdList, $executionID);
|
||||
$storyCases = $this->loadModel('testcase')->getStoryCaseCounts($storyIdList);
|
||||
|
||||
$plans = $this->execution->getPlans($products, 'skipParent|withMainPlan');
|
||||
$plans = $this->execution->getPlans($products, 'skipParent|withMainPlan', $executionID);
|
||||
$allPlans = array('' => '');
|
||||
if(!empty($plans))
|
||||
{
|
||||
@@ -1645,7 +1645,20 @@ class execution extends control
|
||||
}
|
||||
else
|
||||
{
|
||||
return print(js::confirm($this->lang->execution->importPlanStory, inlink('create', "projectID=$projectID&executionID=$executionID©ExecutionID=&planID=$planID&confirm=yes"), inlink('create', "projectID=$projectID&executionID=$executionID")));
|
||||
$executionProductList = $this->loadModel('product')->getProducts($executionID);
|
||||
$hasMultiBranchProduct = false;
|
||||
foreach($executionProductList as $executionProduct)
|
||||
{
|
||||
if($executionProduct->type != 'normal')
|
||||
{
|
||||
$hasMultiBranchProduct = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$importPlanStoryTips = $hasMultiBranchProduct ? $this->lang->execution->importBranchPlanStory : $this->lang->execution->importPlanStory;
|
||||
|
||||
return print(js::confirm($importPlanStoryTips, inlink('create', "projectID=$projectID&executionID=$executionID©ExecutionID=&planID=$planID&confirm=yes"), inlink('create', "projectID=$projectID&executionID=$executionID")));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1904,7 +1917,20 @@ class execution extends control
|
||||
}
|
||||
elseif(!empty($newPlans))
|
||||
{
|
||||
return print(js::confirm($this->lang->execution->importEditPlanStory, inlink('edit', "executionID=$executionID&action=edit&extra=&newPlans=$newPlans&confirm=yes"), inlink('view', "executionID=$executionID")));
|
||||
$executionProductList = $this->loadModel('product')->getProducts($executionID);
|
||||
$hasMultiBranchProduct = false;
|
||||
foreach($executionProductList as $executionProduct)
|
||||
{
|
||||
if($executionProduct->type != 'normal')
|
||||
{
|
||||
$hasMultiBranchProduct = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$importEditPlanStoryTips = $hasMultiBranchProduct ? $this->lang->execution->importBranchEditPlanStory : $this->lang->execution->importEditPlanStory;
|
||||
|
||||
return print(js::confirm($importEditPlanStoryTips, inlink('edit', "executionID=$executionID&action=edit&extra=&newPlans=$newPlans&confirm=yes"), inlink('view', "executionID=$executionID")));
|
||||
}
|
||||
|
||||
/* Set menu. */
|
||||
@@ -4122,10 +4148,10 @@ class execution extends control
|
||||
if(!empty($planStory))
|
||||
{
|
||||
$projectProducts = $this->loadModel('project')->getBranchesByProject($executionID);
|
||||
$projectProducts = zget($projectProducts, $productID, array());
|
||||
|
||||
foreach($planStory as $id => $story)
|
||||
{
|
||||
$projectProducts = zget($projectProducts, $story->product, array());
|
||||
if($story->status == 'draft' or $story->status == 'reviewing' or (!empty($projectProducts) and !isset($projectProducts[$story->branch])))
|
||||
{
|
||||
$count++;
|
||||
|
||||
@@ -209,82 +209,84 @@ $lang->execution->burnByList['estimate'] = "View by plan hours";
|
||||
$lang->execution->burnByList['storyPoint'] = 'View by story point';
|
||||
|
||||
/* Method list. */
|
||||
$lang->execution->index = "Home";
|
||||
$lang->execution->task = 'Aufgaben';
|
||||
$lang->execution->groupTask = 'Nach Gruppen';
|
||||
$lang->execution->story = 'Storys';
|
||||
$lang->execution->qa = 'QA';
|
||||
$lang->execution->bug = 'Bugs';
|
||||
$lang->execution->testcase = 'Testcase List';
|
||||
$lang->execution->dynamic = 'Verlauf';
|
||||
$lang->execution->latestDynamic = 'Letzter Verlauf';
|
||||
$lang->execution->build = 'Builds';
|
||||
$lang->execution->testtask = 'Testaufgaben';
|
||||
$lang->execution->burn = 'Burndown';
|
||||
$lang->execution->computeBurn = 'Aktualisieren';
|
||||
$lang->execution->CFD = 'Cumulative Flow diagrams';
|
||||
$lang->execution->computeCFD = 'Compute Cumulative Flow diagrams';
|
||||
$lang->execution->burnData = 'Burndown Daten';
|
||||
$lang->execution->fixFirst = 'Bearbeite Mannstunden des ersten Tags';
|
||||
$lang->execution->team = 'Teammitglieder';
|
||||
$lang->execution->doc = 'Dok';
|
||||
$lang->execution->doclib = 'Dok Bibliothek';
|
||||
$lang->execution->manageProducts = 'Verküpfe ' . $lang->productCommon;
|
||||
$lang->execution->linkStory = 'Link Stories';
|
||||
$lang->execution->linkStoryByPlan = 'Verküpfe Story aus Plan';
|
||||
$lang->execution->linkPlan = 'Verküpfe Plan';
|
||||
$lang->execution->unlinkStoryTasks = 'Verknüpfung aufheben';
|
||||
$lang->execution->linkedProducts = 'Verküpfte Produkte';
|
||||
$lang->execution->unlinkedProducts = 'Produkt verknüpfung aufheben';
|
||||
$lang->execution->view = "Übersicht";
|
||||
$lang->execution->startAction = "Start Execution";
|
||||
$lang->execution->activateAction = "Activate Execution";
|
||||
$lang->execution->delayAction = "Delay Execution";
|
||||
$lang->execution->suspendAction = "Suspend Execution";
|
||||
$lang->execution->closeAction = "Close Execution";
|
||||
$lang->execution->testtaskAction = "Execution Request";
|
||||
$lang->execution->teamAction = "Execution Members";
|
||||
$lang->execution->kanbanAction = "Execution Kanban";
|
||||
$lang->execution->printKanbanAction = "Print Kanban";
|
||||
$lang->execution->treeAction = "Execution Tree View";
|
||||
$lang->execution->exportAction = "Export Execution";
|
||||
$lang->execution->computeBurnAction = "Compute Burn";
|
||||
$lang->execution->create = "Erstelle Projekt";
|
||||
$lang->execution->createExec = "Create Execution";
|
||||
$lang->execution->createAction = "Create {$lang->execution->common}";
|
||||
$lang->execution->copyExec = "Copy Execution";
|
||||
$lang->execution->copy = "Kopiere {$lang->executionCommon}";
|
||||
$lang->execution->delete = "Lösche";
|
||||
$lang->execution->deleteAB = "Lösche Execution";
|
||||
$lang->execution->browse = "Durchsuchen";
|
||||
$lang->execution->edit = "Bearbeiten";
|
||||
$lang->execution->editAction = "Edit Execution";
|
||||
$lang->execution->batchEdit = "Mehere bearbeiten";
|
||||
$lang->execution->batchEditAction = "Batch Edit";
|
||||
$lang->execution->manageMembers = 'Teams verwalten';
|
||||
$lang->execution->unlinkMember = 'Mitgliefer entfernen';
|
||||
$lang->execution->unlinkStory = 'Story entfernen';
|
||||
$lang->execution->unlinkStoryAB = 'Unlink';
|
||||
$lang->execution->batchUnlinkStory = 'Mehere Storys entfernen';
|
||||
$lang->execution->importTask = 'Importiere Aufgaben';
|
||||
$lang->execution->importPlanStories = 'Verknüpfe Story aus Plan';
|
||||
$lang->execution->importBug = 'Importiere Bugs';
|
||||
$lang->execution->tree = 'Baum';
|
||||
$lang->execution->treeTask = 'Aufgabe anzeigen';
|
||||
$lang->execution->treeStory = 'Story anzeigen';
|
||||
$lang->execution->treeViewTask = 'Tree View Task';
|
||||
$lang->execution->treeViewStory = 'Tree View Story';
|
||||
$lang->execution->storyKanban = 'Story Kanban';
|
||||
$lang->execution->storySort = 'Story sortieren';
|
||||
$lang->execution->importPlanStory = '' . $lang->executionCommon . ' wurde erstellt!\nMöchten Sie Storys aus dem Plan importieren?';
|
||||
$lang->execution->importEditPlanStory = $lang->executionCommon . ' is edited!\nDo you want to import stories that have been linked to the plan? The stories in the draft will be automatically filtered out when imported.';
|
||||
$lang->execution->needLinkProducts = 'The execution has not been linked with any product, and the related functions cannot be used. Please link the product first and try again.';
|
||||
$lang->execution->iteration = 'Iteration';
|
||||
$lang->execution->iterationInfo = '%s Iterationen';
|
||||
$lang->execution->viewAll = 'Alle anzeigen';
|
||||
$lang->execution->testreport = 'Test Report';
|
||||
$lang->execution->taskKanban = 'Task Kanban';
|
||||
$lang->execution->RDKanban = 'Research & Development Kanban';
|
||||
$lang->execution->index = "Home";
|
||||
$lang->execution->task = 'Aufgaben';
|
||||
$lang->execution->groupTask = 'Nach Gruppen';
|
||||
$lang->execution->story = 'Storys';
|
||||
$lang->execution->qa = 'QA';
|
||||
$lang->execution->bug = 'Bugs';
|
||||
$lang->execution->testcase = 'Testcase List';
|
||||
$lang->execution->dynamic = 'Verlauf';
|
||||
$lang->execution->latestDynamic = 'Letzter Verlauf';
|
||||
$lang->execution->build = 'Builds';
|
||||
$lang->execution->testtask = 'Testaufgaben';
|
||||
$lang->execution->burn = 'Burndown';
|
||||
$lang->execution->computeBurn = 'Aktualisieren';
|
||||
$lang->execution->CFD = 'Cumulative Flow diagrams';
|
||||
$lang->execution->computeCFD = 'Compute Cumulative Flow diagrams';
|
||||
$lang->execution->burnData = 'Burndown Daten';
|
||||
$lang->execution->fixFirst = 'Bearbeite Mannstunden des ersten Tags';
|
||||
$lang->execution->team = 'Teammitglieder';
|
||||
$lang->execution->doc = 'Dok';
|
||||
$lang->execution->doclib = 'Dok Bibliothek';
|
||||
$lang->execution->manageProducts = 'Verküpfe ' . $lang->productCommon;
|
||||
$lang->execution->linkStory = 'Link Stories';
|
||||
$lang->execution->linkStoryByPlan = 'Verküpfe Story aus Plan';
|
||||
$lang->execution->linkPlan = 'Verküpfe Plan';
|
||||
$lang->execution->unlinkStoryTasks = 'Verknüpfung aufheben';
|
||||
$lang->execution->linkedProducts = 'Verküpfte Produkte';
|
||||
$lang->execution->unlinkedProducts = 'Produkt verknüpfung aufheben';
|
||||
$lang->execution->view = "Übersicht";
|
||||
$lang->execution->startAction = "Start Execution";
|
||||
$lang->execution->activateAction = "Activate Execution";
|
||||
$lang->execution->delayAction = "Delay Execution";
|
||||
$lang->execution->suspendAction = "Suspend Execution";
|
||||
$lang->execution->closeAction = "Close Execution";
|
||||
$lang->execution->testtaskAction = "Execution Request";
|
||||
$lang->execution->teamAction = "Execution Members";
|
||||
$lang->execution->kanbanAction = "Execution Kanban";
|
||||
$lang->execution->printKanbanAction = "Print Kanban";
|
||||
$lang->execution->treeAction = "Execution Tree View";
|
||||
$lang->execution->exportAction = "Export Execution";
|
||||
$lang->execution->computeBurnAction = "Compute Burn";
|
||||
$lang->execution->create = "Erstelle Projekt";
|
||||
$lang->execution->createExec = "Create Execution";
|
||||
$lang->execution->createAction = "Create {$lang->execution->common}";
|
||||
$lang->execution->copyExec = "Copy Execution";
|
||||
$lang->execution->copy = "Kopiere {$lang->executionCommon}";
|
||||
$lang->execution->delete = "Lösche";
|
||||
$lang->execution->deleteAB = "Lösche Execution";
|
||||
$lang->execution->browse = "Durchsuchen";
|
||||
$lang->execution->edit = "Bearbeiten";
|
||||
$lang->execution->editAction = "Edit Execution";
|
||||
$lang->execution->batchEdit = "Mehere bearbeiten";
|
||||
$lang->execution->batchEditAction = "Batch Edit";
|
||||
$lang->execution->manageMembers = 'Teams verwalten';
|
||||
$lang->execution->unlinkMember = 'Mitgliefer entfernen';
|
||||
$lang->execution->unlinkStory = 'Story entfernen';
|
||||
$lang->execution->unlinkStoryAB = 'Unlink';
|
||||
$lang->execution->batchUnlinkStory = 'Mehere Storys entfernen';
|
||||
$lang->execution->importTask = 'Importiere Aufgaben';
|
||||
$lang->execution->importPlanStories = 'Verknüpfe Story aus Plan';
|
||||
$lang->execution->importBug = 'Importiere Bugs';
|
||||
$lang->execution->tree = 'Baum';
|
||||
$lang->execution->treeTask = 'Aufgabe anzeigen';
|
||||
$lang->execution->treeStory = 'Story anzeigen';
|
||||
$lang->execution->treeViewTask = 'Tree View Task';
|
||||
$lang->execution->treeViewStory = 'Tree View Story';
|
||||
$lang->execution->storyKanban = 'Story Kanban';
|
||||
$lang->execution->storySort = 'Story sortieren';
|
||||
$lang->execution->importPlanStory = $lang->executionCommon . ' is created!\nDo you want to import stories that have been linked to the plan? The stories in the draft will be automatically filtered out when imported.';
|
||||
$lang->execution->importEditPlanStory = $lang->executionCommon . ' is edited!\nDo you want to import stories that have been linked to the plan? The stories in the draft will be automatically filtered out when imported.';
|
||||
$lang->execution->importBranchPlanStory = $lang->executionCommon . ' is created!\nDo you want to import stories that have been linked to the plan? Only the activation stories of the branch associated with this ' .$lang->executionCommon. ' will be associated with the import';
|
||||
$lang->execution->importBranchEditPlanStory = $lang->executionCommon . ' is edited!\nDo you want to import stories that have been linked to the plan? Only the activation stories of the branch associated with this ' .$lang->executionCommon. ' will be associated with the import';
|
||||
$lang->execution->needLinkProducts = 'The execution has not been linked with any product, and the related functions cannot be used. Please link the product first and try again.';
|
||||
$lang->execution->iteration = 'Iteration';
|
||||
$lang->execution->iterationInfo = '%s Iterationen';
|
||||
$lang->execution->viewAll = 'Alle anzeigen';
|
||||
$lang->execution->testreport = 'Test Report';
|
||||
$lang->execution->taskKanban = 'Task Kanban';
|
||||
$lang->execution->RDKanban = 'Research & Development Kanban';
|
||||
|
||||
/* Group browsing. */
|
||||
$lang->execution->allTasks = 'Alle';
|
||||
|
||||
@@ -209,82 +209,84 @@ $lang->execution->burnByList['estimate'] = "View by plan hours";
|
||||
$lang->execution->burnByList['storyPoint'] = 'View by story point';
|
||||
|
||||
/* Method list. */
|
||||
$lang->execution->index = "{$lang->executionCommon} Home";
|
||||
$lang->execution->task = 'Task List';
|
||||
$lang->execution->groupTask = 'Group View';
|
||||
$lang->execution->story = 'Story List';
|
||||
$lang->execution->qa = 'QA';
|
||||
$lang->execution->bug = 'Bug List';
|
||||
$lang->execution->testcase = 'Testcase List';
|
||||
$lang->execution->dynamic = 'Dynamics';
|
||||
$lang->execution->latestDynamic = 'Dynamics';
|
||||
$lang->execution->build = 'Build List';
|
||||
$lang->execution->testtask = 'Request';
|
||||
$lang->execution->burn = 'Burndown';
|
||||
$lang->execution->computeBurn = 'Update';
|
||||
$lang->execution->CFD = 'Cumulative Flow diagrams';
|
||||
$lang->execution->computeCFD = 'Compute Cumulative Flow diagrams';
|
||||
$lang->execution->burnData = 'Burndown Data';
|
||||
$lang->execution->fixFirst = 'Edit 1st-Day Estimates';
|
||||
$lang->execution->team = 'Members';
|
||||
$lang->execution->doc = 'Document';
|
||||
$lang->execution->doclib = 'Docoment Library';
|
||||
$lang->execution->manageProducts = 'Linked ' . $lang->productCommon . 's';
|
||||
$lang->execution->linkStory = 'Link Stories';
|
||||
$lang->execution->linkStoryByPlan = 'Link Stories By Plan';
|
||||
$lang->execution->linkPlan = 'Linked Plan';
|
||||
$lang->execution->unlinkStoryTasks = 'Unlink';
|
||||
$lang->execution->linkedProducts = "Linked {$lang->productCommon}s";
|
||||
$lang->execution->unlinkedProducts = "Unlinked {$lang->productCommon}s";
|
||||
$lang->execution->view = "Execution Detail";
|
||||
$lang->execution->startAction = "Start Execution";
|
||||
$lang->execution->activateAction = "Activate Execution";
|
||||
$lang->execution->delayAction = "Delay Execution";
|
||||
$lang->execution->suspendAction = "Suspend Execution";
|
||||
$lang->execution->closeAction = "Close Execution";
|
||||
$lang->execution->testtaskAction = "Execution Request";
|
||||
$lang->execution->teamAction = "Execution Members";
|
||||
$lang->execution->kanbanAction = "Execution Kanban";
|
||||
$lang->execution->printKanbanAction = "Print Kanban";
|
||||
$lang->execution->treeAction = "Execution Tree View";
|
||||
$lang->execution->exportAction = "Export Execution";
|
||||
$lang->execution->computeBurnAction = "Update Burndown";
|
||||
$lang->execution->create = "Create {$lang->executionCommon}";
|
||||
$lang->execution->createExec = "Create {$lang->execution->common}";
|
||||
$lang->execution->createAction = "Create {$lang->execution->common}";
|
||||
$lang->execution->copyExec = "Copy {$lang->execution->common}";
|
||||
$lang->execution->copy = "Copy {$lang->executionCommon}";
|
||||
$lang->execution->delete = "Delete {$lang->executionCommon}";
|
||||
$lang->execution->deleteAB = "Delete Execution";
|
||||
$lang->execution->browse = "{$lang->executionCommon} List";
|
||||
$lang->execution->edit = "Edit {$lang->executionCommon}";
|
||||
$lang->execution->editAction = "Edit Execution";
|
||||
$lang->execution->batchEdit = "Edit";
|
||||
$lang->execution->batchEditAction = "Batch Edit";
|
||||
$lang->execution->manageMembers = 'Manage Team';
|
||||
$lang->execution->unlinkMember = 'Remove Member';
|
||||
$lang->execution->unlinkStory = 'Unlink Story';
|
||||
$lang->execution->unlinkStoryAB = 'Unlink';
|
||||
$lang->execution->batchUnlinkStory = 'Batch Unlink Stories';
|
||||
$lang->execution->importTask = 'Transfer Task';
|
||||
$lang->execution->importPlanStories = 'Link Stories By Plan';
|
||||
$lang->execution->importBug = 'Import Bug';
|
||||
$lang->execution->tree = 'Tree';
|
||||
$lang->execution->treeTask = 'Show Task Only';
|
||||
$lang->execution->treeStory = 'Show Story Only';
|
||||
$lang->execution->treeViewTask = 'Tree View Task';
|
||||
$lang->execution->treeViewStory = 'Tree View Story';
|
||||
$lang->execution->storyKanban = 'Story Kanban';
|
||||
$lang->execution->storySort = 'Rank Story';
|
||||
$lang->execution->importPlanStory = $lang->executionCommon . ' is created!\nDo you want to import stories that have been linked to the plan? The stories in the draft will be automatically filtered out when imported.';
|
||||
$lang->execution->importEditPlanStory = $lang->executionCommon . ' is edited!\nDo you want to import stories that have been linked to the plan? The stories in the draft will be automatically filtered out when imported.';
|
||||
$lang->execution->needLinkProducts = 'The execution has not been linked with any product, and the related functions cannot be used. Please link the product first and try again.';
|
||||
$lang->execution->iteration = 'Iterations';
|
||||
$lang->execution->iterationInfo = '%s Iterations';
|
||||
$lang->execution->viewAll = 'View All';
|
||||
$lang->execution->testreport = 'Test Report';
|
||||
$lang->execution->taskKanban = 'Task Kanban';
|
||||
$lang->execution->RDKanban = 'Research & Development Kanban';
|
||||
$lang->execution->index = "{$lang->executionCommon} Home";
|
||||
$lang->execution->task = 'Task List';
|
||||
$lang->execution->groupTask = 'Group View';
|
||||
$lang->execution->story = 'Story List';
|
||||
$lang->execution->qa = 'QA';
|
||||
$lang->execution->bug = 'Bug List';
|
||||
$lang->execution->testcase = 'Testcase List';
|
||||
$lang->execution->dynamic = 'Dynamics';
|
||||
$lang->execution->latestDynamic = 'Dynamics';
|
||||
$lang->execution->build = 'Build List';
|
||||
$lang->execution->testtask = 'Request';
|
||||
$lang->execution->burn = 'Burndown';
|
||||
$lang->execution->computeBurn = 'Update';
|
||||
$lang->execution->CFD = 'Cumulative Flow diagrams';
|
||||
$lang->execution->computeCFD = 'Compute Cumulative Flow diagrams';
|
||||
$lang->execution->burnData = 'Burndown Data';
|
||||
$lang->execution->fixFirst = 'Edit 1st-Day Estimates';
|
||||
$lang->execution->team = 'Members';
|
||||
$lang->execution->doc = 'Document';
|
||||
$lang->execution->doclib = 'Docoment Library';
|
||||
$lang->execution->manageProducts = 'Linked ' . $lang->productCommon . 's';
|
||||
$lang->execution->linkStory = 'Link Stories';
|
||||
$lang->execution->linkStoryByPlan = 'Link Stories By Plan';
|
||||
$lang->execution->linkPlan = 'Linked Plan';
|
||||
$lang->execution->unlinkStoryTasks = 'Unlink';
|
||||
$lang->execution->linkedProducts = "Linked {$lang->productCommon}s";
|
||||
$lang->execution->unlinkedProducts = "Unlinked {$lang->productCommon}s";
|
||||
$lang->execution->view = "Execution Detail";
|
||||
$lang->execution->startAction = "Start Execution";
|
||||
$lang->execution->activateAction = "Activate Execution";
|
||||
$lang->execution->delayAction = "Delay Execution";
|
||||
$lang->execution->suspendAction = "Suspend Execution";
|
||||
$lang->execution->closeAction = "Close Execution";
|
||||
$lang->execution->testtaskAction = "Execution Request";
|
||||
$lang->execution->teamAction = "Execution Members";
|
||||
$lang->execution->kanbanAction = "Execution Kanban";
|
||||
$lang->execution->printKanbanAction = "Print Kanban";
|
||||
$lang->execution->treeAction = "Execution Tree View";
|
||||
$lang->execution->exportAction = "Export Execution";
|
||||
$lang->execution->computeBurnAction = "Update Burndown";
|
||||
$lang->execution->create = "Create {$lang->executionCommon}";
|
||||
$lang->execution->createExec = "Create {$lang->execution->common}";
|
||||
$lang->execution->createAction = "Create {$lang->execution->common}";
|
||||
$lang->execution->copyExec = "Copy {$lang->execution->common}";
|
||||
$lang->execution->copy = "Copy {$lang->executionCommon}";
|
||||
$lang->execution->delete = "Delete {$lang->executionCommon}";
|
||||
$lang->execution->deleteAB = "Delete Execution";
|
||||
$lang->execution->browse = "{$lang->executionCommon} List";
|
||||
$lang->execution->edit = "Edit {$lang->executionCommon}";
|
||||
$lang->execution->editAction = "Edit Execution";
|
||||
$lang->execution->batchEdit = "Edit";
|
||||
$lang->execution->batchEditAction = "Batch Edit";
|
||||
$lang->execution->manageMembers = 'Manage Team';
|
||||
$lang->execution->unlinkMember = 'Remove Member';
|
||||
$lang->execution->unlinkStory = 'Unlink Story';
|
||||
$lang->execution->unlinkStoryAB = 'Unlink';
|
||||
$lang->execution->batchUnlinkStory = 'Batch Unlink Stories';
|
||||
$lang->execution->importTask = 'Transfer Task';
|
||||
$lang->execution->importPlanStories = 'Link Stories By Plan';
|
||||
$lang->execution->importBug = 'Import Bug';
|
||||
$lang->execution->tree = 'Tree';
|
||||
$lang->execution->treeTask = 'Show Task Only';
|
||||
$lang->execution->treeStory = 'Show Story Only';
|
||||
$lang->execution->treeViewTask = 'Tree View Task';
|
||||
$lang->execution->treeViewStory = 'Tree View Story';
|
||||
$lang->execution->storyKanban = 'Story Kanban';
|
||||
$lang->execution->storySort = 'Rank Story';
|
||||
$lang->execution->importPlanStory = $lang->executionCommon . ' is created!\nDo you want to import stories that have been linked to the plan? The stories in the draft will be automatically filtered out when imported.';
|
||||
$lang->execution->importEditPlanStory = $lang->executionCommon . ' is edited!\nDo you want to import stories that have been linked to the plan? The stories in the draft will be automatically filtered out when imported.';
|
||||
$lang->execution->importBranchPlanStory = $lang->executionCommon . ' is created!\nDo you want to import stories that have been linked to the plan? Only the activation stories of the branch associated with this ' .$lang->executionCommon. ' will be associated with the import';
|
||||
$lang->execution->importBranchEditPlanStory = $lang->executionCommon . ' is edited!\nDo you want to import stories that have been linked to the plan? Only the activation stories of the branch associated with this ' .$lang->executionCommon. ' will be associated with the import';
|
||||
$lang->execution->needLinkProducts = 'The execution has not been linked with any product, and the related functions cannot be used. Please link the product first and try again.';
|
||||
$lang->execution->iteration = 'Iterations';
|
||||
$lang->execution->iterationInfo = '%s Iterations';
|
||||
$lang->execution->viewAll = 'View All';
|
||||
$lang->execution->testreport = 'Test Report';
|
||||
$lang->execution->taskKanban = 'Task Kanban';
|
||||
$lang->execution->RDKanban = 'Research & Development Kanban';
|
||||
|
||||
/* Group browsing. */
|
||||
$lang->execution->allTasks = 'All';
|
||||
|
||||
@@ -209,82 +209,84 @@ $lang->execution->burnByList['estimate'] = "View by plan hours";
|
||||
$lang->execution->burnByList['storyPoint'] = 'View by story point';
|
||||
|
||||
/* Method list. */
|
||||
$lang->execution->index = "Accueil {$lang->executionCommon}";
|
||||
$lang->execution->task = 'Liste Tâches';
|
||||
$lang->execution->groupTask = 'Vision Groupée';
|
||||
$lang->execution->story = 'Liste Stories';
|
||||
$lang->execution->qa = 'QA';
|
||||
$lang->execution->bug = 'Liste Bugs';
|
||||
$lang->execution->testcase = 'Testcase List';
|
||||
$lang->execution->dynamic = 'Historique';
|
||||
$lang->execution->latestDynamic = 'Historique';
|
||||
$lang->execution->build = 'Liste Builds';
|
||||
$lang->execution->testtask = 'Recette';
|
||||
$lang->execution->burn = ' Atterrissage';
|
||||
$lang->execution->computeBurn = 'Calculer';
|
||||
$lang->execution->CFD = 'Cumulative Flow diagrams';
|
||||
$lang->execution->computeCFD = 'Compute Cumulative Flow diagrams';
|
||||
$lang->execution->burnData = "Données d'atterrissage";
|
||||
$lang->execution->fixFirst = 'Fixer 1er-Jour Estimation';
|
||||
$lang->execution->team = 'Membres';
|
||||
$lang->execution->doc = 'Documents';
|
||||
$lang->execution->doclib = 'Répertoire de Documents';
|
||||
$lang->execution->manageProducts = 'Liaisons du ' . $lang->executionCommon . ' avec les ' . $lang->productCommon . 's';
|
||||
$lang->execution->linkStory = 'Stories liées';
|
||||
$lang->execution->linkStoryByPlan = 'Stories liées par Plan';
|
||||
$lang->execution->linkPlan = 'Plans liés';
|
||||
$lang->execution->unlinkStoryTasks = 'Dissocier';
|
||||
$lang->execution->linkedProducts = "{$lang->productCommon}s liés à ce {$lang->executionCommon}";
|
||||
$lang->execution->unlinkedProducts = "{$lang->productCommon}s dissociés de ce {$lang->executionCommon}";
|
||||
$lang->execution->view = "Détail du Execution";
|
||||
$lang->execution->startAction = "Start Execution";
|
||||
$lang->execution->activateAction = "Activer le Execution";
|
||||
$lang->execution->delayAction = "Ajourner le Execution";
|
||||
$lang->execution->suspendAction = "Suspendre le Execution";
|
||||
$lang->execution->closeAction = "Fermer le Execution";
|
||||
$lang->execution->testtaskAction = "Recettes du Execution";
|
||||
$lang->execution->teamAction = "Membres du Execution";
|
||||
$lang->execution->kanbanAction = "Kaban Execution";
|
||||
$lang->execution->printKanbanAction = "Imprimer le Kanban";
|
||||
$lang->execution->treeAction = "Arborescence Execution";
|
||||
$lang->execution->exportAction = "Exporter Execution";
|
||||
$lang->execution->computeBurnAction = "Calculer Atterrissage";
|
||||
$lang->execution->create = "Créer {$lang->executionCommon}";
|
||||
$lang->execution->createExec = "Create Execution";
|
||||
$lang->execution->createAction = "Create {$lang->execution->common}";
|
||||
$lang->execution->copyExec = "Copy Execution";
|
||||
$lang->execution->copy = "Copier {$lang->executionCommon}";
|
||||
$lang->execution->delete = "Supprimer {$lang->executionCommon}";
|
||||
$lang->execution->deleteAB = "Delete Execution";
|
||||
$lang->execution->browse = "Liste du {$lang->executionCommon}";
|
||||
$lang->execution->edit = "Editer {$lang->executionCommon}";
|
||||
$lang->execution->editAction = "Edit Execution";
|
||||
$lang->execution->batchEdit = "Edition par lot";
|
||||
$lang->execution->batchEditAction = "Batch Edit";
|
||||
$lang->execution->manageMembers = 'Organiser Equipe';
|
||||
$lang->execution->unlinkMember = 'Retirer le membre';
|
||||
$lang->execution->unlinkStory = 'Dissocier Story';
|
||||
$lang->execution->unlinkStoryAB = 'Dissocier';
|
||||
$lang->execution->batchUnlinkStory = 'Dissocier Stories par lot';
|
||||
$lang->execution->importTask = 'Transfert Tâche';
|
||||
$lang->execution->importPlanStories = 'Lier Stories Par Plan';
|
||||
$lang->execution->importBug = 'Importer Bug';
|
||||
$lang->execution->tree = 'Arboressence';
|
||||
$lang->execution->treeTask = 'Seulement les Tâches';
|
||||
$lang->execution->treeStory = 'Seulement les Stories';
|
||||
$lang->execution->treeViewTask = 'Seulement les Tâches';
|
||||
$lang->execution->treeViewStory = 'Seulement les Stories';
|
||||
$lang->execution->storyKanban = 'Story Kanban';
|
||||
$lang->execution->storySort = 'Rang Story';
|
||||
$lang->execution->importPlanStory = $lang->executionCommon . ' est créé!\nVoulez-vous importer des stories qui ont été ajoutées au Plan ?';
|
||||
$lang->execution->importEditPlanStory = $lang->executionCommon . ' is edited!\nDo you want to import stories that have been linked to the plan? The stories in the draft will be automatically filtered out when imported.';
|
||||
$lang->execution->needLinkProducts = 'The execution has not been linked with any product, and the related functions cannot be used. Please link the product first and try again.';
|
||||
$lang->execution->iteration = 'Itérations';
|
||||
$lang->execution->iterationInfo = '%s Itérations';
|
||||
$lang->execution->viewAll = 'Voir Tout';
|
||||
$lang->execution->testreport = 'Test Report';
|
||||
$lang->execution->taskKanban = 'Task Kanban';
|
||||
$lang->execution->RDKanban = 'Research & Development Kanban';
|
||||
$lang->execution->index = "{$lang->executionCommon} Home";
|
||||
$lang->execution->task = 'Task List';
|
||||
$lang->execution->groupTask = 'Group View';
|
||||
$lang->execution->story = 'Story List';
|
||||
$lang->execution->qa = 'QA';
|
||||
$lang->execution->bug = 'Bug List';
|
||||
$lang->execution->testcase = 'Testcase List';
|
||||
$lang->execution->dynamic = 'Dynamics';
|
||||
$lang->execution->latestDynamic = 'Dynamics';
|
||||
$lang->execution->build = 'Build List';
|
||||
$lang->execution->testtask = 'Request';
|
||||
$lang->execution->burn = 'Burndown';
|
||||
$lang->execution->computeBurn = 'Update';
|
||||
$lang->execution->CFD = 'Cumulative Flow diagrams';
|
||||
$lang->execution->computeCFD = 'Compute Cumulative Flow diagrams';
|
||||
$lang->execution->burnData = 'Burndown Data';
|
||||
$lang->execution->fixFirst = 'Edit 1st-Day Estimates';
|
||||
$lang->execution->team = 'Members';
|
||||
$lang->execution->doc = 'Document';
|
||||
$lang->execution->doclib = 'Docoment Library';
|
||||
$lang->execution->manageProducts = 'Linked ' . $lang->productCommon . 's';
|
||||
$lang->execution->linkStory = 'Link Stories';
|
||||
$lang->execution->linkStoryByPlan = 'Link Stories By Plan';
|
||||
$lang->execution->linkPlan = 'Linked Plan';
|
||||
$lang->execution->unlinkStoryTasks = 'Unlink';
|
||||
$lang->execution->linkedProducts = "Linked {$lang->productCommon}s";
|
||||
$lang->execution->unlinkedProducts = "Unlinked {$lang->productCommon}s";
|
||||
$lang->execution->view = "Execution Detail";
|
||||
$lang->execution->startAction = "Start Execution";
|
||||
$lang->execution->activateAction = "Activate Execution";
|
||||
$lang->execution->delayAction = "Delay Execution";
|
||||
$lang->execution->suspendAction = "Suspend Execution";
|
||||
$lang->execution->closeAction = "Close Execution";
|
||||
$lang->execution->testtaskAction = "Execution Request";
|
||||
$lang->execution->teamAction = "Execution Members";
|
||||
$lang->execution->kanbanAction = "Execution Kanban";
|
||||
$lang->execution->printKanbanAction = "Print Kanban";
|
||||
$lang->execution->treeAction = "Execution Tree View";
|
||||
$lang->execution->exportAction = "Export Execution";
|
||||
$lang->execution->computeBurnAction = "Update Burndown";
|
||||
$lang->execution->create = "Create {$lang->executionCommon}";
|
||||
$lang->execution->createExec = "Create {$lang->execution->common}";
|
||||
$lang->execution->createAction = "Create {$lang->execution->common}";
|
||||
$lang->execution->copyExec = "Copy {$lang->execution->common}";
|
||||
$lang->execution->copy = "Copy {$lang->executionCommon}";
|
||||
$lang->execution->delete = "Delete {$lang->executionCommon}";
|
||||
$lang->execution->deleteAB = "Delete Execution";
|
||||
$lang->execution->browse = "{$lang->executionCommon} List";
|
||||
$lang->execution->edit = "Edit {$lang->executionCommon}";
|
||||
$lang->execution->editAction = "Edit Execution";
|
||||
$lang->execution->batchEdit = "Edit";
|
||||
$lang->execution->batchEditAction = "Batch Edit";
|
||||
$lang->execution->manageMembers = 'Manage Team';
|
||||
$lang->execution->unlinkMember = 'Remove Member';
|
||||
$lang->execution->unlinkStory = 'Unlink Story';
|
||||
$lang->execution->unlinkStoryAB = 'Unlink';
|
||||
$lang->execution->batchUnlinkStory = 'Batch Unlink Stories';
|
||||
$lang->execution->importTask = 'Transfer Task';
|
||||
$lang->execution->importPlanStories = 'Link Stories By Plan';
|
||||
$lang->execution->importBug = 'Import Bug';
|
||||
$lang->execution->tree = 'Tree';
|
||||
$lang->execution->treeTask = 'Show Task Only';
|
||||
$lang->execution->treeStory = 'Show Story Only';
|
||||
$lang->execution->treeViewTask = 'Tree View Task';
|
||||
$lang->execution->treeViewStory = 'Tree View Story';
|
||||
$lang->execution->storyKanban = 'Story Kanban';
|
||||
$lang->execution->storySort = 'Rank Story';
|
||||
$lang->execution->importPlanStory = $lang->executionCommon . ' is created!\nDo you want to import stories that have been linked to the plan? The stories in the draft will be automatically filtered out when imported.';
|
||||
$lang->execution->importEditPlanStory = $lang->executionCommon . ' is edited!\nDo you want to import stories that have been linked to the plan? The stories in the draft will be automatically filtered out when imported.';
|
||||
$lang->execution->importBranchPlanStory = $lang->executionCommon . ' is created!\nDo you want to import stories that have been linked to the plan? Only the activation stories of the branch associated with this ' .$lang->executionCommon. ' will be associated with the import';
|
||||
$lang->execution->importBranchEditPlanStory = $lang->executionCommon . ' is edited!\nDo you want to import stories that have been linked to the plan? Only the activation stories of the branch associated with this ' .$lang->executionCommon. ' will be associated with the import';
|
||||
$lang->execution->needLinkProducts = 'The execution has not been linked with any product, and the related functions cannot be used. Please link the product first and try again.';
|
||||
$lang->execution->iteration = 'Iterations';
|
||||
$lang->execution->iterationInfo = '%s Iterations';
|
||||
$lang->execution->viewAll = 'View All';
|
||||
$lang->execution->testreport = 'Test Report';
|
||||
$lang->execution->taskKanban = 'Task Kanban';
|
||||
$lang->execution->RDKanban = 'Research & Development Kanban';
|
||||
|
||||
/* Group browsing. */
|
||||
$lang->execution->allTasks = 'Toutes';
|
||||
|
||||
@@ -209,82 +209,84 @@ $lang->execution->burnByList['estimate'] = "按计划工时查看";
|
||||
$lang->execution->burnByList['storyPoint'] = '按故事点查看';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->execution->index = "{$lang->execution->common}主页";
|
||||
$lang->execution->task = '任务列表';
|
||||
$lang->execution->groupTask = '分组浏览任务';
|
||||
$lang->execution->story = "{$lang->SRCommon}列表";
|
||||
$lang->execution->qa = '测试仪表盘';
|
||||
$lang->execution->bug = 'Bug列表';
|
||||
$lang->execution->testcase = '用例列表';
|
||||
$lang->execution->dynamic = '动态';
|
||||
$lang->execution->latestDynamic = '最新动态';
|
||||
$lang->execution->build = '所有版本';
|
||||
$lang->execution->testtask = '测试单';
|
||||
$lang->execution->burn = '燃尽图';
|
||||
$lang->execution->computeBurn = '更新燃尽图';
|
||||
$lang->execution->CFD = '累积流图';
|
||||
$lang->execution->computeCFD = '更新累积流图';
|
||||
$lang->execution->burnData = '燃尽图数据';
|
||||
$lang->execution->fixFirst = '修改首天工时';
|
||||
$lang->execution->team = '团队成员';
|
||||
$lang->execution->doc = '文档列表';
|
||||
$lang->execution->doclib = '文档库列表';
|
||||
$lang->execution->manageProducts = '关联' . $lang->productCommon;
|
||||
$lang->execution->linkStory = "关联{$lang->SRCommon}";
|
||||
$lang->execution->linkStoryByPlan = "按照计划关联";
|
||||
$lang->execution->linkPlan = "关联计划";
|
||||
$lang->execution->unlinkStoryTasks = "未关联{$lang->SRCommon}任务";
|
||||
$lang->execution->linkedProducts = '已关联';
|
||||
$lang->execution->unlinkedProducts = '未关联';
|
||||
$lang->execution->view = "{$lang->execution->common}概况";
|
||||
$lang->execution->startAction = "开始{$lang->execution->common}";
|
||||
$lang->execution->activateAction = "激活{$lang->execution->common}";
|
||||
$lang->execution->delayAction = "延期{$lang->execution->common}";
|
||||
$lang->execution->suspendAction = "挂起{$lang->execution->common}";
|
||||
$lang->execution->closeAction = "关闭{$lang->execution->common}";
|
||||
$lang->execution->testtaskAction = "{$lang->execution->common}测试单";
|
||||
$lang->execution->teamAction = "{$lang->execution->common}团队";
|
||||
$lang->execution->kanbanAction = "{$lang->execution->common}看板";
|
||||
$lang->execution->printKanbanAction = "打印看板";
|
||||
$lang->execution->treeAction = "{$lang->execution->common}树状图";
|
||||
$lang->execution->exportAction = "导出{$lang->execution->common}";
|
||||
$lang->execution->computeBurnAction = "计算燃尽图";
|
||||
$lang->execution->create = "添加{$lang->executionCommon}";
|
||||
$lang->execution->createExec = "添加{$lang->execution->common}";
|
||||
$lang->execution->createAction = "添加{$lang->execution->common}";
|
||||
$lang->execution->copyExec = "复制{$lang->execution->common}";
|
||||
$lang->execution->copy = "复制{$lang->executionCommon}";
|
||||
$lang->execution->delete = "删除{$lang->executionCommon}";
|
||||
$lang->execution->deleteAB = "删除{$lang->execution->common}";
|
||||
$lang->execution->browse = "浏览{$lang->execution->common}";
|
||||
$lang->execution->edit = "设置{$lang->executionCommon}";
|
||||
$lang->execution->editAction = "编辑{$lang->execution->common}";
|
||||
$lang->execution->batchEdit = "编辑";
|
||||
$lang->execution->batchEditAction = "批量编辑";
|
||||
$lang->execution->manageMembers = '团队管理';
|
||||
$lang->execution->unlinkMember = '移除成员';
|
||||
$lang->execution->unlinkStory = "移除{$lang->SRCommon}";
|
||||
$lang->execution->unlinkStoryAB = "移除{$lang->SRCommon}";
|
||||
$lang->execution->batchUnlinkStory = "批量移除{$lang->SRCommon}";
|
||||
$lang->execution->importTask = '转入任务';
|
||||
$lang->execution->importPlanStories = "按计划关联{$lang->SRCommon}";
|
||||
$lang->execution->importBug = '导入Bug';
|
||||
$lang->execution->tree = '树状图';
|
||||
$lang->execution->treeTask = '只看任务';
|
||||
$lang->execution->treeStory = "只看{$lang->SRCommon}";
|
||||
$lang->execution->treeViewTask = '树状图查看任务';
|
||||
$lang->execution->treeViewStory = "树状图查看{$lang->SRCommon}";
|
||||
$lang->execution->storyKanban = "{$lang->SRCommon}看板";
|
||||
$lang->execution->storySort = "{$lang->SRCommon}排序";
|
||||
$lang->execution->importPlanStory = '创建' . $lang->executionCommon . '成功!\n是否导入计划关联的相关' . $lang->SRCommon . '?导入时将自动过滤掉草稿状态的' . $lang->SRCommon . '。';
|
||||
$lang->execution->importEditPlanStory = '编辑' . $lang->executionCommon . '成功!\n是否导入计划关联的相关' . $lang->SRCommon . '?导入时将自动过滤掉草稿状态的' . $lang->SRCommon . '。';
|
||||
$lang->execution->needLinkProducts = '该执行还未关联任何产品,相关功能无法使用,请先关联产品后再试。';
|
||||
$lang->execution->iteration = '版本迭代';
|
||||
$lang->execution->iterationInfo = '迭代%s次';
|
||||
$lang->execution->viewAll = '查看所有';
|
||||
$lang->execution->testreport = '测试报告';
|
||||
$lang->execution->taskKanban = '任务看板';
|
||||
$lang->execution->RDKanban = '研发看板';
|
||||
$lang->execution->index = "{$lang->execution->common}主页";
|
||||
$lang->execution->task = '任务列表';
|
||||
$lang->execution->groupTask = '分组浏览任务';
|
||||
$lang->execution->story = "{$lang->SRCommon}列表";
|
||||
$lang->execution->qa = '测试仪表盘';
|
||||
$lang->execution->bug = 'Bug列表';
|
||||
$lang->execution->testcase = '用例列表';
|
||||
$lang->execution->dynamic = '动态';
|
||||
$lang->execution->latestDynamic = '最新动态';
|
||||
$lang->execution->build = '所有版本';
|
||||
$lang->execution->testtask = '测试单';
|
||||
$lang->execution->burn = '燃尽图';
|
||||
$lang->execution->computeBurn = '更新燃尽图';
|
||||
$lang->execution->CFD = '累积流图';
|
||||
$lang->execution->computeCFD = '更新累积流图';
|
||||
$lang->execution->burnData = '燃尽图数据';
|
||||
$lang->execution->fixFirst = '修改首天工时';
|
||||
$lang->execution->team = '团队成员';
|
||||
$lang->execution->doc = '文档列表';
|
||||
$lang->execution->doclib = '文档库列表';
|
||||
$lang->execution->manageProducts = '关联' . $lang->productCommon;
|
||||
$lang->execution->linkStory = "关联{$lang->SRCommon}";
|
||||
$lang->execution->linkStoryByPlan = "按照计划关联";
|
||||
$lang->execution->linkPlan = "关联计划";
|
||||
$lang->execution->unlinkStoryTasks = "未关联{$lang->SRCommon}任务";
|
||||
$lang->execution->linkedProducts = '已关联';
|
||||
$lang->execution->unlinkedProducts = '未关联';
|
||||
$lang->execution->view = "{$lang->execution->common}概况";
|
||||
$lang->execution->startAction = "开始{$lang->execution->common}";
|
||||
$lang->execution->activateAction = "激活{$lang->execution->common}";
|
||||
$lang->execution->delayAction = "延期{$lang->execution->common}";
|
||||
$lang->execution->suspendAction = "挂起{$lang->execution->common}";
|
||||
$lang->execution->closeAction = "关闭{$lang->execution->common}";
|
||||
$lang->execution->testtaskAction = "{$lang->execution->common}测试单";
|
||||
$lang->execution->teamAction = "{$lang->execution->common}团队";
|
||||
$lang->execution->kanbanAction = "{$lang->execution->common}看板";
|
||||
$lang->execution->printKanbanAction = "打印看板";
|
||||
$lang->execution->treeAction = "{$lang->execution->common}树状图";
|
||||
$lang->execution->exportAction = "导出{$lang->execution->common}";
|
||||
$lang->execution->computeBurnAction = "计算燃尽图";
|
||||
$lang->execution->create = "添加{$lang->executionCommon}";
|
||||
$lang->execution->createExec = "添加{$lang->execution->common}";
|
||||
$lang->execution->createAction = "添加{$lang->execution->common}";
|
||||
$lang->execution->copyExec = "复制{$lang->execution->common}";
|
||||
$lang->execution->copy = "复制{$lang->executionCommon}";
|
||||
$lang->execution->delete = "删除{$lang->executionCommon}";
|
||||
$lang->execution->deleteAB = "删除{$lang->execution->common}";
|
||||
$lang->execution->browse = "浏览{$lang->execution->common}";
|
||||
$lang->execution->edit = "设置{$lang->executionCommon}";
|
||||
$lang->execution->editAction = "编辑{$lang->execution->common}";
|
||||
$lang->execution->batchEdit = "编辑";
|
||||
$lang->execution->batchEditAction = "批量编辑";
|
||||
$lang->execution->manageMembers = '团队管理';
|
||||
$lang->execution->unlinkMember = '移除成员';
|
||||
$lang->execution->unlinkStory = "移除{$lang->SRCommon}";
|
||||
$lang->execution->unlinkStoryAB = "移除{$lang->SRCommon}";
|
||||
$lang->execution->batchUnlinkStory = "批量移除{$lang->SRCommon}";
|
||||
$lang->execution->importTask = '转入任务';
|
||||
$lang->execution->importPlanStories = "按计划关联{$lang->SRCommon}";
|
||||
$lang->execution->importBug = '导入Bug';
|
||||
$lang->execution->tree = '树状图';
|
||||
$lang->execution->treeTask = '只看任务';
|
||||
$lang->execution->treeStory = "只看{$lang->SRCommon}";
|
||||
$lang->execution->treeViewTask = '树状图查看任务';
|
||||
$lang->execution->treeViewStory = "树状图查看{$lang->SRCommon}";
|
||||
$lang->execution->storyKanban = "{$lang->SRCommon}看板";
|
||||
$lang->execution->storySort = "{$lang->SRCommon}排序";
|
||||
$lang->execution->importPlanStory = '创建' . $lang->executionCommon . '成功!\n是否导入计划关联的相关' . $lang->SRCommon . '?导入时将自动过滤掉草稿状态的' . $lang->SRCommon . '。';
|
||||
$lang->execution->importEditPlanStory = '编辑' . $lang->executionCommon . '成功!\n是否导入计划关联的相关' . $lang->SRCommon . '?导入时将自动过滤掉草稿状态的' . $lang->SRCommon . '。';
|
||||
$lang->execution->importBranchPlanStory = '创建' . $lang->executionCommon . '成功!\n是否导入计划关联的相关' . $lang->SRCommon . '?导入时将只关联本' . $lang->executionCommon . '所关联分支的激活需求。';
|
||||
$lang->execution->importBranchEditPlanStory = '编辑' . $lang->executionCommon . '成功!\n是否导入计划关联的相关' . $lang->SRCommon . '?导入时将只关联本' . $lang->executionCommon . '所关联分支的激活需求。';
|
||||
$lang->execution->needLinkProducts = '该执行还未关联任何产品,相关功能无法使用,请先关联产品后再试。';
|
||||
$lang->execution->iteration = '版本迭代';
|
||||
$lang->execution->iterationInfo = '迭代%s次';
|
||||
$lang->execution->viewAll = '查看所有';
|
||||
$lang->execution->testreport = '测试报告';
|
||||
$lang->execution->taskKanban = '任务看板';
|
||||
$lang->execution->RDKanban = '研发看板';
|
||||
|
||||
/* 分组浏览。*/
|
||||
$lang->execution->allTasks = '所有';
|
||||
|
||||
@@ -2882,19 +2882,21 @@ class executionModel extends model
|
||||
*/
|
||||
public function linkStories($executionID)
|
||||
{
|
||||
$plans = $this->dao->select('plan')->from(TABLE_PROJECTPRODUCT)
|
||||
$plans = $this->dao->select('product, plan')->from(TABLE_PROJECTPRODUCT)
|
||||
->where('project')->eq($executionID)
|
||||
->fetchPairs('plan');
|
||||
->fetchPairs('product', 'plan');
|
||||
|
||||
$planStories = array();
|
||||
$planProducts = array();
|
||||
$this->loadModel('story');
|
||||
if(!empty($plans))
|
||||
{
|
||||
foreach($plans as $planIdList)
|
||||
$executionProducts = $this->loadModel('project')->getBranchesByProject($executionID);
|
||||
foreach($plans as $productID => $planIdList)
|
||||
{
|
||||
if(empty($planIdList)) continue;
|
||||
$planIdList = explode(',', $planIdList);
|
||||
$executionProducts = zget($executionProducts, $productID, array());
|
||||
foreach($planIdList as $planID)
|
||||
{
|
||||
$planStory = $this->story->getPlanStories($planID);
|
||||
@@ -2902,7 +2904,7 @@ class executionModel extends model
|
||||
{
|
||||
foreach($planStory as $id => $story)
|
||||
{
|
||||
if($story->status == 'draft' or $story->status == 'reviewing')
|
||||
if($story->status == 'draft' or $story->status == 'reviewing' or (!empty($executionProducts) and !isset($executionProducts[$story->branch])))
|
||||
{
|
||||
unset($planStory[$id]);
|
||||
continue;
|
||||
@@ -4623,14 +4625,13 @@ class executionModel extends model
|
||||
$branchGroups = $this->getBranchByProduct(array_keys($products), $executionID, 'noclosed');
|
||||
foreach($branchGroups as $branches)
|
||||
{
|
||||
foreach($branches as $branchID => $branchName) $branchIdList[$branchID] = $branchID;
|
||||
foreach($branches as $branchID => $branchName) $branchIdList[] = $branchID;
|
||||
}
|
||||
|
||||
$branchQuery = '';
|
||||
$branchQuery = '(';
|
||||
if(!empty($branchIdList))
|
||||
{
|
||||
$branchQuery .= '(';
|
||||
$branchCount = count($branchIdList);
|
||||
$branchCount = count($branchIdList);
|
||||
foreach($branchIdList as $index => $branchID)
|
||||
{
|
||||
$branchQuery .= "FIND_IN_SET('$branchID', branch)";
|
||||
|
||||
@@ -991,27 +991,9 @@ class productplanModel extends model
|
||||
if(strpos(",$story->plan,", ",{$planID},") !== false) continue;
|
||||
|
||||
/* Update the plan linked with the story and the order of the story in the plan. */
|
||||
if($this->session->currentProductType == 'normal' or $story->branch != 0 or empty($story->plan))
|
||||
{
|
||||
$this->dao->update(TABLE_STORY)->set("plan")->eq($planID)->where('id')->eq((int)$storyID)->exec();
|
||||
$this->dao->update(TABLE_STORY)->set("plan")->eq($planID)->where('id')->eq((int)$storyID)->exec();
|
||||
|
||||
$this->story->updateStoryOrderOfPlan($storyID, $planID, $story->plan);
|
||||
}
|
||||
else
|
||||
{
|
||||
$branchPlanPairs = $this->dao->select('branch, id as plan')->from(TABLE_PRODUCTPLAN)
|
||||
->where('product')->eq($story->product)
|
||||
->andWhere('id')->in($story->plan)
|
||||
->fetchPairs();
|
||||
if(isset($branchPlanPairs[$plan->branch])) $branchPlanPairs[$plan->branch] = $planID;
|
||||
|
||||
$plansOfStory = implode(',', $branchPlanPairs);
|
||||
$plansOfStory = trim($plansOfStory, ',');
|
||||
|
||||
$this->dao->update(TABLE_STORY)->set("plan")->eq($plansOfStory)->where('id')->eq((int)$storyID)->exec();
|
||||
|
||||
$this->story->updateStoryOrderOfPlan($storyID, $planID);
|
||||
}
|
||||
$this->story->updateStoryOrderOfPlan($storyID, $planID, $story->plan);
|
||||
|
||||
$this->action->create('story', $storyID, 'linked2plan', '', $planID);
|
||||
$this->story->setStage($storyID);
|
||||
@@ -1099,9 +1081,12 @@ class productplanModel extends model
|
||||
$planStory = $this->loadModel('story')->getPlanStories($planID);
|
||||
if(!empty($planStory))
|
||||
{
|
||||
$projectProducts = $this->loadModel('project')->getBranchesByProject($projectID);
|
||||
|
||||
foreach($planStory as $id => $story)
|
||||
{
|
||||
if($story->status == 'draft' or $story->status == 'reviewing')
|
||||
$projectProducts = zget($projectProducts, $story->product, array());
|
||||
if($story->status == 'draft' or $story->status == 'reviewing' or (!empty($projectProducts) and !isset($projectProducts[$story->branch])))
|
||||
{
|
||||
unset($planStory[$id]);
|
||||
continue;
|
||||
|
||||
@@ -444,6 +444,7 @@ $lang->story->chosen->reviewedBy = 'Prüfer wählen';
|
||||
$lang->story->notice = new stdClass();
|
||||
$lang->story->notice->closed = 'Die ausgewählten Storys wurden bereits geschlossen!';
|
||||
$lang->story->notice->reviewerNotEmpty = 'This requirement needs to be reviewed, and the reviewedby is required.';
|
||||
$lang->story->notice->changePlan = 'The plan can be changed to only one item.';
|
||||
|
||||
$lang->story->convertToTask = new stdClass();
|
||||
$lang->story->convertToTask->fieldList = array();
|
||||
|
||||
@@ -444,6 +444,7 @@ $lang->story->chosen->reviewedBy = 'Choose ReviewedBy';
|
||||
$lang->story->notice = new stdClass();
|
||||
$lang->story->notice->closed = 'Story that you select is closed!';
|
||||
$lang->story->notice->reviewerNotEmpty = 'This requirement needs to be reviewed, and the reviewedby is required.';
|
||||
$lang->story->notice->changePlan = 'The plan can be changed to only one item.';
|
||||
|
||||
$lang->story->convertToTask = new stdClass();
|
||||
$lang->story->convertToTask->fieldList = array();
|
||||
|
||||
@@ -444,6 +444,7 @@ $lang->story->chosen->reviewedBy = 'Choisir valideur';
|
||||
$lang->story->notice = new stdClass();
|
||||
$lang->story->notice->closed = 'La Story que vous avez sélectionnée est malheureusement fermée !';
|
||||
$lang->story->notice->reviewerNotEmpty = 'This requirement needs to be reviewed, and the reviewedby is required.';
|
||||
$lang->story->notice->changePlan = 'The plan can be changed to only one item.';
|
||||
|
||||
$lang->story->convertToTask = new stdClass();
|
||||
$lang->story->convertToTask->fieldList = array();
|
||||
|
||||
@@ -444,6 +444,7 @@ $lang->story->chosen->reviewedBy = '选择评审人...';
|
||||
$lang->story->notice = new stdClass();
|
||||
$lang->story->notice->closed = "您选择的{$lang->SRCommon}已经被关闭了!";
|
||||
$lang->story->notice->reviewerNotEmpty = '该需求需要评审,评审人员不能为空。';
|
||||
$lang->story->notice->changePlan = '所属计划只能改为一条,修改后才能保存成功。';
|
||||
|
||||
$lang->story->convertToTask = new stdClass();
|
||||
$lang->story->convertToTask->fieldList = array();
|
||||
|
||||
@@ -889,6 +889,17 @@ class storyModel extends model
|
||||
return false;
|
||||
}
|
||||
|
||||
$storyPlan = !empty($_POST['plan']) ? $_POST['plan'] : array();
|
||||
if(count($storyPlan) > 1)
|
||||
{
|
||||
$oldStoryPlan = !empty($oldStory->planTitle) ? array_keys($oldStory->planTitle) : array();
|
||||
if(!empty(array_diff($storyPlan,$oldStoryPlan)) or !empty(array_diff($oldStoryPlan,$storyPlan)))
|
||||
{
|
||||
dao::$errors[] = $this->lang->story->notice->changePlan;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$story = fixer::input('post')
|
||||
->cleanInt('product,module,pri,duplicateStory')
|
||||
->cleanFloat('estimate')
|
||||
|
||||
@@ -192,7 +192,7 @@
|
||||
<th><?php echo $lang->story->plan;?></th>
|
||||
<td>
|
||||
<div class='input-group' id='planIdBox'>
|
||||
<?php $multiple = ($this->session->currentProductType != 'normal' and empty($story->branch)) ? true : false;?>
|
||||
<?php $multiple = ($this->session->currentProductType != 'normal' and empty($story->branch) and count($story->planTitle) > 1) ? true : false;?>
|
||||
<?php echo html::select($multiple ? 'plan[]' : 'plan', $plans, $story->plan, "class='form-control chosen'" . ($multiple ? ' multiple' : ''));
|
||||
if(count($plans) == 1)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user