summaryrefslogtreecommitdiff
path: root/lib/Travelynx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Travelynx')
-rw-r--r--lib/Travelynx/Command/database.pm11
-rw-r--r--lib/Travelynx/Controller/Account.pm32
2 files changed, 43 insertions, 0 deletions
diff --git a/lib/Travelynx/Command/database.pm b/lib/Travelynx/Command/database.pm
index a15390d..99fcc61 100644
--- a/lib/Travelynx/Command/database.pm
+++ b/lib/Travelynx/Command/database.pm
@@ -535,6 +535,17 @@ my @migrations = (
}
);
},
+
+ # v12 -> v13
+ sub {
+ my ($db) = @_;
+ $db->query(
+ qq{
+ alter table users add column use_history smallint default 255;
+ update schema_version set version = 13;
+ }
+ );
+ },
);
sub setup_db {
diff --git a/lib/Travelynx/Controller/Account.pm b/lib/Travelynx/Controller/Account.pm
index e2bfd39..0275b96 100644
--- a/lib/Travelynx/Controller/Account.pm
+++ b/lib/Travelynx/Controller/Account.pm
@@ -232,6 +232,38 @@ sub privacy {
}
}
+sub insight {
+ my ($self) = @_;
+
+ my $user = $self->current_user;
+ my $use_history = $self->account_use_history( $user->{id} );
+
+ if ( $self->param('action') and $self->param('action') eq 'save' ) {
+ if ( $self->param('on_departure') ) {
+ $use_history |= 0x01;
+ }
+ else {
+ $use_history &= ~0x01;
+ }
+
+ if ( $self->param('on_arrival') ) {
+ $use_history |= 0x02;
+ }
+ else {
+ $use_history &= ~0x02;
+ }
+
+ $self->account_use_history( $user->{id}, $use_history );
+ $self->flash( success => 'use_history' );
+ $self->redirect_to('account');
+ }
+
+ $self->param( on_departure => $use_history & 0x01 ? 1 : 0 );
+ $self->param( on_arrival => $use_history & 0x02 ? 1 : 0 );
+ $self->render('use_history');
+
+}
+
sub webhook {
my ($self) = @_;