fixing the flyout data for the member index view
authorAnthony Talarico <talarico@gaslightmedia.com>
Thu, 27 Dec 2018 20:58:44 +0000 (15:58 -0500)
committerAnthony Talarico <talarico@gaslightmedia.com>
Thu, 27 Dec 2018 20:58:44 +0000 (15:58 -0500)
models/admin/member/index.php
views/admin/manageDashboard/edit.html [new file with mode: 0644]
views/admin/manageDashboard/index.html
views/admin/member/header.html
views/admin/member/index.html

index 9fdfbc8..94bba4b 100644 (file)
@@ -455,7 +455,7 @@ class GlmMembersAdmin_member_index extends GlmDataMembers
             'status' => $success,
             'menuItemRedirect' => false,
             'modelRedirect' => false,
-            'view' => 'admin/member/index.html',
+            'view' => 'admin/manageDashboard/edit.html',
             'data' => $templateData
         );
 
diff --git a/views/admin/manageDashboard/edit.html b/views/admin/manageDashboard/edit.html
new file mode 100644 (file)
index 0000000..ce146a6
--- /dev/null
@@ -0,0 +1,314 @@
+{include file='admin/member/header.html'}
+
+{if $haveMember || $addingMember}
+ {if $haveMemberTypes}
+
+  {if $memberUpdated}
+    <h2 class="glm-notice glm-flash-updated">{$terms.term_member_cap} Updated</h2>
+  {/if}
+
+<div id="glm-admin-member-dashboard" class="glm-admin-table">
+  {if $haveMember}
+    {if $lockedToMember}
+        {if apply_filters( 'glm-members-billing-enabled', false )}
+            <div class="glm-row{if !$lockedToMember} glm-hidden{/if}">
+                <div class="glm-small-12 glm-column">
+                    <a class="button" href="{$thisUrl}?page=glm-members-admin-menu-billing-index">Billing</a><br>
+                </div>
+            </div>
+        {/if}
+            <div class="glm-row{if !$lockedToMember} glm-hidden{/if}">
+                <div class="glm-small-12 glm-column">
+                    <a class="button" href="{$thisUrl}?page=glm-members-admin-menu-profile">My Contact Info</a>
+                </div>
+            </div>
+
+        {if apply_filters( 'glm-members-forsale-enabled', false )}
+            <div class="glm-row{if !$lockedToMember} glm-hidden{/if}">
+                <div class="glm-small-12 glm-column">
+                    <a class="button" href="{$thisUrl}?page=glm-members-admin-menu-for-sale-index">For Sale</a>
+                </div>
+            </div>
+        {/if}
+
+        {if apply_filters( 'glm-members-jobs-enabled', false )}
+            <div class="glm-row{if !$lockedToMember} glm-hidden{/if}">
+                <div class="glm-small-12 glm-column">
+                    <a class="button" href="{$thisUrl}?page=glm-members-admin-menu-jobs-index">Job Postings</a>
+                </div>
+            </div>
+        {/if}
+    {/if}
+
+        <div class="glm-row">
+            <div class="glm-small-4 glm-left">
+                <div class="glm-admin-table">
+                    <div class="glm-row{if $lockedToMember} glm-hidden{/if}">
+                        <div class="glm-small-12 glm-column">
+                            <h4>Date created:</h4>
+                        </div>
+                        <div class="glm-small-12 glm-column">
+                            {$member.fieldData.created.date}
+                        </div>
+                    </div>
+                    <div class="glm-row{if $lockedToMember && !$settings.enable_member_reports} glm-hidden{/if}">
+                        <div class="glm-small-12 glm-column">
+                            <h4>URL CLick Counts</h4>
+                        </div>
+                        <div class="glm-small-12 glm-column">
+                            <b>Today:</b> {$clickThroughCounts.day}&nbsp;&nbsp;&nbsp;<a data-type="daysClicks" class="dialog-button" href=""><img src="{$assetsUrl}/graph.png"></a>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="glm-small-4 glm-left">
+                <div class="glm-admin-table">
+                    <div class="glm-row{if $lockedToMember} glm-hidden{/if}">
+                        <div class="glm-small-12 glm-column">
+                            <h4>{$terms.term_member_cap} Display & Access:</h4>
+                        </div>
+                        <div class="glm-small-12 glm-column">
+                            {$member.fieldData.access.name}
+                        </div>
+                    </div>
+                    <div class="glm-row{if $lockedToMember} glm-hidden{/if}">
+                        <div class="glm-small-12 glm-column">
+                            <h4>{$terms.term_member_cap} Type:</h4>
+                        </div>
+                        <div class="glm-small-12 glm-column">
+                            {$member.fieldData.member_type.name}
+                        </div>
+                    </div>
+                    <div class="glm-row{if $lockedToMember && !$settings.enable_member_reports} glm-hidden{/if}">
+                        <div class="glm-small-12 glm-column">
+                            <h4>Detail Page View Counts</h4>
+                        </div>
+                        <div class="glm-small-12 glm-column">
+                            <b>Today:</b> {$detailViewCounts.day}&nbsp;&nbsp;&nbsp;<a data-type="daysViews" class="dialog-button" href=""><img src="{$assetsUrl}/graph.png"></a>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            {if apply_filters('glm_members_menu_members', true)}
+            <div class="glm-small-4 glm-right">
+                <a href="{$thisUrl}?page={$thisPage}&glm_action=memberEdit&member={$memberID}" class="button button-primary glm-button glm-right">Edit {$terms.term_member_cap} Name and Status</a>
+            </div>
+            {/if}
+        </div>
+  {else}
+        <h3>No {$terms.term_member} information available.</h3>
+  {/if}
+
+    {apply_filters('glm_members_admin_member_index_topOfMemberSummary', '', {$member.fieldData.id})}
+
+    <script src="{$jsUrl}/PrintArea/jquery.PrintArea.js" type="text/JavaScript" language="javascript"></script>
+
+    <!-- URL click through graphs -->
+    <div id="daysClicks" class="graph-dialog glm-dialog-box" title="URL Click-Through Counts Graph">
+        <center>
+            <p>&nbsp;</p>
+            <select id="clickMonths">
+        {foreach from=$months key=monthNumb item=monthName}
+                <option value="{$monthNumb}"{if $monthNumb == $thisMonth} selected{/if}>{$monthName}</option>
+        {/foreach}
+            </select>
+            <select id="clickYears">
+        {foreach $years as $year}
+                <option value="{$year}"{if $thisYear == $year} selected{/if}>{$year}</option>
+        {/foreach}
+            </select>
+            <div id="clickUpdate" class="button button-secondaryt">Update Graphs</div>
+            <span class="message button notice-link" data-notice='Legacy Websites may not have included retained daily data.-br--br-If this was the case, you will only see daily URL Click-Through counts collected subsequent to the introduction of this site.-br--br-Any monthly count summaries imported from a legacy site should however display on the lower graph.'>?</span>
+            &nbsp;&nbsp;&nbsp;&nbsp;<div class="button button-secondary graph-print" data-areaToPrint="urlClicksPrintArea">Print</div>
+            <a id="clickExport" class="button button-secondary" href="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=exportClicks&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}">Export All Monthly Totals</a>
+        </center>
+        <div id="urlClicksPrintArea" class="PrintArea" style="padding: 10px;">
+            <p><img id="clicksMonthGraph" src="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=clicks&graphPeriod=oneMonth&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}"><br></p>
+            <p><img id="clicksYearGraph" src="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=clicks&graphPeriod=twoYears&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}"><br></p>
+        </div>
+    </div>
+
+    <!-- Member Detail Views -->
+    <div id="daysViews" class="graph-dialog glm-dialog-box" title="Daily Detail Page Views Graph">
+        <center>
+            <p>&nbsp;</p>
+            <select id="viewMonths">
+        {foreach from=$months key=monthNumb item=monthName}
+                <option value="{$monthNumb}"{if $monthNumb == $thisMonth} selected{/if}>{$monthName}</option>
+        {/foreach}
+            </select>
+            <select id="viewYears">
+        {foreach $years as $year}
+                <option value="{$year}"{if $thisYear == $year} selected{/if}>{$year}</option>
+        {/foreach}
+            </select>
+            <div id="viewUpdate" class="button button-secondaryt">Update Graphs</div>
+            <span class="message button notice-link" data-notice='Legacy Websites may not have included retained daily data.-br--br-If this was the case, you will only see daily Detail Page View counts collected subsequent to the introduction of this site.-br--br-Any monthly count summaries imported from a legacy site should however display on the lower graph.'>?</span>
+            &nbsp;&nbsp;&nbsp;&nbsp;<div class="button button-secondary graph-print" data-areaToPrint="viewsPrintArea">Print</div>
+            <a id="viewExport" class="button button-secondary" href="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=exportViews&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}">Export All Monthly Totals</a>
+        </center>
+        <div id="viewsPrintArea" class="PrintArea" style="padding: 10px;">
+            <p><img id="viewsMonthGraph" src="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=views&graphPeriod=oneMonth&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}"><br></p>
+            <p><img id="viewsYearGraph" src="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=views&graphPeriod=twoYears&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}"><br></p>
+        </div>
+    </div>
+
+  {apply_filters('glm_members_admin_member_index_bottomOfMemberSummary', '', {$member.fieldData.id})}
+
+  {if $haveMember}
+
+{if !$lockedToMember}
+  {if apply_filters('glm_members_permit_admin_member_index_view_member_info_version', true)}
+    {if apply_filters('glm_members_permit_admin_member_index_add_member_info_version', true)}
+    {/if}
+    <div class="glm-row">
+        <div>
+            <h3 class="glm-left">{$terms.term_member_cap} Profile Versions</h3>
+            <span class="glm-right">
+                <a href="{$thisUrl}?page={$thisPage}&glm_action=memberInfo&member={$memberID}" class="button button-primary glm-button glm-right">Add New {$terms.term_member_cap} Profile Version</a>
+            </span>
+
+            <div class="glm-admin-show-archived-container">
+                <input type="checkbox" id="showArchived"{if $showArchived} checked="checked"{/if}> Show archived information&nbsp;&nbsp;
+            </div>
+        </div>
+        <br clear="all">
+        <table class="wp-list-table striped glm-admin-table">
+            <thead>
+                <tr>
+                    <th>Status</th>
+                    <th>Reference Name</th>
+                    <th>Created</th>
+                    <th>Last Update</th>
+                    <th> </th>
+                </tr>
+            </thead>
+            <tbody>
+
+      {if $haveInfoRecords}
+        {assign var="i" value="0"}
+        {foreach $memberInfoRecords as $m}
+
+         {if $m.status.value == $statusTypeNumbers.Active || apply_filters('glm_members_permit_admin_member_index_list_inactive_info', true)}
+          {if $i++ is odd by 1}
+            <tr>
+          {else}
+            <tr class="alternate{if $m.status.name == 'Active'} glm-admin-table-active{/if}">
+          {/if}
+                <td>
+                    <a href="{$thisUrl}?page={$thisPage}&glm_action=memberInfo&member={$memberID}&memberInfo={$m.id}"{if $m.status.value == $statusPending} class="glm-notice edit-member-profile"{/if} data-memberInfo={$m.id}>
+                        Edit {if $m.status.name == 'Active'}Current{else}{$m.status.name}{/if} Profile
+                    </a>
+                </td>
+                <td>{$m.reference_name}</td>
+                <td>{$m.create_time.datetime}</td>
+                <td>{$m.modify_time.datetime}</td>
+                <td>
+                    {if $settings.memb_info_location} {if $m.bad_lat_lon && !$m.has_no_map_data.value}<span class="glm-error">Bad Map Location</span>{/if} {/if}
+          {if apply_filters('glm_members_permit_admin_member_index_clone_activate_info_version', true)}
+                    <a href="{$thisUrl}?page={$thisPage}&glm_action=memberInfo&member={$memberID}&memberInfo={$m.id}&option=clone" class="button button-secondary glm-button-small glm-right">Clone</a>&nbsp;
+                    {if $m.status.name != 'Active'}<a href="{$thisUrl}?page={$thisPage}&glm_action=index&member={$memberID}&activateID={$m.id}" class="button button-secondary glm-button-small glm-right">Activate</a>{/if}
+          {/if}
+                </td>
+            </tr>
+
+
+         {/if}
+        {/foreach}
+      {else} <!-- haveInfoRecords -->
+            <tr><td colspan="5"><a href="{$thisUrl}?page={$thisPage}&glm_action=memberInfo&member={$memberID}">Click here to start entering information for this {$terms.term_member}.</a></td></tr>
+      {/if}
+        </tbody>
+    </table>
+   {/if} <!-- apply_filters -->
+  {/if}
+{/if}
+    </div>
+    <br>
+
+
+     {else}
+        <h3 class="glm-error">You do not have any {$terms.term_member_cap} Types setup.</h3>
+        <p>You must have at least one {$terms.term_member_cap} Type to add a new {$terms.term_member}.</p>
+        <td><a href="{$thisUrl}?page=glm-members-admin-menu-settings&glm_action=index">Click here to add {$terms.term_member_cap} Types.</a></td>
+     {/if}
+    {else}
+        <h3 class="glm-error">No {$terms.term_member} currently selected.</h3>
+    {/if}
+
+    {if $lockedToMember}
+        <div id="glm-dashboard-widgets-wrap">
+            {apply_filters('glm-member-db-dashboard-member-widgets', $member)}
+        </div>
+    {/if}
+
+</div>
+    <script type="text/javascript">
+        jQuery(document).ready(function($) {
+
+            $('#clickUpdate').on('click', function() {
+                var m = $('#clickMonths option:selected').val();
+                var y = $('#clickYears option:selected').val();
+                $('#clicksMonthGraph').attr('src', '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=clicks&graphPeriod=oneMonth&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}&refMonth=' + m + '&refYear=' + y);
+                $('#clicksYearGraph').attr('src', '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=clicks&graphPeriod=twoYears&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}&refMonth=' + m + '&refYear=' + y);
+            });
+
+            $('#viewUpdate').on('click', function() {
+                var m = $('#viewMonths option:selected').val();
+                var y = $('#viewYears option:selected').val();
+                $('#viewsMonthGraph').attr('src', '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=views&graphPeriod=oneMonth&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}&refMonth=' + m + '&refYear=' + y);
+                $('#viewsYearGraph').attr('src', '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=views&graphPeriod=twoYears&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}&refMonth=' + m + '&refYear=' + y);
+            });
+
+            // Create graph dialog boxes
+            $(".graph-dialog").dialog({
+                autoOpen: false,
+                minWidth: 1020
+            });
+
+            $("div.graph-print").click(function(){
+                var areaToPrint = $(this).attr('data-areaToPrint');
+                var position = $(this).offset();
+                $('#' + areaToPrint).printArea({
+                    mode:       'popup',        //printable window is either iframe or browser popup
+                    popHt:      500,            // popup window height
+                    popWd:      1000,            // popup window width
+                    popX:       200,            // popup window screen X position
+                    popY:       200,            //popup window screen Y position
+                    popTitle:   'Graph Print Window',   // popup window title element
+                    popClose:   true,           // popup window close after printing
+                    extraCss:   '',             // Comma separated list of extra css to include
+                    extraHead:  '',             // Comma separated list of extra elements to be appended to head tag
+                    strict:     false           // strict or looseTransitional html 4.01 document standard or undefined to not include at all only for popup option
+                });
+           });
+
+            // Display selected graph dialog box
+            $('.dialog-button').click( function() {
+                $(".graph-dialog").dialog("close");
+                var graph = $(this).attr('data-type');
+                $('#' + graph).dialog("open");
+                return false;
+            });
+
+            $('#showArchived').click( function() {
+                checked = 'false';
+                if ($(this).attr('checked') == 'checked') {
+                    checked = 'true';
+                }
+                window.location.replace("{$thisUrl}?page={$thisPage}&glm_action=index&member={$memberID}&showArchived=" + checked);
+            });
+
+            $('.message').on('click', function() {
+                var notice = $(this).attr('data-notice');
+                alert(notice.replace(/-br-/g, "\n"));
+            });
+
+            // Flash certain elements for a short time after display
+            $(".glm-flash-updated").fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500);
+
+        });
+    </script>
+
+
+{include file='admin/footer.html'}
index 52f483f..f7f03fe 100644 (file)
             inDuration : 400,
             outDuration        : 400
         });
-        $(document).on("click",".member-record", function(){
+        $(document).on("click",".member-record-name", function(){
+            $(".edit-screen").html('');
             var editData = {
                 action      : 'glm_members_admin_ajax',
                 glm_action  : 'memberEdit',
                 form_action : 'index',
                 view        : "index",
                 option      : 'index',
-                memberID    : $(this).data('id')
+                memberID    : $(this).parent().data('id')
             }
 
             
index 958b737..84aca46 100644 (file)
@@ -22,7 +22,9 @@
     <h2 class="nav-tab-wrapper">
         <a href="{$thisUrl}?page={$thisPage}&member={$memberID}" class="nav-tab{if $thisAction==index || $thisAction==memberEdit || $thisAction==memberInfo} nav-tab-active{/if}">{$terms.term_member_cap} Dashboard</a>
 {if $memberID}
+     
   {foreach $addOnTabs as $a}
+   
         <a href="{$thisUrl}?page={$thisPage}&glm_action={$a.action}{if isset($a.option)}&option={$a.option}{/if}&member={$memberID}" class="nav-tab{if $thisAction==$a.action} nav-tab-active{/if}">{$a.text}</a>
   {/foreach}
 {/if}
index 1e66fc0..c745bfd 100644 (file)
@@ -9,7 +9,7 @@
 
 <div id="glm-admin-member-dashboard" class="glm-admin-table">
   {if $haveMember}
-
+    beebo
     {if $lockedToMember}
         {if apply_filters( 'glm-members-billing-enabled', false )}
             <div class="glm-row{if !$lockedToMember} glm-hidden{/if}">
             <tr class="alternate{if $m.status.name == 'Active'} glm-admin-table-active{/if}">
           {/if}
                 <td>
-                    <a href="{$thisUrl}?page={$thisPage}&glm_action=memberInfo&member={$memberID}&memberInfo={$m.id}"{if $m.status.value == $statusPending} class="glm-notice"{/if}>
+                    <a href="{$thisUrl}?page={$thisPage}&glm_action=memberInfo&member={$memberID}&memberInfo={$m.id}"{if $m.status.value == $statusPending} class="glm-notice edit-member-profile"{/if} data-memberInfo={$m.id}>
                         Edit {if $m.status.name == 'Active'}Current{else}{$m.status.name}{/if} Profile
                     </a>
                 </td>