diff options
author | Marius Halden <marius.h@lden.org> | 2020-09-29 14:23:52 +0200 |
---|---|---|
committer | Marius Halden <marius.h@lden.org> | 2020-09-29 14:23:52 +0200 |
commit | a27ce1524d801d2742a2bdb6ec1da45126d64353 (patch) | |
tree | 64123c4e17dc1776aa0a7cd65ee01d49d3e7d978 /perllib/DBIx/Class/FixMyStreet/EncodedColumn.pm | |
parent | 377bd96aab7cad3434185c30eb908c9da447fe40 (diff) | |
parent | 2773c60226b9370fe8ee00f7b205b571bb87c3b5 (diff) |
Merge tag 'v3.0.1' into fiksgatami-dev
Diffstat (limited to 'perllib/DBIx/Class/FixMyStreet/EncodedColumn.pm')
-rw-r--r-- | perllib/DBIx/Class/FixMyStreet/EncodedColumn.pm | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/perllib/DBIx/Class/FixMyStreet/EncodedColumn.pm b/perllib/DBIx/Class/FixMyStreet/EncodedColumn.pm index 0d86c7639..82e6e591e 100644 --- a/perllib/DBIx/Class/FixMyStreet/EncodedColumn.pm +++ b/perllib/DBIx/Class/FixMyStreet/EncodedColumn.pm @@ -8,6 +8,20 @@ use base qw/DBIx::Class::EncodedColumn/; # mySociety override to allow direct setting without double encryption sub set_column { my $self = shift; + if ($_[0] eq 'password') { + my $cobrand = $self->result_source->schema->cobrand; + if ($cobrand && $cobrand->moniker eq 'tfl') { + if (defined $_[1]) { + if (defined $_[2]) { + $self->set_extra_metadata(tfl_password => $_[1]); + } else { + my $encoder = $self->_column_encoders->{password}; + $self->set_extra_metadata(tfl_password => $encoder->($_[1])); + } + } + return $self->get_extra_metadata('tfl_password'); + } + } return DBIx::Class::Row::set_column($self, @_) unless defined $_[1] and not defined $_[2]; $self->next::method(@_); } |