Merge branch 'master' of https://github.com/easysoft/zentaopms
This commit is contained in:
+21
-129
@@ -398,7 +398,7 @@ class custom extends control
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function configureWaterfall($type = 'concept')
|
||||
public function configureWaterfall()
|
||||
{
|
||||
$this->app->loadLang('custom');
|
||||
$this->lang->custom->menu = new stdclass();
|
||||
@@ -406,76 +406,22 @@ class custom extends control
|
||||
|
||||
if($_POST)
|
||||
{
|
||||
if($type == 'concept')
|
||||
{
|
||||
$result = $this->custom->setURAndSR();
|
||||
if(!$result) $this->send(array('result' => 'fail', 'message' => $this->lang->custom->notice->URSREmpty));
|
||||
}
|
||||
|
||||
if($type == 'user' and isset($_POST['keys']))
|
||||
{
|
||||
$lang = $_POST['lang'];
|
||||
$oldCustoms = $this->custom->getItems("lang=$lang&module=user§ion=roleList");
|
||||
foreach($_POST['keys'] as $index => $key)
|
||||
{
|
||||
if(strlen($key) > 10) $this->send(array('result' => 'fail', 'message' => $this->lang->custom->notice->invalidStrlen['ten']));
|
||||
}
|
||||
|
||||
$this->custom->deleteItems("lang=$lang&module=user§ion=roleList");
|
||||
$data = fixer::input('post')->get();
|
||||
foreach($data->keys as $index => $key)
|
||||
{
|
||||
|
||||
$value = $data->values[$index];
|
||||
$system = $data->systems[$index];
|
||||
$this->custom->setItem("{$lang}.user.roleList.{$key}.{$system}", $value);
|
||||
}
|
||||
}
|
||||
$result = $this->custom->setURAndSR();
|
||||
if(!$result) $this->send(array('result' => 'fail', 'message' => $this->lang->custom->notice->URSREmpty));
|
||||
|
||||
if(dao::isError()) $this->send(array('result' => 'fail', 'message' => dao::getError()));
|
||||
$this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink('custom', 'configurewaterfall', "type=$type")));
|
||||
$this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink('custom', 'configurewaterfall')));
|
||||
}
|
||||
|
||||
if($type == 'user')
|
||||
{
|
||||
$this->app->loadLang('user');
|
||||
$fieldList = zget($this->lang->user, 'roleList', '');
|
||||
$lang = $this->app->getClientLang();
|
||||
$dbFields = $this->custom->getItems("lang=$lang&module=user§ion=roleList");
|
||||
if(empty($dbFields)) $dbFields = $this->custom->getItems("lang=all&module=user§ion=roleList");
|
||||
if($dbFields)
|
||||
{
|
||||
$dbField = reset($dbFields);
|
||||
if($lang != $dbField->lang)
|
||||
{
|
||||
$lang = str_replace('-', "_", $dbField->lang);
|
||||
foreach($fieldList as $key => $value)
|
||||
{
|
||||
if(isset($dbFields[$key]) and $value != $dbFields[$key]->value) $fieldList[$key] = $dbFields[$key]->value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->view->fieldList = $fieldList;
|
||||
$this->view->dbFields = $dbFields;
|
||||
$this->view->currentLang = $lang;
|
||||
$this->view->lang2Set = str_replace('_', '-', $lang);
|
||||
}
|
||||
|
||||
if($type == 'concept')
|
||||
{
|
||||
$URSRName = $this->dao->select("`value`")->from(TABLE_CONFIG)
|
||||
->where('module')->eq('custom')
|
||||
->andWhere('section')->eq('common')
|
||||
->andWhere('`key`')->eq('URSRName')
|
||||
->fetch('value');
|
||||
|
||||
$this->view->URSRName = json_decode($URSRName);
|
||||
}
|
||||
$URSRName = $this->dao->select("`value`")->from(TABLE_CONFIG)
|
||||
->where('module')->eq('custom')
|
||||
->andWhere('section')->eq('common')
|
||||
->andWhere('`key`')->eq('URSRName')
|
||||
->fetch('value');
|
||||
|
||||
$this->view->title = $this->lang->custom->common;
|
||||
$this->view->position[] = $this->lang->custom->common;
|
||||
$this->view->type = $type;
|
||||
$this->view->URSRName = json_decode($URSRName);
|
||||
|
||||
$this->display();
|
||||
}
|
||||
@@ -486,7 +432,7 @@ class custom extends control
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function configureScrum($type = 'concept')
|
||||
public function configureScrum()
|
||||
{
|
||||
$this->app->loadLang('custom');
|
||||
$this->lang->custom->menu = new stdclass();
|
||||
@@ -494,77 +440,23 @@ class custom extends control
|
||||
|
||||
if($_POST)
|
||||
{
|
||||
if($type == 'concept')
|
||||
{
|
||||
$this->custom->setConcept();
|
||||
$result = $this->custom->setURAndSR();
|
||||
if(!$result) $this->send(array('result' => 'fail', 'message' => $this->lang->custom->notice->URSREmpty));
|
||||
}
|
||||
$this->custom->setConcept();
|
||||
$result = $this->custom->setURAndSR();
|
||||
if(!$result) $this->send(array('result' => 'fail', 'message' => $this->lang->custom->notice->URSREmpty));
|
||||
|
||||
if($type == 'user' && isset($_POST['keys']))
|
||||
{
|
||||
$lang = $_POST['lang'];
|
||||
$oldCustoms = $this->custom->getItems("lang=$lang&module=user§ion=roleList");
|
||||
foreach($_POST['keys'] as $index => $key)
|
||||
{
|
||||
if(strlen($key) > 10) $this->send(array('result' => 'fail', 'message' => $this->lang->custom->notice->invalidStrlen['ten']));
|
||||
}
|
||||
|
||||
$this->custom->deleteItems("lang=$lang&module=user§ion=roleList");
|
||||
$data = fixer::input('post')->get();
|
||||
foreach($data->keys as $index => $key)
|
||||
{
|
||||
|
||||
$value = $data->values[$index];
|
||||
$system = $data->systems[$index];
|
||||
$this->custom->setItem("{$lang}.user.roleList.{$key}.{$system}", $value);
|
||||
}
|
||||
}
|
||||
|
||||
$locate = inlink('configureScrum', "type=$type");
|
||||
$locate = inlink('configureScrum');
|
||||
$this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $locate));
|
||||
}
|
||||
|
||||
if($type == 'concept')
|
||||
{
|
||||
$URSRName = $this->dao->select("`value`")->from(TABLE_CONFIG)
|
||||
->where('module')->eq('custom')
|
||||
->andWhere('section')->eq('common')
|
||||
->andWhere('`key`')->eq('URSRName')
|
||||
->fetch('value');
|
||||
|
||||
$this->view->URSRName = json_decode($URSRName);
|
||||
}
|
||||
|
||||
if($type == 'user')
|
||||
{
|
||||
$this->app->loadLang('user');
|
||||
$fieldList = zget($this->lang->user, 'roleList', '');
|
||||
$lang = $this->app->getClientLang();
|
||||
$dbFields = $this->custom->getItems("lang=$lang&module=user§ion=roleList");
|
||||
if(empty($dbFields)) $dbFields = $this->custom->getItems("lang=all&module=user§ion=roleList");
|
||||
if($dbFields)
|
||||
{
|
||||
$dbField = reset($dbFields);
|
||||
if($lang != $dbField->lang)
|
||||
{
|
||||
$lang = str_replace('-', "_", $dbField->lang);
|
||||
foreach($fieldList as $key => $value)
|
||||
{
|
||||
if(isset($dbFields[$key]) and $value != $dbFields[$key]->value) $fieldList[$key] = $dbFields[$key]->value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->view->fieldList = $fieldList;
|
||||
$this->view->dbFields = $dbFields;
|
||||
$this->view->currentLang = $lang;
|
||||
$this->view->lang2Set = str_replace('_', '-', $lang);
|
||||
}
|
||||
$URSRName = $this->dao->select("`value`")->from(TABLE_CONFIG)
|
||||
->where('module')->eq('custom')
|
||||
->andWhere('section')->eq('common')
|
||||
->andWhere('`key`')->eq('URSRName')
|
||||
->fetch('value');
|
||||
|
||||
$this->view->title = $this->lang->custom->configureScrum;
|
||||
$this->view->position[] = $this->lang->custom->configureScrum;
|
||||
$this->view->type = $type;
|
||||
$this->view->URSRName = json_decode($URSRName);
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
@@ -5,10 +5,12 @@ $(function()
|
||||
if($(this).val() == 0)
|
||||
{
|
||||
$('#URSRName').addClass('hidden');
|
||||
$('#customURSR').addClass('hidden');
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#URSRName').removeClass('hidden');
|
||||
$('#customURSR').removeClass('hidden');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -5,10 +5,12 @@ $(function()
|
||||
if($(this).val() == 0)
|
||||
{
|
||||
$('#URSRName').addClass('hidden');
|
||||
$('#customURSR').addClass('hidden');
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#URSRName').removeClass('hidden');
|
||||
$('#customURSR').removeClass('hidden');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@ $lang->custom->user->fields['statusList'] = 'Status';
|
||||
$lang->custom->user->fields['contactField'] = 'Available Contact';
|
||||
$lang->custom->user->fields['deleted'] = 'Show deleted user';
|
||||
|
||||
$lang->custom->system = array('flow', 'working', 'required', 'score');
|
||||
$lang->custom->system = array('required', 'score');
|
||||
|
||||
$lang->custom->block->fields['closed'] = 'Closed Block';
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@ $lang->custom->user->fields['statusList'] = 'Status';
|
||||
$lang->custom->user->fields['contactField'] = 'Available Contact';
|
||||
$lang->custom->user->fields['deleted'] = 'Deleted User';
|
||||
|
||||
$lang->custom->system = array('flow', 'working', 'required', 'score', 'estimate');
|
||||
$lang->custom->system = array('required', 'score');
|
||||
|
||||
$lang->custom->block->fields['closed'] = 'Closed Block';
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@ $lang->custom->user->fields['statusList'] = 'Statut';
|
||||
$lang->custom->user->fields['contactField'] = 'Contact';
|
||||
$lang->custom->user->fields['deleted'] = 'Parti';
|
||||
|
||||
$lang->custom->system = array('flow', 'working', 'required', 'score');
|
||||
$lang->custom->system = array('required', 'score');
|
||||
|
||||
$lang->custom->block->fields['closed'] = 'Bloc Fermé';
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@ $lang->custom->user->fields['statusList'] = 'Tình trạng';
|
||||
$lang->custom->user->fields['contactField'] = 'Liên hệ có sẵn';
|
||||
$lang->custom->user->fields['deleted'] = 'Người dùng đã xóa';
|
||||
|
||||
$lang->custom->system = array('flow', 'working', 'required', 'score');
|
||||
$lang->custom->system = array('required', 'score');
|
||||
|
||||
$lang->custom->block->fields['closed'] = 'Đã đóng Block';
|
||||
|
||||
|
||||
@@ -125,11 +125,12 @@ $lang->custom->todo->fields['typeList'] = '类型';
|
||||
$lang->custom->todo->fields['statusList'] = '状态';
|
||||
|
||||
$lang->custom->user = new stdClass();
|
||||
$lang->custom->user->fields['roleList'] = '职位';
|
||||
$lang->custom->user->fields['statusList'] = '状态';
|
||||
$lang->custom->user->fields['contactField'] = '可用联系方式';
|
||||
$lang->custom->user->fields['deleted'] = '列出已删除用户';
|
||||
|
||||
$lang->custom->system = array('required', 'score', 'estimate');
|
||||
$lang->custom->system = array('required', 'score');
|
||||
|
||||
$lang->custom->block->fields['closed'] = '关闭的区块';
|
||||
|
||||
|
||||
@@ -10,40 +10,19 @@
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php
|
||||
$itemRow = <<<EOT
|
||||
<tr class='text-center'>
|
||||
<td>
|
||||
<input type='text' class="form-control" autocomplete="off" value="" name="keys[]">
|
||||
<input type='hidden' value="0" name="systems[]">
|
||||
</td>
|
||||
<td>
|
||||
<input type='text' class="form-control" value="" autocomplete="off" name="values[]">
|
||||
</td>
|
||||
<td class='c-actions'>
|
||||
<a href="javascript:void(0)" class='btn btn-link' onclick="addItem(this)"><i class='icon-plus'></i></a>
|
||||
<a href="javascript:void(0)" class='btn btn-link' onclick="delItem(this)"><i class='icon-close'></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
EOT;
|
||||
?>
|
||||
<?php js::set('type', $type);?>
|
||||
<?php js::set('itemRow', $itemRow);?>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div class='btn-toolbar pull-left'>
|
||||
<?php echo html::a(inlink('configurescrum', 'type=concept'), "<span class='text'>" . $lang->custom->concept . '</span>', '', "class='btn btn-link concept'");?>
|
||||
<?php echo html::a(inlink('configurescrum', 'type=user'), "<span class='text'>" . $lang->user->role . '</span>', '', "class='btn btn-link user'");?>
|
||||
<?php echo html::a(inlink('configurescrum'), "<span class='text'>" . $lang->custom->concept . '</span>', '', "class='btn btn-link btn-active-text concept'");?>
|
||||
</div>
|
||||
</div>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<form id='ajaxForm' class='form-ajax' method='post'>
|
||||
<div class='modal-body'>
|
||||
<?php if($type == 'concept'):?>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-160px'><?php echo $lang->custom->scrum->setConcept;?> </th>
|
||||
<td><?php echo html::radio('productProject', $lang->custom->productProject->relation, zget($this->config->custom, 'productProject', '0_0'))?></td>
|
||||
<td></td><td></td><td></td><td></td>
|
||||
<td colspan='3'><?php echo html::radio('productProject', $lang->custom->productProject->relation, zget($this->config->custom, 'productProject', '0_0'))?></td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th> <?php echo $lang->custom->waterfall->URAndSR;?> </th>
|
||||
@@ -64,53 +43,7 @@ EOT;
|
||||
<td class='text-right'><?php echo html::submitButton();?></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php endif;?>
|
||||
<?php if($type == 'user'):?>
|
||||
<table class='table table-form active-disabled table-condensed mw-600px'>
|
||||
<tr class='text-center'>
|
||||
<td class='w-120px'><strong><?php echo $lang->custom->key;?></strong></td>
|
||||
<td><strong><?php echo $lang->custom->value;?></strong></td>
|
||||
<th class='w-90px'></th>
|
||||
</tr>
|
||||
<?php foreach($fieldList as $key => $value):?>
|
||||
<tr class='text-center'>
|
||||
<?php $system = isset($dbFields[$key]) ? $dbFields[$key]->system : 1;?>
|
||||
<td><?php echo $key === '' ? 'NULL' : $key; echo html::hidden('keys[]', $key) . html::hidden('systems[]', $system);?></td>
|
||||
<td>
|
||||
<?php echo html::input("values[]", isset($dbFields[$key]) ? $dbFields[$key]->value : $value, "class='form-control' " . (empty($key) ? 'readonly' : ''));?>
|
||||
</td>
|
||||
<td class='c-actions'>
|
||||
<a href="javascript:void(0)" onclick="addItem(this)" class='btn btn-link'><i class='icon-plus'></i></a>
|
||||
<a href="javascript:void(0)" onclick="delItem(this)" class='btn btn-link'><i class='icon-close'></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
<tr>
|
||||
<td colspan='3' class='text-center form-actions'>
|
||||
<?php
|
||||
$appliedTo = array($currentLang => $lang->custom->currentLang, 'all' => $lang->custom->allLang);
|
||||
echo html::radio('lang', $appliedTo, $lang2Set);
|
||||
echo html::submitButton();
|
||||
if(common::hasPriv('custom', 'restore')) echo html::linkButton($lang->custom->restore, inlink('restore', "module=user&field=roleList"), 'hiddenwin', '', 'btn btn-wide');
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<script>
|
||||
$('.' + type).addClass('btn-active-text');
|
||||
|
||||
function addItem(clickedButton)
|
||||
{
|
||||
$(clickedButton).parent().parent().after(itemRow);
|
||||
}
|
||||
|
||||
function delItem(clickedButton)
|
||||
{
|
||||
$(clickedButton).parent().parent().remove();
|
||||
}
|
||||
</script>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -10,36 +10,15 @@
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php
|
||||
$itemRow = <<<EOT
|
||||
<tr class='text-center'>
|
||||
<td>
|
||||
<input type='text' class="form-control" autocomplete="off" value="" name="keys[]">
|
||||
<input type='hidden' value="0" name="systems[]">
|
||||
</td>
|
||||
<td>
|
||||
<input type='text' class="form-control" value="" autocomplete="off" name="values[]">
|
||||
</td>
|
||||
<td class='c-actions'>
|
||||
<a href="javascript:void(0)" class='btn btn-link' onclick="addItem(this)"><i class='icon-plus'></i></a>
|
||||
<a href="javascript:void(0)" class='btn btn-link' onclick="delItem(this)"><i class='icon-close'></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
EOT;
|
||||
?>
|
||||
<?php js::set('type', $type);?>
|
||||
<?php js::set('itemRow', $itemRow);?>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div class='btn-toolbar pull-left'>
|
||||
<?php echo html::a(inlink('configurewaterfall', 'type=concept'), "<span class='text'>" . $lang->custom->concept . '</span>', '', "class='btn btn-link concept'");?>
|
||||
<?php echo html::a(inlink('configurewaterfall', 'type=user'), "<span class='text'>" . $lang->user->role . '</span>', '', "class='btn btn-link user'");?>
|
||||
<?php echo html::a(inlink('configurewaterfall'), "<span class='text'>" . $lang->custom->concept . '</span>', '', "class='btn btn-link btn-active-text concept'");?>
|
||||
</div>
|
||||
</div>
|
||||
<div id='mainContent' class='main-row'>
|
||||
<div class='main-col main-content'>
|
||||
<form class="load-indicator main-form form-ajax" method='post'>
|
||||
<div class='modal-body'>
|
||||
<?php if($type == 'concept'):?>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-160px'> <?php echo $lang->custom->waterfall->URAndSR;?> </th>
|
||||
@@ -61,54 +40,8 @@ EOT;
|
||||
<td class='text-right'><?php echo html::submitButton();?></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php endif;?>
|
||||
<?php if($type == 'user'):?>
|
||||
<table class='table table-form active-disabled table-condensed mw-600px'>
|
||||
<tr class='text-center'>
|
||||
<td class='w-120px'><strong><?php echo $lang->custom->key;?></strong></td>
|
||||
<td><strong><?php echo $lang->custom->value;?></strong></td>
|
||||
<th class='w-90px'></th>
|
||||
</tr>
|
||||
<?php foreach($fieldList as $key => $value):?>
|
||||
<tr class='text-center'>
|
||||
<?php $system = isset($dbFields[$key]) ? $dbFields[$key]->system : 1;?>
|
||||
<td><?php echo $key === '' ? 'NULL' : $key; echo html::hidden('keys[]', $key) . html::hidden('systems[]', $system);?></td>
|
||||
<td>
|
||||
<?php echo html::input("values[]", isset($dbFields[$key]) ? $dbFields[$key]->value : $value, "class='form-control' " . (empty($key) ? 'readonly' : ''));?>
|
||||
</td>
|
||||
<td class='c-actions'>
|
||||
<a href="javascript:void(0)" onclick="addItem(this)" class='btn btn-link'><i class='icon-plus'></i></a>
|
||||
<a href="javascript:void(0)" onclick="delItem(this)" class='btn btn-link'><i class='icon-close'></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
<tr>
|
||||
<td colspan='3' class='text-center form-actions'>
|
||||
<?php
|
||||
$appliedTo = array($currentLang => $lang->custom->currentLang, 'all' => $lang->custom->allLang);
|
||||
echo html::radio('lang', $appliedTo, $lang2Set);
|
||||
echo html::submitButton();
|
||||
if(common::hasPriv('custom', 'restore')) echo html::linkButton($lang->custom->restore, inlink('restore', "module=user&field=roleList"), 'hiddenwin', '', 'btn btn-wide');
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$('.' + type).addClass('btn-active-text');
|
||||
|
||||
function addItem(clickedButton)
|
||||
{
|
||||
$(clickedButton).parent().parent().after(itemRow);
|
||||
}
|
||||
|
||||
function delItem(clickedButton)
|
||||
{
|
||||
$(clickedButton).parent().parent().remove();
|
||||
}
|
||||
</script>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -33,7 +33,7 @@ $lang->program->unbindWhielist = 'Project Remove Whitelist';
|
||||
$lang->program->PRJManageProducts = 'Manage Products';
|
||||
$lang->program->copyTitle = 'Please select an project to copy';
|
||||
$lang->program->errorSameProducts = 'Project cannot be associated with multiple identical products.';
|
||||
$lang->program->errorNoProducts = 'At least one product is linked with the project.';
|
||||
$lang->program->errorNoProducts = 'At least one product is associated';
|
||||
$lang->program->copyNoProject = 'There are no items available to copy.';
|
||||
$lang->program->PRJSource = 'Project source:';
|
||||
$lang->program->PRJStandalone = 'Projects that do not belong to a program.';
|
||||
|
||||
@@ -33,7 +33,7 @@ $lang->program->unbindWhielist = 'Project Remove Whitelist';
|
||||
$lang->program->PRJManageProducts = 'Manage Products';
|
||||
$lang->program->copyTitle = 'Please select an project to copy';
|
||||
$lang->program->errorSameProducts = 'Project cannot be associated with multiple identical products.';
|
||||
$lang->program->errorNoProducts = 'At least one product is linked with the project.';
|
||||
$lang->program->errorNoProducts = 'At least one product is associated';
|
||||
$lang->program->copyNoProject = 'There are no items available to copy.';
|
||||
$lang->program->PRJSource = 'Project source:';
|
||||
$lang->program->PRJStandalone = 'Projects that do not belong to a program.';
|
||||
|
||||
@@ -33,7 +33,7 @@ $lang->program->unbindWhielist = 'Project Remove Whitelist';
|
||||
$lang->program->PRJManageProducts = 'Manage Products';
|
||||
$lang->program->copyTitle = 'Please select an project to copy';
|
||||
$lang->program->errorSameProducts = 'Project cannot be associated with multiple identical products.';
|
||||
$lang->program->errorNoProducts = 'At least one product is linked with the project.';
|
||||
$lang->program->errorNoProducts = 'At least one product is associated';
|
||||
$lang->program->copyNoProject = 'There are no items available to copy.';
|
||||
$lang->program->PRJSource = 'Project source:';
|
||||
$lang->program->PRJStandalone = 'Projects that do not belong to a program.';
|
||||
|
||||
@@ -33,7 +33,7 @@ $lang->program->unbindWhielist = 'Project Remove Whitelist';
|
||||
$lang->program->PRJManageProducts = 'Manage Products';
|
||||
$lang->program->copyTitle = 'Please select an project to copy';
|
||||
$lang->program->errorSameProducts = 'Project cannot be associated with multiple identical products.';
|
||||
$lang->program->errorNoProducts = 'At least one product is linked with the project.';
|
||||
$lang->program->errorNoProducts = 'At least one product is associated';
|
||||
$lang->program->copyNoProject = 'There are no items available to copy.';
|
||||
$lang->program->PRJSource = 'Project source:';
|
||||
$lang->program->PRJStandalone = 'Projects that do not belong to a program.';
|
||||
|
||||
@@ -33,7 +33,7 @@ $lang->program->unbindWhielist = '项目删除白名单';
|
||||
$lang->program->PRJManageProducts = '关联产品';
|
||||
$lang->program->copyTitle = '请选择一个项目来复制';
|
||||
$lang->program->errorSameProducts = '项目不能关联多个相同的产品。';
|
||||
$lang->program->errorNoProducts = '项目最少关联一个产品。';
|
||||
$lang->program->errorNoProducts = '最少关联一个产品';
|
||||
$lang->program->copyNoProject = '没有可用的项目来复制';
|
||||
$lang->program->PRJSource = '项目来源:';
|
||||
$lang->program->PRJStandalone = '没有所属项目集的项目';
|
||||
|
||||
@@ -33,7 +33,7 @@ $lang->program->unbindWhielist = '項目刪除白名單';
|
||||
$lang->program->PRJManageProducts = '關聯產品';
|
||||
$lang->program->copyTitle = '請選擇一個項目來複制';
|
||||
$lang->program->errorSameProducts = '項目不能關聯多個相同的產品。';
|
||||
$lang->program->errorNoProducts = '項目最少關聯一個產品。';
|
||||
$lang->program->errorNoProducts = '最少關聯一個產品';
|
||||
$lang->program->copyNoProject = '沒有可用的項目來複制';
|
||||
$lang->program->PRJSource = '項目來源:';
|
||||
$lang->program->PRJStandalone = '沒有所屬項目集的項目';
|
||||
|
||||
@@ -1379,7 +1379,7 @@ class programModel extends model
|
||||
}
|
||||
if(empty($linkedProductsCount))
|
||||
{
|
||||
dao::$errors[] = $this->lang->program->productNotEmpty;
|
||||
dao::$errors[] = $this->lang->program->errorNoProducts;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
<div class='col-sm-4'>
|
||||
<?php $hasBranch = $product->type != 'normal' and isset($branchGroups[$product->id]);?>
|
||||
<div class="input-group<?php if($hasBranch) echo ' has-branch';?>">
|
||||
<?php echo html::select("products[$i]", $allProducts, $product->id, "class='form-control chosen' onchange='loadBranches(this)' data-last='" . $product->id . "'");?>
|
||||
<?php echo html::select("products[$i]", $allProducts, $product->id, "class='form-control chosen' data-placeholder={$lang->program->errorNoProducts} onchange='loadBranches(this)' data-last='" . $product->id . "'");?>
|
||||
<span class='input-group-addon fix-border'></span>
|
||||
<?php if($hasBranch) echo html::select("branch[$i]", $branchGroups[$product->id], $product->branch, "class='form-control chosen' onchange=\"loadPlans('#products{$i}', this.value)\"");?>
|
||||
</div>
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
<?php $i ++; $memberCount ++;?>
|
||||
<?php endfor;?>
|
||||
</tbody>
|
||||
<tfoot><tr><td colspan='6' class='text-center form-actions'><?php echo html::submitButton() . ' ' . html::backButton(); ?></td></tr></tfoot>
|
||||
<tfoot><tr><td colspan='6' class='text-center form-actions'><?php echo html::submitButton() . ' ' . html::a($this->createLink('program', 'PRJBrowse', '', '', '', $project->id), $lang->goback, '', 'class="btn btn-back btn-wide"');?></td></tr></tfoot>
|
||||
</table>
|
||||
<?php js::set('i', $i);?>
|
||||
</form>
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user