Groundwork for project members

Tools for adding/removing members are coming soon (tm)
This commit is contained in:
Markus Wang Halvorsen 2018-02-24 21:09:15 +01:00
parent d984dfb89c
commit 30c8aa2032
7 changed files with 58 additions and 20 deletions

9
dist/pvv.sql vendored
View File

@ -11,13 +11,20 @@ CREATE TABLE "events" (
CREATE TABLE "projects" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT,
"name" TEXT,
"description" TEXT,
"owner" TEXT,
"owneruname" TEXT,
"owneremail" TEXT,
"description" TEXT,
"active" BOOLEAN
);
CREATE TABLE "projectmembers" (
"projectid" INTEGER,
"membername" TEXT,
"memberuname" TEXT,
"role" TEXT
)
CREATE TABLE "users" (
"uname" TEXT,
"groups" INT DEFAULT 0

9
dist/pvv_mysql.sql vendored
View File

@ -11,13 +11,20 @@ CREATE TABLE events (
CREATE TABLE projects (
`id` INTEGER PRIMARY KEY AUTO_INCREMENT,
`name` TEXT,
`description` TEXT,
`owner` TEXT,
`owneruname` TEXT,
`owneremail` TEXT,
`description` TEXT,
`active` BOOLEAN
);
CREATE TABLE projectmembers (
`projectid` INTEGER,
`name` TEXT,
`uname` TEXT,
`role` TEXT
)
CREATE TABLE users (
`uname` TEXT,
`groups` INT DEFAULT 0

View File

@ -74,4 +74,18 @@ class ProjectManager{
return $projects;
}
public function getProjectMembers($id){
$query = 'SELECT * FROM projectmembers WHERE projectid=:id';
$statement = $this->pdo->prepare($query);
$statement->bindParam(':id', $id, PDO::PARAM_STR);
$statement->execute();
$members = [];
foreach($statement->fetchAll() as $dbUsr){
$members[] = ['name' => $dbUsr['name'], 'uname' => $dbUsr['uname'], 'role' => $dbUsr['role']];
}
return $members;
}
}

View File

@ -65,35 +65,36 @@
border-left: 0;
}
.projectowner {
.projectmember {
margin-bottom: 1em;
padding: 0 .5em 0 .5em;
overflow: hidden;
border-left: 4px solid #35a;
}
.projectowner p {
.projectmember p {
margin: 0;
}
.projectowner p {
.projectmember p {
font-size: .8em;
}
.projectowner p:first-child {
.projectmember p:first-child {
font-size: 1em;
margin-bottom: .2em;
}
.owneruname, .owneremail {
.memberuname, .memberemail {
display: inline-block;
color: #888;
}
.owneruname {
.memberuname {
float: left;
}
.owneremail {
.memberemail {
float: right;
}

View File

@ -75,6 +75,7 @@ if($new == 0){
<textarea name="desc" style="width:100%" rows="8" class="boxinput"><?= implode($project->getDescription(), "\n"); ?></textarea>
<?= '<input type="hidden" name="id" value="' . $project->getID() . '" />' ?>
<input type="hidden" name="active" value="1"/>
<div style="margin-top: 2em;">
<hr class="ruler">

View File

@ -11,6 +11,8 @@ if(isset($_GET['id'])){
$projectManager = new \pvv\side\ProjectManager($pdo);
$project = $projectManager->getByID($projectID);
$members = $projectManager->getProjectMembers($projectID);
?>
<head>
@ -36,15 +38,24 @@ $project = $projectManager->getByID($projectID);
<div class="gridl">
<div class="projectlead">
<h2>Prosjektledelse</h2>
<div class="projectowner">
<div class="projectmember">
<p>Prosjekteier</p>
<p class="ownername"><?= $project->getOwner() ?></p>
<p class="owneruname"><?= $project->getOwnerUName(); ?></p>
<p class="owneremail"><?= $project->getOwnerEmail(); ?></p>
<p class="membername"><?= $project->getOwner() ?></p>
<p class="memberuname"><?= $project->getOwnerUName(); ?></p>
<p class="memberemail"><?= $project->getOwnerEmail(); ?></p>
</div>
</div>
<h2>Medlemmer</h2>
<div class="projectmembers">
<h2>Medlemmer</h2>
<?php foreach($members as $i => $data){ ?>
<div class="projectmember">
<p><?= $data['role'] ?></p>
<p class="membername"><?= $data['name'] ?></p>
<p class="memberuname"><?= $data['uname'] ?></p>
</div>
<?php } ?>
</div>
</div>
</main>
</body>

View File

@ -16,11 +16,8 @@ $as = new SimpleSAML_Auth_Simple('default-sp');
$as->requireAuth();
$attrs = $as->getAttributes();
$id = 0;
if(isset($_POST['id'])){
$id = $_POST['id'];
$active = $_POST['active'];
}
$id = $_POST['id'];
$active = $_POST['active'];
$title = $_POST['title'];
$desc = $_POST['desc'];
@ -30,7 +27,7 @@ $owneremail = $attrs['mail'][0];
$statement;
if($id == 0){
$query = 'INSERT INTO projects (name, owner, owneruname, owneremail, description, active) VALUES (:title, :owner, :owneruname, :desc, 1)';
$query = 'INSERT INTO projects (name, owner, owneruname, owneremail, description, active) VALUES (:title, :owner, :owneruname, :owneremail, :desc, 1)';
$statement = $pdo->prepare($query);
$statement->bindParam(':title', $title, PDO::PARAM_STR);