Ejemplo n.º 1
0
 def POST(self):
     form = web.input()        
     propiedad = dict()
     propiedad['id_propiedad'] = form.id_propiedad
     propiedad['nombre'] = form.nombre
     propiedad['abreviatura'] = form.abreviatura
     propiedad['categoria'] = form.categoria
     # obligatorio
     propiedad['clase'] = 'tecnológica'
     if form.get('obligatoria',''):
         propiedad['obligatoria'] = True
     else:
         propiedad['obligatoria'] = False
     codificaciones = dict()
     for c in dbaccess.codificaciones(clase='tecnológica'):
         # valores para cada codificacion
         val_min = form.get(str(c['valor']) + '-min','')
         val_max = form.get(str(c['valor']) + '-max','')
         if val_min or val_max:
             if val_min and val_max:
                 val_min = float(val_min)
                 val_max = float(val_max)
                 # asegurando efectivamente el orden de los valores
                 a,b = val_min, val_max
                 val_min, val_max = min(a,b), max(a,b)
             elif val_min and (not val_max or val_max == ''): 
                 val_max = None
                 val_min = float(val_min)                    
             elif (not val_min or val_min == '') and val_max:
                 val_min = None
                 val_max = float(val_max)
             codificaciones[c['nombre']] = model.Rango(val_min,val_max)
         propiedad['codificaciones'] = codificaciones
     print propiedad
     dbaccess.grabar_propiedad(propiedad) 
Ejemplo n.º 2
0
 def set_valores(self,valores):
     """ Al cambiar los valores de la madera se recodifican sus propiedades en base a esos valores """
     self.__valores = valores
     for (id_propiedad,valor) in valores.items():
         propiedad = dbaccess.buscar_propiedad(id_propiedad)
         nombre_codif = ''
         if propiedad.get('clase') == u'tecnológica':
             """ Recorremos las codificaciones que tiene la propiedad """
             for (codif,rango) in propiedad['codificaciones'].items():
                 if not rango.min and valor <= rango.max:
                     nombre_codif = codif
                     break
                 if not rango.max and valor >= rango.min: 
                     nombre_codif = codif
                     break
                 if rango.min <= valor <= rango.max:
                     nombre_codif = codif
                     break
         elif propiedad.get('clase') == u'anatómica':
             # valor 'str', es el nombre ya codificado que viene del <select> html
             # valor es ya el nombre codificado desde la vista
             nombre_codif = valor
         # se supone que se encuentra una sola codificacion
         consulta = dbaccess.codificaciones(nombre=nombre_codif)
         if consulta: 
             codificacion = consulta[0]
             self.__propiedades[id_propiedad] = codificacion.get('valor')
Ejemplo n.º 3
0
 def GET(self):
     propiedad = None
     if 'id_propiedad' in web.input():
         id_propiedad = web.input().id_propiedad
         propiedad = dbaccess.buscar_propiedad(id_propiedad)
     if not propiedad:
         propiedad = dict()
         propiedad['id_propiedad'] = dbaccess.contar_propiedades() + 1
     cods = dbaccess.codificaciones(clase='anatómica')
     return renderizador.editpanatomica(propiedad,cods)
Ejemplo n.º 4
0
 def POST(self):
     form = web.input()        
     propiedad = dict()
     propiedad['id_propiedad'] = form.id_propiedad
     propiedad['nombre'] = form.nombre
     propiedad['abreviatura'] = form.abreviatura
     # de cajón
     propiedad['clase'] = 'anatómica'
     if form.get('obligatoria',''):
         propiedad['obligatoria'] = True
     else:
         propiedad['obligatoria'] = False
     codificaciones = dict()
     for c in dbaccess.codificaciones(clase='anatómica'):
         # valores para cada codificacion
         if form[c['nombre']]:
             codificaciones[c['nombre']] = form[c['nombre']]
     propiedad['codificaciones'] = codificaciones
     dbaccess.grabar_propiedad(propiedad)