Skip to content
Snippets Groups Projects
Commit d899c943 authored by Robert Goldmann's avatar Robert Goldmann
Browse files

implemented adminarea --> add/update/delete roadmap

parent 20716ce9
Branches
Tags
No related merge requests found
...@@ -120,3 +120,7 @@ ...@@ -120,3 +120,7 @@
.milestone-content { .milestone-content {
display: none; display: none;
} }
.tiny-button:hover{
cursor: pointer;
}
\ No newline at end of file
...@@ -33,6 +33,20 @@ $(document).ready(function() ...@@ -33,6 +33,20 @@ $(document).ready(function()
}); });
} }
$('.button-save-roadmap').click(function()
{
editRoadmap(this.dataset.id, $('#project-name').val());
});
$('.button-delete-roadmap').click(function()
{
var r = confirm("Do you really want to delete this roadmap?");
if(r == true)
{
deleteRoadmap(this.dataset.id);
}
});
createTrainMap(); createTrainMap();
}); });
...@@ -76,3 +90,93 @@ function createTrainMap() ...@@ -76,3 +90,93 @@ function createTrainMap()
smallLines[i].style.height = (height - 2) + "px"; smallLines[i].style.height = (height - 2) + "px";
} }
} }
function editRoadmap(roadmap_ID, projectname)
{
if(isNull(projectname))
{
alert("Project Name shouldn't be empty!");
return;
}
if(roadmap_ID == "0")
{
//insert new roadmap
$.post('../admin/helper/edit-roadmap.php',
{
"project-name": projectname,
"edit": "false"
}, function(data, error)
{
data = data.toString().trim();
switch(data)
{
case "error":
alert('An error occurred');
break;
case "error-edit":
alert('An error occurred while editing the roadmap with the ID ' + roadmap_ID);
break;
case "error-insert":
alert('An error occurred while inserting the new roadmap');
break;
default:
window.location.href = "../admin/admin-roadmaps.php";
break;
}
});
}
else
{
//edit existing roadmap
$.post('../admin/helper/edit-roadmap.php',
{
"ID": roadmap_ID,
"project-name": projectname,
"edit": "true"
}, function(data, error)
{
data = data.toString().trim();
switch(data)
{
case "error":
alert('An error occurred');
break;
case "error-edit":
alert('An error occurred while editing the roadmap with the ID ' + roadmap_ID);
break;
case "error-insert":
alert('An error occurred while inserting the new roadmap');
break;
default:
window.location.href = "../admin/admin-roadmaps.php";
break;
}
});
}
}
function deleteRoadmap(roadmap_ID)
{
$.post('../admin/helper/delete-roadmap.php',
{
"roadmap_ID": roadmap_ID,
}, function(data, error)
{
data = data.toString().trim();
if(data != "error")
{
window.location.href = "../admin/admin-roadmaps.php";
}
else
{
alert('An error occurred while deleting the roadmap with the ID ' + roadmap_ID);
}
});
}
\ No newline at end of file
<!DOCTYPE html>
<?php
include_once('../getLanguageJSON.php');
include_once('../mysql.php');
if(!isset($_GET['edit']))
{
$_GET['edit'] = "false";
$_GET['id'] = 0;
$db = new DB();
$db->createTables();
$projectName = '';
}
else
{
if(!isset($_GET['id']))
{
header('Location: error.php?message=error_param_missing');
exit;
}
$ID = $_GET['id'];
if(!is_numeric($ID) || $ID < 1)
{
header('Location: error.php?message=error_param_invalid');
exit;
}
$db = new DB();
$db->createTables();
$projectName = $db->getRoadmap($ID);
if($projectName == false)
{
header('Location: error.php?message=error_roadmap_not_existing');
exit;
}
$projectName = $projectName["Projectname"];
}
?>
<html xmlns="http://www.w3.org/1999/html">
<head>
<meta charset="UTF-8"/>
<?php
if($_GET['edit'] == "false")
{
echo '<title>New Roadmap</title>';
}
else
{
echo '<title>Edit Roadmap</title>';
}
?>
<!--Import Google Icon Font-->
<link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link type="text/css" rel="stylesheet" href="../../materialize/css/materialize.min.css" media="screen,projection"/>
<link type="text/css" rel="stylesheet" href="../../css/style.css"/>
<!--Import jQuery before materialize.js-->
<script type="text/javascript" src="../../js/jquery-2.2.4.min.js"></script>
<script type="text/javascript" src="../../materialize/js/materialize.min.js"></script>
<script type="text/javascript" src="../../js/main.js"></script>
<script type="text/javascript" src="../../js/ResizeSensor.js"></script>
<script type="text/javascript" src="../../js/ElementQueries.js"></script>
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
</head>
<body class="grey lighten-3">
<div id="main">
<div class="container">
<?php
if($_GET['edit'] == "false")
{
echo '<h2 class="center-align" id="headline">New Roadmap</h2>';
}
else
{
echo '<h2 class="center-align" id="headline">Edit Roadmap</h2>';
}
?>
<div class="row center-align">
<div class="col s12 m8 offset-m2 l6 offset-l3">
<div class="input-field col s12">
<input id="project-name" name="project-name" type="text" value="<?php echo $projectName;?>">
<label for="project-name">Project Name</label>
</div>
</div>
</div>
<div class="row center-align margin-top">
<div class="col s12 m8 offset-m2 l6 offset-l3">
<a class="waves-effect waves-light btn blue darken-3" href="admin-roadmaps.php"><i class="material-icons left">arrow_back</i>Back</a>
<a class="waves-effect waves-light btn blue darken-3 margin-left button-save-roadmap" data-id="<?php echo $_GET['id'];?>"><i class="material-icons left">save</i>Save</a>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<?php
include_once('../getLanguageJSON.php');
include_once('../mysql.php');
$db = new DB();
$db->createTables();
?>
<html xmlns="http://www.w3.org/1999/html">
<head>
<meta charset="UTF-8"/>
<title>Roadmaps - Adminarea</title>
<!--Import Google Icon Font-->
<link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link type="text/css" rel="stylesheet" href="../../materialize/css/materialize.min.css" media="screen,projection"/>
<link type="text/css" rel="stylesheet" href="../../css/style.css"/>
<!--Import jQuery before materialize.js-->
<script type="text/javascript" src="../../js/jquery-2.2.4.min.js"></script>
<script type="text/javascript" src="../../materialize/js/materialize.min.js"></script>
<script type="text/javascript" src="../../js/main.js"></script>
<script type="text/javascript" src="../../js/ResizeSensor.js"></script>
<script type="text/javascript" src="../../js/ElementQueries.js"></script>
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
</head>
<body class="grey lighten-3">
<div id="main">
<div class="container">
<h2 class="center-align" id="headline">Roadmaps</h2>
<div class="row">
<div class="col s12 m8 offset-m2 l6 offset-l3 center-align">
<a class="waves-effect waves-light btn blue darken-3" href="admin-edit-roadmap.php"><i class="material-icons left">add</i>New</a>
</div>
</div>
<div class="row">
<div class="col s12 m8 offset-m2 l6 offset-l3">
<table class="bordered">
<thead>
<tr>
<th data-field="id">ID</th>
<th data-field="project-name">Project Name</th>
</tr>
</thead>
<tbody>
<?php
$roadmaps = $db->getRoadmaps();
if($roadmaps == false)
{
header('Location: error.php?message=error_database_connection');
exit;
}
else
{
for($i = 0; $i < sizeof($roadmaps); $i++)
{
echo '<tr>'.
'<td>'.$roadmaps[$i]['ID'].'</td>'.
'<td>'.$roadmaps[$i]['Projectname'].'</td>'.
'<td class="right-align">'.
'<a class="btn-flat" href="admin-edit-roadmap.php?id='.$roadmaps[$i]['ID'].'&edit=true"><i class="material-icons left">edit</i></a>'.
'<a class="btn-flat button-delete-roadmap" data-id="'.$roadmaps[$i]['ID'].'"><i class="material-icons left">delete</i></a>'.
'</td>'.
'</tr>';
}
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
<?php
include_once('../../mysql.php');
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(!isset($_POST['roadmap_ID']))
{
echo "error";
exit;
}
$db = new DB();
$db->createTables();
if($db->deleteRoadmap($_POST['roadmap_ID']) == false)
{
echo "error2";
exit;
}
else
{
echo "success";
exit;
}
}
else
{
echo "error";
exit;
}
\ No newline at end of file
<?php
include_once('../../mysql.php');
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(!isset($_POST['edit']))
{
echo "error";
exit;
}
if($_POST['edit'] == "true")
{
if(!isset($_POST['ID']))
{
echo "error-edit";
exit;
}
if(!isset($_POST['project-name']))
{
echo "error-edit";
exit;
}
$db = new DB();
$db->createTables();
if($db->updateRoadmap($_POST['ID'], $_POST['project-name']) == false)
{
echo "error-edit";
exit;
}
else
{
echo "success";
exit;
}
}
else
{
if(!isset($_POST['project-name']))
{
echo "error-insert";
exit;
}
$db = new DB();
$db->createTables();
if($db->insertRoadmap($_POST['project-name']) == false)
{
echo "error-insert";
exit;
}
else
{
echo "success";
exit;
}
}
}
else
{
echo "error";
exit;
}
\ No newline at end of file
...@@ -207,6 +207,15 @@ class DB ...@@ -207,6 +207,15 @@ class DB
return $statement->fetch(); return $statement->fetch();
} }
function getRoadmaps()
{
$statement = self::$db->prepare("SELECT * FROM roadmaps ORDER BY ID;");
$statement->bindParam("roadmapID", $roadmapID);
$statement->execute();
return $statement->fetchAll();
}
function getMilestones($roadmapID) function getMilestones($roadmapID)
{ {
$statement = self::$db->prepare("SELECT * FROM milestones WHERE milestones.roadmapID=:roadmapID ORDER BY VersionCode DESC;"); $statement = self::$db->prepare("SELECT * FROM milestones WHERE milestones.roadmapID=:roadmapID ORDER BY VersionCode DESC;");
...@@ -260,4 +269,44 @@ class DB ...@@ -260,4 +269,44 @@ class DB
return $statement->fetch(); return $statement->fetch();
} }
//========================================
//--------------- delete -----------------
//========================================
function deleteRoadmap($roadmapID)
{
$statement = self::$db->prepare("DELETE FROM roadmaps WHERE roadmaps.ID=:roadmapID;");
$statement->bindParam("roadmapID", $roadmapID);
$statement->execute();
return $statement->execute();
}
function deleteMilestone($milestoneID)
{
$statement = self::$db->prepare("DELETE FROM milestones WHERE milestones.ID=:milestoneID;");
$statement->bindParam("milestoneID", $milestoneID);
$statement->execute();
return $statement->execute();
}
function deleteTask($taskID)
{
$statement = self::$db->prepare("DELETE FROM tasks WHERE tasks.ID=:taskID;");
$statement->bindParam("taskID", $taskID);
$statement->execute();
return $statement->execute();
}
function deleteSubtask($subtaskID)
{
$statement = self::$db->prepare("DELETE FROM subtasks WHERE subtasks.ID=:subtaskID;");
$statement->bindParam("subtaskID", $subtaskID);
$statement->execute();
return $statement->execute();
}
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment