Example #1
0
 public function init()
 {
     $this->_supportedConstraints['read'] = ['read'];
     $this->_supportedConstraints['user_id'] = [2, 'user_id'];
     parent::init();
     $this->queryOptions['with'] = ['user'];
 }
Example #2
0
 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);
 }
Example #3
0
 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);
 }
Example #4
0
 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;
 }
Example #5
0
 /**
  * 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);
 }
Example #6
0
 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);
 }