[Jifty-commit] r5004 - in Jifty-DBI/branches/tisql: lib/Jifty/DBI lib/Jifty/DBI/Filter
Jifty commits
jifty-commit at lists.jifty.org
Tue Feb 5 21:14:13 EST 2008
Author: ruz
Date: Tue Feb 5 21:14:13 2008
New Revision: 5004
Modified:
Jifty-DBI/branches/tisql/ (props changed)
Jifty-DBI/branches/tisql/lib/Jifty/DBI/Filter/DateTime.pm
Jifty-DBI/branches/tisql/lib/Jifty/DBI/Record.pm
Log:
r4439 at cubic-pc (orig r4438): alexmv | 2007-11-15 23:17:45 +0300
r24783 at zoq-fot-pik: chmrr | 2007-11-15 15:16:29 -0500
* The formatter can't be decided at compile time, because subclasses
may override the format. Hence, make it once and cache it.
* Note for posterity why we can't apply acl checks to refers_to columns
Modified: Jifty-DBI/branches/tisql/lib/Jifty/DBI/Filter/DateTime.pm
==============================================================================
--- Jifty-DBI/branches/tisql/lib/Jifty/DBI/Filter/DateTime.pm (original)
+++ Jifty-DBI/branches/tisql/lib/Jifty/DBI/Filter/DateTime.pm Tue Feb 5 21:14:13 2008
@@ -3,7 +3,7 @@
use warnings;
use strict;
-use base qw|Jifty::DBI::Filter|;
+use base qw|Jifty::DBI::Filter Class::Data::Inheritable|;
use DateTime ();
use DateTime::Format::ISO8601 ();
use DateTime::Format::Strptime ();
@@ -12,7 +12,15 @@
use constant _time_zone => 'UTC';
use constant _strptime => '%Y-%m-%d %H:%M:%S';
use constant _parser => DateTime::Format::ISO8601->new();
-use constant _formatter => DateTime::Format::Strptime->new(pattern => _strptime);
+
+__PACKAGE__->mk_classdata("_formatter");
+sub formatter {
+ my $self = shift;
+ unless ($self->_formatter) {
+ $self->_formatter(DateTime::Format::Strptime->new(pattern => $self->_strptime));
+ }
+ return $self->_formatter;
+}
=head1 NAME
@@ -93,7 +101,7 @@
my $tz = $self->_time_zone;
$dt->set_time_zone($tz) if $tz;
- $dt->set_formatter($self->_formatter);
+ $dt->set_formatter($self->formatter);
$$value_ref = $dt;
} else {
return;
Modified: Jifty-DBI/branches/tisql/lib/Jifty/DBI/Record.pm
==============================================================================
--- Jifty-DBI/branches/tisql/lib/Jifty/DBI/Record.pm (original)
+++ Jifty-DBI/branches/tisql/lib/Jifty/DBI/Record.pm Tue Feb 5 21:14:13 2008
@@ -283,6 +283,12 @@
Carp::carp
"Value passed to column accessor. You probably want to use the mutator.";
}
+ # This should be using _value, so we acl_check
+ # appropriately, except the acl checks often
+ # involve object references. So even if you
+ # don't have rights to $object->foo_id,
+ # $object->foo->id will always have to
+ # work. :/
$_[0]->_to_record( $column_name,
$_[0]->__value($column_name) );
};
More information about the Jifty-commit
mailing list