Incorporated changes for release 1.1.1

This commit is contained in:
2026-02-14 11:26:01 -05:00
parent a6331f7fed
commit 16d1ff9bb8
45 changed files with 459 additions and 155 deletions

View File

@@ -1,5 +1,5 @@
OpenDRS - Online Discrepancy Reporting System
Copyright (C) 2018 Rod Wright
Copyright (C) 2020 Rod Wright
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -27,17 +27,37 @@ Changelog
back button in terminal mode.
- Added configurable help text for period effective selection.
- Changed Sim period effective from selection to yes/no radio buttons.
- Writeup groups page shows collapsed list of groups. Click the expand icon
to expand each group.
- Fixed bug where entries made on stale create page had inaccurate date/time.
- For logged in users, added the ability to select writeups directly on the
View All Writeups page and assign/create a group.
- On the Create New Writeup page, removed the default selections for Device,
Subsystem, and Period dropdowns, forcing user to make a selection.
- Writeup groups page shows collapsed list of groups. Click the expand
icon to expand each group.
- Fixed bug where entries made on stale create page had inaccurate
date/time.
- For logged in users, added the ability to select writeups directly on
the View All Writeups page and assign/create a group.
- On the Create New Writeup page, removed the default selections for
Device, Subsystem, and Period dropdowns, forcing user to make a
selection.
- Added a Today button to the View All Writeups page
- Changed the Period dropdowns on the Create, Search, and Group pages to show
the times instead of the period numbers. Period numbers are still shown
in the results tables with mouse hover showing times.
- Changed the Period dropdowns on the Create, Search, and Group pages to
show the times instead of the period numbers. Period numbers are
still shown in the results tables with mouse hover showing times.
- Moved all installation/upgrade functions to the install.sh script.
1.1.1 - 2020-04-09
- Fixed opendrs-update.sql to rename the trainers table.
- Fixed bug where the About page didn't show the version number.
- Fixed some grammar on the About page.
- Fixed hardcoded help text in groups.php to use constant from config.
- Added ID to searchable parameters in search.php.
- Added sort parameters to search results.
- Added a link for Admins to access the local Webmin to manage a terminal.
- For Raspberry Pi:
- In terminal setup, provided missing .profile and
.config/openbox/rc.xml files.
- In server setup, install mariadb-server since
mysql-server is obsolete.
- Changed startdrs.sh to re-enable ctrl keys for copy/paste, etc. Also
added chromium flags to prevent update popup.
- Added openbox keybindings to customer user's rc.xml to trap dangerous
chromium hotkey combinations and enable ctrl-alt-del reboot.
- Changed systemd ctrl-alt-del.target symlink to point to
reboot.target.

View File

@@ -14,7 +14,7 @@ follow the prompts.
4. Log in
Click on the Log In menu option on the main page. If this is a fresh
installation The initial user is drsadmin and the initial password
is OpenDRS-1. It is highly recommended that you changethis password
is OpenDRS-1. It is highly recommended that you change this password
to a strong one by going to the Manage Database page under the
Admin Functions menu. If this an upgrade, your current usernames and
passwords are unchanged.

View File

@@ -2,7 +2,7 @@
/*
about.php
OpenDRS Online Discrepancy Reporting System
Copyright (C) 2018 Rod Wright
Copyright (C) 2020 Rod Wright
SPDX-License-Identifier: GPL-2.0
*/
@@ -39,6 +39,7 @@ if ($print) {
// assign variables from constants
$appname=APP_NAME;
$drs_version=DRS_VERSION;
if ($print=="Printer Friendly") {
$sbcolor=P_SIDEBAR_COLOR;
@@ -72,7 +73,7 @@ echo "<br>";
echo "
<h3 align=\"center\">
OpenDRS $version Discrepancy Reporting System
OpenDRS $drs_version Discrepancy Reporting System
</h3><br>
<p>This program is licensed under the terms of the <a href=\"gpl.php\">GNU General Public License</a>. Click on the link
or see the LICENSE file in the distribution to read it. OpenDRS is Copyright (C) 2018 by Rod Wright.
@@ -119,7 +120,7 @@ server.</td>
<tr>
<td><a href=\"http://p.yusukekamiyamane.com\" target=\"_blank\"><img src=\"images/Kamiyamane.png\"
border=0></a></td><td><b>Fugue<br>Icons</b></td><td>The icons used in OpenDRS are from the Fugue Icon set created by Yusuke Kamiyamane. The entire set is available at
<a href=\"http://p.yusukekamiyamane.com/\" target=\"_blank\">p.yusukekamiyamane.com</a>, and are licensed under a
<a href=\"http://p.yusukekamiyamane.com/\" target=\"_blank\">p.yusukekamiyamane.com</a>, and is licensed under the
<a href=\"http://creativecommons.org/licenses/by/3.0/legalcode\" target=\"_blank\">Creative Commons Attribution 3.0 License</a>.</td>
</tr>

View File

@@ -2,7 +2,7 @@
/*
common.php
OpenDRS Online Discrepancy Reporting System
Copyright (C) 2018 Rod Wright
Copyright (C) 2020 Rod Wright
SPDX-License-Identifier: GPL-2.0
*/
@@ -357,7 +357,7 @@ function sidemenu($printable=true) {
echo "
<br>
<table style=\"table-layout:fixed;width:210px;\" bgcolor=\"#$mbgcolor\" border=\"1\" width=\"100%\">
<tr><td align=\"center\"><a href=\"writeups.php\" title=\"View open writeups\"><font size=\"+1\"><b>View Open Writeups</b></font></a></td></tr>
<tr><td align=\"center\"><a href=\"writeups.php\" title=\"View open writeups\">View Open Writeups</a></td></tr>
<tr><td align=\"center\"><a href=\"writeups.php?view=1\" title=\"View all writeups for a date range\">View All Writeups</a></td></tr>
<tr><td align=\"center\"><a href=\"groups.php\" title=\"View writeup groups\">Writeup Groups</a></td></tr>
<tr><td align=\"center\"><a href=\"search.php\">Search Writeups</a></td></tr>
@@ -374,6 +374,7 @@ function sidemenu($printable=true) {
<tr><td align=\"center\"><b>Admin Functions</b></td></tr>
<tr><td align=\"center\"><a href=\"config.php\" title=\"Control global settings. Must be an administrator.\">Global Settings</a></td></tr>
<tr><td align=\"center\"><a href=\"dbadmin.php\" title=\"Manage the database. Must be an administrator.\">Manage Database</a></td></tr>
<tr><td align=\"center\"><a href=\"https://localhost:10000\" title=\"Webmin for managing a terminal. Webmin must be running on localhost.\">Manage Terminal</a></td></tr>
</table>
<br>
";

View File

@@ -2,7 +2,7 @@
/*
config.php
OpenDRS Online Discrepancy Reporting System
Copyright (C) 2018 Rod Wright
Copyright (C) 2020 Rod Wright
SPDX-License-Identifier: GPL-2.0
*/

View File

@@ -2,7 +2,7 @@
/*
create.php
OpenDRS Online Discrepancy Reporting System
Copyright (C) 2018 Rod Wright
Copyright (C) 2020 Rod Wright
SPDX-License-Identifier: GPL-2.0
*/

View File

@@ -2,7 +2,7 @@
/*
dbadmin.php
OpenDRS Online Discrepancy Reporting System
Copyright (C) 2018 Rod Wright
Copyright (C) 2020 Rod Wright
SPDX-License-Identifier: GPL-2.0
*/

View File

@@ -2,7 +2,7 @@
/*
gpl.php
OpenMTS Online Maintenance Tracking System
Copyright (C) 2018 Rod Wright
Copyright (C) 2020 Rod Wright
SPDX-License-Identifier: GPL-2.0
*/

View File

@@ -2,7 +2,7 @@
/*
groups.php
OpenDRS Online Discrepancy Reporting System
Copyright (C) 2018 Rod Wright
Copyright (C) 2020 Rod Wright
SPDX-License-Identifier: GPL-2.0
*/
@@ -490,8 +490,7 @@ if ($action=="add") {
";
// Period effective cell ************
echo "
Sim period effective? &nbsp; <img src=\"icons/question.png\" title=\"If maintenance issues prevented the training objectives from being achieved and you will have to come back and redo the same training, answer Non-effective.
Otherwise, answer Effective. \"><br>
Sim period effective? &nbsp; <img src=\"icons/question.png\" title=\"" . PERIOD_EFF_HELP_TXT . "\"><br>
";
if ($search) {
$effstate=$nefstate="";

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 584 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 586 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 458 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 551 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 564 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 470 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 696 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 811 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 479 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 811 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 548 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 757 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 583 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 521 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 761 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 562 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 592 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 481 B

View File

@@ -2,7 +2,7 @@
/*
login.php
OpenDRS Online Discrepancy Reporting System
Copyright (C) 2018 Rod Wright
Copyright (C) 2020 Rod Wright
SPDX-License-Identifier: GPL-2.0
*/

View File

@@ -2,7 +2,7 @@
/*
profile.php
OpenDRS Online Discrepancy Reporting System
Copyright (C) 2018 Rod Wright
Copyright (C) 2020 Rod Wright
SPDX-License-Identifier: GPL-2.0
*/

View File

@@ -2,7 +2,7 @@
/*
search.php
OpenDRS Online Discrepancy Reporting System
Copyright (C) 2018 Rod Wright
Copyright (C) 2020 Rod Wright
SPDX-License-Identifier: GPL-2.0
*/
@@ -42,9 +42,12 @@ $s_action_by=$incoming['s_action_by'];
$s_action_reason=$incoming['s_action_reason'];
$s_action_text=$incoming['s_action_text'];
$s_subsystem=$incoming['s_subsystem'];
$s_id=$incoming['s_id'];
$s_discrepancy_text=$incoming['s_discrepancy_text'];
$s_status=$incoming['s_status'];
$s_group=$incoming['s_group'];
$sort=$incoming['sort'];
$order=$incoming['order'];
// assign variables from constants
$appname=APP_NAME;
@@ -79,6 +82,7 @@ if ($search) {
$s_reported_by=trim($s_reported_by);
$s_action_text=trim($s_action_text);
$s_discrepancy_text=trim($s_discrepancy_text);
$s_id=trim($s_id);
// build the query string
$query_string="";
@@ -114,6 +118,16 @@ if ($search) {
$query_string="{$query_string})";
$query_string="{$query_string} and ";
}
// id
if ($s_id) {
$query_string="{$query_string}(";
$query_string="{$query_string}id={$s_id}";
$query_string="{$query_string})";
$query_string="{$query_string} and ";
$id_param="ID: {$s_id}";
} else {
$id_param="ID: any";
}
// period
if ($s_period) {
$query_string="{$query_string}(";
@@ -265,7 +279,7 @@ if ($search) {
}
$query_string=rtrim($query_string," and ");
$query_string="select * from writeups where {$query_string} order by report_date asc";
$query_string="select * from writeups where {$query_string} order by $sort $order";
// group membership
if ($s_group) {
@@ -301,6 +315,16 @@ if (!$print) {
<tr>
<td align=\"left\">
";
// ID cell *****************
echo "
ID<br>
<input type=\"text\" name=\"s_id\" size=\"10\" value=\"$s_id\">
";
// **********************************
echo "
</td>
<td align=\"left\">
";
// Device cell *********************
echo "
Device<br>
@@ -340,7 +364,7 @@ if (!$print) {
";
// **********************************
echo "
</td><td></td>
</td>
";
echo "
</tr>
@@ -566,6 +590,44 @@ if (!$print) {
} else {
$summarystat="checked";
}
$idsort=$statussort=$datesort=$periodsort=$devicesort=$subsyssort=$repbysort=$discrepsort=$effsort="";
switch ($sort) {
case "id":
$idsort="checked";
break;
case "status":
$statussort="checked";
break;
case "report_date":
$datesort="checked";
break;
case "period":
$periodsort="checked";
break;
case "device":
$devicesort="checked";
break;
case "subsystem":
$subsyssort="checked";
break;
case "reported_by":
$repbysort="checked";
break;
case "discrepancy_text":
$discrepsort="checked";
break;
case "period_effective":
$effsort="checked";
break;
default:
$datesort="checked";
}
$ascsort=$descsort="";
if ($order=="desc") {
$descsort="checked";
} else {
$ascsort="checked";
}
echo "</td>
</tr>
</table>
@@ -573,6 +635,20 @@ if (!$print) {
<input type=\"radio\" $summarystat name=\"viewtype\" value=\"summary\" id=\"summaryview\" ><label for=\"summaryview\" title=\"Show one writeup per line with minimal detail.\">Results in summary view</label>&nbsp;&nbsp;&nbsp;
<input type=\"radio\" $detailstat name=\"viewtype\" value=\"detail\" id=\"detailview\"><label for=\"detailview\" title=\"Show each writeup's full details.\">Results in detail view</label>
<br><br>
Sort Field:<br>
<input type=\"radio\" $idsort name=\"sort\" value=\"id\" id=\"idview\" ><label for=\"idview\" title=\"Sort by ID.\">ID</label>&nbsp;&nbsp;&nbsp;
<input type=\"radio\" $statussort name=\"sort\" value=\"status\" id=\"statusview\" ><label for=\"statusview\" title=\"Sort by Status.\">Status</label>&nbsp;&nbsp;&nbsp;
<input type=\"radio\" $datesort name=\"sort\" value=\"report_date\" id=\"dateview\" ><label for=\"dateview\" title=\"Sort by Report Date.\">Date</label>&nbsp;&nbsp;&nbsp;
<input type=\"radio\" $periodsort name=\"sort\" value=\"period\" id=\"periodview\" ><label for=\"periodview\" title=\"Sort by Period.\">Period</label>&nbsp;&nbsp;&nbsp;
<input type=\"radio\" $devicesort name=\"sort\" value=\"device\" id=\"deviceview\" ><label for=\"deviceview\" title=\"Sort by Device.\">Device</label>&nbsp;&nbsp;&nbsp;
<input type=\"radio\" $subsyssort name=\"sort\" value=\"subsystem\" id=\"subsysview\" ><label for=\"subsysview\" title=\"Sort by Subsystem.\">Subsystem</label>&nbsp;&nbsp;&nbsp;
<input type=\"radio\" $repbysort name=\"sort\" value=\"reported_by\" id=\"repbyview\" ><label for=\"repbyview\" title=\"Sort by Reported by.\">Reported by</label>&nbsp;&nbsp;&nbsp;
<input type=\"radio\" $discrepsort name=\"sort\" value=\"discrepancy_text\" id=\"discrepview\" ><label for=\"discrepview\" title=\"Sort by Discrepancy.\">Discrepancy</label>&nbsp;&nbsp;&nbsp;
<input type=\"radio\" $effsort name=\"sort\" value=\"period_effective\" id=\"effview\" ><label for=\"effview\" title=\"Sort by Mission Effective.\">Msn Eff</label>&nbsp;&nbsp;&nbsp;
<br>Sort Order:<br>
<input type=\"radio\" $ascsort name=\"order\" value=\"asc\" id=\"ascview\" ><label for=\"ascview\" title=\"Sort results in ascending order.\">Ascending</label>&nbsp;&nbsp;&nbsp;
<input type=\"radio\" $descsort name=\"order\" value=\"desc\" id=\"descview\" ><label for=\"descview\" title=\"Sort results in descending order.\">Descending</label>&nbsp;&nbsp;&nbsp;
<br><br>
<input type=\"submit\" name=\"search\" value=\"Search\">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type=\"submit\" name=\"cancel\" value=\"Start New Search\">
@@ -602,6 +678,7 @@ if ($search) {
<td><b>$status_param</b></td><td>&nbsp;&nbsp;&nbsp;</td>
<td>$device_param</td><td>&nbsp;&nbsp;&nbsp;</td>
<td>$subsystem_param</td><td>&nbsp;&nbsp;&nbsp;</td>
<td>$id_param</td><td>&nbsp;&nbsp;&nbsp;</td>
</tr>
</table>
<table border=\"0\">

View File

@@ -2,7 +2,7 @@
/*
settings.php
OpenDRS Online Discrepancy Reporting System
Copyright (C) 2018 Rod Wright
Copyright (C) 2020 Rod Wright
SPDX-License-Identifier: GPL-2.0
*/

View File

@@ -2,7 +2,7 @@
/*
writeupdetail.php
OpenDRS Online Discrepancy Reporting System
Copyright (C) 2018 Rod Wright
Copyright (C) 2020 Rod Wright
SPDX-License-Identifier: GPL-2.0
*/

View File

@@ -2,7 +2,7 @@
/*
writeups.php
OpenDRS Online Discrepancy Reporting System
Copyright (C) 2018 Rod Wright
Copyright (C) 2020 Rod Wright
SPDX-License-Identifier: GPL-2.0
*/
@@ -58,7 +58,6 @@ function opentable($start_date,$end_date,$print,$drs_db,$viewtype="summary") {
";
if ($print) {
echo "
<form method=post action=\"writeups.php\">
Open writeups between&nbsp;&nbsp; $start_date and $end_date
";
} else {
@@ -175,20 +174,27 @@ function viewtable($start_date,$end_date,$print,$drs_db,$viewtype="summary",$rol
echo "
<form method=post action=\"writeups.php\">
<input type=\"hidden\" name=\"view\" value=\"1\">
Writeups between&nbsp;&nbsp;
<input type=\"text\" name=\"start_date\" size=\"10\" value=\"$start_date\" id=\"startdatepicker\" title=\"Format: YYYY-MM-DD\">&nbsp;&nbsp; and &nbsp;&nbsp;
<input type=\"text\" name=\"end_date\" size=\"10\" value=\"$end_date\" id=\"enddatepicker\" title=\"Format: YYYY-MM-DD\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
";
if(!$print) {
echo "
<input type=\"submit\" name=\"update\" value=\"Update\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type=\"submit\" name=\"showtoday\" value=\"Today\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type=\"submit\" name=\"showyesterday\" value=\"Yesterday\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type=\"submit\" name=\"show7day\" value=\"Last 7 Days\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type=\"submit\" name=\"show30day\" value=\"Last 30 Days\"><br><br>
<input type=\"submit\" name=\"show30day\" value=\"Last 30 Days\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
";
}
echo "
Writeups between&nbsp;&nbsp;
<input type=\"text\" name=\"start_date\" size=\"10\" value=\"$start_date\" id=\"startdatepicker\" title=\"Format: YYYY-MM-DD\">&nbsp;&nbsp; and &nbsp;&nbsp;
<input type=\"text\" name=\"end_date\" size=\"10\" value=\"$end_date\" id=\"enddatepicker\" title=\"Format: YYYY-MM-DD\"><br><br>
";
if(!$print) {
echo "
<input type=\"radio\" $summarystat name=\"viewtype\" value=\"summary\" id=\"summaryview\" ><label for=\"summaryview\" title=\"Show one writeup per line with minimal detail.\">Results in summary view</label>&nbsp;&nbsp;&nbsp;
<input type=\"radio\" $detailstat name=\"viewtype\" value=\"detail\" id=\"detailview\"><label for=\"detailview\" title=\"Show each writeup's full details.\">Results in detail view</label>
<br><br>";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"submit\" name=\"update\" value=\"Update\">
<br><br>
";
}
$writeup=mysqli_query($drs_db,"select * from writeups where report_date between \"$start_date\" and \"$end_date\" order by report_date desc,period desc,report_time desc");
if (mysqli_num_rows($writeup)) {
@@ -306,7 +312,7 @@ function viewtable($start_date,$end_date,$print,$drs_db,$viewtype="summary",$rol
if ($role) {
echo "
<br><br>
<button name=\"addtogroup\" value=\"addtogroup\" type=\"submit\">Add selected to group:</button>&nbsp;&nbsp;&nbsp;<select name=\"togroup\" id=\"sel-togroup\">
Add selected to group:&nbsp;&nbsp;&nbsp;<select name=\"togroup\" id=\"sel-togroup\">
<option value=\"newgroup\">New group</option>
";
$tgrow=mysqli_query($drs_db,"select id,name from groups order by id asc");
@@ -315,6 +321,7 @@ function viewtable($start_date,$end_date,$print,$drs_db,$viewtype="summary",$rol
}
echo "
</select>
&nbsp;&nbsp;&nbsp;<button name=\"addtogroup\" value=\"addtogroup\" type=\"submit\">Submit</button>
";
}
} else {