Added the list of users to the command 'show data' for projects;
Fixed problems with user_project relations; Fixed problems with 'set' command for projects;
Esse commit está contido em:
@@ -166,7 +166,11 @@ class Project{
|
||||
".$this->data['pk_project'].",
|
||||
".$user['pk_user']."
|
||||
)";
|
||||
return $this->db->execute($qr_userProj);
|
||||
if($this->db->execute($qr_userProj))
|
||||
$this->db->execute('COMMIT');
|
||||
else
|
||||
return false;
|
||||
return true;
|
||||
}else{
|
||||
return true;
|
||||
//echo "JA TINHA\n";
|
||||
|
||||
@@ -118,7 +118,7 @@ class MindProject extends VersionManager{
|
||||
WHERE pk_project = ".$pk_project;
|
||||
$db= self::getDBConn();
|
||||
if($db->execute($qr_updProj))
|
||||
return true;
|
||||
return $db->execute('COMMIT');
|
||||
else
|
||||
return false;
|
||||
}else{
|
||||
@@ -145,6 +145,7 @@ class MindProject extends VersionManager{
|
||||
$attr= trim($attr);
|
||||
if(!\in_array($attr, self::$availableAttrs)){
|
||||
\MindSpeaker::write('invalidCreateParams');
|
||||
echo "Available list: ".implode(', ', self::$availableAttrs)."\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -191,21 +192,21 @@ class MindProject extends VersionManager{
|
||||
public static function listProjects($detailed=false)
|
||||
{
|
||||
$db= new MindDB();
|
||||
$hasProject= "SELECT ".($detailed? " pk_project,project.name as name,
|
||||
$hasProject= "SELECT ".($detailed? " pk_project, p.name as name,
|
||||
info, creator,
|
||||
dt_creation":
|
||||
" distinct pk_project,
|
||||
project.name as name")."
|
||||
from project
|
||||
name")."
|
||||
from project p
|
||||
";
|
||||
|
||||
if(!\API\User::isAdmin())
|
||||
$hasProject.= ", project_user
|
||||
where fk_project = pk_project
|
||||
and fk_user = ".\API\User::code()."
|
||||
and project.status='A'";
|
||||
$hasProject.= ", project_user pu
|
||||
where pu.fk_project = p.pk_project
|
||||
and pu.fk_user = ".\API\User::code()."
|
||||
and p.status='A'";
|
||||
else
|
||||
$hasProject.= " WHERE project.status='A'";
|
||||
$hasProject.= " WHERE p.status='A'";
|
||||
|
||||
$data= $db->query($hasProject);
|
||||
return $data;
|
||||
@@ -227,10 +228,11 @@ class MindProject extends VersionManager{
|
||||
|
||||
$db= new MindDB();
|
||||
$hasProject= "SELECT pk_project,
|
||||
creator,
|
||||
project.name as name
|
||||
from project_user,
|
||||
project
|
||||
where project.name = '".$project."'
|
||||
where name = '".$project."'
|
||||
and fk_project = pk_project
|
||||
";
|
||||
|
||||
|
||||
@@ -126,13 +126,16 @@ class MindUser
|
||||
* @param boolean $detailed
|
||||
* @return mixed
|
||||
*/
|
||||
public static function listUsers($detailed=false)
|
||||
public static function listUsers($detailed=false, $proj= false)
|
||||
{
|
||||
$db= self::getDBConn();
|
||||
if($detailed)
|
||||
$usrs= $db->query('SELECT * from user');
|
||||
else
|
||||
$usrs= $db->query('SELECT login from user');
|
||||
$det= $detailed? ' * ': 'login';
|
||||
$qr= 'SELECT '.$det.' FROM user';
|
||||
if($proj)
|
||||
$qr.= ", project_user WHERE pk_user = fk_user and fk_project= ".((int)$proj);
|
||||
|
||||
$usrs= $db->query($qr);
|
||||
|
||||
return $usrs;
|
||||
}
|
||||
}
|
||||
@@ -46,15 +46,6 @@
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
|
||||
//var_dump($pF);
|
||||
//print_r($pF);
|
||||
//echo $this->project."\n\n";
|
||||
//echo "BBBBBBBBB";
|
||||
//$pF= new DAO\ProjectFactory(Mind::$currentProject);
|
||||
|
||||
//$user= \API\User::loadUserInfo($this->user);
|
||||
//print_r(\API\Project::data());
|
||||
}
|
||||
|
||||
public function __construct()
|
||||
|
||||
@@ -36,6 +36,7 @@ EOT
|
||||
'source',
|
||||
'info',
|
||||
'data',
|
||||
'conf',
|
||||
'props',
|
||||
'project',
|
||||
'properties',
|
||||
@@ -68,7 +69,6 @@ EOT
|
||||
{
|
||||
echo JSON_encode($projectList);
|
||||
}else{
|
||||
//foreach($projectList as $proj)
|
||||
$this->printMatrix($projectList);
|
||||
}
|
||||
break;
|
||||
@@ -81,11 +81,24 @@ EOT
|
||||
}
|
||||
break;
|
||||
case 'data':
|
||||
case 'conf':
|
||||
case 'props':
|
||||
case 'properties':
|
||||
//var_dump($_MIND);
|
||||
$p= \Mind::$currentProject;
|
||||
if($p){
|
||||
//$p['users']= Array();
|
||||
$p['users']= $this->loadUsersList($p['pk_project']);
|
||||
/*
|
||||
//var_dump($users);
|
||||
$userList= Array();
|
||||
|
||||
foreach($users as $k=>$user)
|
||||
{
|
||||
$userList[$k]= $user;
|
||||
}*/
|
||||
|
||||
|
||||
if($_REQ['env']=='http')
|
||||
echo JSON_encode($p);
|
||||
else{
|
||||
@@ -94,13 +107,17 @@ EOT
|
||||
if(!\API\User::isAdmin())
|
||||
continue;
|
||||
}
|
||||
echo " ".str_pad($k, 16, " ").": ".$v."\n";
|
||||
echo " ".str_pad($k, 16, " ").": ";
|
||||
if(is_array($v))
|
||||
echo JSON_encode($v)."\n";
|
||||
else
|
||||
echo $v."\n";
|
||||
}
|
||||
}
|
||||
}else{
|
||||
\MindSpeaker::write("currentProjectRequired");
|
||||
}
|
||||
// TODO: list users IN THIS project
|
||||
|
||||
break;
|
||||
case 'source':
|
||||
$p= \Mind::$currentProject;
|
||||
@@ -235,9 +252,9 @@ EOT
|
||||
$projs= \API\Project::projectList(false);
|
||||
return $projs;
|
||||
}
|
||||
private function loadUsersList()
|
||||
private function loadUsersList($proj=false)
|
||||
{
|
||||
return MindUser::listUsers($this->detailed);
|
||||
return MindUser::listUsers($this->detailed, $proj);
|
||||
}
|
||||
private function printList($list)
|
||||
{
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário