Added: set default vehicle
This commit is contained in:
@ -75,6 +75,18 @@ class VehicleController extends Controller {
|
||||
$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() {
|
||||
if(!$_SERVER['REQUEST_METHOD'] === 'GET') {
|
||||
echo "Wrong method, use GET";
|
||||
|
@ -61,6 +61,39 @@ class Vehicle {
|
||||
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) {
|
||||
try {
|
||||
$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['note'] ?? "") ?></p>
|
||||
<div class="actions">
|
||||
<form method="POST" action="/vehicles/delete">
|
||||
<input type="number" name="vehicle_id" value="<?= $vehicle['id'] ?>" style="display: none">
|
||||
<input type="submit" value="Delete vehicle" class="btn-danger">
|
||||
</form>
|
||||
<form method="POST" action="/vehicles/delete">
|
||||
<input type="number" name="vehicle_id" value="<?= $vehicle['id'] ?>" style="display: none">
|
||||
<input type="submit" value="Delete vehicle" class="btn-danger">
|
||||
</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>
|
||||
<?php endforeach; ?>
|
||||
|
Reference in New Issue
Block a user