forked from jayallen/melody
-
Notifications
You must be signed in to change notification settings - Fork 36
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding in Data::ObjectDriver and mt-static/js/common because I git su…
…bmodules scare me
- Loading branch information
Showing
53 changed files
with
16,177 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; |
Oops, something went wrong.