Migrate project owners to the project member table

... to keep project membership tidy and centralized
This puts organizer fitlers out of commission for now
This commit is contained in:
2018-02-26 16:24:50 +01:00
parent 54467ab9b9
commit e60195d431
12 changed files with 236 additions and 158 deletions

View File

@@ -21,9 +21,6 @@ class ProjectManager{
$dbProj['id'],
$dbProj['name'],
$dbProj['description'],
$dbProj['owner'],
$dbProj['owneruname'],
$dbProj['owneremail'],
$dbProj['active']
);
$projects[] = $project;
@@ -43,33 +40,37 @@ class ProjectManager{
$dbProj['id'],
$dbProj['name'],
$dbProj['description'],
$dbProj['owner'],
$dbProj['owneruname'],
$dbProj['owneremail'],
$dbProj['active']
);
return $project;
}
public function getByUName($uname){
$query = 'SELECT * FROM projects WHERE owneruname=:uname';
public function getByOwner($uname){
$query = 'SELECT projectid FROM projectmembers WHERE uname=:uname';
$statement = $this->pdo->prepare($query);
$statement->bindParam(':uname', $uname, PDO::PARAM_STR);
$statement->execute();
$projectIDs = $statement->fetchAll();
$projects = [];
foreach($statement->fetchAll() as $dbProj){
$project = new Project(
$dbProj['id'],
$dbProj['name'],
$dbProj['description'],
$dbProj['owner'],
$dbProj['owneruname'],
$dbProj['owneremail'],
$dbProj['active']
);
$projects[] = $project;
foreach($projectIDs as $id){
$id = $id['projectid'];
$query = 'SELECT * FROM projects WHERE id=:id';
$statement = $this->pdo->prepare($query);
$statement->bindParam(':id', $id, PDO::PARAM_INT);
$statement->execute();
foreach($statement->fetchAll() as $dbProj){
$project = new Project(
$dbProj['id'],
$dbProj['name'],
$dbProj['description'],
$dbProj['active']
);
$projects[] = $project;
}
}
return $projects;
@@ -83,9 +84,35 @@ class ProjectManager{
$members = [];
foreach($statement->fetchAll() as $dbUsr){
$members[] = ['name' => $dbUsr['name'], 'uname' => $dbUsr['uname'], 'role' => $dbUsr['role']];
$members[] = [
'name' => $dbUsr['name'],
'uname' => $dbUsr['uname'],
'mail' => $dbUsr['mail'],
'role' => $dbUsr['role'],
'lead' => $dbUsr['lead'],
'owner' => $dbUsr['owner']
];
}
return $members;
}
public function getProjectOwner($id){
$query = 'SELECT * FROM projectmembers WHERE (projectid=:id AND owner=1)';
$statement = $this->pdo->prepare($query);
$statement->bindParam(':id', $id, PDO::PARAM_STR);
$statement->execute();
$dbOwner = $statement->fetch();
$owner = [
'name' => $dbOwner['name'],
'uname' => $dbOwner['uname'],
'mail' => $dbOwner['mail'],
'role' => $dbOwner['role'],
'lead' => $dbOwner['lead'],
'owner' => $dbOwner['owner']
];
return $owner;
}
}