fixing bugs with the member info profile additions , cloning, activating functionality
authorAnthony Talarico <talarico@gaslightmedia.com>
Tue, 5 Mar 2019 04:35:52 +0000 (23:35 -0500)
committerAnthony Talarico <talarico@gaslightmedia.com>
Tue, 5 Mar 2019 04:35:52 +0000 (23:35 -0500)
js/memberManagement.js
models/admin/manageDashboard/members.php
views/admin/manageDashboard/edit.html
views/admin/manageDashboard/index.html
views/admin/member/memberInfo.html

index 10d5d08..56670f9 100644 (file)
@@ -16,25 +16,25 @@ window.Glma = (function() {
         jQuery.ajax(config);
     }
 
-    var memberRecordHandler = function(data, callback){
-        return function(e){
-            jQuery(".edit-screen").html('');
-            data.option     = "manage";
-            data.memberID   = jQuery(this).parent().data('id');
-            Glma.manageMember(
-                data,
-                function(complete) {},
-                function(success) {
-                    jQuery(".edit-screen").html(success.searchData);
-                },
-                function(error) {
-                    console.log(error);
-                },
-                "POST",
-            );           
-            M.Sidenav.getInstance( $('.edit-screen')[0] ).open();   
-        }
-    }
+    // var memberRecordHandler = function(data, callback){
+    //     return function(e){
+    //         jQuery(".edit-screen").html('');
+    //         data.option     = "manage";
+    //         data.memberID   = jQuery(this).parent().data('id');
+    //         Glma.manageMember(
+    //             data,
+    //             function(complete) {},
+    //             function(success) {
+    //                 jQuery(".edit-screen").html(success.searchData);
+    //             },
+    //             function(error) {
+    //                 console.log(error);
+    //             },
+    //             "POST",
+    //         );           
+    //         M.Sidenav.getInstance( $('.edit-screen')[0] ).open();   
+    //     }
+    // }
     var getSearchFieldValues = function(){
         if( localStorage.getItem("glmaQueries") ){
             var setQueries = {};
@@ -49,12 +49,13 @@ window.Glma = (function() {
             return false
         }
     }
+    // Merge the properties of obj2 into obj1. Obj1 is altered
     var mergeProps = function(obj1, obj2){
         for(var prop in obj2){
             obj1[prop] = obj2[prop];
         }
     }
-    var deleteProps = function(obj){
+    var deleteFilterFields = function(obj){
         var searchFields = $(".glm-admin-search-field");
         for(var i = 0; i < searchFields.length; i++){
             var field = $(searchFields[i]).attr("data-search") ;
@@ -106,11 +107,11 @@ window.Glma = (function() {
                 content
             );
         },
-        updateSearchFilterValues: updateSearchFilterValues,
-        getSearchFieldValues: getSearchFieldValues,
-        getSearchFieldValues: getSearchFieldValues,
-        deleteProps : deleteProps,
-        mergeProps: mergeProps,
+        updateSearchFilterValues    : updateSearchFilterValues,
+        getSearchFieldValues        : getSearchFieldValues,
+        getSearchFieldValues        : getSearchFieldValues,
+        deleteFilterFields          : deleteFilterFields,
+        mergeProps                  : mergeProps,
         /*
         * call this function with a data object to configure the logic
         * # glmAction
@@ -136,7 +137,7 @@ window.Glma = (function() {
                     }else{
                         listData.query = request;
                     }
-                    deleteProps(listData);
+                    deleteFilterFields(listData);
                     updateSearchFilterValues();
                     var queries = getSearchFieldValues();
                     mergeProps(listData, queries);
index 73172b1..d1db5a7 100644 (file)
@@ -169,7 +169,7 @@ class GlmMembersAdmin_manageDashboard_members extends GlmDataMembers
         $prevStart          = false;
         $nextStart          = false;
         $start              = 1;
-        $limit              = 2;        // Set to the number of listings per page
+        $limit              = 100;        // Set to the number of listings per page
         $namesList          = false;
         $enable_members     = $this->config['settings']['enable_members'];
         $textSearch         = false;
index 4d44db5..7079bec 100644 (file)
             <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}" class="edit-member-profile {if $m.status.value == $statusPending} glm-notice edit-member-profile{/if} " data-memberInfo={$m.id}>
+                    <a data-member="{$memberID}" href="{$thisUrl}?page={$thisPage}&glm_action=memberInfo&member={$memberID}&memberInfo={$m.id}" class="edit-member-profile {if $m.status.value == $statusPending} 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>
          {/if}
         {/foreach}
       {else} <!-- haveInfoRecords -->
-            <tr><td colspan="5"><a class="glm-admin-profile-edit" href="{$thisUrl}?page={$thisPage}&glm_action=memberInfo&member={$memberID}">Click here to start entering information for this {$terms.term_member}.</a></td></tr>
+            <tr>
+                <td colspan="5">
+                    <a data-member="{$memberID}" class="glm-admin-profile-edit" 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>
index bbb58a4..62b74ea 100644 (file)
@@ -9,10 +9,11 @@
         <div id="glm-admin-list-columns">
             <span class="member-record-header" id="member-record-image"></span>
             <span class="member-record-header" id="member-record-name">Name</span>
+
             {if $paging}
-            <div class="top-pagination">
-                {include file='admin/manageDashboard/adminSearch/pagination.html'}
-            </div>
+                <div class="top-pagination">
+                    {include file='admin/manageDashboard/adminSearch/pagination.html'}
+                </div>
             {/if}
             <span class="member-record-header" id="member-record-events">Events</span>
             <span class="member-record-header" id="member-record-packages">Packages</span>
         
         // window.Glma.updateSearchFilterValues();
         var memberInfo, memberID;
-        var listData = {
+        var actionData = {
             action          : Glma.defaultData.action,
             glm_action      : Glma.defaultData.glm_action,
-            prevStart       : Glma.defaultData.prevStart,
-            nextStart       : Glma.defaultData.nextStart,
-            limit           : Glma.defaultData.limit,
-            pageSelect      : Glma.defaultData.pageSelect,
-        }
-        var editData = {
-            action      : Glma.defaultData.action,
-            glm_action  : Glma.defaultData.glm_action,
         }
-
+        var listData = {
+            form_action    : 'list',
+            view           : 'list',
+            option         : 'list',
+        };
+        window.Glma.mergeProps(listData, actionData);
         /*
         *  Init Materialize collapsible
         */
         $('.collapsible').collapsible();
         // $('select').formSelect();
         $('.modal').modal();
             outDuration        : 400
         });
 
-        listData.form_action    = 'list';
-        listData.view           = 'list';
-        listData.option         = 'list';
-
         Glma.manageMember(
             listData,
             $("#glm-admin-search-overlay").fadeOut('slow'), 
             function(data) {
                 $("#member-results-container").html(data.searchData);
-
             },
             function(error) {
                 console.log(error);
         );
    
         $(".glm-search-checkbox").on("change", function(){
-            listData.filterArchived = $("input[name='archivedSearch']:checked").length > 0 ? true : undefined;
-            listData.filterFeatured = $("input[name='featuredSearch']:checked").length > 0 ? true : undefined;
-            listData.filterPending  = $("input[name='pendingSearch']:checked").length > 0 ? true : undefined;
-            window.Glma.deleteProps(listData);
+            var filterData = {};
+            filterData.filterArchived = $("input[name='archivedSearch']:checked").length > 0 ? true : undefined;
+            filterData.filterFeatured = $("input[name='featuredSearch']:checked").length > 0 ? true : undefined;
+            filterData.filterPending  = $("input[name='pendingSearch']:checked").length > 0 ? true : undefined;
+
+            window.Glma.deleteFilterFields(listData);
             window.Glma.updateSearchFilterValues();
             var queries = window.Glma.getSearchFieldValues();
+            window.Glma.mergeProps(listData, filterData);
             window.Glma.mergeProps(listData, queries);
             Glma.manageMember(
                 listData,
                 "POST"
             );
         });
+        
         $(document).on("click", "#glm-close-drawer", function(){
+            window.Glma.manageMember(
+                listData,
+                $("#glm-admin-search-overlay").fadeOut('slow'), 
+                function(data) {
+                    $("#member-results-container").html(data.searchData);
+                },
+                function(error) {
+                    console.log(error);
+                },
+                "POST"
+            );
             M.Sidenav.getInstance($('.edit-screen')[0]).close();   
         });
         
-        var memberRecordHandler = function(data){
-            return function(e){
-                $(".edit-screen").html('');
-                data.option     = "manage";
-                data.memberID   = $(this).parent().data('id');
-                memberID            = data.memberID;
-                Glma.manageMember(
-                    data,
-                    function(complete) {},
-                    function(success) {
-                        $(".edit-screen").html(success.searchData);
-                        editData.option     = "";
-                        editData.memberID   = "";
-                    },
-                    function(error) {
-                        console.log(error);
-                    },
-                    "POST",
-                );           
-                M.Sidenav.getInstance($('.edit-screen')[0]).open();   
-            }
-        }
-        $(document).on("click",".member-record-name", memberRecordHandler(editData));
 
-        $(document).on("click",".edit-member-profile",function(e){
-            e.preventDefault();
+        $(document).on("click",".member-record-name",function(){
             $(".edit-screen").html('');
-            editData.option     = "edit";
-            editData.memberInfo = $(this).data("memberinfo");
-            editData.member     = memberID;
-            editData.model      = "memberInfo";
+            var editData = {};
+            editData.option     = "manage";
+            editData.memberID   = $(this).parent().data('id');
+            memberID            = editData.memberID;
+            window.Glma.mergeProps(editData, actionData);
             Glma.manageMember(
                 editData,
                 function(complete) {},
                 function(success) {
                     $(".edit-screen").html(success.searchData);
-                    window.Glma.fileUploaderInit();
                 },
                 function(error) {
                     console.log(error);
                 },
                 "POST",
-            );
+            );           
+            M.Sidenav.getInstance($('.edit-screen')[0]).open(); 
         });
+
+        
         $('#filterCategories').on('change', function (e) {
             if( $(this).select2("val")){
                 listData.categorySearch = $(this).select2("val").join(",");
             }else{
                 listData.categorySearch = "";
             }
-            window.Glma.deleteProps(listData);
+            window.Glma.deleteFilterFields(listData);
             window.Glma.updateSearchFilterValues();
             var queries = window.Glma.getSearchFieldValues();
             window.Glma.mergeProps(listData, queries);
                 "POST"
             );
         });
-        $(document).on("click", ".glm-admin-profile-edit", function(e){
-            e.preventDefault();
-            $(".edit-screen").html('');
-            editData.option     = "addNew";
-            editData.member     = memberID;
-            editData.model      = "memberInfo";
-            Glma.manageMember(
-                editData,
-                function(complete) {},
-                function(success) {
-                    $(".edit-screen").html(success.searchData);
-                },
-                function(error) {
-                    console.log(error);
-                },
-                "POST",
-            );
-        });
+        
         // console.log( $("#nextStart").attr("nextStart"));
         $(document).on("click", ".pagination", function(e){
             if (!$(this).attr("disabled")) {
-                // listData.filterArchived = $("input[name='archivedSearch']:checked").length > 0 ? true : undefined;
-                // listData.filterFeatured = $("input[name='featuredSearch']:checked").length > 0 ? true : undefined;
-                // listData.filterPending  = $("input[name='pendingSearch']:checked").length > 0 ? true : undefined;
                 listData.pageSelect = $(this).text();
                 listData.prevStart = $("#pagination-data").attr("data-prevStart");
                 listData.nextStart = $("#pagination-data").attr("data-nextStart");
                     },
                     "POST"
                 );
-
-                
-
             }
         });
             
 
         $(document).on("click", "#deleteMemberInfoSubmit", function(e){
             e.preventDefault();
+            var editData        = {};
             editData.option     = "delete";
             editData.member     = $(this).data("member"); 
             editData.deleteID   = $(this).data("memberinfo");
+            window.Glma.mergeProps(editData, actionData);
             Glma.manageMember(
                 editData,
                 function(complete) {},
 
         $(document).on("click", ".glm-admin-clone-profile",function(e){
             e.preventDefault();
+            var editData        = {};
             editData.model      = "memberInfo";
             editData.option     = "clone";
             editData.member     = $(this).data("member"); 
             editData.memberInfo = $(this).data("memberinfo");
+            window.Glma.mergeProps(editData, actionData);
             Glma.manageMember(
                 editData,
                 function(complete) {},
 
         $(document).on("click", ".glm-admin-activate-profile",function(e){
             e.preventDefault();
+            var editData        = {};
             editData.option     = "activate";
             editData.member     = $(this).data("member"); 
             editData.activateID = $(this).data("memberinfo");
+            window.Glma.mergeProps(editData, actionData);
             Glma.manageMember(
                 editData,
                 function(complete) {},
             );
         });
 
-        // $(document).on("click", "#glm-admin-add-member-type", function(e){
-        //     e.preventDefault();
-        //     console.log("settings");
-            
-        // });
+        
 
         $(document).on("click", "#add-new-member",function(e){
             $('.edit-screen').html('');
             e.preventDefault();
+            var editData        = {};
             editData.option     = "add";
             editData.model      = "memberEdit";
+            window.Glma.mergeProps(editData, actionData);
             Glma.manageMember(
                 editData,
                 function(complete) {},
 
         // When submit button is clicked, disable the beforeunload message
         $(document).on('click', '.updateMemberProfile',function(e) {
-                e.preventDefault();
-                var form = $("#member-info-form");
-                var fileForm = new FormData(form[0]);
-                var option = form.find( $("#glm-admin-option") ).val();
-                fileForm.set("action",'glm_members_admin_ajax');
-                fileForm.set("glm_action" , 'memberManagement');
-                fileForm.set("option" ,option);
-                fileForm.set("model" ,"memberProfile");
-                console.log(form);
-                window.Glma.manageMember(
-                    fileForm,
-                    function(complete) {},
-                    function(success) {
-                        console.log(success);
-                    },
-                    function(error) {
-                        console.log(error);
-                    },
-                    "POST",
-                    true
-                    
-                );
-                // glmSubmitRequired = false;
-                // return true;
+            e.preventDefault();
+            var form = $("#member-info-form");
+            var fileForm = new FormData(form[0]);
+            var option = form.find( $("#glm-admin-option") ).val();
+            fileForm.set("action",'glm_members_admin_ajax');
+            fileForm.set("glm_action" , 'memberManagement');
+            fileForm.set("option" ,option);
+            fileForm.set("model" ,"memberProfile");
+
+            window.Glma.manageMember(
+                fileForm,
+                function(complete) {},
+                function(success) {
+                    console.log(success);
+                },
+                function(error) {
+                    console.log(error);
+                },
+                "POST",
+                true
+            );
+        });
+
+        $(document).on("click",".edit-member-profile",function(e){
+            e.preventDefault();
+            $(".edit-screen").html('');
+            var editData = {};
+            editData.option     = "edit";
+            editData.memberInfo = $(this).data("memberinfo");
+            editData.member     = memberID;
+            editData.model      = "memberInfo";
+            window.Glma.mergeProps(editData, actionData);
+            Glma.manageMember(
+                editData,
+                function(complete) {},
+                function(success) {
+                    $(".edit-screen").html(success.searchData);
+                    window.Glma.fileUploaderInit();
+                },
+                function(error) {
+                    console.log(error);
+                },
+                "POST",
+            );
+        });
+
+        $(document).on("click", ".glm-admin-profile-edit", function(e){
+            e.preventDefault();
+            $(".edit-screen").html('');
+            var editData = {};
+            editData.option     = "addNew";
+            editData.member     = $(this).data("member");
+            editData.model      = "memberInfo";
+            window.Glma.mergeProps(editData, actionData);
+            Glma.manageMember(
+                editData,
+                function(complete) {},
+                function(success) {
+                    $(".edit-screen").html(success.searchData);
+                },
+                function(error) {
+                    console.log(error);
+                },
+                "POST",
+            );
         });
-        // $(document).on("click", "#glm-edit-member-status", function(e){
-        //     e.preventDefault();
-        // })
 
         $(document).on("click", "#updateMember", function(e){
             e.preventDefault();
-            // $(".edit-screen").html('');
             var form = $("#member-edit-form");
             var fileForm = new FormData(form[0]);
             fileForm.set("action",'glm_members_admin_ajax');
             fileForm.set("glm_action" , 'memberManagement');
             fileForm.set("option" ,"addNew");
             fileForm.set("model" ,"memberEdit");
-            console.log(form);
             window.Glma.manageMember(
                 fileForm,
                 function(complete) {},
index ace01c4..1a66a22 100755 (executable)
@@ -78,7 +78,7 @@
         <input type="hidden" name="glm_action" value="memberInfo">
         <input type="hidden" name="member" value="{$member.id}">
       {if $memberInfoID && $memberInfo}
-        <input type="hidden" name="option" value="submit">
+        <input id="glm-admin-option" type="hidden" name="option" value="submit">
         <input type="hidden" name="memberInfo" value="{$memberInfo.fieldData.id}">
         <input type="hidden" name="modify_time" value="now">
       {else}