/** * @param DemoDataHelper $demoDataHelper */ public function makeAll(&$demoDataHelper) { assert('$demoDataHelper instanceof DemoDataHelper'); assert('$demoDataHelper->isSetRange("User")'); assert('$demoDataHelper->isSetRange("Account")'); $conversations = array(); foreach (self::getConversationData() as $randomConversationData) { $postData = array(); $conversation = new Conversation(); $conversation->setScenario('importModel'); $conversation->owner = $demoDataHelper->getRandomByModelName('User'); $conversation->createdByUser = $conversation->owner; $conversation->conversationItems->add($demoDataHelper->getRandomByModelName('Account')); $conversation->subject = $randomConversationData['subject']; $conversation->description = $randomConversationData['description']; //Add some comments foreach ($randomConversationData['comments'] as $commentDescription) { $comment = new Comment(); $comment->setScenario('importModel'); $comment->createdByUser = $demoDataHelper->getRandomByModelName('User'); $comment->description = $commentDescription; $conversation->comments->add($comment); self::addItemIdToPostData($postData, $comment->createdByUser->getClassId('Item')); } //Add Super user $comment = new Comment(); $comment->description = 'Great idea guys. Keep it coming.'; $conversation->comments->add($comment); self::addItemIdToPostData($postData, Yii::app()->user->userModel->getClassId('Item')); $saved = $conversation->save(); assert('$saved'); //any user who has made a comment should be added as a participant and resolve permissions $explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::makeBySecurableItem($conversation); ConversationParticipantsUtil::resolveConversationHasManyParticipantsFromPost($conversation, $postData, $explicitReadWriteModelPermissions); $saved = $conversation->save(); assert('$saved'); $success = ExplicitReadWriteModelPermissionsUtil::resolveExplicitReadWriteModelPermissions($conversation, $explicitReadWriteModelPermissions); $saved = $conversation->save(); assert('$success'); $conversations[] = $conversation->id; } $demoDataHelper->setRangeByModelName('Conversation', $conversations[0], $conversations[count($conversations) - 1]); }