Add service to filter warranty raffle entries. #720
This commit is contained in:
parent
5b6b090257
commit
907bee0d70
3 changed files with 30 additions and 4 deletions
|
|
@ -282,6 +282,9 @@ services:
|
|||
arguments:
|
||||
$em: "@doctrine.orm.entity_manager"
|
||||
|
||||
# warranty raffle filter
|
||||
App\Service\WarrantyRaffleFilter: ~
|
||||
|
||||
# promo logger
|
||||
App\Service\PromoLogger:
|
||||
arguments:
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ use App\Entity\BatterySize;
|
|||
use App\Entity\SMSMessage;
|
||||
use App\Entity\HubFilterLog;
|
||||
|
||||
use App\Service\WarrantyRaffleFilter;
|
||||
|
||||
use Doctrine\ORM\Query;
|
||||
use Doctrine\ORM\QueryBuilder;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
|
|
@ -1242,7 +1244,7 @@ class ReportController extends Controller
|
|||
return $this->render('report/jo-raffle/form.html.twig');
|
||||
}
|
||||
|
||||
public function warrantyRaffleSubmit(Request $req, EntityManagerInterface $em)
|
||||
public function warrantyRaffleSubmit(Request $req, EntityManagerInterface $em, WarrantyRaffleFilter $wr_filter)
|
||||
{
|
||||
// get dates
|
||||
$raw_date_start = $req->request->get('date_start');
|
||||
|
|
@ -1251,10 +1253,18 @@ class ReportController extends Controller
|
|||
$date_start = DateTime::createFromFormat('m/d/Y', $raw_date_start);
|
||||
$date_end = DateTime::createFromFormat('m/d/Y', $raw_date_end);
|
||||
|
||||
$data = $this->getWarrantyRaffleData($req, $em, $raw_date_start, $raw_date_end);
|
||||
$wr_data = $this->getWarrantyRaffleData($req, $em, $raw_date_start, $raw_date_end);
|
||||
|
||||
// filter the retrieved warranty raffle data
|
||||
$filtered_data = [];
|
||||
foreach ($wr_data as $wr_entry)
|
||||
{
|
||||
$valid = $wr_filter->isValidRaffleEntry($wr_entry);
|
||||
$filtered_data[] = $wr_entry;
|
||||
}
|
||||
|
||||
$resp = new StreamedResponse();
|
||||
$resp->setCallback(function() use ($data) {
|
||||
$resp->setCallback(function() use ($filtered_data) {
|
||||
// csv output
|
||||
$csv_handle = fopen('php://output', 'w+');
|
||||
fputcsv($csv_handle, [
|
||||
|
|
@ -1275,7 +1285,7 @@ class ReportController extends Controller
|
|||
'Action Taken',
|
||||
]);
|
||||
|
||||
foreach ($data as $row)
|
||||
foreach ($filtered_data as $row)
|
||||
{
|
||||
fputcsv($csv_handle, $row);
|
||||
}
|
||||
|
|
|
|||
13
src/Service/WarrantyRaffleFilter.php
Normal file
13
src/Service/WarrantyRaffleFilter.php
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<?php
|
||||
|
||||
namespace App\Service;
|
||||
|
||||
class WarrantyRaffleFilter
|
||||
{
|
||||
public function isValidRaffleEntry($entry)
|
||||
{
|
||||
// entry is an associative array
|
||||
// error_log('entry ' . $entry['first_name']);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue