|
@@ -205,7 +205,7 @@ class PackageRepository extends EntityRepository
|
|
|
return $qb->getQuery()->getResult();
|
|
|
}
|
|
|
|
|
|
- public function getFilteredQueryBuilder(array $filters = array())
|
|
|
+ public function getFilteredQueryBuilder(array $filters = array(), $orderByName = false)
|
|
|
{
|
|
|
$qb = $this->getEntityManager()->createQueryBuilder();
|
|
|
$qb->select('p')
|
|
@@ -216,7 +216,12 @@ class PackageRepository extends EntityRepository
|
|
|
$qb->leftJoin('v.tags', 't');
|
|
|
}
|
|
|
|
|
|
- $qb->orderBy('p.id', 'DESC');
|
|
|
+ $qb->orderBy('p.abandoned');
|
|
|
+ if (true === $orderByName) {
|
|
|
+ $qb->addOrderBy('p.name');
|
|
|
+ } else {
|
|
|
+ $qb->addOrderBy('p.id', 'DESC');
|
|
|
+ }
|
|
|
|
|
|
$this->addFilters($qb, $filters);
|
|
|
|
|
@@ -340,6 +345,10 @@ class PackageRepository extends EntityRepository
|
|
|
$qb->andWhere($qb->expr()->in('m.id', ':'.$name));
|
|
|
break;
|
|
|
|
|
|
+ case 'vendor':
|
|
|
+ $qb->andWhere('p.name LIKE :vendor');
|
|
|
+ break;
|
|
|
+
|
|
|
default:
|
|
|
$qb->andWhere($qb->expr()->in('p.'.$name, ':'.$name));
|
|
|
break;
|