Ejemplo n.º 1
0
 public function render()
 {
     $htmlOptions = $this->getHtmlOptions();
     $request = Yii::app()->getRequest();
     if ($request->enableCsrfValidation && isset($htmlOptions['csrf']) && $htmlOptions['csrf']) {
         $htmlOptions['params'][$request->csrfTokenName] = $request->getCsrfToken();
     }
     if (isset($htmlOptions['params'])) {
         $params = CJavaScript::encode($htmlOptions['params']);
         unset($htmlOptions['params']);
     } else {
         $params = '{}';
     }
     if (isset($htmlOptions['class'])) {
         $htmlOptions['class'] .= ' z-button';
     } else {
         $htmlOptions['class'] = 'z-button';
     }
     $cs = Yii::app()->getClientScript();
     $cs->registerCoreScript('jquery');
     $cs->registerCoreScript('yii');
     if (Yii::app()->getClientScript()->isIsolationMode()) {
         $handler = "jQQ.isolate (function(jQuery, \$)\n                            {\n                                jQuery.yii.submitForm(document.getElementById('saveyt1'), '', {$params});\n                            }); return false;";
     } else {
         $handler = "jQuery.yii.submitForm(this, '', {$params}); return false;";
     }
     if (isset($htmlOptions['onclick'])) {
         $htmlOptions['onclick'] = $htmlOptions['onclick'] . $handler;
     } else {
         $htmlOptions['onclick'] = $handler;
     }
     $aContent = ZurmoHtml::wrapLink($this->getLabel());
     return ZurmoHtml::link($aContent, '#', $htmlOptions);
 }
 protected static function renderRedeemLink(GameReward $gameReward, $availableCoins)
 {
     assert('is_int($availableCoins)');
     $url = Yii::app()->createUrl('gameRewards/default/redeemReward', array('id' => $gameReward->id));
     $label = Zurmo::t('ZurmoModule', 'Redeem');
     $aContent = ZurmoHtml::wrapLink($label);
     // Begin Not Coding Standard
     return ZurmoHtml::ajaxLink($aContent, $url, array('type' => 'GET', 'dataType' => 'json', 'success' => 'function(data){
                     $("#FlashMessageBar").jnotifyAddMessage({
                         text: data.message,
                         permanent: false,
                     });
                     $("#GameRewardsRedeemListView").each(function(){
                         $(this).find(".pager").find(".refresh").find("a").click();
                     });
                   }'), self::resolveHtmlOptionsForRedeemLink($gameReward, $availableCoins));
     // End Not Coding Standard
 }
 protected function renderSaveLayoutButton($notificationBarId)
 {
     Yii::app()->clientScript->registerScriptFile(Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias('application.core.views.assets')) . '/FormUtils.js', CClientScript::POS_END);
     $htmlOptions = array();
     $htmlOptions['id'] = 'saveLayout';
     $htmlOptions['name'] = 'saveLayout';
     $htmlOptions['class'] = 'attachLoading z-button';
     $aContent = ZurmoHtml::wrapLink(Zurmo::t('DesignerModule', 'Save Layout'));
     return ZurmoHtml::ajaxLink($aContent, '', array('data' => 'js:designer.prepareSaveLayout("edit-form")', 'dataType' => 'json', 'type' => 'POST', 'beforeSend' => 'js:function(){$(this).attachLoadingOnSubmit("edit-form");}', 'complete' => 'js:function(){$(this).detachLoadingOnSubmit("edit-form");}', 'success' => 'function(data){designer.updateFlashBarAfterSaveLayout(data, "' . $notificationBarId . '")}', 'error' => 'function(data){ ' . 'var data = {' . '   "message" : "' . Zurmo::t('Core', 'There was an error processing your request') . '",
                         "type"    : "error"
                     };
                     designer.updateFlashBarAfterSaveLayout(data, "' . $notificationBarId . '")
                 }'), $htmlOptions);
 }
 /**
  * @param int $newStatus
  * @param int $missionId
  * @param string $label
  * @param string $updateDivId
  * @return string
  */
 protected static function renderAjaxStatusActionChangeLink($newStatus, $missionId, $label, $updateDivId)
 {
     assert('is_int($newStatus)');
     assert('is_int($missionId)');
     assert('is_string($label)');
     assert('is_string($updateDivId)');
     $url = Yii::app()->createUrl('missions/default/ajaxChangeStatus', array('status' => $newStatus, 'id' => $missionId));
     $aContent = ZurmoHtml::wrapLink($label);
     return ZurmoHtml::ajaxLink($aContent, $url, array('type' => 'GET', 'success' => 'function(data){$("#' . $updateDivId . '").replaceWith(data)}'), array('id' => $newStatus . '-' . $updateDivId, 'class' => 'mission-change-status-link attachLoading z-button ' . self::resolveLinkSpecificCssClassNameByNewStatus($newStatus), 'namespace' => 'update', 'onclick' => 'js:$(this).addClass("loading").addClass("loading-ajax-submit");
                                                     $(this).makeOrRemoveLoadingSpinner(true, "#" + $(this).attr("id"));'));
 }
 /**
  * @return string
  */
 protected function renderSaveLinkContent()
 {
     $aContent = ZurmoHtml::wrapLink(Zurmo::t('Core', 'Save'));
     return ZurmoHtml::ajaxLink($aContent, $this->getFormActionUrl(), array('type' => 'POST', 'dataType' => 'json', 'data' => 'js:$("#' . static::getFormId() . '").serialize()', 'complete' => 'js:function(){$(this).detachLoadingOnSubmit("' . static::getFormId() . '");}', 'success' => 'function(data)
                                     {
                                         $("#FlashMessageBar").jnotifyAddMessage(
                                         {
                                             text: data.message, permanent: false, showIcon: true, type: data.type
                                         });
                                     }'), array('id' => 'save-order', 'class' => 'attachLoading z-button', 'onclick' => 'js:$(this).addClass("loading").addClass("loading-ajax-submit");
                                                     $(this).makeOrRemoveLoadingSpinner(true, "#" + $(this).attr("id"));'));
 }
Ejemplo n.º 6
0
 /**
  * @param int $columnCount
  * @return string
  */
 protected function renderAddExtraColumnContent($columnCount)
 {
     assert('is_int($columnCount)');
     $idInputHtmlOptions = array('id' => 'columnCounter');
     $hiddenInputName = 'columnCounter';
     $ajaxOnChangeUrl = Yii::app()->createUrl("import/default/mappingAddExtraMappingRow", array('id' => $this->model->id));
     $content = ZurmoHtml::hiddenField($hiddenInputName, $columnCount, $idInputHtmlOptions);
     // Begin Not Coding Standard
     $aContent = ZurmoHtml::wrapLink(Zurmo::t('ImportModule', 'Add Field'));
     $content .= ZurmoHtml::ajaxLink($aContent, $ajaxOnChangeUrl, array('type' => 'GET', 'data' => 'js:\'columnCount=\' + $(\'#columnCounter\').val()', 'complete' => 'js:function(){$("#addExtraColumnButton").removeClass("loading");
                                                                      $("#addExtraColumnButton").removeClass("loading-ajax-submit");}', 'success' => 'js:function(data){
                                         $(\'#columnCounter\').val(parseInt($(\'#columnCounter\').val()) + 1)
                                         $(\'#addExtraColumnButton\').parent().parent().prev().after(data);
                                       }'), array('id' => 'addExtraColumnButton', 'class' => 'attachLoading z-button', 'onclick' => 'js:if ($(this).hasClass("loading")) {return false;}
                                                     $(this).addClass("loading").addClass("loading-ajax-submit");
                                                     $(this).makeOrRemoveLoadingSpinner(true, "#" + $(this).attr("id"));'));
     // End Not Coding Standard
     return $content;
 }
 protected function renderSaveModalSettingsButton()
 {
     return ZurmoHtml::link(ZurmoHtml::wrapLink(Zurmo::t('Core', 'Save and Close')), '#', array('class' => 'green-button', 'onclick' => '$(this).closest(".modal-settings").dialog("close");'));
     // Not Coding Standard
 }
 /**
  * @param int $rowCount
  * @return string
  */
 protected function renderAddExtraRowContent($rowCount)
 {
     assert('is_int($rowCount)');
     $idInputHtmlOptions = array('id' => $this->getRowCounterInputId());
     $hiddenInputName = 'rowCounter';
     $ajaxOnChangeUrl = Yii::app()->createUrl("zurmo/default/dynamicSearchAddExtraRow", array('viewClassName' => get_class($this), 'modelClassName' => get_class($this->model->getModel()), 'formModelClassName' => get_class($this->model), 'suffix' => $this->getSearchFormId()));
     $content = ZurmoHtml::hiddenField($hiddenInputName, $rowCount, $idInputHtmlOptions);
     // Begin Not Coding Standard
     $addFieldLabelContent = $this->getAddFieldLabelContent();
     $aContent = ZurmoHtml::wrapLink($addFieldLabelContent);
     $content .= ZurmoHtml::ajaxLink($aContent, $ajaxOnChangeUrl, array('type' => 'GET', 'data' => 'js:\'rowNumber=\' + $(\'#rowCounter-' . $this->getSearchFormId() . '\').val()', 'beforeSend' => 'js:function(){
                                         $(this).makeOrRemoveLoadingSpinner(true, "#' . $this->getSearchFormId() . '", "dark");
                                         }', 'success' => 'js:function(data){
                                         $(\'#' . $this->getRowCounterInputId() . '\').val(parseInt($(\'#' . $this->getRowCounterInputId() . '\').val()) + 1)
                                         $(\'#addExtraAdvancedSearchRowButton-' . $this->getSearchFormId() . '\').parent().before(data);
                                         rebuildDynamicSearchRowNumbersAndStructureInput("' . $this->getSearchFormId() . '");
                                         resolveClearLinkPrefixLabelAndVisibility("' . $this->getSearchFormId() . '");
                                         $(this).makeOrRemoveLoadingSpinner(false, "#' . $this->getSearchFormId() . '");
                                       }'), array('id' => 'addExtraAdvancedSearchRowButton-' . $this->getSearchFormId(), 'namespace' => 'add'));
     // End Not Coding Standard
     return ZurmoHtml::tag('div', array('class' => 'add-fields-container'), $content);
 }
 protected static function renderPostToProfileLinkContent(GameNotification $notification, $index)
 {
     assert('is_int($index)');
     $socialItemAdapter = new GameNotificationToSocialItemContentAdapter($notification);
     $url = Yii::app()->createUrl('socialItems/default/postGameNotificationToProfile', array('content' => $socialItemAdapter->getMessageContent()));
     $aContent = ZurmoHtml::wrapLink(Zurmo::t('ZurmoModule', 'Post to Profile'));
     // Begin Not Coding Standard
     $content = ZurmoHtml::ajaxLink($aContent, $url, array('type' => 'GET', 'complete' => "function(XMLHttpRequest, textStatus){\n                                              \$('#ModalGameNotification" . $index . "').dialog('close'); return false;}"), array('class' => 'close-ModalGameNotification  default-btn', 'onclick' => 'js:$(this).addClass("loading").addClass("loading-ajax-submit");
                                           $(this).makeOrRemoveLoadingSpinner(true, "#" + $(this).attr("id"), "dark");'));
     // End Not Coding Standard
     return $content;
 }
 /**
  * @param string $label
  * @return string
  */
 protected function renderAddEmailMessageLink($label)
 {
     assert('is_string($label)');
     $rowCounterInputId = static::resolveRowCounterInputId(ComponentForWorkflowForm::TYPE_EMAIL_MESSAGES);
     $moduleClassNameId = get_class($this->model) . '[moduleClassName]';
     $url = Yii::app()->createUrl('workflows/default/addEmailMessage', array_merge($_GET, array('type' => $this->model->type)));
     $aContent = ZurmoHtml::wrapLink($label);
     return ZurmoHtml::ajaxLink($aContent, $url, array('type' => 'GET', 'data' => 'js:\'moduleClassName=\' + $("input:radio[name=\\"' . $moduleClassNameId . '\\"]:checked").val() + ' . '\'&rowNumber=\' + $(\'#' . $rowCounterInputId . '\').val()', 'url' => $url, 'beforeSend' => 'js:function()
                     {                                                       ;
                         $(".ui-overlay-block").fadeIn(50);
                         $(this).makeLargeLoadingSpinner(true, ".ui-overlay-block"); //- add spinner to block anything else
                     }', 'success' => 'js:function(data)
                     {
                         $(\'#' . $rowCounterInputId . '\').val(parseInt($(\'#' . $rowCounterInputId . '\').val()) + 1);
                         $(".droppable-dynamic-rows-container.' . ComponentForWorkflowForm::TYPE_EMAIL_MESSAGES . '").find(".dynamic-rows").find("ul:first").first().append("<li>" + data + "</li>");
                         rebuildWorkflowEmailMessageRowNumbers("' . get_class($this) . '");
                         $(".' . static::getZeroComponentsClassName() . '").hide();
                         $(this).makeLargeLoadingSpinner(false, ".ui-overlay-block");
                         $(".ui-overlay-block").fadeOut(50);
                     }'), array('id' => self::ADD_EMAIL_MESSAGE_LINK_ID, 'class' => 'attachLoading z-button '));
 }
 protected static function renderCompleteButton($collectionId, $userId, $canCollect = true)
 {
     assert('is_int($collectionId)');
     assert('is_int($userId)');
     assert('is_bool($canCollect)');
     $url = Yii::app()->createUrl('gamification/default/redeemCollection/', array('id' => $collectionId));
     $htmlOptions = array();
     $disabledClass = null;
     $disabled = false;
     if (!$canCollect || $userId != Yii::app()->user->userModel->id) {
         $disabledClass = ' disabled';
         $disabled = true;
     }
     $id = static::getCompleteCollectionLinkId($collectionId);
     $htmlOptions['id'] = $id;
     $htmlOptions['name'] = $id;
     $htmlOptions['class'] = 'attachLoading z-button coin-button' . $disabledClass;
     if ($disabled) {
         $htmlOptions['onclick'] = 'js:return false;';
     } else {
         $htmlOptions['onclick'] = 'js:$(this).addClass("loading").addClass("loading-ajax-submit");
                                                     $(this).makeOrRemoveLoadingSpinner(true, "#" + $(this).attr("id"), "#763d05");';
     }
     $aContent = ZurmoHtml::wrapLink(Zurmo::t('Core', 'Complete'));
     $containerId = static::getCollectionContainerId($collectionId);
     return ZurmoHtml::ajaxLink($aContent, $url, array('type' => 'GET', 'success' => 'js:function(data)
                 {
                     $("#' . $containerId . '").replaceWith(data);
                     $("#' . $containerId . '").addClass("visible-panel");
                     ' . self::renderGameCoinRefreshAjax($userId) . '
                     updateGamificationImagesSrcForLazyLoading();
                 }'), $htmlOptions);
 }
Ejemplo n.º 12
0
 /**
  * Render Apply Action Link
  * @return string
  */
 protected function renderApplyLink()
 {
     $this->registerApplyClickScript();
     $label = $this->renderApplyLinkLabel();
     $htmlOptions = $this->resolveApplyLinkHtmlOptions();
     $wrappedLabel = ZurmoHtml::wrapLink($label);
     $link = ZurmoHtml::link($wrappedLabel, '#', $htmlOptions);
     return $link;
 }