public function init() { $this->_supportedConstraints['read'] = ['read']; $this->_supportedConstraints['user_id'] = [2, 'user_id']; parent::init(); $this->queryOptions['with'] = ['user']; }
public function scenarios() { $scenarios = ['select' => ['user_id'], 'update' => ['token', 'active', 'revoked', 'revoked_on', 'level'], 'delete' => ['active'], 'create' => ['token', 'user_id', 'active', 'level']]; return array_merge(parent::scenarios(), $scenarios); }
public function scenarios() { $scenarios = ['default' => ['title', 'created_at', 'parent_id', 'parent_type', 'notes', 'status', 'closed', 'resolved'], 'create' => ['title', 'created_at', 'parent_id', 'parent_type', 'notes', 'status', 'duplicate', 'duplicate_id'], 'update' => ['title', 'notes', 'status', 'closed', 'closed_by', 'resolved', 'resolved_by'], 'close' => ['closed'], 'resolve' => ['resolved'], 'duplicate' => ['duplicate_id', 'duplicate']]; return array_merge(parent::scenarios(), $scenarios); }
public function getAlertOptions($event) { $message = parent::getAlertOptions($event); $type = $event->sender->isWhat(); switch ($event->sender->getScenario()) { case 'create': switch ($event->sender->parent_type) { case 'chat': if (!empty($event->sender->reply_to)) { $text = " %who% to @" . $event->sender->getReplyTo()->one()->author()->username . ": " . $event->sender->message; } else { $text = $event->sender->message; } $message = array_merge($message, ['subject' => "%who% posted a %priority% chat message", 'message' => ['email' => $text, 'mobile' => "(%priority%)" . $text]]); break; default: $message = array_merge($message, ['subject' => "%who% replied to %subjectDt% %priority% %remoteFor%, with id: %id%, on %when%", 'message' => ['email' => "%who% replied to %subjectDt% %priority% %remoteFor%, with id: %id%, was %action% to by %who%. %who% said:\n\t" . $event->sender->message, 'mobile' => "%who% %action% to %subjectDt% %remoteFor% with id %id%: " . $event->sender->message]]); break; } break; } if (!empty($message) && $event->sender->getId()) { $event->data['criteria'] = array_merge($message['criteria'], ['remote_type' => $type, 'remote_for' => $event->sender->parent_type, 'remote_id' => $event->sender->parent_id, 'action' => $event->sender->reply_to != null ? 'reply' : 'create', 'priority' => $event->sender->priority]); if ($event->sender->reply_to != null) { $event->data['reportedAction'] = 'replied'; } else { $event->data['reportedAction'] = 'create'; } $message['owner_id'] = $event->sender->hasAttribute('author_id') ? $event->sender->author_id : null; } return $message; }
/** * Adds the parents for this model * ParentMap are specieid in the parent_ids attribute * Parent object belong to the same table */ public function addParentMap() { $parents = []; $ids = array_filter(is_array($this->parent_ids) ? $this->parent_ids : explode(',', $this->parent_ids)); $parentModels = static::find()->where(['id' => $ids])->asArray()->indexBy('id')->all(); foreach ((array) $parentModels as $parent) { if (is_array($parent)) { $parents[] = ['remote_type' => $this->slug, 'parent_id' => $parent['id'], 'parent_type' => $parent['slug'], 'parent_class' => static::className(), 'parent_table' => $this->tableName()]; } } return parent::addParentMap($parents); }
public function scenarios() { $scenarios = ['default' => ['author_id', 'parent_type', 'parent_id', 'value'], 'update' => ['author_id', 'parent_type', 'parent_id', 'value'], 'create' => ['author_id', 'parent_type', 'parent_id']]; return array_merge(parent::scenarios(), $scenarios); }