protected function processSetPrimaryModelForListViewMerge()
 {
     Yii::app()->user->userModel = User::getByUsername('super');
     $this->setFirstModel();
     $this->setSecondModel();
     $modelsList = ListViewMergeUtil::getSelectedModelsListForMerge($this->modelClass, array('selectedIds' => $this->selectedModels[0]->id . ',' . $this->selectedModels[1]->id));
     $formModel = new ModelsListDuplicateMergedModelForm();
     $formModel->selectedModels = $modelsList;
     ListViewMergeUtil::setPrimaryModelForListViewMerge($formModel, array('primaryModelId' => $this->selectedModels[0]->id));
     $this->primaryModel = $formModel->primaryModel;
     $this->assertEquals($this->selectedModels[0]->id, $formModel->primaryModel->id);
 }
 /**
  * Process list view merge for models
  */
 public function processListViewMerge($modelClassName, $mergedModelFormClassName, $viewPrefix, $pageView, $redirectUrl)
 {
     $getData = GetUtil::getData();
     try {
         $modelsList = ListViewMergeUtil::getSelectedModelsListForMerge($modelClassName, $getData);
     } catch (NotFoundException $exception) {
         $message = Zurmo::t('ZurmoModule', 'At least one record you are trying to merge does not exist.');
         Yii::app()->user->setFlash('notification', $message);
         $this->redirect('index');
     }
     $model = new $mergedModelFormClassName('listViewMerge');
     $model->selectedModels = $modelsList;
     ListViewMergeUtil::setPrimaryModelForListViewMerge($model, $getData);
     $redirectUrl = Yii::app()->createUrl($redirectUrl);
     if ($model->validate()) {
         $titleBarAndEditView = $this->makeListMergeView($this->attemptToSaveModelFromPost($model->primaryModel, null, $redirectUrl), $viewPrefix, array_values($modelsList));
         $view = new $pageView(ZurmoDefaultViewUtil::makeStandardViewForCurrentUser($this, $titleBarAndEditView));
         echo $view->render();
     } else {
         $this->redirect($redirectUrl);
     }
 }