Skip to content

Commit

Permalink
Adding in Data::ObjectDriver and mt-static/js/common because I git su…
Browse files Browse the repository at this point in the history
…bmodules scare me
  • Loading branch information
jayallen committed Mar 14, 2009
1 parent f839e5a commit 2d6ed84
Show file tree
Hide file tree
Showing 53 changed files with 16,177 additions and 0 deletions.
793 changes: 793 additions & 0 deletions extlib/Data/ObjectDriver.pm

Large diffs are not rendered by default.

1,297 changes: 1,297 additions & 0 deletions extlib/Data/ObjectDriver/BaseObject.pm

Large diffs are not rendered by default.

35 changes: 35 additions & 0 deletions extlib/Data/ObjectDriver/BaseView.pm
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# $Id: BaseView.pm 552 2008-12-24 02:15:57Z ykerherve $

package Data::ObjectDriver::BaseView;
use strict;
use warnings;

use base qw( Data::ObjectDriver::BaseObject );

use Carp ();
use Storable;

sub search {
my $class = shift;
my($terms, $args) = @_;
$args->{sql_statement} = $class->base_statement($terms, $args);
$args = Storable::dclone($args);

# quick hack: don't use HAVING if view class has datasource
if (! $class->properties->{datasource}) {
my %cols = map { $_ => 1 } @{ $class->properties->{columns} };
my %having;
for my $key (keys %$terms) {
if ($cols{$key} && ! $args->{sql_statement}->has_where($key)) {
# Don't need to delete from $term, because D::OD ignores
# it anyway when used as View class
$having{$key} = $terms->{$key};
}
}
$args->{having} = \%having;
}

$class->_proxy('search', $terms, $args)
}

1;
Loading

0 comments on commit 2d6ed84

Please sign in to comment.