Proyecto

General

Perfil

« Anterior | Siguiente » 

Revisión 217

Nueva opción: mover thinclient de aula

Ver diferencias:

controlies/trunk/applications/controlies/views/thinclients/index.html
deleteRecord();
}
});
jQuery("#list").jqGrid('navButtonAdd','#pager',{
caption: "Mover",
buttonicon :'ui-icon-transferthick-e-w',
onClickButton : function (){
moveRecord();
}
});
jQuery("#list").jqGrid('filterToolbar');
......
}).dialog('open');
}
function moveRecord(){
jQuery("#messageLoading").show();
var name = rowSelected();
if(name==false)
return false;
jQuery("#dialog-form").html("").css("display","none");
jQuery("#dialog-form").load("form_move.html", function() {
jQuery("#form_data #action").val("modify");
jQuery("#form_data #name").attr("readonly","true");
jQuery("#form_data #name").css("background-color","#DDD");
jQuery("#form_data #messageForm").html("Con esta opción moveremos de aula un Cliente Ligero<br>Si en el destino ya hay otro cliente ligero, lo sobreescribirá<br>Todos los campos son obligatorios");
jQuery.post('call/json/getHostData',{ name: name }, function(result) {
jQuery("#form_data #name").val(result.response['cn']);
x = (jQuery(window).width()-350)/2;
y = (jQuery(window).height()-500)/2;
jQuery("#messageLoading").hide();
jQuery("#dialog-form").dialog({
resizable: false,
modal: true,
width: 350,
title: "Mover Cliente Ligero"
}).dialog('option', 'position', [x, y]);
});
});
}
</script>
controlies/trunk/applications/controlies/views/thinclients/form_move.html
<script language="javascript">
$(function() {
$("#purpose").focus();
$("#saveButton").button({ icons: { primary: "ui-icon-transferthick-e-w"}});
$("#cancelButton")
.button({ icons: { primary: "ui-icon-close"}})
.click( function(){ $('#dialog-form').dialog('close'); });
});
function restartStyle(){
$("#form_data p span").css("color","black");
$('#message').html("");
}
function send(){
restartStyle();
jQuery.post('call/json/move', jQuery("#form_data").serialize(), function(result) {
switch(result.response){
case "OK":{
jQuery('#message').html("Operación realizada correctamente").css("color","green").effect("highlight", {"color":"yellow"}, 1000);
setTimeout("$('#dialog-form').dialog('close')",1000);
jQuery("#list").trigger("reloadGrid");
break;
}
case "fail":{
jQuery('#message').html("Se produjo un error").effect("highlight", {"color":"yellow"}, 1000);
break;
}
default:{
jQuery('#'+result.response+"Tag").css("color","red");
jQuery('#'+result.response).effect("highlight", {"color":"yellow"}, 1000).focus();
jQuery('#message').html("Hay campos vacíos o incorrectos").effect("slide");
break;
}
}
});
return false;
}
</script>
<form id="form_data" onsubmit="return send();">
<input type="hidden" id="action" name="action"/>
<div>
<table width="100%">
<tr>
<td><span id="nameTag">Origen</span><br><input type="text" id="name" name="name" size="10" maxlength="10"/></td>
<td><span id="purposeTag">Destino</span><br><input type="text" id="purpose" name="purpose" size="10" maxlength="10"/></td>
</tr>
</table>
</div>
<div id="message" style="text-align:center; font-weight:bold; color:red; padding:3px; "></div>
<div style="text-align:center;"><button id="saveButton" type="submit" style="width:100px;">Mover</button>&nbsp;&nbsp;<button type="button" id="cancelButton" style="width:100px;">Cancelar</button></div>
<p style="padding-top:10px; text-align:center; font-size:10px;" id="messageForm"></p>
</form>
controlies/trunk/applications/controlies/controllers/thinclients.py
l.close()
return dict(response=response)
@service.json
@auth.requires_login()
def move():
if request.vars['purpose']=="":
return dict(response="purpose")
l=conecta()
t1 = Thinclients(l,request.vars['purpose'],"")
t1.delete()
t2 = Thinclients(l,request.vars['name'],"")
response = t2.move(request.vars['purpose'])
l.close()
return dict(response=response)
#necesaria estas funciones en el controlador para poder cargar las vistas correspondientes:
def form():
return dict()
def form_move():
return dict()
def call():
"""
exposes services. for example:
controlies/trunk/applications/controlies/modules/Thinclients.py
self.ldap.delete('cn='+ self.name +',cn='+group+',cn=THINCLIENTS,cn=DHCP Config')
return "OK"
def move(self,purpose):
data = self.getHostData()
self.delete()
self.name= purpose
self.mac= data['mac']
self.add()
return "OK"
def existsHostname(self):
result = self.ldap.search("cn=THINCLIENTS,cn=DHCP Config","cn="+self.name,["cn"])

Exportar a: Unified diff