* Add edit and copy method under project.

This commit is contained in:
leiyong
2020-09-20 23:27:06 +08:00
parent 3550097dc8
commit 94fae1d49e
5 changed files with 105 additions and 48 deletions

BIN
module/group/.model.php.swp Normal file

Binary file not shown.

View File

@@ -1074,12 +1074,15 @@ class program extends control
*/
public function PRJCreateGroup($projectID = 0, $programID = 0)
{
$this->lang->navGroup->program = 'project';
$this->session->set('project', $projectID);
if(!empty($_POST))
{
$_POST['PRJ'] = $projectID;
$this->group->create();
if(dao::isError()) die(js::error(dao::getError()));
die(js::locate(inLink('PRJBrowse', 'programID=' . $programID), 'parent.parent'));
die(js::locate(inLink('PRJGroup', "projectID=$projectID&programID=$programID"), 'parent.parent'));
}
$this->view->title = $this->lang->company->orgView . $this->lang->colon . $this->lang->group->create;
@@ -1087,48 +1090,6 @@ class program extends control
$this->display('group', 'create');
}
/**
* Manage project members.
*
* @param int $projectID
* @param int $dept
* @access public
* @return void
*/
public function PRJManageMembers($projectID, $dept = '')
{
$this->session->set('project', $projectID);
if(!empty($_POST))
{
$this->project->manageMembers($projectID);
die(js::reload('parent.parent'));
}
/* Load model. */
$this->loadModel('user');
$this->loadModel('dept');
$project = $this->project->getById($projectID);
$users = $this->user->getPairs('noclosed|nodeleted|devfirst|nofeedback');
$roles = $this->user->getUserRoles(array_keys($users));
$deptUsers = $dept === '' ? array() : $this->dept->getDeptUserPairs($dept);
$currentMembers = $this->project->getTeamMembers($projectID);
$title = $this->lang->program->PRJManageMembers . $this->lang->colon . $project->name;
$position[] = $this->lang->program->PRJManageMembers;
$this->view->title = $title;
$this->view->position = $position;
$this->view->project = $project;
$this->view->users = $users;
$this->view->deptUsers = $deptUsers;
$this->view->roles = $roles;
$this->view->dept = $dept;
$this->view->depts = array('' => '') + $this->loadModel('dept')->getOptionMenu();
$this->view->currentMembers = $currentMembers;
$this->display();
}
/**
* Project manage view.
*
@@ -1140,6 +1101,9 @@ class program extends control
*/
public function PRJManageView($groupID, $projectID, $programID)
{
$this->lang->navGroup->program = 'project';
$this->session->set('project', $projectID);
if($_POST)
{
$this->group->updateView($groupID);
@@ -1223,4 +1187,96 @@ class program extends control
$this->display('group', 'managePriv');
}
/**
* Manage project members.
*
* @param int $projectID
* @param int $dept
* @access public
* @return void
*/
public function PRJManageMembers($projectID, $dept = '')
{
$this->lang->navGroup->program = 'project';
$this->session->set('project', $projectID);
if(!empty($_POST))
{
$this->project->manageMembers($projectID);
die(js::reload('parent.parent'));
}
/* Load model. */
$this->loadModel('user');
$this->loadModel('dept');
$project = $this->project->getById($projectID);
$users = $this->user->getPairs('noclosed|nodeleted|devfirst|nofeedback');
$roles = $this->user->getUserRoles(array_keys($users));
$deptUsers = $dept === '' ? array() : $this->dept->getDeptUserPairs($dept);
$currentMembers = $this->project->getTeamMembers($projectID);
$title = $this->lang->program->PRJManageMembers . $this->lang->colon . $project->name;
$position[] = $this->lang->program->PRJManageMembers;
$this->view->title = $title;
$this->view->position = $position;
$this->view->project = $project;
$this->view->users = $users;
$this->view->deptUsers = $deptUsers;
$this->view->roles = $roles;
$this->view->dept = $dept;
$this->view->depts = array('' => '') + $this->loadModel('dept')->getOptionMenu();
$this->view->currentMembers = $currentMembers;
$this->display();
}
/**
* Project copy a group.
*
* @param int $groupID
* @access public
* @return void
*/
public function PRJCopyGroup($groupID)
{
if(!empty($_POST))
{
$group = $this->group->getByID($groupID);
$_POST['PRJ'] = $group->PRJ;
$this->group->copy($groupID);
if(dao::isError()) die(js::error(dao::getError()));
die(js::closeModal('parent.parent', 'this'));
}
$this->view->title = $this->lang->company->orgView . $this->lang->colon . $this->lang->group->copy;
$this->view->position[] = $this->lang->group->copy;
$this->view->group = $this->group->getById($groupID);
$this->display('group', 'copy');
}
/**
* Project edit a group.
*
* @param int $groupID
* @access public
* @return void
*/
public function PRJEditGroup($groupID)
{
if(!empty($_POST))
{
$this->group->update($groupID);
die(js::closeModal('parent.parent', 'this'));
}
$title = $this->lang->company->orgView . $this->lang->colon . $this->lang->group->edit;
$position[] = $this->lang->group->edit;
$this->view->title = $title;
$this->view->position = $position;
$this->view->group = $this->group->getById($groupID);
$this->display('group', 'edit');
}
}

View File

@@ -22,8 +22,8 @@ $lang->program->PRJManagePriv = '维护权限';
$lang->program->PRJManageMembers = '项目团队';
$lang->program->PRJExport = '导出';
$lang->program->PRJManageGroupMember = '维护分组用户';
$lang->program->PRJModuleSetting = '模块设置';
$lang->program->PRJModuleOpen = '列表页是否显示模块名';
$lang->program->PRJModuleSetting = '项目集设置';
$lang->program->PRJModuleOpen = '列表页是否显示项目集名';
/* Fields. */
$lang->program->common = '项目';

View File

@@ -15,6 +15,7 @@
<?php js::set('confirmDelete', $lang->group->confirmDelete);?>
<div id='mainMenu' class='clearfix'>
<div class='btn-toolbar pull-left'>
<?php echo html::a(inLink('PRJBrowse', "programID=$programID"), $lang->goback, '', 'class="btn btn-secondary"');?>
<span class='btn btn-link btn-active-text'><span class='text'><?php echo $lang->group->browse;?></span></span>
</div>
<div class='btn-toolbar pull-right'>
@@ -47,8 +48,8 @@
<?php common::printIcon('program', 'PRJManagePriv', "type=byGroup&param=$group->id", $group, 'list', 'lock');?>
<?php $lang->group->managemember = $lang->group->manageMember;?>
<?php common::printIcon('program', 'manageGroupMember', "groupID=$group->id", $group, 'list', 'persons', '', 'iframe', 'yes', "data-width='90%'");?>
<?php common::printIcon('program', 'editGroup', "groupID=$group->id", $group, 'list', 'edit', '', 'iframe', 'yes', "data-width='550'");?>
<?php common::printIcon('program', 'copyGroup', "groupID=$group->id", $group, 'list', 'copy', '', "iframe $disabled", 'yes', "data-width='550'");?>
<?php common::printIcon('program', 'PRJEditGroup', "groupID=$group->id", $group, 'list', 'edit', '', 'iframe', 'yes', "data-width='550'");?>
<?php common::printIcon('program', 'PRJCopyGroup', "groupID=$group->id", $group, 'list', 'copy', '', "iframe $disabled", 'yes', "data-width='550'");?>
<?php
if(common::hasPriv('group', 'delete') and $group->role != 'limited')
{

View File

@@ -19,7 +19,7 @@
<table class="table table-form">
<tbody>
<tr>
<td class="w-150px"><?php echo $lang->program->PRJModuleOpen;?></td>
<td class="w-180px"><?php echo $lang->program->PRJModuleOpen;?></td>
<td><?php echo html::radio('PRJProgramTitle', $lang->program->PRJProgramTitle, $status);?></td>
</tr>
<tr>