* finish task #962.
This commit is contained in:
@@ -7,6 +7,7 @@ $config->company->edit->requiredFields = 'name,pms';
|
||||
|
||||
global $lang, $app;
|
||||
$app->loadLang('action');
|
||||
$app->loadLang('user');
|
||||
$config->company->dynamic = new stdclass();
|
||||
$config->company->dynamic->search['module'] = 'action';
|
||||
$config->company->dynamic->search['fields']['product'] = $lang->action->product;
|
||||
@@ -24,3 +25,41 @@ $config->company->dynamic->search['params']['project'] = array('operator' =>
|
||||
$config->company->dynamic->search['params']['objectType'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->action->search->objectTypeList);
|
||||
$config->company->dynamic->search['params']['date'] = array('operator' => '>=', 'control' => 'input', 'values' => '');
|
||||
$config->company->dynamic->search['params']['action'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->action->search->label);
|
||||
|
||||
$config->company->browse = new stdClass();
|
||||
$config->company->browse->search['module'] = 'user';
|
||||
$config->company->browse->search['fields']['realname'] = $lang->user->realname;
|
||||
$config->company->browse->search['fields']['email'] = $lang->user->email;
|
||||
$config->company->browse->search['fields']['dept'] = $lang->user->dept;
|
||||
$config->company->browse->search['fields']['account'] = $lang->user->account;
|
||||
$config->company->browse->search['fields']['phone'] = $lang->user->phone;
|
||||
$config->company->browse->search['fields']['join'] = $lang->user->join;
|
||||
$config->company->browse->search['fields']['id'] = $lang->user->id;
|
||||
$config->company->browse->search['fields']['commiter'] = $lang->user->commiter;
|
||||
$config->company->browse->search['fields']['birthday'] = $lang->user->birthyear;
|
||||
$config->company->browse->search['fields']['gender'] = $lang->user->gender;
|
||||
$config->company->browse->search['fields']['qq'] = $lang->user->qq;
|
||||
$config->company->browse->search['fields']['msn'] = $lang->user->msn;
|
||||
$config->company->browse->search['fields']['yahoo'] = $lang->user->yahoo;
|
||||
$config->company->browse->search['fields']['gtalk'] = $lang->user->gtalk;
|
||||
$config->company->browse->search['fields']['wangwang'] = $lang->user->wangwang;
|
||||
$config->company->browse->search['fields']['address'] = $lang->user->address;
|
||||
$config->company->browse->search['fields']['zipcode'] = $lang->user->zipcode;
|
||||
|
||||
$config->company->browse->search['params']['dept'] = array('operator' => 'belong', 'control' => 'select', 'values' => '');
|
||||
$config->company->browse->search['params']['realname'] = array('operator' => 'include', 'control' => 'input', 'values' => '');
|
||||
$config->company->browse->search['params']['account'] = array('operator' => 'include', 'control' => 'input', 'values' => '');
|
||||
$config->company->browse->search['params']['commiter'] = array('operator' => 'include', 'control' => 'select', 'values' => '');
|
||||
$config->company->browse->search['params']['email'] = array('operator' => 'include', 'control' => 'input', 'values' => '');
|
||||
$config->company->browse->search['params']['birthday'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date');
|
||||
$config->company->browse->search['params']['gender'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->user->genderList);
|
||||
$config->company->browse->search['params']['phone'] = array('operator' => 'include', 'control' => 'input', 'values' => '');
|
||||
$config->company->browse->search['params']['qq'] = array('operator' => '=', 'control' => 'input', 'values' => '');
|
||||
$config->company->browse->search['params']['msn'] = array('operator' => '=', 'control' => 'input', 'values' => '');
|
||||
$config->company->browse->search['params']['yahoo'] = array('operator' => '=', 'control' => 'input', 'values' => '');
|
||||
$config->company->browse->search['params']['gtalk'] = array('operator' => '=', 'control' => 'input', 'values' => '');
|
||||
$config->company->browse->search['params']['wangwang'] = array('operator' => '=', 'control' => 'input', 'values' => '');
|
||||
$config->company->browse->search['params']['address'] = array('operator' => 'include', 'control' => 'input', 'values' => '');
|
||||
$config->company->browse->search['params']['zipcode'] = array('operator' => '=', 'control' => 'input', 'values' => '');
|
||||
$config->company->browse->search['params']['join'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date');
|
||||
$config->company->browse->search['params']['id'] = array('operator' => '=', 'control' => 'input', 'values' => '');
|
||||
|
||||
@@ -21,7 +21,6 @@ class company extends control
|
||||
{
|
||||
parent::__construct();
|
||||
$this->loadModel('dept');
|
||||
$this->app->loadLang('user');
|
||||
$this->company->setMenu();
|
||||
}
|
||||
|
||||
@@ -43,27 +42,58 @@ class company extends control
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function browse($deptID = 0, $recTotal = 0, $recPerPage = 20, $pageID = 1)
|
||||
public function browse($param = 0, $type = 'bydept', $recTotal = 0, $recPerPage = 20, $pageID = 1)
|
||||
{
|
||||
$this->loadModel('search');
|
||||
$this->lang->set('menugroup.company', 'company');
|
||||
$childDeptIds = $this->dept->getAllChildID($deptID);
|
||||
|
||||
$deptID = $type == 'bydept' ? (int)$param : 0;
|
||||
$this->company->setMenu($deptID);
|
||||
|
||||
/* Set the pager. */
|
||||
$this->app->loadClass('pager', $static = true);
|
||||
$pager = pager::init($recTotal, $recPerPage, $pageID);
|
||||
|
||||
/* Build the search form. */
|
||||
$queryID = $type == 'bydept' ? 0 : (int)$param;
|
||||
$this->config->company->browse->search['actionURL'] = $this->createLink('company', 'browse', "param=myQueryID&type=bysearch");
|
||||
$this->config->company->browse->search['queryID'] = $queryID;
|
||||
$this->config->company->browse->search['params']['dept']['values'] = array('' => '') + $this->dept->getOptionMenu();
|
||||
|
||||
$header['title'] = $this->lang->company->index . $this->lang->colon . $this->lang->dept->common;
|
||||
$position[] = $this->lang->dept->common;
|
||||
|
||||
if($type == 'bydept')
|
||||
{
|
||||
$childDeptIds = $this->dept->getAllChildID($deptID);
|
||||
$users = $this->dept->getUsers($childDeptIds, $pager);
|
||||
}
|
||||
else
|
||||
{
|
||||
if($queryID)
|
||||
{
|
||||
$query = $this->search->getQuery($queryID);
|
||||
if($query)
|
||||
{
|
||||
$this->session->set('userQuery', $query->sql);
|
||||
$this->session->set('userForm', $query->form);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->session->set('userQuery', ' 1 = 1');
|
||||
}
|
||||
}
|
||||
$users = $this->loadModel('user')->getByQuery($this->session->userQuery, $pager);
|
||||
}
|
||||
|
||||
$this->view->header = $header;
|
||||
$this->view->position = $position;
|
||||
$this->view->users = $this->dept->getUsers($childDeptIds, $pager);
|
||||
$this->view->users = $users;
|
||||
$this->view->searchForm = $this->fetch('search', 'buildForm', $this->config->company->browse->search);
|
||||
$this->view->deptTree = $this->dept->getTreeMenu($rooteDeptID = 0, array('deptModel', 'createMemberLink'));
|
||||
$this->view->parentDepts = $this->dept->getParents($deptID);
|
||||
$this->view->deptID = $deptID;
|
||||
$this->view->pager = $pager;
|
||||
$this->view->pager = $pager;
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
@@ -16,6 +16,9 @@ include '../../common/view/treeview.html.php';
|
||||
include '../../common/view/tablesorter.html.php';
|
||||
?>
|
||||
<table class='cont-lt1'>
|
||||
<tr>
|
||||
<td colspan='3'><div id='querybox'><?php echo $searchForm?></div></td>
|
||||
</tr>
|
||||
<tr valign='top'>
|
||||
<td class='side'>
|
||||
<div class='box-title'><?php echo $lang->dept->common;?></div>
|
||||
|
||||
@@ -91,6 +91,11 @@ class searchModel extends model
|
||||
$allModules = $this->loadModel('tree')->getAllChildId($value);
|
||||
$where .= helper::dbIN($allModules);
|
||||
}
|
||||
elseif($this->post->$fieldName == 'dept')
|
||||
{
|
||||
$allDepts = $this->loadModel('dept')->getAllChildId($value);
|
||||
$where .= helper::dbIN($allDepts);
|
||||
}
|
||||
else
|
||||
{
|
||||
$where .= ' = ' . $this->dbh->quote($value) . ' ';
|
||||
|
||||
@@ -150,6 +150,24 @@ class userModel extends model
|
||||
return $user;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get users by sql.
|
||||
*
|
||||
* @param int $query
|
||||
* @param int $pager
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getByQuery($query, $pager = null)
|
||||
{
|
||||
return $this->dao->select('*')->from(TABLE_USER)
|
||||
->where($query)
|
||||
->andWhere('deleted')->eq(0)
|
||||
->orderBy('id')
|
||||
->page($pager)
|
||||
->fetchAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a user.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user