Fix date storage to be iso string. Save and display date as appropriate.

This commit is contained in:
2020-06-10 11:33:24 -04:00
parent 466cae5333
commit b554c96720
4 changed files with 7 additions and 6 deletions

View File

@@ -229,7 +229,7 @@ Kirigami.ApplicationWindow {
text: servicetype
}
Controls.Label {
text: servicedate
text: new Date(servicedate).toLocaleDateString(Qt.locale())
}
Controls.Label {
text: miles
@@ -332,8 +332,9 @@ Kirigami.ApplicationWindow {
text: qsTr("Add")
highlighted: true
onClicked: {
var dateObj = Date.fromLocaleDateString(Qt.locale(), dateField.text);
if(milesField.acceptableInput) {
recordModel.addNewRecord(providerField.text, typeField.text, -1, parseInt(milesField.text), notesField.text); //TODO: add proper date
recordModel.addNewRecord(providerField.text, typeField.text, dateObj.toISOString(), parseInt(milesField.text), notesField.text);
router.popRoute();
} else {
formError.text = qsTr("Invalid number of miles.");

View File

@@ -51,13 +51,13 @@ QVariant SqlServiceRecord::data ( const QModelIndex& index, int role ) const
return value;
}
void SqlServiceRecord::addNewRecord(QString serviceProvider, QString serviceType, qlonglong dateEpoch, int miles, QString notes)
void SqlServiceRecord::addNewRecord(QString serviceProvider, QString serviceType, QString dateISO, int miles, QString notes)
{
QSqlRecord newItem = this->record();
newItem.setValue("vehicle", this->currentVehicleID);
newItem.setValue("serviceprovider", serviceProvider);
newItem.setValue("servicetype", serviceType);
newItem.setValue("servicedate", dateEpoch);
newItem.setValue("servicedate", dateISO);
newItem.setValue("miles", miles);
newItem.setValue("notes", notes);
this->insertRecord(-1, newItem);

View File

@@ -30,7 +30,7 @@ public:
explicit SqlServiceRecord(QObject *parent = nullptr, QSqlDatabase db = QSqlDatabase());
QHash<int, QByteArray> roleNames() const override;
Q_INVOKABLE QVariant data(const QModelIndex &index, int role) const override;
Q_INVOKABLE void addNewRecord(QString serviceProvider, QString serviceType, qlonglong dateEpoch, int miles, QString notes);
Q_INVOKABLE void addNewRecord(QString serviceProvider, QString serviceType, QString dateISO, int miles, QString notes);
Q_INVOKABLE void removeRecord(int index);
Q_INVOKABLE void changeVehicleFilter(int id);

View File

@@ -59,7 +59,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
//Create table structure
db.open();
db.exec("CREATE TABLE vehicles (id INTEGER PRIMARY KEY, name TEXT, maker TEXT, vmodel TEXT, year INTEGER, image TEXT, vin TEXT);");
db.exec("CREATE TABLE records (id INTEGER PRIMARY KEY, vehicle INTEGER, serviceprovider TEXT, servicetype TEXT, servicedate INTEGER, miles INTEGER, notes TEXT);");
db.exec("CREATE TABLE records (id INTEGER PRIMARY KEY, vehicle INTEGER, serviceprovider TEXT, servicetype TEXT, servicedate TEXT, miles INTEGER, notes TEXT);");
db.commit();
db.close();
}