Define Interface for List classes.
Implement a trait base for the lists.
Fix sort by current user at Review and Reassign lists.
This commit is contained in:
davidcallizaya
2017-11-21 09:35:32 -04:00
parent c7b6c4128c
commit 8d5308dff8
14 changed files with 250 additions and 215 deletions

View File

@@ -0,0 +1,68 @@
<?php
/**
* List basic methods
*
*/
trait ListBaseTrait
{
private $additionalClassName = '';
private $userDisplayFormat = '';
/**
* Get the $additionalClassName value.
*
* @return string
*/
public function getAdditionalClassName()
{
return $this->additionalClassName;
}
/**
* Set the value of $additionalClassName.
*
* @param string $v new value
* @return void
*/
public function setAdditionalClassName($v)
{
$this->additionalClassName = $v;
}
/**
* Get the $userDisplayFormat value.
*
* @return string
*/
public function getUserDisplayFormat()
{
return $this->userDisplayFormat;
}
/**
* Set the value of $userDisplayFormat.
*
* @param string $v new value
* @return void
*/
public function setUserDisplayFormat($v)
{
$this->userDisplayFormat = $v;
}
protected function getCountListFromPeer($peerClass, $usrUid, $filters = [])
{
$criteria = new Criteria();
$criteria->addSelectColumn('COUNT(*) AS TOTAL');
$criteria->add($peerClass::USR_UID, $usrUid, Criteria::EQUAL);
if (count($filters)) {
self::loadFilters($criteria, $filters);
}
$dataset = $peerClass::doSelectRS($criteria);
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$dataset->next();
$aRow = $dataset->getRow();
return (int) $aRow['TOTAL'];
}
}