public function actionAddEmailMessageRecipient($moduleClassName, $type, $recipientType, $rowNumber, $recipientRowNumber)
 {
     $form = new WizardActiveForm();
     $form->id = WorkflowWizardView::getFormId();
     $form->enableAjaxValidation = true;
     //ensures error validation populates correctly
     $wizardFormClassName = WorkflowToWizardFormAdapter::getFormClassNameByType($type);
     $model = WorkflowEmailMessageRecipientFormFactory::make($recipientType, $moduleClassName::getPrimaryModelName(), $type);
     $inputPrefixData = array($wizardFormClassName, ComponentForWorkflowForm::TYPE_EMAIL_MESSAGES, (int) $rowNumber, EmailMessageForWorkflowForm::TYPE_EMAIL_MESSAGE_RECIPIENTS, $recipientRowNumber);
     $adapter = new WorkflowEmailMessageRecipientToElementAdapter($model, $form, $recipientType, $inputPrefixData);
     $view = new EmailMessageRecipientRowForWorkflowComponentView($adapter, (int) $recipientRowNumber, $inputPrefixData);
     $content = $view->render();
     $form->renderAddAttributeErrorSettingsScript($view::getFormId());
     Yii::app()->getClientScript()->setToAjaxMode();
     Yii::app()->getClientScript()->render($content);
     echo $content;
 }
 /**
  * @param integer $rowCount
  * @param array $recipients
  * @return array
  */
 protected function renderRecipients(&$rowCount, $recipients)
 {
     assert('is_int($rowCount)');
     assert('is_array($recipients)');
     $items = array();
     foreach ($recipients as $recipient) {
         $inputPrefixData = array_merge($this->inputPrefixData, array(EmailMessageForWorkflowForm::TYPE_EMAIL_MESSAGE_RECIPIENTS, (int) $rowCount));
         $adapter = new WorkflowEmailMessageRecipientToElementAdapter($recipient, $this->form, $recipient->type, $inputPrefixData);
         $view = new EmailMessageRecipientRowForWorkflowComponentView($adapter, $rowCount, $inputPrefixData);
         $view->addWrapper = false;
         $items[] = array('content' => $view->render());
         $rowCount++;
     }
     return $items;
 }