Skip to content

Commit

Permalink
fix: 500 error on order by owner_company at orders repo
Browse files Browse the repository at this point in the history
  • Loading branch information
smarcet committed Oct 25, 2024
1 parent 5401611 commit f42ab8b
Show file tree
Hide file tree
Showing 41 changed files with 87 additions and 48 deletions.
3 changes: 2 additions & 1 deletion app/Repositories/ConfigDoctrineRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
use Doctrine\ORM\QueryBuilder;
use LaravelDoctrine\ORM\Facades\Registry;
use utils\Filter;
use utils\Order;

/**
* Class ConfigDoctrineRepository
Expand Down Expand Up @@ -49,7 +50,7 @@ protected function applyExtraFilters(QueryBuilder $query)
* @param QueryBuilder $query
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null)
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null)
{
return $query;
}
Expand Down
13 changes: 7 additions & 6 deletions app/Repositories/DoctrineRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -127,9 +127,10 @@ protected abstract function applyExtraFilters(QueryBuilder $query);
/**
* @param QueryBuilder $query
* @param Filter|null $filter
* @return QueryBuilder
* @param Order|null $order
* @return mixed
*/
protected abstract function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null);
protected abstract function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null);

/**
* @param QueryBuilder $query
Expand Down Expand Up @@ -161,7 +162,7 @@ protected function getParametrizedAllByPage

$query = call_user_func($fnQuery);

$query = $this->applyExtraJoins($query, $filter);
$query = $this->applyExtraJoins($query, $filter, $order);

$query = $this->applyExtraSelects($query, $filter, $order);

Expand Down Expand Up @@ -224,7 +225,7 @@ public function getParametrizedAllIdsByPage(callable $fnQuery,PagingInfo $paging

$query = call_user_func($fnQuery);

$query = $this->applyExtraJoins($query, $filter);
$query = $this->applyExtraJoins($query, $filter, $order);

$query = $this->applyExtraSelects($query, $filter, $order);

Expand Down Expand Up @@ -261,7 +262,7 @@ public function getAllByPage(PagingInfo $paging_info, Filter $filter = null, Ord
->select("e")
->from($this->getBaseEntity(), "e");

$query = $this->applyExtraJoins($query, $filter);
$query = $this->applyExtraJoins($query, $filter, $order);

$query = $this->applyExtraSelects($query, $filter, $order);

Expand Down Expand Up @@ -310,7 +311,7 @@ public function getAllIdsByPage(PagingInfo $paging_info, Filter $filter = null,
->select("e.id")
->from($this->getBaseEntity(), "e");

$query = $this->applyExtraJoins($query, $filter);
$query = $this->applyExtraJoins($query, $filter, $order);

$query = $this->applyExtraSelects($query, $filter, $order);

Expand Down
3 changes: 2 additions & 1 deletion app/Repositories/Main/DoctrineAuditLogRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
use utils\DoctrineFilterMapping;
use utils\DoctrineInstanceOfFilterMapping;
use utils\Filter;
use utils\Order;

/**
* Class DoctrineAuditLogRepository
Expand All @@ -49,7 +50,7 @@ protected function getBaseEntity()
* @param Filter|null $filter
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null): QueryBuilder
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null): QueryBuilder
{
$query = $query->leftJoin(Member::class, 'u', 'WITH', 'e.user = u.id');

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
use utils\DoctrineCaseFilterMapping;
use utils\DoctrineSwitchFilterMapping;
use utils\Filter;
use utils\Order;

/**
* Class DoctrineExtraQuestionTypeRepository
Expand All @@ -36,7 +37,7 @@ abstract class DoctrineExtraQuestionTypeRepository
* @param QueryBuilder $query
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null){
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null){
return $query;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
use Doctrine\ORM\QueryBuilder;
use models\main\ProjectSponsorshipType;
use utils\Filter;
use utils\Order;

/**
* Class DoctrineProjectSponsorshipTypeRepository
Expand Down Expand Up @@ -45,7 +46,7 @@ protected function getFilterMappings()
* @param QueryBuilder $query
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null){
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null){
$query = $query->innerJoin("e.sponsored_project", "sp");
return $query;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
use Doctrine\ORM\QueryBuilder;
use models\main\SummitAdministratorPermissionGroup;
use utils\Filter;
use utils\Order;

/**
* Class DoctrineSummitAdministratorPermissionGroupRepository
Expand Down Expand Up @@ -58,7 +59,7 @@ protected function getOrderMappings()
* @param QueryBuilder $query
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null)
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null)
{
$query = $query->join('e.summits', 's')
->join('e.members', 'm');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
use Doctrine\ORM\QueryBuilder;
use models\main\SupportingCompany;
use utils\Filter;
use utils\Order;

/**
* Class DoctrineSupportingCompanyRepository
Expand Down Expand Up @@ -56,7 +57,7 @@ protected function getOrderMappings()
* @param QueryBuilder $query
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null)
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null)
{
$query = $query->innerJoin("e.sponsorship_type", "st");
$query = $query->innerJoin("e.company", "c");
Expand Down
5 changes: 4 additions & 1 deletion app/Repositories/SilverStripeDoctrineRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
use models\utils\SilverstripeBaseModel;
use LaravelDoctrine\ORM\Facades\Registry;
use utils\Filter;
use utils\Order;

/**
* Class SilverStripeDoctrineRepository
Expand Down Expand Up @@ -64,9 +65,11 @@ protected function applyExtraFilters(QueryBuilder $query){

/**
* @param QueryBuilder $query
* @param Filter|null $filter
* @param Order|null $order
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null){
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null){
return $query;
}

Expand Down
2 changes: 1 addition & 1 deletion app/Repositories/Summit/DoctrineMemberRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ protected function getBaseEntity()
* @param Filter|null $filter
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null): QueryBuilder
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null): QueryBuilder
{
if($filter->hasFilter("summit_id") || $filter->hasFilter("schedule_event_id")){
$query
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
use models\summit\PresentationActionType;
use utils\DoctrineLeftJoinFilterMapping;
use utils\Filter;
use utils\Order;

/**
* Class DoctrinePresentationActionTypeRepository
Expand All @@ -43,7 +44,7 @@ protected function getBaseEntity(): string
* @param Filter|null $filter
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null): QueryBuilder
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null): QueryBuilder
{
return $query->leftJoin("e.assigned_selection_plans", "asp")
->leftJoin("asp.selection_plan", "sp");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
use Doctrine\ORM\QueryBuilder;
use models\summit\PresentationMediaUpload;
use utils\Filter;
use utils\Order;

/**
* Class DoctrinePresentationMediaUploadRepository
Expand Down Expand Up @@ -57,7 +58,7 @@ protected function getOrderMappings()
* @param QueryBuilder $query
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null){
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null){
$query = $query->innerJoin("e.media_upload_type", "t");
return $query;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
use App\Repositories\SilverStripeDoctrineRepository;
use Doctrine\ORM\QueryBuilder;
use utils\Filter;
use utils\Order;

/**
* Class DoctrinePresentationTrackChairRatingTypeRepository
Expand All @@ -39,7 +40,7 @@ protected function getBaseEntity()
* @param QueryBuilder $query
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null)
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null)
{
if($filter->hasFilter('selection_plan_id'))
$query->join('e.selection_plan', 'sp');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
use App\Repositories\SilverStripeDoctrineRepository;
use Doctrine\ORM\QueryBuilder;
use utils\Filter;
use utils\Order;

/**
* Class DoctrinePresentationScoreTypeRepository
Expand All @@ -39,7 +40,7 @@ protected function getBaseEntity()
* @param QueryBuilder $query
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null)
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null)
{
if($filter->hasFilter('type_id'))
$query->join('e.type', 't');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ protected function getBaseEntity()
* @param Filter|null $filter
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null)
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null)
{
if ($filter->hasFilter("summit_id")) {
$query = $query->join('e.summit', 's');
Expand Down
3 changes: 2 additions & 1 deletion app/Repositories/Summit/DoctrineSponsorRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
use utils\DoctrineJoinFilterMapping;
use utils\DoctrineLeftJoinFilterMapping;
use utils\Filter;
use utils\Order;

/**
* Class DoctrineSponsorRepository
Expand Down Expand Up @@ -50,7 +51,7 @@ protected function getFilterMappings()
* @param QueryBuilder $query
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null){
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null){
if($filter->hasFilter("badge_scans_count"))
$query = $query->leftJoin("e.user_info_grants", "bs");
return $query;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
use models\summit\SponsorUserInfoGrant;
use utils\DoctrineFilterMapping;
use utils\Filter;
use utils\Order;

/**
* Class DoctrineSponsorUserInfoGrantRepository
Expand Down Expand Up @@ -85,7 +86,7 @@ protected function getOrderMappings()
* @param QueryBuilder $query
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null){
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null){
$query = $query->join('e.sponsor', 'sp')
->join('sp.summit', 's')
->join('sp.company', 'c')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
use models\summit\SummitAttendeeBadgePrint;
use models\utils\SilverstripeBaseModel;
use utils\Filter;
use utils\Order;

/**
* Class DoctrineSummitAttendeeBadgePrintRepository
Expand All @@ -34,7 +35,7 @@ protected function getBaseEntity()
return SummitAttendeeBadgePrint::class;
}

protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null)
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null)
{
$query = $query->innerJoin("e.badge", "b");
$query = $query->innerJoin("e.requestor", "r");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ protected function getOrderMappings()
* @param QueryBuilder $query
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null){
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null){
$query = $query->join('e.ticket', 't')
->leftJoin('t.owner', 'o')
->leftJoin('o.member', 'm')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ protected function getBaseEntity()
return SummitAttendeeNote::class;
}

protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null)
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null)
{
$query = $query->leftJoin("e.author", "a");
$query = $query->innerJoin("e.owner", "o");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ final class DoctrineSummitAttendeeRepository
* @param Filter|null $filter
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null){
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null){
$query = $query->join('e.summit', 's')
->leftJoin('e.member', 'm')
->leftJoin('e.tickets', 't')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ protected function getFilterMappings()
* @param QueryBuilder $query
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null)
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null)
{
$query->join("e.order", "o");
$query = $query->join("o.summit", "s");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
use Doctrine\ORM\QueryBuilder;
use models\summit\SummitCategoryChange;
use utils\Filter;
use utils\Order;

/**
* Class DoctrineSummitCategoryChangeRepository
Expand All @@ -39,7 +40,7 @@ protected function getBaseEntity()
* @param QueryBuilder $query
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null){
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null){
$query->join("e.presentation","p");
$query->join("p.selection_plan","sp");
$query->join("p.summit","s");
Expand Down
3 changes: 2 additions & 1 deletion app/Repositories/Summit/DoctrineSummitDocumentRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
use models\summit\SummitDocument;
use utils\DoctrineLeftJoinFilterMapping;
use utils\Filter;
use utils\Order;

/**
* Class DoctrineSummitDocumentRepository
Expand All @@ -37,7 +38,7 @@ protected function getBaseEntity()
* @param QueryBuilder $query
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null){
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null){

$query = $query->join('e.summit', 's')
->leftJoin('e.event_types', 'et');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
use Doctrine\ORM\QueryBuilder;
use utils\DoctrineLeftJoinFilterMapping;
use utils\Filter;
use utils\Order;

/**
* Class DoctrineSummitEmailEventFlowRepository
Expand All @@ -39,7 +40,7 @@ protected function getBaseEntity()
* @param QueryBuilder $query
* @return QueryBuilder
*/
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null){
protected function applyExtraJoins(QueryBuilder $query, ?Filter $filter = null, ?Order $order = null){
$query = $query->join('e.event_type', 'et')
->join('et.flow', 'f');
return $query;
Expand Down
Loading

0 comments on commit f42ab8b

Please sign in to comment.