Revisión 217
Añadido por Manu Mora Gordillo hace más de 13 años
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> <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
Nueva opción: mover thinclient de aula