protected function preFilter($filterChain)
 {
     if (null == ($messageContent = RequiredAttributesValidViewUtil::resolveValidView($this->moduleClassName, $this->viewClassName))) {
         return true;
     }
     $messageView = new ViewIsMissingRequiredAttributesView($messageContent);
     $view = new ViewIsMissingRequiredAttributesPageView($messageView);
     echo $view->render();
     Yii::app()->end(0, false);
 }
 protected function renderInlineEditContent()
 {
     if (null != ($messageContent = RequiredAttributesValidViewUtil::resolveValidView('NotesModule', $this->getInlineEditViewClassName()))) {
         $message = Zurmo::t('NotesModule', 'The NotesModulePluralLabel form cannot be displayed.', LabelUtil::getTranslationParamsForAllModules());
         $message .= '<br/>' . $messageContent . '<br/><br/>';
         return $message;
     }
     $note = new Note();
     $note->activityItems->add($this->params["relationModel"]);
     $inlineViewClassName = $this->getInlineEditViewClassName();
     $urlParameters = array('redirectUrl' => $this->getPortletDetailsUrl());
     //After save, the url to go to.
     $uniquePageId = get_called_class();
     $inlineView = new $inlineViewClassName($note, 'default', 'notes', 'inlineCreateSave', $urlParameters, $uniquePageId);
     return $inlineView->render();
 }
 public function testResolveValidView()
 {
     $content = RequiredAttributesValidViewUtil::resolveValidView('ContactsModule', 'MissingViewShouldAppearInAnyModule');
     $this->assertNull($content);
     RequiredAttributesValidViewUtil::setAsMissingRequiredAttributes('ContactsModule', 'ContactsListView');
     $value = ZurmoConfigurationUtil::getByModuleName('ContactsModule', 'ContactsListView_layoutMissingRequiredAttributes');
     $this->assertEquals($value, 1);
     $content = RequiredAttributesValidViewUtil::resolveValidView('ContactsModule', 'ContactsListView');
     $this->assertEquals($content, 'There are required fields missing from the following' . ' layout: Contacts List View.  Please contact your administrator.');
 }