* fix bug 50357

This commit is contained in:
Zongjun Lan
2022-03-08 16:32:29 +08:00
parent 64d797b109
commit b7ba61136e
5 changed files with 98 additions and 2 deletions
@@ -1,5 +1,7 @@
<?php
$lang->project->leftStories = 'Left Target';
$lang->project->doingExecutions = 'Doing Kanban';
$lang->project->select = "Select {$lang->project->common}";
$lang->project->noProject = "No {$lang->project->common} yet. ";
$lang->project->aclList['private'] = "Private (Accessible to project leaders and team members)";
@@ -1,5 +1,7 @@
<?php
$lang->project->leftStories = '剩余目标';
$lang->project->doingExecutions = '进行中的看板';
$lang->project->select = "请选择{$lang->project->common}";
$lang->project->noProject = "暂时没有{$lang->project->common}。";
$lang->project->aclList['private'] = "私有 (只有项目负责人、团队成员可访问)";
@@ -0,0 +1,78 @@
<div class="modal fade" id="projectModal">
<div class="modal-dialog mw-500px">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"><i class="icon icon-close"></i></button>
<h4 class="modal-title"><?php echo $lang->project->select;?></h4>
</div>
<div class="modal-body">
<?php if(empty($projects)):?>
<div class="table-empty-tip">
<p>
<span class="text-muted"><?php echo $lang->project->noProject;?></span>
<?php echo html::a("javascript:createProject()", "<i class='icon icon-plus'></i> " . $lang->project->create, '', "class='btn btn-info'");?>
</p>
</div>
<?php else:?>
<div class='input-group'>
<?php echo html::select('projectToStory', $projects, '', "class='form-control chosen' onchange=getProgramByProject(this.value);");?>
<span class='input-group-btn'><?php echo html::commonButton($lang->todo->reasonList['story'], "id='toStoryButtonByProject'", 'btn btn-primary');?></span>
<?php echo html::hidden('projectProgram', 0);?>
</div>
<?php endif;?>
</div>
</div>
</div>
</div>
<script>
$("#projectModal modal-header modal-title").text("<?php echo $lang->project->select; ?>")
$('#toStoryLink').click(function()
{
$('#projectModal .modal-body .input-group .input-group-btn').addClass('hidden');
$('#projectModal #toStoryButtonByProject').closest('.input-group-btn').removeClass('hidden');
})
$('#toStoryButtonByProject').click(function()
{
var onlybody = config.onlybody == 'yes';
var projectID = $('#projectToStory').val();
var link = createLink('story', 'create', 'productID=0&branch=0&moduleID=0&storyID=0&projectID='+projectID+'&bugID=0&planID=0&todoID=' + todoID, config.defaultView, onlybody);
if(!onlybody) window.parent.$.apps.open(link, 'project');
if(onlybody) location.href = link;
})
/**
* Get programs by project id.
*
* @param int $projectID
* @access public
* @return void
*/
function getProgramByProject(projectID)
{
link = createLink('todo', 'ajaxGetProgramID', "projectID=" + projectID + '&type=project');
$.post(link, function(data)
{
$('#projectProgram').val(data);
})
}
/**
* Link to create project.
*
* @access public
* @return void
*/
function createProject()
{
var onlybody = config.onlybody;
config.onlybody = 'no';
var link = createLink('project', 'create');
config.onlybody = onlybody;
parent.location.href = link;
}
</script>
+8 -1
View File
@@ -47,7 +47,14 @@ class story extends control
public function create($productID = 0, $branch = 0, $moduleID = 0, $storyID = 0, $objectID = 0, $bugID = 0, $planID = 0, $todoID = 0, $extra = '', $type = 'story')
{
if($productID == 0 and $objectID == 0) $this->locate($this->createLink('product', 'create'));
if($this->config->vision == 'lite' and $productID == 0)
{
$project = $this->loadModel('product')->getProductPairsByProject($objectID);
if(!empty($project)) $productID = key($project);
}
$this->story->replaceURLang($type);
if($this->app->tab == 'product')
{
+8 -1
View File
@@ -84,7 +84,14 @@
unset($_GET['onlybody']);
echo "<button type='button' class='btn btn-success dropdown-toggle' data-toggle='dropdown'>{$this->lang->more}<span class='caret'></span></button>";
echo "<ul class='dropdown-menu pull-right' role='menu'>";
if($createStoryPriv) echo '<li>' . html::a('###', $lang->todo->reasonList['story'], '', "data-toggle='modal' data-target='#productModal' data-backdrop='false' data-moveable='true' data-position='center' id='toStoryLink'") . '</li>';
if($createStoryPriv and $config->vision == 'lite')
{
echo '<li>' . html::a('###', $lang->todo->reasonList['story'], '', "data-toggle='modal' data-target='#projectModal' data-backdrop='false' data-moveable='true' data-position='center' id='toStoryLink'") . '</li>';
}
else
{
echo '<li>' . html::a('###', $lang->todo->reasonList['story'], '', "data-toggle='modal' data-target='#productModal' data-backdrop='false' data-moveable='true' data-position='center' id='toStoryLink'") . '</li>';
}
if($createTaskPriv) echo '<li>' . html::a('###', $lang->todo->reasonList['task'], '', "data-toggle='modal' data-target='#executionModal' data-backdrop='false' data-moveable='true' data-position='center' id='toTaskLink'") . '</li>';
if($createBugPriv and $config->vision == 'rnd') echo '<li>' . html::a('###', $lang->todo->reasonList['bug'], '', "data-toggle='modal' data-target='#projectProductModal' data-backdrop='false' data-moveable='true' data-position='center' id='toBugLink'") . '</li>';
echo "</ul>";