Changeset 17903

Show
Ignore:
Timestamp:
08/19/08 11:01:56 (3 months ago)
Author:
ritesh
Message:

Persisting columns state in database for Assignments(beta) link.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/core/src/net/project/hibernate/service/impl/PnAssignmentServiceImpl.java

    r17892 r17903  
    2727import net.project.resource.Assignment; 
    2828import net.project.util.DateFormat; 
    29  
     29import net.project.util.Node; 
     30import net.project.util.NodeFactory; 
     31 
     32import org.apache.commons.collections.CollectionUtils; 
     33import org.apache.commons.collections.MapUtils; 
    3034import org.apache.commons.lang.StringUtils; 
    3135import org.apache.log4j.Logger; 
     
    681685                String treeViewParamerer 
    682686    ) { 
    683                 if (treeViewParamerer.equals("flat")) { 
    684                         return getFlatGridData(pnAssignmentDAO.getAssignmentDetailsWithFilters(personId, assigneeORAssignor, 
     687                        return getMyAssignmentGridDataString(pnAssignmentDAO.getAssignmentDetailsWithFilters(personId, assigneeORAssignor, 
    685688                                        projectIds, businessId, assignmentTypes, lateAssignment, comingDueDate, shouldHaveStart, 
    686689                                        InProgress, startDate, endDate, statusId, percentComplete, PercentCompleteComparator, 
    687                                         assignmentName, assignmentNameComparator), userDateFormat); 
    688                 } else { 
    689                         return getTreeGridData(pnAssignmentDAO.getAssignmentDetailsWithFilters(personId, assigneeORAssignor, 
    690                                         projectIds, businessId, assignmentTypes, lateAssignment, comingDueDate, shouldHaveStart, 
    691                                         InProgress, startDate, endDate, statusId, percentComplete, PercentCompleteComparator, 
    692                                         assignmentName, assignmentNameComparator), userDateFormat); 
    693                 } 
     690                                        assignmentName, assignmentNameComparator), userDateFormat, treeViewParamerer); 
    694691        } 
    695692         
     
    709706                return workRmaining; 
    710707        } 
    711          
    712         private String getTreeGridData(List<PnAssignment> assignments, DateFormat userDateFormat) { 
    713                 String treeString = "["; 
    714                 if (assignments != null) { 
    715                         int left = 1; 
    716                         int right = 1; 
    717                         int projectId = 0; 
     708 
     709        private String getMyAssignmentGridDataString(List<PnAssignment> assignments, DateFormat userDateFormat, String treeViewParamerer){ 
     710        final List<String> columns = new ArrayList<String>(3); 
     711        columns.add("objectId"); 
     712        columns.add("objectName"); 
     713        columns.add("objectType"); 
     714        columns.add("dueDate"); 
     715        columns.add("workRemaining"); 
     716        columns.add("workSpace"); 
     717        columns.add("assignorName"); 
     718        columns.add("assigneeName"); 
     719         
     720        final NodeFactory factory = new NodeFactory(columns); 
     721        int projectId = 0; 
     722        if (!assignments.isEmpty()) { 
     723                Node parentNode = null; 
     724                Node childNode = null; 
    718725                        for (PnAssignment assignment : assignments) { 
    719726                                if (isAssignableType(assignment.getPnObjectType().getObjectType())) { 
    720                                         if (!treeString.equals("[")) { 
    721                                                 treeString += ","; 
     727                                        if (projectId != assignment.getPnProjectSpace().getProjectId() && !treeViewParamerer.equals("flat")) { 
     728                                                parentNode = factory.nextNode(); 
     729                                                parentNode.set("objectId", assignment.getPnProjectSpace().getProjectId()); 
     730                                                parentNode.set("objectName", assignment.getPnProjectSpace().getProjectName().replaceAll("'", "&acute;")); 
     731                                                parentNode.set("objectType", "project"); 
     732                                                parentNode.set("dueDate", ""); 
     733                                                parentNode.set("workRemaining", ""); 
     734                                                parentNode.set("workSpace",""); 
     735                                                parentNode.set("assignorName",""); 
     736                                                parentNode.set("assigneeName",""); 
    722737                                        } 
    723                                         if (projectId != assignment.getPnProjectSpace().getProjectId().intValue()) { 
    724                                                 left = right; 
    725                                                 right = right + 100; 
    726                                                 treeString += "{ objectId: " + assignment.getPnProjectSpace().getProjectId()  
    727                                                                 + ", objectName:'"+ assignment.getPnProjectSpace().getProjectName().replaceAll("'", "&acute;") 
    728                                                                 + "', workSpace:'', objectType:'project' ,dueDate:'' ,workRemaining:'', assigneeName:'', assignorName:''" 
    729                                                                 + ", _id:" + assignment.getPnProjectSpace().getProjectId() 
    730                                                                 + ", _parent:null ,_level:1 , _lft:" + left++ + ", _rgt:" + right-- 
    731                                                                 + " ,_is_leaf:false },"; 
     738                                        childNode = factory.nextNode(); 
     739                                        childNode.set("objectId", assignment.getPnObjectName().getObjectId()); 
     740                                        childNode.set("objectName", assignment.getPnObjectName().getName().replaceAll("'", "&acute;")); 
     741                                        childNode.set("objectType", assignment.getPnObjectType().getObjectType()); 
     742                                        childNode.set("dueDate", userDateFormat.formatDate(assignment.getEndDate(),"MM/dd/yyyy")); 
     743                                        childNode.set("workRemaining", getWorkRemainingInHours(assignment.getWork(), assignment 
     744                                                        .getWorkComplete(), assignment.getWorkUnits())); 
     745                                        childNode.set("workSpace", assignment.getPnProjectSpace().getProjectName().replaceAll("'", "&acute;")); 
     746                                        childNode.set("assignorName", (StringUtils.isNotEmpty(assignment.getAssignorName()) ?  
     747                                                        assignment.getAssignorName().replaceAll("'", "&acute;") : "")); 
     748                                        childNode.set("assigneeName", assignment.getPersonName().replaceAll("'", "&acute;")); 
     749                                        if(parentNode!= null){ 
     750                                                parentNode.add(childNode); 
     751                                                childNode = null; 
    732752                                        } 
    733                                         treeString += "{ objectId:"+ assignment.getPnObjectName().getObjectId() 
    734                                                         + ", objectName:'"+ assignment.getPnObjectName().getName().replaceAll("'", "&acute;") 
    735                                                         + "', workSpace:'"+ assignment.getPnProjectSpace().getProjectName().replaceAll("'", "&acute;") 
    736                                                         + "', objectType:'"+ assignment.getPnObjectType().getObjectType() 
    737                                                         + "', dueDate:'"+ userDateFormat.formatDate(assignment.getEndDate(), "MM/dd/yyyy") 
    738                                                         + "', workRemaining:'" + getWorkRemainingInHours(assignment.getWork(),  
    739                                                                         assignment.getWorkComplete(), assignment.getWorkUnits())  
    740                                                         + "', assigneeName:'" + assignment.getPersonName().replaceAll("'", "&acute;") 
    741                                                         + "', assignorName:'" + (StringUtils.isNotEmpty(assignment.getAssignorName())  
    742                                                                         ? assignment.getAssignorName().replaceAll("'", "&acute;") : "")  
    743                                                         + "', _id : "+ assignment.getPnObjectName().getObjectId()  
    744                                                         + ", _parent : "+ assignment.getPnProjectSpace().getProjectId()  
    745                                                         + " ,_level:2 ,_lft:" + left++ + ", _rgt:"+ right-- + " ,_is_leaf:true }"; 
    746753                                        projectId = assignment.getPnProjectSpace().getProjectId(); 
    747754                                } 
    748755                        } 
    749756                } 
    750                 treeString += "]"; 
    751  
    752                 return treeString; 
    753         } 
    754          
    755         private String getFlatGridData(List<PnAssignment> assignments, DateFormat userDateFormat) { 
    756                 String treeString = "["; 
    757                 if (assignments != null) { 
    758                         int left = 1; 
    759                         int right = assignments.size() + 100; 
    760                         for (PnAssignment assignment : assignments) { 
    761                                 if (isAssignableType(assignment.getPnObjectType().getObjectType())) { 
    762                                         if (!treeString.equals("[")) { 
    763                                                 treeString += ","; 
    764                                         } 
    765                                         treeString += "{ objectId:" 
    766                                                         + assignment.getPnObjectName().getObjectId() 
    767                                                         + ", objectName:'" 
    768                                                         + assignment.getPnObjectName().getName().replaceAll("'", "&acute;") 
    769                                                         + "', workSpace:'" 
    770                                                         + assignment.getPnProjectSpace().getProjectName().replaceAll("'", "&acute;") 
    771                                                         + "', objectType:'" 
    772                                                         + assignment.getPnObjectType().getObjectType() 
    773                                                         + "', dueDate:'" 
    774                                                         + userDateFormat.formatDate(assignment.getEndDate(),"MM/dd/yyyy") 
    775                                                         + "', workRemaining:'" 
    776                                                         + getWorkRemainingInHours(assignment.getWork(), assignment.getWorkComplete(), assignment 
    777                                                                         .getWorkUnits())  
    778                                                         + "', assigneeName:'" + assignment.getPersonName().replaceAll("'", "&acute;") 
    779                                                         + "', assignorName:'" + (StringUtils.isNotEmpty(assignment.getAssignorName()) 
    780                                                                         ? assignment.getAssignorName().replaceAll("'", "&acute;") : "") 
    781                                                         + "', _id : "+ assignment.getPnObjectName().getObjectId() 
    782                                                         + ", _parent : null, _level:1 , _lft:"+left ++ +" , _rgt:"+right-- +" ,_is_leaf:true }"; 
    783                                 } 
    784                         } 
    785                 } 
    786                 treeString += "]"; 
    787                 return treeString; 
    788         } 
     757                 
     758        StringBuilder json = new StringBuilder(); 
     759        List<Node> nodes = factory.getNodes(); 
     760        if (CollectionUtils.isNotEmpty(nodes)) { 
     761            int order = 1; 
     762            for (Node node : nodes) { 
     763                /*  
     764                 * Check whether this node has a parent. In such a case 
     765                 * it will be added to the json represention by its parent. 
     766                 */ 
     767                if (null == MapUtils.getString(node.getMap(), "_parent")) { 
     768                    node.order(order); 
     769                    order = node.getRight() + 1; 
     770                    json.append(node.toJSON()); 
     771                    json.append(','); 
     772                } 
     773            } 
     774            json.deleteCharAt(json.length()-1); 
     775        } 
     776        return "[" + json.toString() + "]"; 
     777    } 
    789778         
    790779        private boolean isAssignableType(String assignmentType){ 
  • trunk/core/src/net/project/view/pages/assignments/MyAssignments.java

    r17897 r17903  
    1515import net.project.business.BusinessSpace; 
    1616import net.project.business.BusinessSpaceFinder; 
     17import net.project.channel.ScopeType; 
    1718import net.project.hibernate.constants.WeblogConstants; 
    1819import net.project.hibernate.model.PnObjectType; 
     
    2728import net.project.hibernate.service.ServiceFactory; 
    2829import net.project.persistence.PersistenceException; 
     30import net.project.resource.PersonProperty; 
    2931import net.project.security.SessionManager; 
    3032import net.project.space.Space; 
     
    129131        private String userId; 
    130132         
     133        private final String COLUMN_PROPERTY_CONTEXT = "net.project.column.MyProject"; 
     134         
     135        private static final String PROPERTY = "MyAssignmentscolumn"; 
     136         
     137        private String myAssignmentsColumn; 
     138 
     139         
    131140        private enum AssignmentsAction { 
    132                 SETFILTERPARAMETER, GETASSIGNMENTSTREEDATA, LOADBLOGENTRIES, SETVIEWPARAMETER 
     141                SETFILTERPARAMETER, GETASSIGNMENTSTREEDATA, LOADBLOGENTRIES, SETVIEWPARAMETER, REPLACEMYASSIGNMENTCOLUMN 
    133142        } 
    134143         
     
    136145                GET_TIME_SHEET_ENTRIES, UPDATE_TIME_SHEET_ENTRIES, GET_TIME_VALUES_ARRAY, SUBMIT_TIME_SHEET_ENTRIES, GET_ERROR_MESSAGE 
    137146        } 
    138  
     147         
    139148        /** 
    140149         *  
     
    160169                createUserBusinessOptionsString(); 
    161170                createUserProjectOptionsString(); 
     171                initializeMyAssignmentsColumn(); 
    162172        } 
    163173 
     
    186196                                                .getParameter("view") : "indent"); 
    187197                        } 
    188                         if (action.equalsIgnoreCase(AssignmentsAction.SETFILTERPARAMETER.toString())) { 
     198                        else if (action.equalsIgnoreCase(AssignmentsAction.SETFILTERPARAMETER.toString())) { 
    189199                                setAllFilterParameter(request); 
    190200                        } 
    191                         if (action.equalsIgnoreCase(AssignmentsAction.GETASSIGNMENTSTREEDATA.toString())) { 
     201                        else if (action.equalsIgnoreCase(AssignmentsAction.GETASSIGNMENTSTREEDATA.toString())) { 
    192202                                return getAssignmentTreeData(); 
    193203                        }                        
    194                         if (action.equalsIgnoreCase((AssignmentsAction.LOADBLOGENTRIES).toString())) { 
     204                        else if (action.equalsIgnoreCase((AssignmentsAction.LOADBLOGENTRIES).toString())) { 
    195205                                String assignmentId = request.getParameter("assignmentId"); 
    196206                                if (assignmentId != null) { 
     
    198208                                } 
    199209                        } 
     210                        else if (action.equalsIgnoreCase(AssignmentsAction.REPLACEMYASSIGNMENTCOLUMN.toString())) { 
     211                                replaceMyAssignmentsColumn(request);  
     212                        } 
     213                         
    200214                        // Action To generate the time sheet enteries from database ,if exist 
    201215                        // otherwise generate a blank time sheet div for js and return 
     
    460474                                && request.getParameter("inProgress").equals("true")); 
    461475        } 
     476         
     477        private void initializeMyAssignmentsColumn(){ 
     478                String columns[] = {"objectName","workSpace","dueDate","workRemaining","objectId","objectType","assigneeName","assignorName"}; 
     479                myAssignmentsColumn = "[{";  
     480                for(String column : columns){ 
     481                        if(!myAssignmentsColumn.equals("[{")){ 
     482                                myAssignmentsColumn += ","; 
     483                        } 
     484                        myAssignmentsColumn += "'" + column + "' : "+getColumnValue(column); 
     485                } 
     486                myAssignmentsColumn += "}]"; 
     487        } 
     488         
     489        private String getColumnValue(String column){ 
     490                PersonProperty personProperty = new PersonProperty(); 
     491                personProperty.setScope(ScopeType.GLOBAL.makeScope(SessionManager.getUser())); 
     492                return (personProperty.get(COLUMN_PROPERTY_CONTEXT + "_" + column, PROPERTY) != null  
     493                                && personProperty.get(COLUMN_PROPERTY_CONTEXT + "_" + column, PROPERTY).length > 0  
     494                                ? personProperty.get(COLUMN_PROPERTY_CONTEXT + "_" + column, PROPERTY)[0] : "null");  
     495        } 
     496         
     497        private void replaceMyAssignmentsColumn(HttpServletRequest request) { 
     498                String column = request.getParameter("column");  
     499                String value = request.getParameter("value"); 
     500                 
     501                if (StringUtils.isNotEmpty(column) && StringUtils.isNotEmpty(value)) { 
     502                        PersonProperty personProperty = new PersonProperty(); 
     503                        try { 
     504                                personProperty.setScope(ScopeType.GLOBAL.makeScope(SessionManager.getUser())); 
     505                                personProperty.removeAllValues(COLUMN_PROPERTY_CONTEXT + "_" + column, PROPERTY); 
     506                                personProperty.put(COLUMN_PROPERTY_CONTEXT + "_" + column, PROPERTY, value); 
     507                        } catch (PersistenceException pnetEx) { 
     508                                pnetEx.printStackTrace(); 
     509                        } 
     510                } 
     511        } 
    462512 
    463513        /** 
     
    763813        } 
    764814 
     815        /** 
     816         * @return the myAssignmentsColumn 
     817         */ 
     818        public String getMyAssignmentsColumn() { 
     819                return myAssignmentsColumn; 
     820        } 
     821 
     822        /** 
     823         * @param myAssignmentsColumn the myAssignmentsColumn to set 
     824         */ 
     825        public void setMyAssignmentsColumn(String myAssignmentsColumn) { 
     826                this.myAssignmentsColumn = myAssignmentsColumn; 
     827        } 
     828 
    765829} 
  • trunk/core/web/html/assignments/MyAssignments.html

    r17897 r17903  
    4747        var validationMessageForBlogComment = '${validationMessageForBlogComment}'; 
    4848        var noSelectionErrMes = 'Please select a node from tree before posting a blog entry.'; 
    49         var assigneeOrAssignorParameter = '${assigneeOrassignorParameter}'; 
     49        var assigneeOrAssignorParameter = '${assigneeOrAssignorParameter}'; 
    5050        var projectOptionsData = ${projectOptionsString}; 
    5151        var businessOptionsData = ${businessOptionsString}; 
    5252        var treeViewParamerer ='${treeViewParamerer}'; 
     53        var myAssignmentsColumn = ${myAssignmentsColumn}; 
    5354         
    5455        // About Timeline 
  • trunk/core/web/src/components/myAssignment-treeGrid.js

    r17890 r17903  
    4545                        columns: [ 
    4646                                {id:'objectName', header: "Assignment Name", width: 310, sortable: true, dataIndex: 'objectName'}, 
    47                                 {id:'workSpace', header: "Work Space", sortable: true, dataIndex: 'workSpace'}, 
    48                                 {id:'dueDate', header: "Due Date", renderer: rederDueDate, width: 95, sortable: true, dataIndex: 'dueDate'}, 
     47                        {id:'objectType', header: "Type", hidden: true, sortable: true, dataIndex: 'objectType'}, 
     48                                {id:'workSpace',  resizable : false, header: "Work Space", sortable: true, dataIndex: 'workSpace'}, 
     49                                {id:'dueDate',  resizable : false, header: "Due Date", renderer: rederDueDate, width: 95, sortable: true, dataIndex: 'dueDate'}, 
    4950                        {id:'workRemaining', header: "Work Remaining", renderer: rederWorkRemaining, width: 95, sortable: true, dataIndex: 'workRemaining'}, 
    50                         {id:'objectId', header: "ID", hidden: true, dataIndex: 'objectId'}, 
    51                         {id:'objectType', header: "Type", hidden: true, sortable: true, dataIndex: 'objectType'}, 
    5251                        {id:'assigneeName', header: "Assignee", renderer: removeNull, hidden: true, sortable: true, dataIndex: 'assigneeName'}, 
    53                         {id:'assignorName', header: "Assignor", renderer: removeNull, hidden: true, sortable: true, dataIndex: 'assignorName'} 
     52                        {id:'assignorName', header: "Assignor", renderer: removeNull, hidden: true, sortable: true, dataIndex: 'assignorName'}, 
     53                        {id:'objectId', header: "ID", hidden: true, sortable: true, dataIndex: 'objectId'} 
     54                         
    5455                    ], 
    5556                        stripeRows: true, 
     
    7879                                       handler : function(){ 
    7980                                                        if(collapsed){ 
    80                                                         expandAllNodes(); 
     81                                                               expandAllNodes(); 
    8182                                                        }else { 
    82                                                         collapseAllNodes(); 
     83                                                               collapseAllNodes(); 
    8384                                                        } 
    8485                                        } 
  • trunk/core/web/src/components/myAssignments-dashboard.js

    r17897 r17903  
    99var windowHeight = 0; 
    1010var selectedTask; 
    11  
     11var myColumnViewRecord; 
     12         
    1213Ext.onReady(function(){ 
    1314        Ext.QuickTips.init(); 
     
    1516         
    1617        getWindowHeightWidth(); 
     18         
    1719        blogPanel = new Ext.Panel({ 
    1820        id: 'blog', 
     
    6264 
    6365     assignmentPanel.render('assignmentPanelPosition'); 
    64          initializeProjectColumn(); 
     66         initializeMyColumnViewRecord(); 
     67         personalizeAssignmentColumn(); 
    6568         initializeToggleButtons(); 
    66                  
     69          
     70         //-----------Adding Listeners..------------------ 
     71 
    6772         filterForm.on('expand',function(panel){ 
    6873                assignmentTreeGrid.setHeight(windowHeight-406); 
     
    7277                assignmentTreeGrid.setHeight(windowHeight-175); 
    7378         }); 
     79 
     80        assignmentTreeGrid.addListener('rowdblclick', function(grid, rowIndex, e){ 
     81                assignmentTreeNodeId = grid.getStore().getAt(rowIndex).get('objectId'); 
     82                objectType=grid.getStore().getAt(rowIndex).get('objectType'); 
     83                selectedTask=grid.getStore().getAt(rowIndex).get('objectName'); 
     84                if(objectType.toString() == 'project'){ 
     85                        extAlert('Error', 'Selected object is not an assignment, Please select an assignment to view detail.', Ext.MessageBox.ERROR); 
     86                } else{ 
     87                window.location.href = JSPRootURL+'/servlet/AssignmentController/View?module='+moduleId+'&objectID='+assignmentTreeNodeId+'&personID='+userId +'&returnTo=/assignments/My?module='+moduleId; 
     88                } 
     89        }); 
     90         
     91        assignmentTreeGrid.addListener('rowclick', function(grid, rowIndex, e){ 
     92                assignmentTreeNodeId = grid.getStore().getAt(rowIndex).get('objectId'); 
     93                objectType=grid.getStore().getAt(rowIndex).get('objectType'); 
     94                selectedTask=grid.getStore().getAt(rowIndex).get('objectName'); 
     95                loadBlogEntriesForAssignment(); 
     96        }); 
     97         
     98        assignmentTreeGrid.getColumnModel().addListener('hiddenchange', replaceMyAssignmentColumn); 
     99         
     100        //-------------- Widget resizeing on browser window resize ------------ 
    74101         
    75102        window.onresize = resizeGrid; 
     
    83110                   }catch(err){} 
    84111        } 
    85  
    86         assignmentTreeGrid.addListener('rowdblclick', function(grid, rowIndex, e){ 
    87                 assignmentTreeNodeId = grid.getStore().getAt(rowIndex).get('objectId'); 
    88                 objectType=grid.getStore().getAt(rowIndex).get('objectType'); 
    89                 selectedTask=grid.getStore().getAt(rowIndex).get('objectName'); 
    90                 if(objectType.toString() == 'project'){ 
    91                         extAlert('Error', 'Selected object is not an assignment, Please select an assignment to view detail.', Ext.MessageBox.ERROR); 
    92                 } else{ 
    93                 window.location.href = JSPRootURL+'/servlet/AssignmentController/View?module='+moduleId+'&objectID='+assignmentTreeNodeId+'&personID='+userId +'&returnTo=/assignments/My?module='+moduleId; 
    94                 } 
    95         }); 
    96          
    97         assignmentTreeGrid.addListener('rowclick', function(grid, rowIndex, e){ 
    98                 assignmentTreeNodeId = grid.getStore().getAt(rowIndex).get('objectId'); 
    99                 objectType=grid.getStore().getAt(rowIndex).get('objectType'); 
    100                 selectedTask=grid.getStore().getAt(rowIndex).get('objectName'); 
    101                 loadBlogEntriesForAssignment(); 
    102         }); 
    103112}); 
    104  
    105113 
    106114 
     
    182190                                assignmentTreeGrid.getStore().reload(); 
    183191                                assignmentTreeGrid.getView().refresh(); 
    184                                 initializeProjectColumn(); 
     192                                personalizeAssignmentColumn() 
    185193                                toggleExpandCollapse.setIconClass('expandall-icon'); 
    186194                   }, 
     
    201209} 
    202210 
    203 function initializeProjectColumn(){ 
    204         var hide = true; 
    205         if(treeViewParamerer == 'flat'){ 
    206                 hide = false; 
    207         } 
    208         var cm = assignmentTreeGrid.getColumnModel(); 
    209         var count = cm.getColumnCount(); 
    210         for(var i = 0; i < count; i++){ 
    211         if('workSpace' == cm.getDataIndex(i)) { 
    212             cm.setHidden(i, hide); 
    213                  break; 
    214          } 
    215       } 
    216 } 
    217  
    218211function initializeToggleButtons(){ 
    219212        if(collapsed){ 
     
    231224} 
    232225 
     226function replaceMyAssignmentColumn(thisColumnModel, columnIndex ,hidden){ 
     227        var     value = 1  
     228        if(hidden){ 
     229                value = 0; 
     230        } 
     231        Ext.Ajax.request({ 
     232                url: JSPRootURL+'/assignments/My/replaceMyAssignmentColumn', 
     233                params: {module: moduleId , column : thisColumnModel.getDataIndex(columnIndex), value: value}, 
     234                method: 'POST', 
     235                success: function(result, request){ 
     236                        myColumnViewRecord.set(thisColumnModel.getDataIndex(columnIndex), value); 
     237                }, 
     238                failure: function(result, response){ 
     239                        extAlert('Error', 'Server request failed please try again...', Ext.MessageBox.ERROR); 
     240                } 
     241        }); 
     242} 
     243 
     244function personalizeAssignmentColumn(){ 
     245        var cm = assignmentTreeGrid.getColumnModel(); 
     246        var count = cm.getColumnCount(); 
     247        for(var i = 0; i < count; i++){ 
     248                cm.setHidden(i, getBoolean(cm.getDataIndex(i))); 
     249    } 
     250} 
     251 
     252function getBoolean(column){ 
     253        value = myColumnViewRecord.get(column); 
     254        if(value == '0'){ 
     255                return true; 
     256        } else if(value == '1'){ 
     257                return false; 
     258        } else { 
     259                if(column == 'objectName'){ 
     260                        return false; 
     261                } 
     262                else if(column == 'dueDate'){ 
     263                        return false; 
     264                } 
     265                else if(column == 'workRemaining'){ 
     266                        return false; 
     267                } 
     268                else if(column == 'workSpace' && treeViewParamerer == 'flat' ){ 
     269                        return false; 
     270                } else{ 
     271                        return true; 
     272                } 
     273        } 
     274} 
     275function initializeMyColumnViewRecord(){ 
     276        var columnStore = new Ext.data.Store({ 
     277                                autoLoad : true, 
     278                                reader: new Ext.data.JsonReader({id: '_id'}, 
     279                                 Ext.data.Record.create([ 
     280                                                {name: 'objectName'}, 
     281                                                {name: 'workSpace'}, 
     282                                        {name: 'dueDate'}, 
     283                                        {name: 'workRemaining'}, 
     284                                        {name: 'objectId'}, 
     285                                        {name: 'objectType'}, 
     286                                        {name: 'assigneeName'}, 
     287                                        {name: 'assignorName'}, 
     288                                        ]) 
     289                                 ), 
     290                    data: myAssignmentsColumn 
     291           }); 
     292           myColumnViewRecord = columnStore.getAt(0); 
     293} 
    233294 
    234295function getWindowHeightWidth(){