You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
4.4 KiB
PHP
94 lines
4.4 KiB
PHP
<?php
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
require_once __DIR__ . '/../required.php';
|
|
|
|
redirectifnotloggedin();
|
|
?>
|
|
<div class="card border-blue-grey">
|
|
<h3 class="card-header text-blue-grey">
|
|
<i class="fas fa-edit"></i> <?php
|
|
if (is_empty($VARS['taskid'])) {
|
|
$Strings->get("add task");
|
|
} else {
|
|
$Strings->get("edit task");
|
|
}
|
|
?>
|
|
</h3>
|
|
|
|
<?php
|
|
if (!is_empty($VARS['taskid'])) {
|
|
$taskid = $VARS['taskid'];
|
|
|
|
$managed_users = (new User($_SESSION['uid']))->getManagedUsers();
|
|
$managed_uids = [];
|
|
foreach ($managed_users as $u) {
|
|
$managed_uids[] = $u->getUID();
|
|
}
|
|
// There needs to be at least one entry otherwise the SQL query craps itself
|
|
if (count($managed_uids) < 1) {
|
|
$managed_uids = [-1];
|
|
}
|
|
$allowed = $database->has('tasks', [
|
|
'[>]assigned_tasks' => [
|
|
'taskid' => 'taskid'
|
|
]
|
|
], [
|
|
"AND" => [
|
|
"OR" => [
|
|
'tasks.taskcreatoruid' => $_SESSION['uid'],
|
|
'assigned_tasks.userid' => $managed_uids
|
|
],
|
|
"tasks.taskid" => $taskid
|
|
]]);
|
|
|
|
if (!$allowed) {
|
|
header("Location: app.php?page=edittask&msg=task_edit_not_allowed");
|
|
die($Strings->get("task edit not allowed", false));
|
|
}
|
|
}
|
|
|
|
if (!is_empty($taskid)) {
|
|
$task = $database->select('tasks', '*', ['taskid' => $taskid])[0];
|
|
}
|
|
if (!is_empty($taskid) && $database->has('assigned_tasks', ['taskid' => $taskid])) {
|
|
$tass = $database->select('assigned_tasks', '*', ['taskid' => $taskid])[0];
|
|
} else {
|
|
$tass['userid'] = null;
|
|
}
|
|
?>
|
|
<form action="action.php" method="GET" onsubmit="prettysave();">
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-12 mb-3">
|
|
<?php $Strings->get("task title") ?>: <input type="text" name="tasktitle" placeholder="<?php $Strings->get("task title") ?>" required="required" class="form-control" value="<?php echo $task['tasktitle']; ?>"/>
|
|
</div>
|
|
<div class="col-12 mb-3">
|
|
<?php $Strings->get("task description") ?>:<br />
|
|
<textarea name="taskdesc" id="taskdesc" class="form-control"><?php echo $task['taskdesc']; ?></textarea>
|
|
</div>
|
|
<div class="col-12 col-lg-4 mb-3">
|
|
<?php $Strings->get("assigned to") ?>:
|
|
<input type="text" id="assigned-to-box" name="assignedto" class="form-control" autocomplete="off" value="<?php echo (is_null($tass['userid']) ? "" : (new User($tass['userid']))->getUsername() ); ?>" placeholder="<?php $Strings->get("nobody") ?>" />
|
|
</div>
|
|
<div class="col-12 col-md-6 col-lg-4 mb-3">
|
|
<?php $Strings->get("assigned on 2") ?>: <input type="text" class="form-control" id="assigned-on-box" name="taskassignedon" data-toggle="datetimepicker" data-target="#assigned-on-box" value="<?php echo (is_empty($task['taskassignedon']) ? "" : date("D F j, Y g:i a"/* 'Y-m-d\TH:i' */, strtotime($task['taskassignedon']))); ?>" />
|
|
</div>
|
|
<div class="col-12 col-md-6 col-lg-4">
|
|
<?php $Strings->get("due by 2") ?>: <input type="text" class="form-control" id="due-by-box" name="taskdueby" data-toggle="datetimepicker" data-target="#due-by-box" value="<?php echo (is_empty($task['taskdueby']) ? "" : date("D F j, Y g:i a", strtotime($task['taskdueby']))); ?>"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<input type="hidden" name="action" value="edittask" />
|
|
<?php if (!is_empty($taskid)) { ?>
|
|
<input type="hidden" name="taskid" value="<?php echo $taskid; ?>" />
|
|
<?php } ?>
|
|
<div class="card-footer d-flex">
|
|
<button id="savebtn" type="submit" class="btn btn-success mr-auto"><i class="fas fa-save"></i> <?php $Strings->get("save task") ?></button>
|
|
<a class="btn btn-warning" href="app.php?page=taskman"><i class="fas fa-times"></i> <?php $Strings->get("exit") ?></a>
|
|
</div>
|
|
</form>
|
|
</div>
|