/** * Prepeare paginator data for view */ public function show() { $iTotalRows = $this->_oComponentGrid->getTotalRows(); $iTotalPages = $this->_oComponentGrid->getTotalPages(); $iCurrentPage = $this->_oComponentGrid->getPage(); $iStart = $iCurrentPage - round($iTotalRows / 2) + 1; $iEnd = $iCurrentPage + round($iTotalRows / 2) - 1; if ($iStart < 1) { $iStart = 1; $iEnd = $iTotalRows; if ($iEnd > $iTotalPages) { $iEnd = $iTotalPages; } } else { if ($iEnd > $iTotalPages) { $iEnd = $iTotalPages; $iStart = $iTotalPages - $iTotalRows; if ($iStart < 1) { $iStart = 1; } } } if ($iCurrentPage > 1) { $iPrevPage = $iCurrentPage - 1; } else { $iPrevPage = $iCurrentPage; } if ($iCurrentPage < $iTotalPages) { $iNextPage = $iCurrentPage + 1; } else { $iNextPage = $iCurrentPage; } $aNearestPages = array(); for ($i = $iStart; $i <= $iEnd; $i++) { if ($i >= 1) { if ($i == $iCurrentPage) { $aNearestPages[] = array('page' => $i, 'isCurrentPage' => true); } else { $aNearestPages[] = array('page' => $i, 'isCurrentPage' => false); } } } $aData["gridName"] = $this->_oComponentGrid->getName(); $aData['pagerURI'] = $this->_oComponentGrid->getPagerURI(); $aData['pageSizeURI'] = $this->_oComponentGrid->getPageSizeURI(); $aData['perPage'] = $this->_oComponentGrid->getPageSize(); $aData['nearestPages'] = $aNearestPages; $aData['prevPage'] = $iPrevPage; $aData['currentPage'] = $iCurrentPage; $aData['nextPage'] = $iNextPage; $aData['totalPages'] = $iTotalPages; $this->view->{$this->getName()} = $aData; }
public function __construct(AM_Controller_Action $oActionController, $iClientId) { $iClientId = intval($iClientId); $aUser = $oActionController->getUser(); $oQuery = $oActionController->oDb->select()->from('application')->joinLeft(array('issue2' => 'issue'), 'issue2.application = application.id AND issue2.deleted = "no" ', null)->joinLeft(array('issue_user' => 'user'), 'issue2.user = issue_user.id ' . $oActionController->oDb->quoteInto('AND issue_user.client = ?', $aUser['client']), null)->joinLeft(array('issue1' => 'issue'), 'application.id = issue1.application AND issue1.deleted = "no" ' . $oActionController->oDb->quoteInto('AND issue1.state = ?', AM_Model_Db_State::STATE_PUBLISHED), null)->joinLeft('revision', 'revision.issue = issue1.id AND revision.deleted = "no" ' . $oActionController->oDb->quoteInto('AND revision.state = ?', AM_Model_Db_State::STATE_PUBLISHED), null)->where('application.deleted = ?', 'no')->where('application.client = ?', $iClientId)->group('application.id')->columns(array('published_revision' => 'revision.id', 'issue_count' => new Zend_Db_Expr('COUNT(DISTINCT(issue2.id))'))); parent::__construct($oActionController, 'grid', $oActionController->oDb, $oQuery, 'application.title', array(), 4, 'subselect'); }
/** * @param AM_Controller_Action $oActionController * @param int $iClientId */ public function __construct(AM_Controller_Action $oActionController, $iClientId) { $oQuery = $oActionController->oDb->select()->from('user')->where('deleted = ?', 'no')->columns(array('creator_full_name' => 'CONCAT(first_name, " ", last_name)')); if (!is_null($iClientId)) { $oQuery->where('client = ?', $iClientId); } parent::__construct($oActionController, 'grid', $oActionController->oDb, $oQuery, 'user.last_name, user.first_name', null, 4, 'subselect'); }
/** * Component post initialization */ protected function postInitialize() { parent::postInitialize(); if ($sValue = $this->_oFilterComponent->getControl('identifer')->getValue()) { $this->selectSQL->where('device.identifer LIKE CONCAT("%", ?, "%")', $sValue); } if ($sValue = $this->_oFilterComponent->getControl('linked')->getValue()) { $this->selectSQL->where('device.user IS NOT NULL'); } }
/** * @param AM_Controller_Action $oActionController * @param int $iApplicationId */ public function __construct(AM_Controller_Action $oActionController, $iApplicationId) { $iApplicationId = intval($iApplicationId); $aUser = $oActionController->getUser(); $sUserRole = $aUser['role']; $oQuery = $oActionController->oDb->select()->from('issue', null)->join('application', 'application.id = issue.application', null)->join('state', 'issue.state = state.id', null)->join('user', 'user.id = issue.user', null)->joinLeft('revision', $oActionController->oDb->quoteInto('revision.issue = issue.id AND revision.deleted = ?', 'no'), null)->joinLeft(array('revision1' => 'revision'), 'revision1.issue = issue.id' . $oActionController->oDb->quoteInto(' AND revision1.state = ?', AM_Model_Db_State::STATE_PUBLISHED) . $oActionController->oDb->quoteInto(' AND revision1.deleted = ?', 'no'), null)->where('application.id = ?', $iApplicationId)->where('application.deleted = ?', 'no')->where('issue.deleted = ?', 'no')->where('user.deleted = ?', 'no')->group(array('issue.id'))->columns(array('id' => 'issue.id', 'title' => 'issue.title', 'number' => 'issue.number', 'client' => 'application.client', 'state' => 'state.title', 'last_revision' => 'MAX(revision.id)', 'published_revision' => 'revision1.id', 'created' => 'DATE_FORMAT(issue.created, "%e/%c/%Y")', 'updated_date' => 'DATE_FORMAT(issue.updated, "%e/%c/%Y")', 'updated_time' => 'DATE_FORMAT(issue.updated, "%Hh%i")', 'release_date' => 'DATE_FORMAT(issue.release_date, "%e/%c/%Y at %Hh%i")', 'release_date_ts' => 'UNIX_TIMESTAMP(issue.release_date)', 'creator_full_name' => 'CONCAT(user.first_name, " ", user.last_name)', 'creator_login' => 'user.login', 'creator_uid' => 'user.id', 'creator_role' => 'IF(user.is_admin, "admin", "user")', 'application_id' => 'application.id')); if ("admin" != $sUserRole) { $oQuery->where('user.client = application.client'); } parent::__construct($oActionController, 'grid', $oActionController->oDb, $oQuery, 'issue.updated DESC', null, 4, 'subselect'); }
/** * @param AM_Controller_Action $oActionController * @param int $iIssueId */ public function __construct(AM_Controller_Action $oActionController, $iIssueId) { $oQuery = $oActionController->oDb->select()->from('revision', null)->join('issue', 'issue.id = revision.issue', null)->join('state', 'state.id = revision.state', null)->join('user', 'user.id = revision.user', null)->columns(array('id' => 'revision.id', 'title' => 'revision.title', 'state' => 'state.title', 'issue' => 'issue.id', 'created' => 'DATE_FORMAT(revision.created, "%e/%c/%Y %Hh%i")', 'updated' => 'DATE_FORMAT(revision.updated, "%e/%c/%Y %Hh%i")', 'creator_full_name' => 'CONCAT(user.first_name, " ", user.last_name)', 'creator_login' => 'user.login', 'creator_uid' => 'user.id', 'creator_role' => 'IF(user.is_admin, "admin", "user")', 'revision_id' => 'revision.id'))->where('revision.deleted = ?', 'no')->where('issue.deleted = ?', 'no')->where('user.deleted = ?', 'no')->where('issue.id = ?', $iIssueId); parent::__construct($oActionController, 'grid', $oActionController->oDb, $oQuery, 'revision.updated DESC', null, 4, 'subselect'); }
/** * @param AM_Controller_Action $oActionController */ public function __construct(AM_Controller_Action $oActionController) { $oQuery = $oActionController->oDb->select()->from('settings'); parent::__construct($oActionController, 'grid', $oActionController->oDb, $oQuery, 'name', null, 4, 'subselect'); }
/** * @param AM_Controller_Action $oActionController * @param int $iApplicationId */ public function __construct(AM_Controller_Action $oActionController, $iApplicationId) { $iApplicationId = intval($iApplicationId); $oQuery = $oActionController->oDb->select()->from('subscription', null)->join('application', 'application.id = subscription.application', null)->where('application.id = ?', $iApplicationId)->where('application.deleted = ?', 'no')->columns(array('id' => 'subscription.id', 'itunes_id' => 'subscription.itunes_id', 'google_id' => 'subscription.google_id', 'button_title' => 'subscription.button_title', 'application_id' => 'application.id')); parent::__construct($oActionController, 'grid', $oActionController->oDb, $oQuery, 'subscription.id', null, null, 'subselect'); }
public function __construct(AM_Controller_Action $oActionController) { $oQuery = $oActionController->oDb->select()->from('client')->joinLeft('user', 'user.client = client.id AND user.deleted = "no"', array('user_count' => new Zend_Db_Expr('COUNT(DISTINCT(user.id))')))->joinLeft('application', 'application.client = client.id AND application.deleted = "no"', array('application_count' => new Zend_Db_Expr('COUNT(DISTINCT(application.id))')))->where('client.deleted = ?', 'no')->group(array('client.id')); parent::__construct($oActionController, 'grid', $oActionController->oDb, $oQuery, 'client.title', array(), 4, 'subselect'); }