Add more stats to default stat set
This commit is contained in:
parent
a680d7b9df
commit
9586d1a637
4 changed files with 95 additions and 13 deletions
|
@ -7,23 +7,39 @@ use base 'DBIx::Class::ResultSet';
|
|||
|
||||
use DateTime;
|
||||
|
||||
sub today_rs {
|
||||
my ( $self ) = @_;
|
||||
sub search_between {
|
||||
my ( $self, $from, $to ) = @_;
|
||||
|
||||
my $dtf = $self->result_source->schema->storage->datetime_parser;
|
||||
return $self->search({
|
||||
submitted_at => {
|
||||
-between => [
|
||||
$dtf->format_datetime(DateTime->today()),
|
||||
$dtf->format_datetime(DateTime->today()->add( days => 1 )),
|
||||
$dtf->format_datetime($from),
|
||||
$dtf->format_datetime($to),
|
||||
],
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
sub today_for_user {
|
||||
my ( $self, $user ) = @_;
|
||||
return $self->search({ buyer_id => $user->id })->today_rs;
|
||||
sub today_rs {
|
||||
my ( $self ) = @_;
|
||||
|
||||
my $today = DateTime->today();
|
||||
return $self->search_between( $today, $today->clone->add( days => 1 ) );
|
||||
}
|
||||
|
||||
sub week_rs {
|
||||
my ( $self ) = @_;
|
||||
|
||||
my $today = DateTime->today();
|
||||
return $self->search_between( $today->clone->subtract( days => 7 ), $today );
|
||||
}
|
||||
|
||||
sub month_rs {
|
||||
my ( $self ) = @_;
|
||||
|
||||
my $today = DateTime->today();
|
||||
return $self->search_between( $today->clone->subtract( days => 30 ), $today );
|
||||
}
|
||||
|
||||
1;
|
||||
|
|
Reference in a new issue