Adding args to shortcode for the member id to go through.
Adding the member id to the pdf generator.
Adding styles for the image to be centered in each coupon.
+#glm-member-detail-coupons-container {
+ display: none;
+ padding: 10px;
+}
.coupon-row {
display: block;
width: 100%;
margin: 5px;
border: 1px dashed lightgrey;
}
+.coupon-item img {
+ margin: 0 auto;
+ display: block;
+}
+.member-detail .coupon-item {
+ width: 48%;
+}
.coupon-item-wrap {
padding: 20px;
}
$where = "current_date BETWEEN T.start_date AND T.end_date AND T.status = 10";
+ if ( isset( $_REQUEST['member'] ) && $memberId = filter_var( $_REQUEST['member'], FILTER_VALIDATE_INT ) ) {
+ $where .= " AND T.ref_dest = " . $_REQUEST['member'];
+ }
+
$coupons = $this->getList( $where );
if ( isset( $coupons ) && !empty( $coupons ) ) {
*/
public function modelAction( $actionData = false )
{
+ $memberId = false;
+
+ //echo '<pre>$actionData: ' . print_r( $actionData, true ) . '</pre>';
$action = '';
$view = 'list.html';
$coupons = $categories = array();
// end_date within the current_date
$where = "current_date BETWEEN T.start_date AND T.end_date AND T.status = 10";
+ if ( isset( $actionData['request']['member'] ) && $memberId = filter_var( $actionData['request']['member'], FILTER_VALIDATE_INT ) ) {
+ $where .= " AND T.ref_dest = " . $actionData['request']['member'];
+ }
+
$coupons = $this->getList( $where );
// Arrange the $coupons so they're grouped by the categories.
// sort them by category name
ksort( $categories );
+ // check the $actionData for a template argument
+ if ( isset( $actionData['request']['template'] ) && $actionData['request']['template'] ) {
+ switch ( $actionData['request']['template'] ) {
+ case 'member-detail':
+ $view = 'memberDetail.html';
+ break;
+ default:
+ $view = 'list.html';
+ break;
+ }
+ }
// Compile template data
$templateData = array(
+ 'member_id' => $memberId,
'coupons' => $coupons,
'categories' => $categories,
'imgUrl' => GLM_MEMBERS_PLUGIN_MEDIA_URL . '/images/small/',
*
* *** Also note that parameters will be in the context of the main front controller constructor. ***
*/
+// Add content to member detail page - Get it from the existing coupon shortcode
+add_filter('glm-member-db-front-members-detail-descriptionAfter', function($content, $id) {
+ $eventData = do_shortcode('[glm-members-coupons-list member='.$id.' template="member-detail"]');
+ $content .= $eventData;
+ return $content;
+ },
+ 10,
+ 2
+);
'action' => 'list',
'table' => false,
'attributes' => array(
+ 'member' => false,
+ 'template' => false,
),
),
);
<h1>List Coupons</h1>
<form id="glm-coupon-form" action="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=pdfCoupons&pdf=1" method="post">
<input type="hidden" id="form-option" name="option" value="">
- <input type="submit"id="print-all-coupon" value="Print All" name="printAll" class="button success glm_coupon_print">
+ <input type="submit" id="print-all-coupon" value="Print All" name="printAll" class="button success glm_coupon_print">
<input type="submit" id="print-selected-coupon" value="Print Selected" name="printSel" class="button success glm_coupon_print">
{if $categories}
- {foreach $categories as $catName => $coupons}
- {if $catName != '1-category'}
- <h2>{$catName}</h2>
- {else}
- <br style="clear:both;">
- {/if}
+ {foreach $categories as $catName => $coupons}
+ {if $catName != '1-category'}
+ <h2>{$catName}</h2>
+ {else}
+ <br style="clear:both;" />
+ {/if}
<div class="coupon-row">
- {if $coupons}
- {foreach $coupons as $coupon}
- <div class="{if $coupon.end}end {/if}coupon-item">
- <div class="coupon-select"><label><input type="checkbox" name="coupon-id-{$coupon.id}"> Select this coupon</label></div>
- <div class="coupon-item-wrap">
- {if $coupon.ref_dest}<h3>{$coupon.ref_dest}</h3>{/if}
- <h3>{$coupon.name}</h3>
- {if $coupon.image}<img src="{$imgUrl}{$coupon.image}">{/if}
- <div class="coupon-descr">{$coupon.descr}</div>
- {if $coupon.url}<div class="coupon-url"><a target="_blank" href="http://{$coupon.url}">Web Site</a></div>{/if}
- <div class="coupon-expires">Expires: {$coupon.expire.timestamp|date_format:"%m/%d/%Y"}</div>
+ {if $coupons}
+ {foreach $coupons as $coupon}
+ <div class="{if $coupon.end}end {/if}coupon-item">
+ <div class="coupon-select"><label><input type="checkbox" name="coupon-id-{$coupon.id}"> Select this coupon</label></div>
+ <div class="coupon-item-wrap">
+ {if $coupon.ref_dest}<h3>{$coupon.ref_dest}</h3>{/if}
+ <h3>{$coupon.name}</h3>
+ {if $coupon.image}<img src="{$imgUrl}{$coupon.image}">{/if}
+ <div class="coupon-descr">{$coupon.descr}</div>
+ {if $coupon.url}<div class="coupon-url"><a target="_blank" href="http://{$coupon.url}">Web Site</a></div>{/if}
+ <div class="coupon-expires">Expires: {$coupon.expire.timestamp|date_format:"%m/%d/%Y"}</div>
+ </div>
</div>
- </div>
{/foreach}
{/if}
- {/foreach}
- </div>
+ </div>
+ {/foreach}
{/if}
</form>
</div>
--- /dev/null
+<div id="glm-member-detail-coupons-toggle" class="glm-member-detail-content-toggle">Coupons</div>
+<div id="glm-member-detail-coupons-container">
+ <form id="glm-coupon-form" action="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=pdfCoupons&pdf=1&member={$member_id}" method="post">
+ <input type="hidden" id="form-option" name="option" value="">
+ <input type="submit" id="print-all-coupon" value="Print All" name="printAll" class="button success glm_coupon_print">
+ <input type="submit" id="print-selected-coupon" value="Print Selected" name="printSel" class="button success glm_coupon_print">
+ {if $categories}
+ {foreach $categories as $catName => $coupons}
+ {if $catName != '1-category'}
+ <h3>{$catName}</h3>
+ {else}
+ <br style="clear:both;" />
+ {/if}
+ <div class="coupon-row member-detail">
+ {if $coupons}
+ {foreach $coupons as $coupon}
+ <div class="{if $coupon.end}end {/if}coupon-item">
+ <div class="coupon-select"><label><input type="checkbox" name="coupon-id-{$coupon.id}"> Select this coupon</label></div>
+ <div class="coupon-item-wrap">
+ {if $coupon.ref_dest}<h3>{$coupon.ref_dest}</h3>{/if}
+ <h3>{$coupon.name}</h3>
+ {if $coupon.image}<img src="{$imgUrl}{$coupon.image}">{/if}
+ <div class="coupon-descr">{$coupon.descr}</div>
+ {if $coupon.url}<div class="coupon-url"><a target="_blank" href="http://{$coupon.url}">Web Site</a></div>{/if}
+ <div class="coupon-expires">Expires: {$coupon.expire.timestamp|date_format:"%m/%d/%Y"}</div>
+ </div>
+ </div>
+ {/foreach}
+ {/if}
+ </div>
+ {/foreach}
+ {/if}
+ </form>
+</div>
+{literal}
+<script>
+jQuery(function($){
+ $("#print-all-coupon").click(function(){
+ $("#form-option").val('printAll');
+ });
+ $("#print-selected-coupon").click(function(){
+ $("#form-option").val('printSel');
+ });
+ $("#glm-coupon-form").submit(function(){
+ var option = $("#form-option").val();
+ console.log(option);
+ switch ( option ) {
+ case 'printSel':
+ // test how many are checked
+ var counter = 0;
+ $('input[name^="coupon-id"]').each(function(){
+ if ( $(this).is(":checked") ) {
+ counter++;
+ }
+ });
+ if ( counter > 0 ) {
+ return true;
+ } else {
+ alert('Please select a coupon.');
+ }
+ return false;
+ break;
+ default:
+ return true;
+ break;
+ }
+ return false;
+
+ });
+});
+</script>
+{/literal}