Added: set default vehicle
This commit is contained in:
parent
ea3afa2507
commit
64c7fd15a1
4
TODO.md
4
TODO.md
@ -25,8 +25,8 @@
|
|||||||
## What has to be done
|
## What has to be done
|
||||||
- [x] Vehicle delete
|
- [x] Vehicle delete
|
||||||
- [ ] intro tutorial when no car exist or just dont show anything
|
- [ ] intro tutorial when no car exist or just dont show anything
|
||||||
- [ ] change/set default car
|
- [x] change/set default car
|
||||||
- [ ] hide errors
|
- [x] hide errors
|
||||||
|
|
||||||
## Nice to have
|
## Nice to have
|
||||||
- [ ] specific car view - charts, fuel records
|
- [ ] specific car view - charts, fuel records
|
||||||
|
@ -75,6 +75,18 @@ class VehicleController extends Controller {
|
|||||||
$this->view('vehicles/index', ['title' => 'Vehicles', 'vehicles' => $vehicles]);
|
$this->view('vehicles/index', ['title' => 'Vehicles', 'vehicles' => $vehicles]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setDefault() {
|
||||||
|
$vehicle = new Vehicle();
|
||||||
|
// TODO: Validate the request
|
||||||
|
$result = $vehicle->setDefaultVehicle($_POST['vehicle_id'], $_SESSION['user']['id']);
|
||||||
|
if($result != true) {
|
||||||
|
echo "Something went wrong";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->view('vehicles/index', ['title' => 'Vehicles', 'vehicles' => $vehicles]);
|
||||||
|
}
|
||||||
|
|
||||||
public function api_get() {
|
public function api_get() {
|
||||||
if(!$_SERVER['REQUEST_METHOD'] === 'GET') {
|
if(!$_SERVER['REQUEST_METHOD'] === 'GET') {
|
||||||
echo "Wrong method, use GET";
|
echo "Wrong method, use GET";
|
||||||
|
@ -61,6 +61,39 @@ class Vehicle {
|
|||||||
return $result->fetch_assoc();
|
return $result->fetch_assoc();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setDefaultVehicle($vehicle_id, $user_id) {
|
||||||
|
try {
|
||||||
|
$this->db->begin_transaction();
|
||||||
|
|
||||||
|
$stmt = $this->db->prepare("
|
||||||
|
UPDATE `vehicles`
|
||||||
|
SET `is_default` = 0
|
||||||
|
WHERE `user_id` = ? AND `is_default` = 1
|
||||||
|
");
|
||||||
|
$stmt->bind_param("i", $user_id);
|
||||||
|
$stmt->execute();
|
||||||
|
$stmt->close();
|
||||||
|
|
||||||
|
$stmt = $this->db->prepare("
|
||||||
|
UPDATE `vehicles`
|
||||||
|
SET `is_default` = 1
|
||||||
|
WHERE `id` = ? AND `user_id` = ?
|
||||||
|
");
|
||||||
|
$stmt->bind_param("ii", $vehicle_id, $user_id);
|
||||||
|
|
||||||
|
if ($stmt->execute()) {
|
||||||
|
$this->db->commit();
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
$this->db->rollback();
|
||||||
|
return "Error: " . $stmt->error;
|
||||||
|
}
|
||||||
|
} catch (mysqli_sql_exception $e) {
|
||||||
|
$this->db->rollback();
|
||||||
|
return $e->getMessage();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function delete($vehicle_id, $user_id) {
|
public function delete($vehicle_id, $user_id) {
|
||||||
try {
|
try {
|
||||||
$stmt = $this->db->prepare("SELECT id FROM vehicles WHERE id = ? AND user_id = ?");
|
$stmt = $this->db->prepare("SELECT id FROM vehicles WHERE id = ? AND user_id = ?");
|
||||||
|
@ -14,10 +14,15 @@
|
|||||||
<p><?= htmlspecialchars($vehicle['fuel_type']) ?></p>
|
<p><?= htmlspecialchars($vehicle['fuel_type']) ?></p>
|
||||||
<p><?= htmlspecialchars($vehicle['note'] ?? "") ?></p>
|
<p><?= htmlspecialchars($vehicle['note'] ?? "") ?></p>
|
||||||
<div class="actions">
|
<div class="actions">
|
||||||
<form method="POST" action="/vehicles/delete">
|
<form method="POST" action="/vehicles/delete">
|
||||||
<input type="number" name="vehicle_id" value="<?= $vehicle['id'] ?>" style="display: none">
|
<input type="number" name="vehicle_id" value="<?= $vehicle['id'] ?>" style="display: none">
|
||||||
<input type="submit" value="Delete vehicle" class="btn-danger">
|
<input type="submit" value="Delete vehicle" class="btn-danger">
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
<form method="POST" action="/vehicles/default">
|
||||||
|
<input type="number" name="vehicle_id" value="<?= $vehicle['id'] ?>" style="display: none">
|
||||||
|
<input type="submit" value="Set default" class="btn-primary">
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
|
@ -47,6 +47,7 @@ $router->group('/vehicles', ['RequireAuth'], function ($router) {
|
|||||||
$router->add('/create', 'VehicleController@create');
|
$router->add('/create', 'VehicleController@create');
|
||||||
$router->add('/edit/{id}', 'VehicleController@edit');
|
$router->add('/edit/{id}', 'VehicleController@edit');
|
||||||
$router->add('/delete', 'VehicleController@delete');
|
$router->add('/delete', 'VehicleController@delete');
|
||||||
|
$router->add('/default', 'VehicleController@setDefault');
|
||||||
});
|
});
|
||||||
|
|
||||||
$router->group('/refuel', ['RequireAuth'], function ($router) {
|
$router->group('/refuel', ['RequireAuth'], function ($router) {
|
||||||
|
Loading…
Reference in New Issue
Block a user