Add NoteController and associated templates, entities, repository.
This commit is contained in:
61
src/Repository/NoteRepository.php
Normal file
61
src/Repository/NoteRepository.php
Normal file
@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repository;
|
||||
|
||||
use App\Entity\Note;
|
||||
use App\Entity\Referral;
|
||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
|
||||
/**
|
||||
* @extends ServiceEntityRepository<Notes>
|
||||
*/
|
||||
class NoteRepository extends ServiceEntityRepository
|
||||
{
|
||||
public function __construct(ManagerRegistry $registry)
|
||||
{
|
||||
parent::__construct($registry, Note::class);
|
||||
}
|
||||
|
||||
public function getHoursUsed(Referral $referral): int
|
||||
{
|
||||
$ret = 0;
|
||||
|
||||
$query = $this->createQueryBuilder('n')
|
||||
->select('SUM(n.hours) AS hours')
|
||||
->andWhere('n.referral = :referral')
|
||||
->setParameter('referral', $referral->getId()->toBinary())
|
||||
->getQuery()
|
||||
//->getResult()
|
||||
;
|
||||
|
||||
dd($query->getSQL());
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
// /**
|
||||
// * @return Notes[] Returns an array of Notes objects
|
||||
// */
|
||||
// public function findByExampleField($value): array
|
||||
// {
|
||||
// return $this->createQueryBuilder('n')
|
||||
// ->andWhere('n.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->orderBy('n.id', 'ASC')
|
||||
// ->setMaxResults(10)
|
||||
// ->getQuery()
|
||||
// ->getResult()
|
||||
// ;
|
||||
// }
|
||||
|
||||
// public function findOneBySomeField($value): ?Notes
|
||||
// {
|
||||
// return $this->createQueryBuilder('n')
|
||||
// ->andWhere('n.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->getQuery()
|
||||
// ->getOneOrNullResult()
|
||||
// ;
|
||||
// }
|
||||
}
|
86
src/Repository/StandardNoteRepository.php
Normal file
86
src/Repository/StandardNoteRepository.php
Normal file
@ -0,0 +1,86 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repository;
|
||||
|
||||
use App\Entity\Referral;
|
||||
use App\Entity\StandardNote;
|
||||
use App\Entity\User;
|
||||
use DateTimeImmutable;
|
||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
|
||||
/**
|
||||
* @extends ServiceEntityRepository<StandardNote>
|
||||
*/
|
||||
class StandardNoteRepository extends ServiceEntityRepository
|
||||
{
|
||||
public function __construct(ManagerRegistry $registry)
|
||||
{
|
||||
parent::__construct($registry, StandardNote::class);
|
||||
}
|
||||
|
||||
public function getOrderedNotes(Referral $referral): array
|
||||
{
|
||||
return $this->createQueryBuilder('s')
|
||||
->andWhere('s.referral = :referral')
|
||||
->setParameter('referral', $referral->getId()->toBinary())
|
||||
->orderBy('s.date', 'DESC')
|
||||
->addOrderBy('s.startTime', 'DESC')
|
||||
->getQuery()
|
||||
->getResult()
|
||||
;
|
||||
}
|
||||
|
||||
public function filterNotes(User $user, ?Referral $referral = null, ?DateTimeImmutable $startDate = null, ?DateTimeImmutable $endDate = null): array
|
||||
{
|
||||
$query = $this->createQueryBuilder('v')
|
||||
->join('v.referral', 'r')
|
||||
;
|
||||
|
||||
if ($referral) {
|
||||
$query->andWhere('v.referral = :referral')
|
||||
->setParameter('referral', $referral->getId()->toBinary());
|
||||
}
|
||||
|
||||
if ($startDate) {
|
||||
$query->andWhere('v.date >= :startDate')
|
||||
->setParameter('startDate', $startDate);
|
||||
}
|
||||
|
||||
if ($endDate) {
|
||||
$query->andWhere('v.date <= :endDate')
|
||||
->setParameter('endDate', $endDate);
|
||||
}
|
||||
|
||||
return $query->orderBy('v.date', 'DESC')
|
||||
->addOrderBy('v.startTime', 'DESC')
|
||||
->getQuery()
|
||||
->getResult()
|
||||
;
|
||||
}
|
||||
|
||||
// /**
|
||||
// * @return StandardNote[] Returns an array of StandardNote objects
|
||||
// */
|
||||
// public function findByExampleField($value): array
|
||||
// {
|
||||
// return $this->createQueryBuilder('s')
|
||||
// ->andWhere('s.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->orderBy('s.id', 'ASC')
|
||||
// ->setMaxResults(10)
|
||||
// ->getQuery()
|
||||
// ->getResult()
|
||||
// ;
|
||||
// }
|
||||
|
||||
// public function findOneBySomeField($value): ?StandardNote
|
||||
// {
|
||||
// return $this->createQueryBuilder('s')
|
||||
// ->andWhere('s.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->getQuery()
|
||||
// ->getOneOrNullResult()
|
||||
// ;
|
||||
// }
|
||||
}
|
86
src/Repository/VisitNoteRepository.php
Normal file
86
src/Repository/VisitNoteRepository.php
Normal file
@ -0,0 +1,86 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repository;
|
||||
|
||||
use App\Entity\Referral;
|
||||
use App\Entity\User;
|
||||
use App\Entity\VisitNote;
|
||||
use DateTimeImmutable;
|
||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
|
||||
/**
|
||||
* @extends ServiceEntityRepository<VisitNote>
|
||||
*/
|
||||
class VisitNoteRepository extends ServiceEntityRepository
|
||||
{
|
||||
public function __construct(ManagerRegistry $registry)
|
||||
{
|
||||
parent::__construct($registry, VisitNote::class);
|
||||
}
|
||||
|
||||
public function getOrderedNotes(Referral $referral): array
|
||||
{
|
||||
return $this->createQueryBuilder('v')
|
||||
->andWhere('v.referral = :referral')
|
||||
->setParameter('referral', $referral->getId()->toBinary())
|
||||
->orderBy('v.date', 'DESC')
|
||||
->addOrderBy('v.startTime', 'DESC')
|
||||
->getQuery()
|
||||
->getResult()
|
||||
;
|
||||
}
|
||||
|
||||
public function filterNotes(User $user, ?Referral $referral = null, ?DateTimeImmutable $startDate = null, ?DateTimeImmutable $endDate = null): array
|
||||
{
|
||||
$query = $this->createQueryBuilder('v')
|
||||
->join('v.referral', 'r')
|
||||
;
|
||||
|
||||
if ($referral) {
|
||||
$query->andWhere('v.referral = :referral')
|
||||
->setParameter('referral', $referral->getId()->toBinary());
|
||||
}
|
||||
|
||||
if ($startDate) {
|
||||
$query->andWhere('v.date >= :startDate')
|
||||
->setParameter('startDate', $startDate);
|
||||
}
|
||||
|
||||
if ($endDate) {
|
||||
$query->andWhere('v.date <= :endDate')
|
||||
->setParameter('endDate', $endDate);
|
||||
}
|
||||
|
||||
return $query->orderBy('v.date', 'DESC')
|
||||
->addOrderBy('v.startTime', 'DESC')
|
||||
->getQuery()
|
||||
->getResult()
|
||||
;
|
||||
}
|
||||
|
||||
// /**
|
||||
// * @return VisitNote[] Returns an array of VisitNote objects
|
||||
// */
|
||||
// public function findByExampleField($value): array
|
||||
// {
|
||||
// return $this->createQueryBuilder('v')
|
||||
// ->andWhere('v.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->orderBy('v.id', 'ASC')
|
||||
// ->setMaxResults(10)
|
||||
// ->getQuery()
|
||||
// ->getResult()
|
||||
// ;
|
||||
// }
|
||||
|
||||
// public function findOneBySomeField($value): ?VisitNote
|
||||
// {
|
||||
// return $this->createQueryBuilder('v')
|
||||
// ->andWhere('v.exampleField = :val')
|
||||
// ->setParameter('val', $value)
|
||||
// ->getQuery()
|
||||
// ->getOneOrNullResult()
|
||||
// ;
|
||||
// }
|
||||
}
|
Reference in New Issue
Block a user