$handler_actualizar = "function(){\n\nthis.findParentByType('form').getForm().submit(\n\t{ \n\t\t\twaitMsg : 'Enviando Datos',\n\t\t waitTitle : 'Emporika',\n\t \tsuccess_msg : 'Rol guardado correctamente',\n\tgrid_reload_id : '{$grid_id}',\n\t\t success : function(){\t\t\t\t\n\t\t\t\tExt.getCmp('treePanel').getRootNode().reload();\t\t\t\t\n\t\t }\n\t}\n\t);\t\n\n\t}"; $btn_actualizar = PhpExt_Button::createTextButton("Actualizar", new PhpExt_JavascriptStm($handler_actualizar)); //Data_Reader para leer los resultados devueltos $error_reader = new PhpExt_Data_JsonReader(); $error_reader->setRoot("errors"); $error_reader->setSuccessProperty("success"); $error_reader->addField(new PhpExt_Data_FieldConfigObject("id")); $error_reader->addField(new PhpExt_Data_FieldConfigObject("msg")); $modulos = PhpExt_Form_Hidden::createHidden("modulos"); $id_role = array(); $id_role["id"] = $role->get("role"); //formulario que contiene todos los controles $frm_update_role = new PhpExt_Form_FormPanel(); $frm_update_role->setErrorReader($error_reader)->setBaseParams($id_role)->setUrl("/seguridad/role/update_process")->setFrame(true)->setWidth(580)->setHeight(400)->setTitle("Datos del rol")->setMethod(PhpExt_Form_FormPanel::METHOD_POST); $form_render = "\n\tvar chk = form.findBy( function(c){ return ( c.name == 'chk_anonimo' ); } );\t\t\t\n\tvar panel_usuarios = form.findBy( function(c){ return (c.xtype == 'panel' && c.title == 'Usuarios' ) } );\t\t\t\n\tvar panel_grupos = form.findBy( function(c){ return (c.xtype == 'panel' && c.title == 'Grupos' ) } );\t\t\t\n\n\tvar groups = form.findBy( function(c){ return ( c.name == 'grupos' ) } );\t\t\t\n\tvar users = form.findBy( function(c){ return ( c.name == 'usuarios' ) } );\t\t\t\n\t\n\tchk[0].on( 'check', function(t,c){\n\t\n\t\n\n\tif( ( groups[0].toStore.getCount() != 0 ) || ( users[0].toStore.getCount() != 0 ) ){\t\n\t\tt.setValue(false);\n\t\tpanel_usuarios[0].setDisabled(false);\n\t\tpanel_grupos[0].setDisabled(false);\n\t}\n\telse\n\t{\n\t\tpanel_usuarios[0].setDisabled(c);\n\t\tpanel_grupos[0].setDisabled(c);\n\t}\t\n});\n\n"; $frm_update_role->setEnableKeyEvents(true); $frm_update_role->attachListener("render", new PhpExt_Listener(PhpExt_Javascript::functionDef(null, $form_render, array("form")))); //marco para contenener los controles $marco = new PhpExt_Form_FieldSet(); $marco->setAutoHeight(true); //agrego todos los controles al marco $marco->addItem($tab_panel); $marco->addItem($modulos); $frm_update_role->addButton($btn_actualizar); $frm_update_role->addButton(PhpExt_Button::createTextButton("Cancelar")); $frm_update_role->addItem($marco); //RESULTADOS $resultado = ''; $resultado .= $grupos_to_store->getJavascript(false, "grupos_tostore"); $resultado .= $grupos_from_store->getJavascript(false, "grupos_fromstore"); $resultado .= $usuarios_to_store->getJavascript(false, "usuarios_tostore");