/**
  * Action for saving a new social item inline edit form.
  * @param string or array $redirectUrl
  */
 public function actionInlineCreateSave($redirectUrl = null)
 {
     $socialItem = new SocialItem();
     $socialItem->setScenario('createPost');
     if (isset($_POST['ajax']) && $_POST['ajax'] === 'social-item-inline-edit-form') {
         $this->actionInlineEditValidate($socialItem, 'SocialItem');
     }
     $_POST['SocialItem']['explicitReadWriteModelPermissions']['type'] = ExplicitReadWriteModelPermissionsUtil::MIXED_TYPE_EVERYONE_GROUP;
     $this->attemptToSaveModelFromPost($socialItem, $redirectUrl);
 }
 /**
  * @param DemoDataHelper $demoDataHelper
  */
 public function makeAll(&$demoDataHelper)
 {
     assert('$demoDataHelper instanceof DemoDataHelper');
     assert('$demoDataHelper->isSetRange("User")');
     assert('$demoDataHelper->isSetRange("Account")');
     $socialItems = array();
     $data = self::getSocialItemData();
     shuffle($data);
     foreach ($data as $randomSocialItemData) {
         $postData = array();
         $socialItem = new SocialItem();
         $socialItem->setScenario('importModel');
         $socialItem->owner = $demoDataHelper->getRandomByModelName('User');
         $socialItem->createdByUser = $socialItem->owner;
         //check if we should connect to a note
         if (isset($randomSocialItemData['noteDescription'])) {
             $note = new Note();
             $account = $demoDataHelper->getRandomByModelName('Account');
             $note->description = $randomSocialItemData['noteDescription'];
             $note->owner = $socialItem->owner;
             $note->activityItems->add($account);
             $this->populateModel($note);
             $saved = $note->save();
             assert('$saved');
             $socialItem->note = $note;
         } else {
             $socialItem->description = $randomSocialItemData['description'];
         }
         //Add some comments
         foreach ($randomSocialItemData['comments'] as $commentDescription) {
             $comment = new Comment();
             $comment->setScenario('importModel');
             $comment->createdByUser = $demoDataHelper->getRandomByModelName('User');
             $comment->description = $commentDescription;
             $socialItem->comments->add($comment);
         }
         $socialItem->addPermissions(Group::getByName(Group::EVERYONE_GROUP_NAME), Permission::READ_WRITE_CHANGE_PERMISSIONS_CHANGE_OWNER);
         $saved = $socialItem->save();
         assert('$saved');
         $socialItems[] = $socialItem->id;
     }
     $demoDataHelper->setRangeByModelName('SocialItem', $socialItems[0], $socialItems[count($socialItems) - 1]);
 }