def sel_empleado(self, widget): tmodel = widget.get_selection().get_selected() if isinstance(tmodel[1], gtk.TreeIter): id_empleado = int(tmodel[0].get_value(tmodel[1], len(widget.get_columns()))) empleado = pclases.Empleado.get(id_empleado) self.wids['photo'].set_image(empleado.get_gtkimage(maximo=90)) # Cambiar nombre, horas de campo totales, y horas de man totales self.wids['nombre_empleado'].set_text(empleado.nombre) if self.wids['rb_vista_diaria'].get_active(): self.wids['horas_campo'].set_text('') self.wids['horas_manipulacion'].set_text('') elif (self.wids['rb_vista_mensual'].get_active() and len(widget.get_columns()) > 30): h_campo = 0 h_manipulacion = 0 x = 0 for x in xrange(0, 31): c = tmodel[0].get_value(tmodel[1], 8 + x * 3) m = tmodel[0].get_value(tmodel[1], 9 + x * 3) if utils.is_float(c): h_campo += float(c) if utils.is_float(m): h_manipulacion += float(m) x += 1 self.wids['horas_campo'].set_text( "Horas de campo totales: %.2f h" % h_campo) self.wids['horas_manipulacion'].set_text( "Horas de manipulacion totales: %.2f h" % h_manipulacion)
def modificar_jornada(self, widget): model = self.wids['treeview_visual_diaria'] tmodel = model.get_selection().get_selected() if isinstance(tmodel[1], gtk.TreeIter): id_empleado = int(tmodel[0].get_value(tmodel[1], len(self.wids['treeview_visual_diaria'].get_columns()))) fecha = "%04d-%02d-%02d" % (self.fecha[0], self.fecha[1], self.fecha[2]) self.objeto = self.clase.select(pclases.AND( pclases.Trabajo.q.empleadoID == id_empleado, pclases.Trabajo.q.fecha == fecha))[0] nueva_c = utils.dialogo_entrada(titulo="HORAS CAMPO", texto="Introduzca nuevas horas de campo", padre=self.wids['ventana']) nueva_m = utils.dialogo_entrada(titulo="HORAS MANIPULACION", texto="Introduzca nuevas horas de manipulacion", padre=self.wids['ventana']) if utils.is_float(nueva_c): self.objeto.horasCampo = float(nueva_c) if utils.is_float(nueva_m): self.objeto.horasManipulacion = float(nueva_m) self.objeto.notificador.activar(self.aviso_actualizacion) self.rellenar_tabla_diaria(self.wids['rb_vista_diaria'])
def dar_anticipo(self, widget): anticipo = utils.dialogo_entrada(titulo="ANTICIPO", texto="Introduzca el anticipo a dar", padre=self.wids['ventana']) if utils.is_float(anticipo): if self.wids['rb_vista_diaria'].get_active(): widget_t = self.wids['treeview_visual_diaria'] elif self.wids['rb_vista_mensual'].get_active(): widget_t = self.wids['treeview_visual_mensual'] else: assert('error inesperado') model = widget_t.get_selection().get_selected() if isinstance(model[1], gtk.TreeIter): id_empleado = int(model[0].get_value(model[1], len(widget_t.get_columns()))) fecha = "%04d-%02d-%02d" % (self.fecha[0], self.fecha[1], self.fecha[2]) pclases.Anticipo(empleadoID=id_empleado, cantidad=float(anticipo), fecha=fecha) self.rellenar_tabla_mensual(self.wids['rb_vista_mensual'])