/** * 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]); }