diff options
Diffstat (limited to 'perl/lib/Wallet')
| -rw-r--r-- | perl/lib/Wallet/ACL.pm | 13 | ||||
| -rw-r--r-- | perl/lib/Wallet/Object/Base.pm | 28 | 
2 files changed, 21 insertions, 20 deletions
| diff --git a/perl/lib/Wallet/ACL.pm b/perl/lib/Wallet/ACL.pm index 9507c64..57097c0 100644 --- a/perl/lib/Wallet/ACL.pm +++ b/perl/lib/Wallet/ACL.pm @@ -17,13 +17,13 @@ use strict;  use warnings;  use vars qw($VERSION); +use DateTime;  use DBI; -use POSIX qw(strftime);  # This version should be increased on any code change to this module.  Always  # use two digits for the minor version with a leading zero if necessary so  # that it will sort properly. -$VERSION = '0.07'; +$VERSION = '0.08';  ##############################################################################  # Constructors @@ -78,7 +78,7 @@ sub create {          die "unable to retrieve new ACL ID" unless defined $id;          # Add to the history table. -        my $date = strftime ('%Y-%m-%d %T', localtime $time); +        my $date = DateTime->from_epoch (epoch => $time);          %record = (ah_acl    => $id,                     ah_action => 'create',                     ah_by     => $user, @@ -86,7 +86,6 @@ sub create {                     ah_on     => $date);          my $history = $schema->resultset('AclHistory')->create (\%record);          die "unable to create new history entry" unless defined $history; -          $guard->commit;      };      if ($@) { @@ -164,13 +163,14 @@ sub log_acl {      unless ($action =~ /^(add|remove)\z/) {          die "invalid history action $action";      } +    my $date = DateTime->from_epoch (epoch => $time);      my %record = (ah_acl        => $self->{id},                    ah_action     => $action,                    ah_scheme     => $scheme,                    ah_identifier => $identifier,                    ah_by         => $user,                    ah_from       => $host, -                  ah_on         => strftime ('%Y-%m-%d %T', localtime $time)); +                  ah_on         => $date);      $self->{schema}->resultset('AclHistory')->create (\%record);  } @@ -242,11 +242,12 @@ sub destroy {          $entry->delete if defined $entry;          # Create new history line for the deletion. +        my $date = DateTime->from_epoch (epoch => $time);          my %record = (ah_acl => $self->{id},                        ah_action => 'destroy',                        ah_by     => $user,                        ah_from   => $host, -                      ah_on     => strftime ('%Y-%m-%d %T', localtime $time)); +                      ah_on     => $date);          $self->{schema}->resultset('AclHistory')->create (\%record);          $guard->commit;      }; diff --git a/perl/lib/Wallet/Object/Base.pm b/perl/lib/Wallet/Object/Base.pm index a009d76..f1b8b72 100644 --- a/perl/lib/Wallet/Object/Base.pm +++ b/perl/lib/Wallet/Object/Base.pm @@ -17,15 +17,15 @@ use strict;  use warnings;  use vars qw($VERSION); +use DateTime;  use DBI; -use POSIX qw(strftime);  use Text::Wrap qw(wrap);  use Wallet::ACL;  # This version should be increased on any code change to this module.  Always  # use two digits for the minor version with a leading zero if necessary so  # that it will sort properly. -$VERSION = '0.06'; +$VERSION = '0.07';  ##############################################################################  # Constructors @@ -63,22 +63,20 @@ sub create {      die "invalid object name\n" unless $name;      my $guard = $schema->txn_scope_guard;      eval { +        my $date = DateTime->from_epoch (epoch => $time);          my %record = (ob_type         => $type,                        ob_name         => $name,                        ob_created_by   => $user,                        ob_created_from => $host, -                      ob_created_on   => strftime ('%Y-%m-%d %T', -                                                   localtime $time)); +                      ob_created_on   => $date);          $schema->resultset('Object')->create (\%record); -          %record = (oh_type   => $type,                     oh_name   => $name,                     oh_action => 'create',                     oh_by     => $user,                     oh_from   => $host, -                   oh_on     => strftime ('%Y-%m-%d %T', localtime $time)); +                   oh_on     => $date);          $schema->resultset('ObjectHistory')->create (\%record); -          $guard->commit;      };      if ($@) { @@ -139,27 +137,27 @@ sub log_action {      # assume that AutoCommit is turned off.      my $guard = $self->{schema}->txn_scope_guard;      eval { +        my $date = DateTime->from_epoch (epoch => $time);          my %record = (oh_type   => $self->{type},                        oh_name   => $self->{name},                        oh_action => $action,                        oh_by     => $user,                        oh_from   => $host, -                      oh_on     => strftime ('%Y-%m-%d %T', localtime $time)); +                      oh_on     => $date);          $self->{schema}->resultset('ObjectHistory')->create (\%record); +        # Add in more timestamps based on the action type.          my %search = (ob_type   => $self->{type},                        ob_name   => $self->{name});          my $object = $self->{schema}->resultset('Object')->find (\%search);          if ($action eq 'get') {              $object->ob_downloaded_by   ($user);              $object->ob_downloaded_from ($host); -            $object->ob_downloaded_on   (strftime ('%Y-%m-%d %T', -                                                   localtime $time)); +            $object->ob_downloaded_on   ($date);          } elsif ($action eq 'store') {              $object->ob_stored_by   ($user);              $object->ob_stored_from ($host); -            $object->ob_stored_on   (strftime ('%Y-%m-%d %T', -                                               localtime $time)); +            $object->ob_stored_on   ($date);          }          $object->update;          $guard->commit; @@ -193,6 +191,7 @@ sub log_set {          die "invalid history field $field";      } +    my $date = DateTime->from_epoch (epoch => $time);      my %record = (oh_type       => $self->{type},                    oh_name       => $self->{name},                    oh_action     => 'set', @@ -202,7 +201,7 @@ sub log_set {                    oh_new        => $new,                    oh_by         => $user,                    oh_from       => $host, -                  oh_on         => strftime ('%Y-%m-%d %T', localtime $time)); +                  oh_on         => $date);      $self->{schema}->resultset('ObjectHistory')->create (\%record);  } @@ -703,12 +702,13 @@ sub destroy {          $self->{schema}->resultset('Object')->search (\%search)->delete;          # And create a new history object for the destroy action. +        my $date = DateTime->from_epoch (epoch => $time);          my %record = (oh_type => $type,                        oh_name => $name,                        oh_action => 'destroy',                        oh_by     => $user,                        oh_from   => $host, -                      oh_on     => strftime ('%Y-%m-%d %T', localtime $time)); +                      oh_on     => $date);          $self->{schema}->resultset('ObjectHistory')->create (\%record);          $guard->commit;      }; | 
