39 const REDEEM_REWARD_LINK_PREFIX =
'redeem-reward-link';
41 public function renderGridViewData()
43 $className = get_class($this);
44 $value = $className .
'::resolveSummary($data, ' . $this->view->getAvailableCoinsForCurrentUser() .
')';
59 assert(
'is_int($availableCoins)');
60 $content = ZurmoHtml::tag(
'h4', array(
'class' =>
'reward-name'), strval($gameReward));
61 if ($gameReward->description != null)
63 $content .= ZurmoHtml::tag(
'p', array(
'class' =>
'reward-description'), $gameReward->description);
65 $content .= ZurmoHtml::tag(
'span', array(
'class' =>
'reward-cost'), $gameReward->cost .
' x ');
66 $content .= ZurmoHtml::tag(
'span', array(),
67 ' - ' . $gameReward->quantity .
' ' . Zurmo::t(
'Core',
'Available') .
68 ' ' . static::renderExpirationDateTimeContent($gameReward));
69 $content .= static::renderRedeemLink($gameReward, $availableCoins);
73 protected static function renderExpirationDateTimeContent(
GameReward $gameReward)
75 if (!DateTimeUtil::isDateTimeStringNull($gameReward->expirationDateTime))
77 $content = Zurmo::t(
'ZurmoModule',
'Until') .
' ';
78 return $content . DateTimeUtil::convertDbFormattedDateTimeToLocaleFormattedDisplay($gameReward->expirationDateTime);
82 protected static function renderRedeemLink(
GameReward $gameReward, $availableCoins)
84 assert(
'is_int($availableCoins)');
85 $url = Yii::app()->createUrl(
'gameRewards/default/redeemReward', array(
'id' => $gameReward->id));
86 $label = Zurmo::t(
'ZurmoModule',
'Redeem');
90 array(
'type' =>
'GET',
92 'success' =>
'function(data){
93 $("#FlashMessageBar").jnotifyAddMessage({
97 $("#GameRewardsRedeemListView").each(function(){
98 $(this).find(".pager").find(".refresh").find("a").click();
102 self::resolveHtmlOptionsForRedeemLink($gameReward, $availableCoins));
106 protected static function resolveHtmlOptionsForRedeemLink(
GameReward $gameReward, $availableCoins)
108 assert(
'is_int($availableCoins)');
109 $htmlOptions = array();
110 $disabledClass = null;
112 if ($gameReward->cost > $availableCoins || $gameReward->quantity <= 0)
114 $disabledClass =
' disabled';
117 $id = static::getRedeemRewardLinkId($gameReward->id);
118 $htmlOptions[
'id'] = $id;
119 $htmlOptions[
'name'] = $id;
120 $htmlOptions[
'class'] =
'attachLoading z-button reward-redeem-link' . $disabledClass;
121 $htmlOptions[
'namespace'] =
'redeem';
124 $htmlOptions[
'onclick'] =
'js:return false;';
128 $htmlOptions[
'onclick'] =
'js:$(this).addClass("loading").addClass("loading-ajax-submit");
129 $(this).makeOrRemoveLoadingSpinner(true, "#" + $(this).attr("id"));';
134 protected static function getRedeemRewardLinkId($gameRewardId)
136 return self::REDEEM_REWARD_LINK_PREFIX .
'-' . $gameRewardId;
static ajaxLink($text, $url, $ajaxOptions=array(), $htmlOptions=array())
static resolveSummary(GameReward $gameReward, $availableCoins)