More work an webgui

This commit is contained in:
2024-04-10 20:13:37 +02:00
parent 4b5ba85a77
commit aaa452cbb5
20 changed files with 842 additions and 359 deletions
+18 -5
View File
@@ -78,6 +78,8 @@ switch ($submit = form_get_action()) {
$p[':draught_min'] = gpc_get_float($_POST, 'draught_min');
$p[':displacement'] = gpc_get_int($_POST, 'displacement');
$p[':ballast'] = gpc_get_int($_POST, 'ballast');
$p[':beltpos_aft'] = gpc_get_float($_POST, 'beltpos_aft');
$p[':beltpos_bow'] = gpc_get_float($_POST, 'beltpos_bow');
$p[':remarks'] = gpc_get_string($_POST, 'remarks', 150);
$fields = join(',', array_map(function($s) { return ltrim($s, ':') . '=' . $s; }, array_keys($p)));
$sth = $pdo->prepare("UPDATE vessel SET $fields WHERE vid=:vid");
@@ -141,7 +143,7 @@ echo "</form>\n";
// Get current vessel data
$sql = "SELECT vesselname, model, loa, lwl, beam, draught, draught_min,"
. " displacement, ballast, remarks "
. " displacement, ballast, beltpos_aft, beltpos_bow, remarks "
. "FROM vessel "
. "WHERE vid=?";
$sth = $pdo->prepare($sql);
@@ -199,11 +201,13 @@ $vessel = $sth->fetch();
<tr><td><?=_('Draught, min.')?></td><td><?=format_float($vessel['draught_min'], 2, 'm')?></td></tr>
<tr><td><?=_('Displacement')?></td><td><?=$vessel['displacement']?>&thinsp;kg</td></tr>
<tr><td><?=_('Ballast')?></td><td><?=$vessel['ballast']?>&thinsp;kg</td></tr>
<tr><td><?=_('Belt position aft')?></td><td><?=format_float($vessel['beltpos_aft'], 2, 'm')?></td></tr>
<tr><td><?=_('Belt position bow')?></td><td><?=format_float($vessel['beltpos_bow'], 2, 'm')?></td></tr>
</table>
<?php
// Edit vessel only for captain
if ($user->role == 'captain') {
echo '<a href="', $script, '?f=edit&id=', $user->vid, '" class="btn btn-primary" role="button">', _('Edit'), "</a>\n";
echo '<a href="', $g_scriptname, '?f=edit&id=', $user->vid, '" class="btn btn-primary" role="button">', _('Edit'), "</a>\n";
}
?>
</div>
@@ -219,7 +223,8 @@ if ($user->role == 'captain') {
// Statistics
// Storage: 0 - default, 1 - tank
$stype = [ 0 => _('Default'), 1 => _('Tank')];
// $stype = [ 0 => _('Default'), 1 => _('Tank')];
$stype = db_get_options(3);
$sql = "SELECT stype, COUNT(stype) "
. "FROM storage "
. "WHERE vid=? "
@@ -301,7 +306,7 @@ elseif ($action == ACT_ADD):
echo '<h2>', _('Add additional yacht'), "</h2>\n";
?>
<form method="post">
<form method="post" action="<?=$g_scriptname?>">
<div class="mb-3">
<label for="vesselname" class="form-label"><?=_('Name')?></label>
<input type="text" class="form-control" id="vesselname" name="vesselname" required autofocus>
@@ -326,7 +331,7 @@ elseif ($action == ACT_EDIT):
// ========== VARIANT: edit single record =====================================
$sql = "SELECT vesselname, vtype, model, loa, lwl, beam, draught, draught_min,"
. " displacement, ballast, remarks "
. " displacement, ballast, beltpos_aft, beltpos_bow, remarks "
. "FROM vessel "
. "WHERE vid=?";
$sth = $pdo->prepare($sql);
@@ -372,6 +377,14 @@ $vessel = $sth->fetch(PDO::FETCH_OBJ);
<label for="ballast" class="form-label"><?=_('Ballast')?></label>
<input type="number" input-mode="decimal" min="0" max="100000" step="1" class="form-control" id="ballast" name="ballast" value="<?=$vessel->ballast ?>">
</div>
<div class="mb-3">
<label for="beltpos_aft" class="form-label"><?=_('Belt position aft')?></label>
<input type="text" class="form-control" id="beltpos_aft" name="beltpos_aft" value="<?=format_float($vessel->beltpos_aft, 2) ?>">
</div>
<div class="mb-3">
<label for="beltpos_bow" class="form-label"><?=_('Belt position bow')?></label>
<input type="text" class="form-control" id="beltpos_bow" name="beltpos_bow" value="<?=format_float($vessel->beltpos_bow, 2) ?>">
</div>
<div class="mb-3">
<label for="remarks" class="form-label"><?=_('Remarks')?></label>
<textarea class="form-control" id="remarks" name="remarks" rows="3"><?=$vessel->remarks ?></textarea>