/**
  * @return rendered content from view as string.
  */
 public static function renderList(CController $controller, $dataProvider)
 {
     assert('$dataProvider instanceof RedBeanModelDataProvider');
     $auditEventsListView = new AuditEventsModalListView($controller->getId(), $controller->getModule()->getId(), 'AuditEvent', $dataProvider, 'modal');
     $view = new ModalView($controller, $auditEventsListView);
     return $view->render();
 }
 protected function preFilter($filterChain)
 {
     $sendGridPluginEnabled = (bool) ZurmoConfigurationUtil::getByModuleName('SendGridModule', 'enableSendgrid');
     try {
         if ($sendGridPluginEnabled) {
             SendGridEmailAccount::getByUserAndName(Yii::app()->user->userModel, null);
         } else {
             EmailAccount::getByUserAndName(Yii::app()->user->userModel);
         }
     } catch (NotFoundException $e) {
         $redirectUrl = Yii::app()->request->getParam('redirectUrl');
         if ($sendGridPluginEnabled) {
             try {
                 EmailAccount::getByUserAndName(Yii::app()->user->userModel);
             } catch (NotFoundException $ex) {
                 $messageView = new NoUserEmailConfigurationYetView($redirectUrl);
                 $view = new ModalView($this->controller, $messageView);
                 Yii::app()->getClientScript()->setToAjaxMode();
                 echo $view->render();
                 return false;
             }
         } else {
             $messageView = new NoUserEmailConfigurationYetView($redirectUrl);
             $view = new ModalView($this->controller, $messageView);
             Yii::app()->getClientScript()->setToAjaxMode();
             echo $view->render();
             return false;
         }
     }
     return true;
 }
 /**
  * @return rendered content from view as string.
  */
 public static function renderList(CController $controller, $dataProvider, $action)
 {
     assert('$dataProvider instanceof RedBeanModelDataProvider');
     $modalListLinkProvider = new UserDetailsModalListLinkProvider('users', 'default', 'details');
     $usersListView = new UsersByModelModalListView($controller->getId(), $controller->getModule()->getId(), $action, 'User', $modalListLinkProvider, $dataProvider, 'modal');
     $view = new ModalView($controller, $usersListView);
     return $view->render();
 }
Example #4
0
 /**
  * Called using Ajax. Renders a modal popup
  * of the portlet's configuration view.
  * Also called on 'save' of the modal popup form
  * in order to validate form.
  */
 public function actionModalConfigEdit()
 {
     if (isset($_POST['ajax']) && $_POST['ajax'] === 'modal-edit-form') {
         $this->actionModalConfigValidate();
     }
     Yii::app()->getClientScript()->setToAjaxMode();
     $portlet = Portlet::getById(intval($_GET['portletId']));
     $portlet->params = array('modalConfigSaveAction' => 'modalConfigSave', 'controllerId' => $this->getId(), 'moduleId' => $this->getModule()->getId(), 'uniquePortletPageId' => $portlet->getUniquePortletPageId());
     $configurableView = $portlet->getView()->getConfigurationView();
     $view = new ModalView($this, $configurableView);
     echo $view->render();
 }
 protected function preFilter($filterChain)
 {
     try {
         EmailAccount::getByUserAndName(Yii::app()->user->userModel);
     } catch (NotFoundException $e) {
         $redirectUrl = Yii::app()->request->getParam('redirectUrl');
         $messageView = new NoUserEmailConfigurationYetView($redirectUrl);
         $view = new ModalView($this->controller, $messageView);
         Yii::app()->getClientScript()->setToAjaxMode();
         echo $view->render();
         return false;
     }
     return true;
 }
 /**
  * Resolve ajax options for modal view
  * @param string $linkId
  * @return string
  */
 protected function resolveAjaxOptionsForModalView($linkId)
 {
     assert('is_string($linkId)');
     $title = $this->getCreateAccountLabel();
     return ModalView::getAjaxOptionsForModalLink($title, $this->getModalContainerId(), 'auto', 600, 'center top+25', $class = "'task-dialog'");
     // Not Coding Standard
 }
Example #7
0
 public function actionDaysMeetingsFromCalendarModalList($stringTime, $redirectUrl)
 {
     if (isset($_GET['ownerOnly'])) {
         $ownerOnly = true;
     } else {
         $ownerOnly = false;
     }
     if (isset($_GET['relationModelId'])) {
         $relationModelClassName = $_GET['relationModelClassName'];
         $relationModel = $relationModelClassName::getById((int) $_GET['relationModelId']);
     } else {
         $relationModel = null;
     }
     Yii::app()->getClientScript()->setToAjaxMode();
     $meetingsView = new DaysMeetingsFromCalendarModalListView($this->getId(), $this->getModule()->getId(), $stringTime, $redirectUrl, $ownerOnly, $relationModel);
     $view = new ModalView($this, $meetingsView);
     echo $view->render();
 }
 protected static function resolveAjaxOptionsForTestEmailSettings($formId)
 {
     assert('is_string($formId)');
     $title = Zurmo::t('EmailMessagesModule', 'Test Message Results');
     $ajaxOptions = ModalView::getAjaxOptionsForModalLink($title);
     $ajaxOptions['type'] = 'POST';
     $ajaxOptions['data'] = 'js:$("#' . $formId . '").serialize()';
     return $ajaxOptions;
 }
 protected static function resolveAjaxOptionsForTestLdapConnection($formId)
 {
     assert('is_string($formId)');
     $title = Zurmo::t('ZurmoModule', 'Test Connection Results');
     $ajaxOptions = ModalView::getAjaxOptionsForModalLink($title);
     $ajaxOptions['type'] = 'POST';
     $ajaxOptions['data'] = 'js:$("#' . $formId . '").serialize()';
     return $ajaxOptions;
 }
 protected function getAjaxOptions()
 {
     $parentAjaxOptions = parent::getAjaxOptions();
     $modalViewAjaxOptions = ModalView::getAjaxOptionsForModalLink($this->getDefaultLabel());
     if (!isset($this->params['ajaxOptions'])) {
         $this->params['ajaxOptions'] = array();
     }
     return CMap::mergeArray($parentAjaxOptions, $modalViewAjaxOptions, $this->params['ajaxOptions']);
 }
 /**
  * @return rendered content from view as string.
  */
 protected static function renderModalSearchList(CController $controller, $modalListLinkProvider, $stateMetadataAdapterClassName = null)
 {
     assert('$modalListLinkProvider instanceof ModalListLinkProvider');
     $className = $controller->getModule()->getPluralCamelCasedName() . 'ModalSearchAndListView';
     $modelClassName = $controller->getModule()->getPrimaryModelName();
     $searchViewClassName = $className::getSearchViewClassName();
     if ($searchViewClassName::getModelForMetadataClassName() != null) {
         $formModelClassName = $searchViewClassName::getModelForMetadataClassName();
         $model = new $modelClassName(false);
         $searchModel = new $formModelClassName($model);
     } else {
         throw new NotSupportedException();
     }
     $pageSize = Yii::app()->pagination->resolveActiveForCurrentUserByType('modalListPageSize', get_class($controller->getModule()));
     $dataProvider = $controller->makeRedBeanDataProviderByDataCollection($searchModel, $pageSize, $stateMetadataAdapterClassName);
     $searchAndListView = new $className($controller->getId(), $controller->getModule()->getId(), $controller->getAction()->getId(), $modalListLinkProvider, $searchModel, $model, $dataProvider, 'modal');
     $view = new ModalView($controller, $searchAndListView);
     return $view->render();
 }
Example #12
0
 public function actionJobLogsModalList($type)
 {
     assert('is_string($type) && $type != ""');
     $jobClassName = $type . 'Job';
     $searchAttributeData = array();
     $searchAttributeData['clauses'] = array(1 => array('attributeName' => 'type', 'operatorType' => 'equals', 'value' => $type));
     $searchAttributeData['structure'] = '1';
     $pageSize = Yii::app()->pagination->resolveActiveForCurrentUserByType('subListPageSize');
     $dataProvider = new RedBeanModelDataProvider('JobLog', 'startDateTime', true, $searchAttributeData, array('pagination' => array('pageSize' => $pageSize)));
     Yii::app()->getClientScript()->setToAjaxMode();
     $jobLogsListView = new JobLogsModalListView($this->getId(), $this->getModule()->getId(), 'JobLog', $dataProvider, 'modal');
     $view = new ModalView($this, $jobLogsListView);
     echo $view->render();
 }
 protected function getAjaxOptions()
 {
     $parentAjaxOptions = parent::getAjaxOptions();
     $modalViewAjaxOptions = ModalView::getAjaxOptionsForModalLink($this->getDefaultLabel());
     if (!isset($this->params['ajaxOptions'])) {
         $selector = $this->params['selector'];
         $isHtmlContent = $this->params['isHtmlContent'];
         $this->params['ajaxOptions'] = array('data' => array('isHtmlContent' => $isHtmlContent, 'content' => new CJavaScriptExpression('
                                                                 function()
                                                                  {
                                                                     return ' . $selector . ';
                                                                  }')));
     }
     return CMap::mergeArray($parentAjaxOptions, $modalViewAjaxOptions, $this->params['ajaxOptions']);
 }
 protected function renderControlNonEditable()
 {
     $avatarImage = $this->model->getAvatarImage(110);
     $content = '<div class="gravatar-container">';
     if (Yii::app()->user->userModel->id == $this->model->id || RightsUtil::canUserAccessModule('UsersModule', Yii::app()->user->userModel)) {
         $span = ZurmoHtml::tag('span', array('id' => 'profile-picture-tooltip'), Zurmo::t('UsersModule', 'Change Profile Picture'), true);
         $url = Yii::app()->createUrl('/users/default/changeAvatar', array('id' => $this->model->id));
         $modalTitle = ModalView::getAjaxOptionsForModalLink(Zurmo::t('UsersModule', 'Change Profile Picture') . ": " . strval($this->model));
         $content .= ZurmoHtml::ajaxLink($span . $avatarImage, $url, $modalTitle);
     } else {
         $content .= $avatarImage;
     }
     $content .= '</div>';
     return $content;
 }
 public function actionAddList()
 {
     Yii::app()->getClientScript()->setToAjaxMode();
     $view = new ModalView($this, new DetailsPortletSelectionView($this->getId(), $this->getModule()->getId(), $_GET['modelId'], $_GET['uniqueLayoutId']));
     echo $view->render();
 }
Example #16
0
 /**
  * Based on security, render an email address as a clickable link to a modal window or just a mailto: link
  * that will open the user's configured email client.
  * @param EmailMessage $emailAddress
  * @param RedBeanModel $model
  * @return string $content
  */
 public static function renderEmailAddressAsMailToOrModalLinkStringContent($emailAddress, RedBeanModel $model)
 {
     assert('is_string($emailAddress) || $emailAddress == null');
     if ($emailAddress == null) {
         return;
     }
     $userCanAccess = RightsUtil::canUserAccessModule('EmailMessagesModule', Yii::app()->user->userModel);
     $userCanCreate = RightsUtil::doesUserHaveAllowByRightName('EmailMessagesModule', EmailMessagesModule::RIGHT_CREATE_EMAIL_MESSAGES, Yii::app()->user->userModel);
     if (!$userCanAccess || !$userCanCreate) {
         $showLink = false;
     } else {
         $showLink = true;
     }
     if ($showLink && !$model instanceof Account) {
         $url = Yii::app()->createUrl('/emailMessages/default/createEmailMessage', array('toAddress' => $emailAddress, 'relatedId' => $model->id, 'relatedModelClassName' => get_class($model), 'redirectUrl' => Yii::app()->request->getRequestUri()));
         $modalAjaxOptions = ModalView::getAjaxOptionsForModalLink(Zurmo::t('EmailMessagesModule', 'Compose Email'), 'modalContainer', 'auto', 800, array('my' => 'top', 'at' => 'bottom', 'of' => '#HeaderView'));
         $content = ZurmoHtml::ajaxLink($emailAddress, $url, $modalAjaxOptions);
     } else {
         $content = Yii::app()->format->email($emailAddress);
     }
     return $content;
 }
 protected static function resolveAjaxOptionsForSelectList()
 {
     $singularTitle = ProductTemplate::getModelLabelByTypeAndLanguage('Singular');
     $title = Zurmo::t('ProductTemplatesModule', $singularTitle . ' Search', LabelUtil::getTranslationParamsForAllModules());
     return ModalView::getAjaxOptionsForModalLink($title);
 }
 protected static function resolveAjaxOptionsForSelectList()
 {
     $title = Zurmo::t('MarketingListsModule', 'Marketing List Search', LabelUtil::getTranslationParamsForAllModules());
     return ModalView::getAjaxOptionsForModalLink($title);
 }
Example #19
0
 protected function renderModalList($modalViewName, $pageTitle)
 {
     $rolesModalTreeView = new $modalViewName($this->getId(), $this->getModule()->getId(), $_GET['modalTransferInformation']['sourceModelId'], Role::getAll('name'), $_GET['modalTransferInformation']['sourceIdFieldId'], $_GET['modalTransferInformation']['sourceNameFieldId'], $_GET['modalTransferInformation']['modalId']);
     Yii::app()->getClientScript()->setToAjaxMode();
     $view = new ModalView($this, $rolesModalTreeView);
     return $view->render();
 }
Example #20
0
 protected static function resolveAjaxOptionsForEditLink()
 {
     $title = Yii::t('Default', 'Edit Portlet');
     return ModalView::getAjaxOptionsForModalLink($title);
 }
 /**
  * Map modal view for map popup..
  * @return rendered content from view as string.
  */
 protected function renderModalMapView(CController $controller, $modalMapAddressData, $stateMetadataAdapterClassName = null)
 {
     $renderAndMapModalView = new AddressMapModalView($controller->getId(), $controller->getModule()->getId(), $modalMapAddressData, 'modal');
     $view = new ModalView($controller, $renderAndMapModalView);
     return $view->render();
 }
 public function actionModalList()
 {
     $groupsModalTreeView = new SelectParentGroupModalTreeListView($this->getId(), $this->getModule()->getId(), $_GET['modalTransferInformation']['sourceModelId'], static::getGroupsOrderedByNonDeletablesFirst(false), $_GET['modalTransferInformation']['sourceIdFieldId'], $_GET['modalTransferInformation']['sourceNameFieldId'], $_GET['modalTransferInformation']['modalId']);
     Yii::app()->getClientScript()->setToAjaxMode();
     $pageTitle = Zurmo::t('ZurmoModule', 'Select a Parent Group');
     $view = new ModalView($this, $groupsModalTreeView);
     echo $view->render();
 }
 /**
  * @return array
  */
 protected static function resolveAjaxOptionsForAddPortlet()
 {
     $title = Zurmo::t('HomeModule', 'Add Portlet');
     return ModalView::getAjaxOptionsForModalLink($title);
 }
Example #24
0
 protected function resolveAjaxOptionsForMapLink()
 {
     return ModalView::getAjaxOptionsForModalLink(strval($this->model));
 }
 public function actionTestConnection()
 {
     $configurationForm = LdapConfigurationFormAdapter::makeFormFromGlobalConfiguration();
     $postVariableName = get_class($configurationForm);
     if (isset($_POST[$postVariableName]) || isset($_POST['LdapConfigurationForm'])) {
         if (isset($_POST[$postVariableName])) {
             $configurationForm->setAttributes($_POST[$postVariableName]);
         } else {
             $configurationForm->serverType = $_POST['LdapConfigurationForm']['serverType'];
             $configurationForm->host = $_POST['LdapConfigurationForm']['host'];
             $configurationForm->port = $_POST['LdapConfigurationForm']['port'];
             $configurationForm->bindRegisteredDomain = $_POST['LdapConfigurationForm']['bindRegisteredDomain'];
             $configurationForm->bindPassword = $_POST['LdapConfigurationForm']['bindPassword'];
             $configurationForm->baseDomain = $_POST['LdapConfigurationForm']['baseDomain'];
             $configurationForm->enabled = $_POST['LdapConfigurationForm']['enabled'];
         }
         if ($configurationForm->host != null && $configurationForm->port != null && $configurationForm->bindRegisteredDomain != null && $configurationForm->bindPassword != null && $configurationForm->baseDomain != null && $configurationForm->serverType != null) {
             $authenticationHelper = new ZurmoAuthenticationHelper();
             $authenticationHelper->ldapServerType = $configurationForm->serverType;
             $authenticationHelper->ldapHost = $configurationForm->host;
             $authenticationHelper->ldapPort = $configurationForm->port;
             $authenticationHelper->ldapBindRegisteredDomain = $configurationForm->bindRegisteredDomain;
             $authenticationHelper->ldapBindPassword = $configurationForm->bindPassword;
             $authenticationHelper->ldapBaseDomain = $configurationForm->baseDomain;
             $authenticationHelper->ldapEnabled = $configurationForm->enabled;
             $serverType = $configurationForm->serverType;
             $host = $configurationForm->host;
             $port = $configurationForm->port;
             $bindRegisteredDomain = $configurationForm->bindRegisteredDomain;
             $bindPassword = $configurationForm->bindPassword;
             $baseDomain = $configurationForm->baseDomain;
             $testConnectionResults = LdapUtil::establishConnection($serverType, $host, $port, $bindRegisteredDomain, $bindPassword, $baseDomain);
             if ($testConnectionResults) {
                 $messageContent = Zurmo::t('ZurmoModule', 'Successfully Connected to Ldap Server') . "\n";
             } else {
                 $messageContent = Zurmo::t('ZurmoModule', 'Unable to connect to Ldap server') . "\n";
             }
         } else {
             $messageContent = Zurmo::t('ZurmoModule', 'All fields are required') . "\n";
         }
         Yii::app()->getClientScript()->setToAjaxMode();
         $messageView = new TestConnectionView($messageContent);
         $view = new ModalView($this, $messageView);
         echo $view->render();
     } else {
         throw new NotSupportedException();
     }
 }
 public function actionModalList()
 {
     $modalListLinkProvider = $this->getModalListLinkProvider();
     Yii::app()->getClientScript()->setToAjaxMode();
     $className = 'ImageModalSearchAndListView';
     $modelClassName = 'ImageFileModel';
     $stateMetadataAdapterClassName = null;
     $searchViewClassName = $className::getSearchViewClassName();
     if ($searchViewClassName::getModelForMetadataClassName() != null) {
         $formModelClassName = $searchViewClassName::getModelForMetadataClassName();
         $model = new $modelClassName(false);
         $searchModel = new $formModelClassName($model);
     } else {
         throw new NotSupportedException();
     }
     $pageSize = Yii::app()->pagination->resolveActiveForCurrentUserByType('modalListPageSize', get_class($this->getModule()));
     $dataProvider = $this->resolveSearchDataProvider($searchModel, $pageSize, $stateMetadataAdapterClassName, 'ImagesSearchView');
     $imageModalSearchAndListAndUploadView = new ImageModalSearchAndListAndUploadView($this, $this->module->id, 'modalList', $modalListLinkProvider, $searchModel, $model, $dataProvider, 'modal');
     $view = new ModalView($this, $imageModalSearchAndListAndUploadView);
     echo $view->render();
 }
 protected static function resolveAjaxOptionsForSelectList()
 {
     $title = Zurmo::t('ProductTemplatesModule', 'ProductTemplatesModuleSingularLabel Search', LabelUtil::getTranslationParamsForAllModules());
     return ModalView::getAjaxOptionsForModalLink($title);
 }
 public function actionMergeTagGuide()
 {
     Yii::app()->getClientScript()->setToAjaxMode();
     $view = new ModalView($this, new MergeTagGuideView());
     echo $view->render();
 }
 /**
  * Utilized when auditEventsModalLink is used during mobile select option render
  * @return array
  */
 protected function getAjaxOptions()
 {
     $title = Zurmo::t('GamificationModule', 'Game Dashboard');
     return ModalView::getAjaxOptionsForModalLink($title);
 }
 /**
  * Utilized when auditEventsModalLink is used during mobile select option render
  * @return array
  */
 protected function getAjaxOptions()
 {
     $title = Zurmo::t('ZurmoModule', 'Audit Trail');
     return ModalView::getAjaxOptionsForModalLink($title);
 }