/**
  * @param RedBeanModel $model
  * @param RedBeanModel $copyToModel
  */
 public static function copy(RedBeanModel $model, RedBeanModel $copyToModel)
 {
     parent::copy($model, $copyToModel);
     foreach ($model->activityItems as $activityItem) {
         $copyToModel->activityItems->add($activityItem);
     }
 }
 /**
  * Use copy of parent class in addition to copy categories
  * @param RedBeanModel $model
  * @param RedBeanModel $copyToModel - model to copy attribute values from $model to
  */
 public static function copy(RedBeanModel $model, RedBeanModel $copyToModel)
 {
     parent::copy($model, $copyToModel);
     foreach ($model->productCategories as $productCategory) {
         $copyToModel->productCategories->add($productCategory);
     }
 }
 /**
  * Use copy of parent class in addition to copy accounts, contacts and opportunities
  * @param RedBeanModel $model
  * @param RedBeanModel $copyToModel - model to copy attribute values from $model to
  */
 public static function copy(RedBeanModel $model, RedBeanModel $copyToModel)
 {
     parent::copy($model, $copyToModel);
     foreach ($model->accounts as $account) {
         $copyToModel->accounts->add($account);
     }
     foreach ($model->contacts as $contact) {
         $copyToModel->contacts->add($contact);
     }
     foreach ($model->opportunities as $opportunity) {
         $copyToModel->opportunities->add($opportunity);
     }
 }
 public function actionCopy($id)
 {
     $copyToContact = new Contact();
     $postVariableName = get_class($copyToContact);
     if (!isset($_POST[$postVariableName])) {
         $contact = Contact::getById((int) $id);
         ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($contact);
         ZurmoCopyModelUtil::copy($contact, $copyToContact);
     }
     $this->processEdit($copyToContact);
 }
 /**
  * Ensures another user can 'clone' an account they can see, but is not necessarily the owner and does not have
  * super privileges.
  */
 public function testCopyingAModelOwnedByAnotherUserWhereYouHaveRestrictedAccess()
 {
     Yii::app()->user->userModel = User::getByUsername('super');
     $account = AccountTestHelper::createAccountByNameForOwner('a super account', Yii::app()->user->userModel);
     //This will simulate sally having access to 'clone' the account.
     $sally = User::getByUserName('sally');
     $account->addPermissions($sally, Permission::READ);
     $account->save();
     AllPermissionsOptimizationUtil::securableItemGivenReadPermissionsForUser($account, $sally);
     Yii::app()->user->userModel = User::getByUsername('sally');
     $copyOfAccount = new Account();
     ZurmoCopyModelUtil::copy($account, $copyOfAccount);
     $saved = $copyOfAccount->save();
     $this->assertTrue($saved);
 }
 public function actionCopy($id)
 {
     $copyToCostbook = new Costbook();
     $postVariableName = get_class($copyToCostbook);
     if (!isset($_POST[$postVariableName])) {
         $costbook = Costbook::getById((int) $id);
         $copyToCostbook->costofgoodssold->value = $costbook->costofgoodssold->value;
         ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($costbook);
         ZurmoCopyModelUtil::copy($costbook, $copyToCostbook);
     }
     $this->processEdit($copyToCostbook);
 }
 protected function resolveSavedWorkflowAndWorkflowByPostData(array $postData, &$savedWorkflow, &$workflow, $type, $id = null, $isBeingCopied = false)
 {
     if ($id == null) {
         $this->resolveCanCurrentUserAccessWorkflows();
         $savedWorkflow = new SavedWorkflow();
         $workflow = new Workflow();
         $workflow->setType($type);
     } elseif ($isBeingCopied) {
         $savedWorkflow = new SavedWorkflow();
         $oldWorkflow = SavedWorkflow::getById(intval($id));
         ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($oldWorkflow);
         ZurmoCopyModelUtil::copy($oldWorkflow, $savedWorkflow);
         $workflow = SavedWorkflowToWorkflowAdapter::makeWorkflowBySavedWorkflow($savedWorkflow);
     } else {
         $savedWorkflow = SavedWorkflow::getById(intval($id));
         ControllerSecurityUtil::resolveAccessCanCurrentUserWriteModel($savedWorkflow);
         $workflow = SavedWorkflowToWorkflowAdapter::makeWorkflowBySavedWorkflow($savedWorkflow);
     }
     DataToWorkflowUtil::resolveWorkflowByWizardPostData($workflow, $postData, WorkflowToWizardFormAdapter::getFormClassNameByType($type));
 }
 protected function resolveSavedReportAndReportByPostData(array $postData, &$savedReport, &$report, $type, $id = null, $isBeingCopied = false)
 {
     if ($id == null) {
         $this->resolveCanCurrentUserAccessReports();
         $savedReport = new SavedReport();
         $report = new Report();
         $report->setType($type);
     } elseif ($isBeingCopied) {
         $savedReport = new SavedReport();
         $oldReport = SavedReport::getById(intval($id));
         ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($oldReport);
         ZurmoCopyModelUtil::copy($oldReport, $savedReport);
         $report = SavedReportToReportAdapter::makeReportBySavedReport($savedReport);
     } else {
         $savedReport = SavedReport::getById(intval($id));
         ControllerSecurityUtil::resolveAccessCanCurrentUserWriteModel($savedReport);
         $report = SavedReportToReportAdapter::makeReportBySavedReport($savedReport);
     }
     DataToReportUtil::resolveReportByWizardPostData($report, $postData, ReportToWizardFormAdapter::getFormClassNameByType($type));
 }
 /**
  *
  * @param FileModel $existingFileModel
  * @param bool $sharedContent
  * @return $fileModel or false on failure
  */
 public static function makeByFileModel($existingFileModel, $sharedContent = true)
 {
     $file = new FileModel();
     ZurmoCopyModelUtil::copy($existingFileModel, $file);
     if (!$sharedContent) {
         $fileContent = new FileContent();
         $fileContent->content = $existingFileModel->fileContent->content;
         $file->fileContent = $fileContent;
     }
     if (!$file->save()) {
         return false;
     }
     return $file;
 }
Example #10
0
 /**
  *
  * @param integer $fileModelId
  * @return $fileModel or false on failure
  */
 public static function makeByExistingFileModelId($fileModelId)
 {
     assert('is_int($fileModelId) || (is_string($fileModelId) && !empty($fileModelId))');
     $existingFileModel = FileModel::getById($fileModelId);
     $file = new FileModel();
     // TODO: @Shoaibi/@Jason: High: Following should also clone FileContent as its HAS_ONE.
     ZurmoCopyModelUtil::copy($existingFileModel, $file);
     $fileContent = new FileContent();
     $fileContent->content = $existingFileModel->fileContent->content;
     $file->fileContent = $fileContent;
     if (!$file->save()) {
         return false;
     }
     return $file;
 }
Example #11
0
 /**
  *
  * @param FileModel $existingFileModel
  * @return $fileModel or false on failure
  */
 public static function makeByFileModel($existingFileModel)
 {
     $file = new FileModel();
     // TODO: @Shoaibi/@Jason: High: Following should also clone FileContent as its HAS_ONE.
     ZurmoCopyModelUtil::copy($existingFileModel, $file);
     $fileContent = new FileContent();
     $fileContent->content = $existingFileModel->fileContent->content;
     $file->fileContent = $fileContent;
     if (!$file->save()) {
         return false;
     }
     return $file;
 }
 /**
  * @param RedBeanModel $model
  * @param RedBeanModel $copyToModel
  */
 public static function copy(RedBeanModel $model, RedBeanModel $copyToModel)
 {
     parent::copy($model, $copyToModel);
     $copyToModel->status = Campaign::STATUS_ACTIVE;
     $copyToModel->sendOnDateTime = null;
 }
 public function actionCopy($id)
 {
     $copyToagrmnt = new Agreement();
     $postVariableName = get_class($copyToagrmnt);
     if (!isset($_POST[$postVariableName])) {
         $agmnt = Agreement::getById((int) $id);
         $copyToagrmnt->RecordType = $agmnt->RecordType;
         $copyToagrmnt->Project_Agreement_Amount = $agmnt->Project_Agreement_Amount;
         $copyToagrmnt->Current_GPM = $agmnt->Current_GPM;
         if ($agmnt->ContractTerm > 0) {
             $copyToagrmnt->ContractTerm = $agmnt->ContractTerm;
         } else {
             $copyToagrmnt->ContractTerm = 0;
         }
         $copyToagrmnt->ContractTerm = $agmnt->ContractTerm;
         $copyToagrmnt->Status = $agmnt->Status;
         $copyToagrmnt->account = $agmnt->account;
         ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($agmnt);
         ZurmoCopyModelUtil::copy($agmnt, $copyToagrmnt);
     }
     $this->processEdit($copyToagrmnt);
 }