/** * @param $partialName * @param $pageSize * @param null|string $moduleClassName * @param null|string $type * @return Array of SavedReport models */ public static function getEmailTemplatesByPartialName($partialName, $pageSize, $modelClassName = null, $type = null) { $searchAttributeData = array(); $searchAttributeData['clauses'] = array(1 => array('attributeName' => 'type', 'operatorType' => 'equals', 'value' => intval($type)), 2 => array('attributeName' => 'modelClassName', 'operatorType' => 'equals', 'value' => $modelClassName), 3 => array('attributeName' => 'isDraft', 'operatorType' => 'equals', 'value' => intval(false)), 4 => array('attributeName' => 'name', 'operatorType' => 'contains', 'value' => $partialName)); $searchAttributeData['structure'] = '1 and 2 and 3 and 4'; $joinTablesAdapter = new RedBeanModelJoinTablesQueryAdapter('EmailTemplate'); $where = RedBeanModelDataProvider::makeWhere('EmailTemplate', $searchAttributeData, $joinTablesAdapter); return EmailTemplate::getSubset($joinTablesAdapter, null, $pageSize, $where, 'name'); }
public function run() { $timestamp = time() - static::DRAFT_LIFE_TIME_IN_DAYS * 24 * 60 * 60; $dateTime = DateTimeUtil::convertTimestampToDbFormatDateTime($timestamp); $searchAttributeData = array(); $searchAttributeData['clauses'] = array(1 => array('attributeName' => 'createdDateTime', 'operatorType' => 'lessThan', 'value' => $dateTime), 2 => array('attributeName' => 'isDraft', 'operatorType' => 'equals', 'value' => 1)); $searchAttributeData['structure'] = '1 and 2'; $joinTablesAdapter = new RedBeanModelJoinTablesQueryAdapter('EmailTemplate'); $where = RedBeanModelDataProvider::makeWhere('EmailTemplate', $searchAttributeData, $joinTablesAdapter); $models = EmailTemplate::getSubset($joinTablesAdapter, null, null, $where, null); foreach ($models as $model) { $model->delete(); } return true; }