From 6729b31e3cff59b4039eabf439de45bb7b9006a6 Mon Sep 17 00:00:00 2001 From: Kevin Webb Date: Tue, 4 Aug 2015 18:16:24 -0400 Subject: [PATCH] comments --- app/controllers/api/SnapshotController.java | 2 +- app/datastore/VersionedDataStore.java | 3 ++- app/models/Snapshot.java | 5 ++++- app/views/Application/snapshots.html | 7 ++++++- conf/messages.en | 1 + public/javascripts/models.js | 1 + public/javascripts/pages/snapshots.js | 17 ++++++++++------- 7 files changed, 25 insertions(+), 11 deletions(-) diff --git a/app/controllers/api/SnapshotController.java b/app/controllers/api/SnapshotController.java index 83a91a10..43a364f9 100644 --- a/app/controllers/api/SnapshotController.java +++ b/app/controllers/api/SnapshotController.java @@ -74,7 +74,7 @@ public static void createSnapshot () { try { // create a dummy snapshot from which to get values Snapshot original = Base.mapper.readValue(params.get("body"), Snapshot.class); - Snapshot s = VersionedDataStore.takeSnapshot(original.agencyId, original.name); + Snapshot s = VersionedDataStore.takeSnapshot(original.agencyId, original.name, original.comment); s.validFrom = original.validFrom; s.validTo = original.validTo; gtx = VersionedDataStore.getGlobalTx(); diff --git a/app/datastore/VersionedDataStore.java b/app/datastore/VersionedDataStore.java index ffad8ed8..cf0459db 100644 --- a/app/datastore/VersionedDataStore.java +++ b/app/datastore/VersionedDataStore.java @@ -78,7 +78,7 @@ static DB getRawAgencyTx (String agencyId) { } /** Take a snapshot of an agency database. The snapshot will be saved in the global database. */ - public static Snapshot takeSnapshot (String agencyId, String name) { + public static Snapshot takeSnapshot (String agencyId, String name, String comment) { AgencyTx tx = getAgencyTx(agencyId); GlobalTx gtx = getGlobalTx(); int version = -1; @@ -97,6 +97,7 @@ public static Snapshot takeSnapshot (String agencyId, String name) { ret.snapshotTime = System.currentTimeMillis(); ret.name = name; + ret.comment = comment; ret.current = true; snapshot = getSnapshotDb(agencyId, version, false); diff --git a/app/models/Snapshot.java b/app/models/Snapshot.java index 050f2768..6453d41f 100644 --- a/app/models/Snapshot.java +++ b/app/models/Snapshot.java @@ -24,7 +24,10 @@ public class Snapshot implements Cloneable, Serializable { /** The name of this snapshot */ public String name; - + + /** The comment of this snapshot */ + public String comment; + /** ID: agency ID, version */ @JsonSerialize(using=JacksonSerializers.Tuple2IntSerializer.class) @JsonDeserialize(using=JacksonSerializers.Tuple2IntDeserializer.class) diff --git a/app/views/Application/snapshots.html b/app/views/Application/snapshots.html index 281571cc..dfd3ab79 100644 --- a/app/views/Application/snapshots.html +++ b/app/views/Application/snapshots.html @@ -29,12 +29,13 @@

&{'snapshot.for'} {{ agencyName }}

- + {{#snapshots}} + @@ -43,6 +44,7 @@

&{'snapshot.for'} {{ agencyName }}

+ {{/snapshots}}
&{'snapshot.name'}&{'snapshot.version'}&{'snapshot.valid-from'}&{'snapshot.valid-to'}&{'snapshot.date'}&{'snapshot.current'}&{'snapshot.restore'}&{'snapshot.name'}&{'snapshot.comment'}&{'snapshot.version'}&{'snapshot.valid-from'}&{'snapshot.valid-to'}&{'snapshot.date'}&{'snapshot.current'}&{'snapshot.restore'}
{{name}}{{comment}} {{version}} {{validFrom}} {{validTo}}  &{'snapshot.download'}
@@ -64,6 +66,9 @@

&{'snapshot.take-snapshot'}

+ + +
diff --git a/conf/messages.en b/conf/messages.en index 05e9f1f2..e39715de 100755 --- a/conf/messages.en +++ b/conf/messages.en @@ -157,6 +157,7 @@ snapshot.for=Snapshots for snapshot.new=Take snapshot snapshot.restore=Restore snapshot snapshot.name=Name +snapshot.comment=Comment snapshot.date=Snapshot date snapshot.snapshots=Snapshots snapshot.take-before-restore=You must create a snapshot of the current state of the database before you can restore a previous version. diff --git a/public/javascripts/models.js b/public/javascripts/models.js index ea9dde69..c7c27664 100755 --- a/public/javascripts/models.js +++ b/public/javascripts/models.js @@ -600,6 +600,7 @@ G.Trip = Backbone.Model.extend({ G.Snapshot = Backbone.Model.extend({ defaults: { name: null, + comment: null, id: null, agencyId: null, snapshotTime: null, diff --git a/public/javascripts/pages/snapshots.js b/public/javascripts/pages/snapshots.js index 8d39023e..dbc6fe13 100644 --- a/public/javascripts/pages/snapshots.js +++ b/public/javascripts/pages/snapshots.js @@ -94,6 +94,7 @@ var GtfsEditor = GtfsEditor || {}; takeSnapshot: function () { var instance = this; var name = this.$('#snapshot-name').val(); + var comment = this.$('#snapshot-comment').val(); var dfrom = this.toIso(this.$('#valid-from').data('datepicker').getDate()); var dto = this.toIso(this.$('#valid-to').data('datepicker').getDate()); @@ -101,17 +102,18 @@ var GtfsEditor = GtfsEditor || {}; this.collection.create({ name: name, + comment: comment, validFrom: dfrom, validTo: dto, agencyId: G.session.agencyId }, { wait: true, - - - success: function () { - this.$('#modal-container > .modal').modal('hide').remove(); - instance.collection.fetch({reset: true, data: {agencyId: G.session.agencyId}}); - }}); + success: function () { + this.$('#modal-container > .modal').modal('hide').remove(); + instance.collection.fetch({reset: true, data: {agencyId: G.session.agencyId}}); + } + } + ); }, /** convert a local date to an iso date */ @@ -134,8 +136,9 @@ var GtfsEditor = GtfsEditor || {}; takeSnapshotAndRestore: function (e) { var instance = this; var name = this.$('#snapshot-name').val(); + var comment = this.$('#snapshot-comment').val(); this.$('#modal-container button.snapshot').prop('disabled', true).text('Saving . . .'); - this.collection.create({name: name, agencyId: G.session.agencyId}, + this.collection.create({name: name, comment: comment, agencyId: G.session.agencyId}, {wait: true, success: function () { var id = $(e.target).attr('data-snapshot'); instance.$('.restore-snapshot').prop('disabled', true);