Proyecto

General

Perfil

« Anterior | Siguiente » 

Revisión 359

Añadido por Manu Mora Gordillo hace casi 13 años

Ultimos cambios historial portatiles

Ver diferencias:

controlies/trunk/applications/controlies/views/laptops/index.html
}
},
colNames:['Marca','Modelo','Número Serie'],
colNames:['Marca','Modelo','Número Serie','Login','Estado'],
colModel:[
{name:'trademark',index:'trademark', width:60, align:"center"},
{name:'model',index:'model', width:115, align:"center"},
{name:'serial_number',index:'serial_number', width:115, align:"center"}
{name:'serial_number',index:'serial_number', width:115, align:"center"},
{name:'username',index:'username', width:115, align:"center"},
{name:'state',index:'state', width:115, align:"center"}
],
rowNum:25,
height:335,
controlies/trunk/applications/controlies/views/laptops/history.html
jQuery("#form_data_history #id_laptop").val(jQuery("#form_history #id_laptop").val());
jQuery("#form_data_history #messageForm").html("Todos los campos son obligatorios");
x = (jQuery(window).width()-350)/2;
x = (jQuery(window).width()-400)/2;
y = (jQuery(window).height()-300)/2;
jQuery("#messageLoading").hide();
......
resizable: false,
position: top,
modal: true,
width: 350,
width: 400,
title: "Añadir histórico"
}).dialog('option', 'position', [x, y]);
});
controlies/trunk/applications/controlies/views/laptops/form_history.html
<script language="javascript">
$(function() {
$("#name").focus();
hideAllFields();
$("#id_state").focus();
$("#saveButtonFormHistory").button({ icons: { primary: "ui-icon-disk"}});
$("#cancelButtonFormHistory")
.button({ icons: { primary: "ui-icon-close"}})
......
switch(result.response){
case "OK":{
jQuery('#messageHistory').html("Operación realizada correctamente").css("color","green").effect("highlight", {"color":"yellow"}, 1000);
jQuery("#list_history").trigger("reloadGrid");
jQuery("#list_history").trigger("reloadGrid");
jQuery("#list").trigger("reloadGrid");
setTimeout("$('#dialog-form-history').dialog('close')",1000);
break;
}
......
return false;
}
function getDataLDAP(){
jQuery.post('call/json/getDataLDAP', jQuery("#form_data_history").serialize(), function(result) {
jQuery("#form_data_history #name").val(result.response['name']);
jQuery("#form_data_history #nif").val(result.response['nif']);
switch(result.response['type']){
case 'teacher': jQuery("#form_data_history #id_user_type").val(1); break;
case 'student': jQuery("#form_data_history #id_user_type").val(2); break;
}
});
}
function hideAllFields(){
jQuery("#form_data_history #usernameP").hide();
jQuery("#form_data_history #id_user_typeP").hide();
jQuery("#form_data_history #nifP").hide();
jQuery("#form_data_history #nameP").hide();
jQuery("#form_data_history #commentP").hide();
}
function showFields(){
hideAllFields();
switch(jQuery("#form_data_history #id_state").val()){
case '2':
case '3':
jQuery("#form_data_history #usernameP").show();
jQuery("#form_data_history #id_user_typeP").show();
jQuery("#form_data_history #nifP").show();
jQuery("#form_data_history #nameP").show();
jQuery("#form_data_history #commentP").show();
break;
case '1':
jQuery("#form_data_history #commentP").show();
break;
}
if(jQuery("#form_data_history #id_state").val()=="3"){
jQuery.post('call/json/getDataLastHistory', jQuery("#form_data_history").serialize(), function(result) {
jQuery("#form_data_history #name").val(result.response['name']);
jQuery("#form_data_history #nif").val(result.response['nif']);
switch(result.response['type']){
case 'teacher': jQuery("#form_data_history #id_user_type").val(1); break;
case 'student': jQuery("#form_data_history #id_user_type").val(2); break;
}
});
}
}
</script>
<form id="form_data_history" onsubmit="return sendHistory();">
......
<input type="hidden" id="id_history" name="id_history"/>
<div>
<p><span id="id_stateTag">Estado (*)</span><br>
<select type="text" id="id_state" name="id_state">
<select type="text" id="id_state" name="id_state" onchange="javascript:showFields();">
<option value="none">Seleccione...</option>
</select>
</p>
<p><span id="id_user_typeTag">Tipo usuario (*)</span><br>
<p id="usernameP"><span id="usernameTag">Login (*)</span><br><input type="text" id="username" name="username" size="15" maxlength="200" onblur="javascript:getDataLDAP();"/></p>
<p id="id_user_typeP"><span id="id_user_typeTag">Tipo usuario (*)</span><br>
<select type="text" id="id_user_type" name="id_user_type">
<option value="none">Seleccione...</option>
</select>
</p>
<p><span id="usernameTag">Login (*)</span><br><input type="text" id="username" name="username" size="20" maxlength="200"/></p>
<p><span id="nameTag">Nombre y Apellidos</span><br><input type="text" id="name" name="name" size="35" maxlength="200"/></p>
<p><span id="commentTag">Comentario</span><br><input type="text" id="comment" name="comment" size="35" maxlength="200"/></p>
<p id="nifP"><span id="nifTag">NIF / NIE</span><br><input type="text" id="nif" name="nif" size="20" maxlength="200"/></p>
<p id="nameP"><span id="nameTag">Nombre y Apellidos</span><br><input type="text" id="name" name="name" size="35" maxlength="200"/></p>
<p id="commentP"><span id="commentTag">Comentario</span><br><input type="text" id="comment" name="comment" size="35" maxlength="200"/></p>
</div>
<div id="messageHistory" style="text-align:center; font-weight:bold; color:red; padding:3px; "></div>
<div style="text-align:center;"><button id="saveButtonFormHistory" type="submit" style="width:100px;">Guardar</button>&nbsp;&nbsp;<button type="button" id="cancelButtonFormHistory" style="width:100px;">Cancelar</button></div>
controlies/trunk/applications/controlies/controllers/laptops.py
from applications.controlies.modules.LaptopsHistory import LaptopsHistory
from applications.controlies.modules.SQLiteConnection import SQLiteConnection
from applications.controlies.modules.Utils import Utils
from applications.controlies.modules.Users import Users
def index():
return dict()
......
@auth.requires_login()
def listHistory():
my = SQLiteConnection()
l = LaptopsHistory(my,"",request.vars["id_laptop"],"","","","","")
l = LaptopsHistory(my,"",request.vars["id_laptop"],"","","","","","")
response = l.list(request.vars)
return response
......
@auth.requires_login()
def modifyHistory():
my = SQLiteConnection()
l = LaptopsHistory(my,"",request.vars["id_laptop"],request.vars["id_state"],request.vars["id_user_type"],request.vars["username"],request.vars["name"],request.vars["comment"])
l = LaptopsHistory(my,"",request.vars["id_laptop"],request.vars["id_state"],request.vars["id_user_type"],request.vars["nif"],request.vars["username"],request.vars["name"],request.vars["comment"])
response = l.process(request.vars["action"])
return dict(response = response)
@service.json
def getAllStates():
my = SQLiteConnection()
l = LaptopsHistory(my,"","","","","","","")
l = LaptopsHistory(my,"","","","","","","","")
response = l.getAllStates()
return dict(response=response)
@service.json
def getAllUserTypes():
my = SQLiteConnection()
l = LaptopsHistory(my,"","","","","","","")
l = LaptopsHistory(my,"","","","","","","","")
response = l.getAllUserTypes()
return dict(response=response)
@service.json
def getDataLDAP():
l=conecta()
u = Users(l,"","","","",request.vars['username'],"","","","","")
response = u.getUserData()
l.close()
return dict(response=response)
@service.json
def getDataLastHistory():
my = SQLiteConnection()
l = LaptopsHistory(my,"",request.vars["id_laptop"],"","","","","","")
response = l.getLastHistory()
return dict(response=response)
def laptops():
return dict()
controlies/trunk/applications/controlies/modules/SQLiteConnection.py
Field('username','string'),
Field('name','string'),
Field('id_user_type','integer'),
Field('nif','string'),
Field('comment','string'),
Field('id_state','integer'),
primarykey=['id_historical'])
......
pass
def getDB(self):
return self.db
def select(self,table,data):
self.db.table.insert(data)
def insert(self,table,data):
self.db.table.insert(data)
def execute(self,sql):
"""db = MySQLdb.connect(host=self.host,user=self.user, passwd=self.passwd,db=self.database)
cursor=db.cursor()
cursor.execute(sql)
result = cursor.fetchall()
cursor.close()
db.close()
return result"""
return self.db
controlies/trunk/applications/controlies/modules/Laptops.py
def list(self,args):
db = self.SQLite.getDB()
sql = "SELECT l.id_laptop, t.trademark, t.model, l.serial_number"
sql = sql+" FROM laptops l LEFT JOIN laptops_trademarks t ON l.id_trademark=t.id_trademark "
sql = "SELECT l.id_laptop, lt.trademark, lt.model, l.serial_number, lh.username, s.state"
sql = sql+" FROM laptops l"
sql = sql+" LEFT JOIN laptops_trademarks lt ON l.id_trademark=lt.id_trademark "
sql = sql+" LEFT JOIN laptops_historical lh ON l.id_laptop=lh.id_laptop "
sql = sql+" LEFT JOIN states s ON lh.id_state=s.id_state "
sql = sql+" WHERE 1=1 "
try:
......
except LookupError:
pass
sql = sql + " ORDER BY "+args['sidx']+" "+args['sord']
sql = sql + " GROUP BY l.id_laptop"
sql = sql + " ORDER BY "+args['sidx']+" "+args['sord']+", lh.datetime desc"
result = db.executesql(sql)
rows = []
for reg in result:
row = {
"id":reg[0],
"cell":[reg[1],reg[2],reg[3]],
"cell":[reg[1],reg[2],reg[3],reg[4],reg[5]],
"trademark":reg[1],
"model":reg[2],
"serial_number":reg[3]
"serial_number":reg[3],
"username":reg[4],
"state":reg[5]
}
rows.append(row)
controlies/trunk/applications/controlies/modules/LaptopsHistory.py
def __init__(self):
pass
def __init__(self,SQLite,id_history,id_laptop,id_state,id_user_type,username,name,comment):
def __init__(self,SQLite,id_history,id_laptop,id_state,id_user_type,nif,username,name,comment):
self.SQLite = SQLite
self.id_history = id_history
self.id_laptop = id_laptop
self.id_state = id_state
self.id_user_type = id_user_type
self.nif = nif
self.username = username
self.name = name
self.comment = comment
......
if self.id_state == "none":
return "id_state"
if self.id_user_type == "none":
return "id_user_type"
if self.username == "":
return "username"
if self.id_state=="2" or self.id_state=="3":
if self.username == "":
return "username"
if self.id_user_type == "none":
return "id_user_type"
return "OK"
......
def add(self):
now = datetime.datetime.now()
#date = str(now.year)+"-"+str(now.month)+"-"+str(now.day)+" "+str(now.hour)+"-"+str(now.minute)+"-"+str(now.second)
sql = "INSERT INTO laptops_historical (id_historical,id_laptop,datetime,username,name,id_user_type,comment,id_state) "
sql = sql + "VALUES(null,'"+self.id_laptop+"','"+now.strftime('%Y-%m-%d %H:%M:%S')+"','"+self.username+"','"+self.name+"','"+self.id_user_type+"','"+self.comment+"','"+self.id_state+"')"
print sql
sql = "INSERT INTO laptops_historical (id_historical,id_laptop,datetime,username,name,id_user_type,nif,comment,id_state) "
sql = sql + "VALUES(null,'"+self.id_laptop+"','"+now.strftime('%Y-%m-%d %H:%M:%S')+"','"+self.username+"','"+self.name+"','"+self.id_user_type+"','"+self.nif+"','"+self.comment+"','"+self.id_state+"')"
db = self.SQLite.getDB()
result = db.executesql(sql)
......
"user_type":r[1]
}
data.append(dataType)
return data
def getLastHistory(self):
sql="SELECT username, id_state FROM laptops_historical WHERE id_laptop='"+str(self.id_laptop)+"' ORDER BY datetime desc LIMIT 0,1"
db = self.SQLite.getDB()
result = db.executesql(sql)
data=[]
for r in result:
dataType = {
"username":str(r[0]),
"id_state":str(r[1])
}
data.append(dataType)
return data

Exportar a: Unified diff