getting much closer to group perm editing
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 2 Apr 2008 12:57:00 +0000 (12:57 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 2 Apr 2008 12:57:00 +0000 (12:57 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/dojo-admin@9189 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/conify/global/permission/grp_tree.html

index 84949bf..7a4bdd0 100644 (file)
 
                                                perm_map_model.query = { grp : current_group ? current_group.id[0] : -1 };
                                                perm_map_model.refresh();
-                                               perm_grid.refresh();
 
                                                highlighter.editor_pane.green.play();
                                                status_update( 'Now editing ' + this.store.getValue( item, 'name' ) );
                                        </div>
 
                                        <div id="perm_pane" dojoType="dijit.layout.ContentPane" title="Group Permissions">
+                                               <script type="dojo/connect" event="onShow">
+                                                       perm_grid.refresh();
+                                               </script>
                                                <div id="grid_container" dojoType="dijit.layout.ContentPane">
                                                        <div dojoType="dojox.grid.data.DojoData" id="perm_map_model"jsId="perm_map_model" store="perm_map_store">
                                                                <script type="dojo/connect" event="startup">
 
-                                                                       function get_item_part(model_field, item_search_field, item_part, model, store, row) {
+                                                                       function get_item_part(model_field, item_search_field, item_part, model, store, datum, row) {
+                                                                               var formatter = true;
+
+                                                                               if (!row && row != '0') {
+                                                                                       row = datum;
+                                                                                       formatter = false;
+                                                                               }
+
                                                                                if(!model.getRow(row)) return null;
                                                                                var value = null;
 
+                                                                               if(!formatter) { //this.editor && (this.editor.alwaysOn || (this.grid.edit.info.rowIndex==row && this.grid.edit.info.cell==this))) {
+                                                                                       return model.getRow(row)[model_field];
+                                                                               }
+
                                                                                var q = {};
                                                                                q[item_search_field] = model.getRow(row)[model_field];
 
                                                        [
                                                            {   name : "Code",
                                                                                                                field: "perm",
-                                                                                                               get : dojo.partial(get_item_part, "perm", "id", "code", perm_map_model, perm_store),
+                                                                                                               formatter : dojo.partial(get_item_part, "perm", "id", "code", perm_map_model, perm_store),
                                                                                                                width : "300px"
                                                                                                        },
                                                            {   name : "Depth",
                                                                                                                field : "depth",
-                                                                                                               get : dojo.partial(get_item_part, "depth", "depth", "name", perm_map_model, ou_type_store),
-                                                                                                               editor : dojox.grid.editors.ComboBox,
+                                                                                                               formatter : dojo.partial(get_item_part, "depth", "depth", "name", perm_map_model, ou_type_store),
+                                                                                                               editor : dojox.grid.editors.select,
                                                                                                                options : dojo.map( _ou_type_list, function (x) { return x.name() } ),
                                                                                                                values : dojo.map( _ou_type_list, function (x) { return x.depth() } )
                                                                                                        }, 
                                                            {   name : "Grantable",
+                                                                                                               field : "grantable",
+                                                                                                               editor : dojox.grid.editors.bool,
                                                                                                                get : function (row) {
-                                                                                                                       var curr = perm_map_model.getRow(row);
-                                                                                                                       if (!curr || curr.grantable == 'f') return "No";
-                                                                                                                       return "Yes";
+                                                                                                                       var gr = get_item_part("id", "id", "grantable", perm_map_model, perm_map_model.store, row, row);
+                                                                                                                       if (gr == 't' || gr === true) return true;
+                                                                                                                       return false;
                                                                                                                },
-                                                                                                               field : "grantable",
-                                                                                                               editor : dojox.grid.editors.ComboBox,
-                                                                                                               options : [ "Yes","No" ],
-                                                                                                               value : ['t','f']
                                                                                                        }
                                                        ]
                                                    ]