Added custom properties and backup settings
This commit is contained in:
@@ -14,6 +14,7 @@ Yacht Management Software (YMS) Installation
|
|||||||
1.2 Native GUI
|
1.2 Native GUI
|
||||||
- Python GTK3
|
- Python GTK3
|
||||||
- python3-gi
|
- python3-gi
|
||||||
|
- python3-pyudev
|
||||||
- gir1.2-gtk-3.0
|
- gir1.2-gtk-3.0
|
||||||
- gir1.2-rsvg-2.0
|
- gir1.2-rsvg-2.0
|
||||||
|
|
||||||
@@ -77,7 +78,7 @@ group (here as example 'yms'). The user which runs the local gui (here
|
|||||||
usermod -aG yms guiuser
|
usermod -aG yms guiuser
|
||||||
chgrp yms /var/local/lib/yms
|
chgrp yms /var/local/lib/yms
|
||||||
chgrp yms /var/local/lib/yms/thumb
|
chgrp yms /var/local/lib/yms/thumb
|
||||||
chmod -R 770 /var/local/yms
|
chmod -R 770 /var/local/lib/yms
|
||||||
|
|
||||||
4. Setup local GUI
|
4. Setup local GUI
|
||||||
|
|
||||||
|
|||||||
@@ -484,6 +484,18 @@ CREATE TABLE note (
|
|||||||
ON DELETE RESTRICT
|
ON DELETE RESTRICT
|
||||||
) ENGINE=InnoDB;
|
) ENGINE=InnoDB;
|
||||||
|
|
||||||
|
/* generic key value store for main objects */
|
||||||
|
CREATE TABLE property (
|
||||||
|
propid int(10) NOT NULL AUTO_INCREMENT,
|
||||||
|
objid int(10) UNSIGNED NOT NULL,
|
||||||
|
objtype enum('vessel','equip','inv','proj','maint'),
|
||||||
|
keyname varchar(32) NOT NULL,
|
||||||
|
valstr varchar(200) DEFAULT NULL,
|
||||||
|
valint int(10) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (propid),
|
||||||
|
INDEX ix_prop_obj (objid, objtype)
|
||||||
|
);
|
||||||
|
|
||||||
CREATE TABLE checklist (
|
CREATE TABLE checklist (
|
||||||
clid smallint(6) NOT NULL AUTO_INCREMENT,
|
clid smallint(6) NOT NULL AUTO_INCREMENT,
|
||||||
title varchar(30) NOT NULL,
|
title varchar(30) NOT NULL,
|
||||||
|
|||||||
+5
-2
@@ -30,7 +30,9 @@ INSERT INTO settings (userid, sno, valstr) VALUES
|
|||||||
(-1, 4, 'currency symbol e.g. €, $, £, ¥'),
|
(-1, 4, 'currency symbol e.g. €, $, £, ¥'),
|
||||||
(-1, 5, 'signalk connection'),
|
(-1, 5, 'signalk connection'),
|
||||||
(-1, 6, 'nmea2000 connection'),
|
(-1, 6, 'nmea2000 connection'),
|
||||||
(-1, 7, 'usb backup device uuid'),
|
(-1, 7, 'usb backup device serial'),
|
||||||
|
(-1, 8, 'usb backup partition uuid'),
|
||||||
|
(-1, 9, 'last backup'),
|
||||||
(-1, 10, 'rows in table'),
|
(-1, 10, 'rows in table'),
|
||||||
(-1, 20, 'maximum image width'),
|
(-1, 20, 'maximum image width'),
|
||||||
(-1, 21, 'maximum image height'),
|
(-1, 21, 'maximum image height'),
|
||||||
@@ -76,7 +78,8 @@ INSERT INTO dropdown (ddid, ddval, ddtext) VALUES
|
|||||||
(0, 10, 'Sicherungsblöcke'), -- fuse locations
|
(0, 10, 'Sicherungsblöcke'), -- fuse locations
|
||||||
(0, 11, 'Kabeltypen'),
|
(0, 11, 'Kabeltypen'),
|
||||||
(0, 12, 'Technische Kabel-Bezeichnung'),
|
(0, 12, 'Technische Kabel-Bezeichnung'),
|
||||||
(0, 13, 'Inventarkategorien');
|
(0, 13, 'Inventarkategorien'),
|
||||||
|
(0, 14, 'BBN vessel.data Felder');
|
||||||
|
|
||||||
INSERT INTO dropdown (ddid, ddval, ddtext, flags) VALUES
|
INSERT INTO dropdown (ddid, ddval, ddtext, flags) VALUES
|
||||||
(2, 1, 'Lieferant', 'fixed'),
|
(2, 1, 'Lieferant', 'fixed'),
|
||||||
|
|||||||
+5
-2
@@ -29,7 +29,9 @@ INSERT INTO settings (userid, sno, valstr) VALUES
|
|||||||
(-1, 4, 'currency symbol e.g. €, $, £, ¥'),
|
(-1, 4, 'currency symbol e.g. €, $, £, ¥'),
|
||||||
(-1, 5, 'signalk connection'),
|
(-1, 5, 'signalk connection'),
|
||||||
(-1, 6, 'nmea2000 connection'),
|
(-1, 6, 'nmea2000 connection'),
|
||||||
(-1, 7, 'usb backup device uuid'),
|
(-1, 7, 'usb backup device serial'),
|
||||||
|
(-1, 8, 'usb backup partition uuid'),
|
||||||
|
(-1, 9, 'last backup'),
|
||||||
(-1, 10, 'rows in table'),
|
(-1, 10, 'rows in table'),
|
||||||
(-1, 20, 'maximum image width'),
|
(-1, 20, 'maximum image width'),
|
||||||
(-1, 21, 'maximum image height'),
|
(-1, 21, 'maximum image height'),
|
||||||
@@ -75,7 +77,8 @@ INSERT INTO dropdown (ddid, ddval, ddtext) VALUES
|
|||||||
(0, 10, 'fuse blocks'),
|
(0, 10, 'fuse blocks'),
|
||||||
(0, 11, 'cable types'),
|
(0, 11, 'cable types'),
|
||||||
(0, 12, 'cable desc. technical'),
|
(0, 12, 'cable desc. technical'),
|
||||||
(0, 13, 'inventory category');
|
(0, 13, 'inventory category'),
|
||||||
|
(0, 14, 'BBN vessel.data fields');
|
||||||
|
|
||||||
INSERT INTO dropdown (ddid, ddval, ddtext, flags) VALUES
|
INSERT INTO dropdown (ddid, ddval, ddtext, flags) VALUES
|
||||||
(2, 1, 'Supplier', 'fixed'),
|
(2, 1, 'Supplier', 'fixed'),
|
||||||
|
|||||||
Vendored
+1
@@ -18,6 +18,7 @@ Depends:
|
|||||||
gir1.2-rsvg-2.0,
|
gir1.2-rsvg-2.0,
|
||||||
python3-mysqldb,
|
python3-mysqldb,
|
||||||
python3-bcrypt,
|
python3-bcrypt,
|
||||||
|
python3-pyudev,
|
||||||
php (>= 8.0),
|
php (>= 8.0),
|
||||||
php-mysql,
|
php-mysql,
|
||||||
php-xml,
|
php-xml,
|
||||||
|
|||||||
@@ -478,6 +478,21 @@ if (!empty($equipment->x)) {
|
|||||||
}
|
}
|
||||||
echo '<tr><th>', _('Remarks'),"</th><td>", h($equipment->remarks, br:true), "</td></tr>\n";
|
echo '<tr><th>', _('Remarks'),"</th><td>", h($equipment->remarks, br:true), "</td></tr>\n";
|
||||||
echo '<tr><th>', _('Flags'),"</th><td>", $equipment->flags, "</td></tr>\n";
|
echo '<tr><th>', _('Flags'),"</th><td>", $equipment->flags, "</td></tr>\n";
|
||||||
|
|
||||||
|
// Custom properties
|
||||||
|
$sql = "SELECT keyname, valstr, valint FROM property WHERE objtype='equip' AND objid=?";
|
||||||
|
$sth = $pdo->prepare($sql);
|
||||||
|
$sth->execute([$id]);
|
||||||
|
foreach ($sth->fetchAll() as $row) {
|
||||||
|
echo "<tr><th>{$row['keyname']}</th><td>";
|
||||||
|
if (isset($row['valstr'])) {
|
||||||
|
echo $row['valstr'];
|
||||||
|
} else {
|
||||||
|
echo $row['valint'];
|
||||||
|
}
|
||||||
|
echo "</td></tr>\n";
|
||||||
|
}
|
||||||
|
|
||||||
echo "</table>\n";
|
echo "</table>\n";
|
||||||
|
|
||||||
echo '</div>'; // Column break
|
echo '</div>'; // Column break
|
||||||
|
|||||||
@@ -406,6 +406,20 @@ echo "<tr><th>", _('Remarks'), "</th><td>", h($inventory->remarks, br:true), "</
|
|||||||
$tags = db_load_taglist('inv', $id);
|
$tags = db_load_taglist('inv', $id);
|
||||||
form_tag_assignment($g_scriptname, $id, $tags);
|
form_tag_assignment($g_scriptname, $id, $tags);
|
||||||
|
|
||||||
|
// Custom properties
|
||||||
|
$sql = "SELECT keyname, valstr, valint FROM property WHERE objtype='inv' AND objid=?";
|
||||||
|
$sth = $pdo->prepare($sql);
|
||||||
|
$sth->execute([$id]);
|
||||||
|
foreach ($sth->fetchAll() as $row) {
|
||||||
|
echo "<tr><th>{$row['keyname']}</th><td>";
|
||||||
|
if (isset($row['valstr'])) {
|
||||||
|
echo $row['valstr'];
|
||||||
|
} else {
|
||||||
|
echo $row['valint'];
|
||||||
|
}
|
||||||
|
echo "</td>\n";
|
||||||
|
}
|
||||||
|
|
||||||
echo "</table>\n";
|
echo "</table>\n";
|
||||||
|
|
||||||
form_view_buttons($g_scriptname, $id);
|
form_view_buttons($g_scriptname, $id);
|
||||||
|
|||||||
@@ -290,6 +290,21 @@ echo '<tr><th>', _('Last'),"</th><td>", $maint->last_hours, "</td></tr>\n";
|
|||||||
echo '<tr><th>', _('Plan date'),"</th><td>", format_date($maint->plan_date), "</td></tr>\n";
|
echo '<tr><th>', _('Plan date'),"</th><td>", format_date($maint->plan_date), "</td></tr>\n";
|
||||||
echo '<tr><th>', _('Completion date'),"</th><td>", format_date($maint->completion_date), "</td></tr>\n";
|
echo '<tr><th>', _('Completion date'),"</th><td>", format_date($maint->completion_date), "</td></tr>\n";
|
||||||
echo '<tr><th scope="row">', _('State'),"</th><td>", get_enum($maint->maintstate), "</td></tr>\n";
|
echo '<tr><th scope="row">', _('State'),"</th><td>", get_enum($maint->maintstate), "</td></tr>\n";
|
||||||
|
|
||||||
|
// Custom properties
|
||||||
|
$sql = "SELECT keyname, valstr, valint FROM property WHERE objtype='maint' AND objid=?";
|
||||||
|
$sth = $pdo->prepare($sql);
|
||||||
|
$sth->execute([$id]);
|
||||||
|
foreach ($sth->fetchAll() as $row) {
|
||||||
|
echo "<tr><th>{$row['keyname']}</th><td>";
|
||||||
|
if (isset($row['valstr'])) {
|
||||||
|
echo $row['valstr'];
|
||||||
|
} else {
|
||||||
|
echo $row['valint'];
|
||||||
|
}
|
||||||
|
echo "</td></tr>\n";
|
||||||
|
}
|
||||||
|
|
||||||
echo "</table>\n";
|
echo "</table>\n";
|
||||||
|
|
||||||
echo '</div>'; // Column break
|
echo '</div>'; // Column break
|
||||||
|
|||||||
@@ -316,6 +316,21 @@ echo '<tr><th scope="row">', _('Costs plan'),"</th><td>", format_currency($proje
|
|||||||
echo '<tr><th scope="row">', _('Costs final'),"</th><td>", format_currency($project->costs_final), "</td></tr>\n";
|
echo '<tr><th scope="row">', _('Costs final'),"</th><td>", format_currency($project->costs_final), "</td></tr>\n";
|
||||||
echo '<tr><th scope="row">', _('State'),"</th><td>", get_enum($project->projstate), "</td></tr>\n";
|
echo '<tr><th scope="row">', _('State'),"</th><td>", get_enum($project->projstate), "</td></tr>\n";
|
||||||
echo '<tr><th scope="row">', _('Remarks'),"</th><td>", h($project->remarks, br:true), "</td></tr>\n";
|
echo '<tr><th scope="row">', _('Remarks'),"</th><td>", h($project->remarks, br:true), "</td></tr>\n";
|
||||||
|
|
||||||
|
// Custom properties go here
|
||||||
|
$sql = "SELECT keyname, valstr, valint FROM property WHERE objtype='proj' AND objid=?";
|
||||||
|
$sth = $pdo->prepare($sql);
|
||||||
|
$sth->execute([$id]);
|
||||||
|
foreach ($sth->fetchAll() as $row) {
|
||||||
|
echo "<tr><th>{$row['keyname']}</th><td>";
|
||||||
|
if (isset($row['valstr'])) {
|
||||||
|
echo $row['valstr'];
|
||||||
|
} else {
|
||||||
|
echo $row['valint'];
|
||||||
|
}
|
||||||
|
echo "</td></tr>\n";
|
||||||
|
}
|
||||||
|
|
||||||
echo "</table>\n";
|
echo "</table>\n";
|
||||||
|
|
||||||
form_view_buttons($g_scriptname, $id);
|
form_view_buttons($g_scriptname, $id);
|
||||||
|
|||||||
Reference in New Issue
Block a user