def promoverUsuario(user): puntajeValidador = int(obtenerParametroSistema('umbral-validador')) puntajeProyectista = obtenerParametroSistema('umbral-proyectista') # Promoción de voluntario a validador if user.rolid == '0be58d4e-6735-481a-8740-739a73c3be86' and user.puntaje >= puntajeValidador: user.rolid = '53ad3141-56bb-4ee2-adcf-5664ba03ad65' user.save() notificacionPromocionUsuario(user, 'Validador') # Promocion de Validador a Proyectista if user.rolid == '53ad3141-56bb-4ee2-adcf-5664ba03ad65' and user.puntaje >= puntajeProyectista: user.rolid = '628acd70-f86f-4449-af06-ab36144d9d6a' user.save() notificacionPromocionUsuario(user, 'Proyectista')
def promoverUsuario(user): puntajeValidador = int(obtenerParametroSistema('umbral-validador')) puntajeProyectista = obtenerParametroSistema('umbral-proyectista') # Promoción de voluntario a validador if user.rolid == ROL_VOLUNTARIO and user.puntaje >= puntajeValidador: user.rolid = ROL_VALIDADOR user.save() notificacionPromocionUsuario(user, 'Validador') # Promocion de Validador a Proyectista if user.rolid == ROL_VALIDADOR and user.puntaje >= puntajeProyectista: user.rolid = ROL_PROYECTISTA user.save() notificacionPromocionUsuario(user, 'Proyectista')
def validarTarea(tarea): if ((tarea.tareestado == 1 and tarea.taretipo == 1) or (tarea.tareestado != 2 and tarea.taretipo == 2)): if tarea.taretipo == 1: encuestasSinValidar = models.Encuesta.objects.filter(instrid__exact=tarea.instrid) \ .filter(estado__exact=0) if len(encuestasSinValidar) == 0: aportePositivo = int( obtenerParametroSistema('aporte-positivo-encuesta')) aporteNegativo = int( obtenerParametroSistema('aporte-negativo-encuesta')) encuestas = models.Encuesta.objects.filter( instrid__exact=tarea.instrid) with transaction.atomic(): for encuesta in encuestas: if encuesta.estado == 1: puntaje = aporteNegativo elif encuesta.estado == 2: puntaje = aportePositivo asignacionPuntaje(encuesta.userid, tarea.tareid, puntaje) response = True else: raise ValidationError( ['Todas las encuestas deben ser validadas']) elif tarea.taretipo == 2: cartografias = models.Cartografia.objects.filter( instrid__exact=tarea.instrid) if len(cartografias) > 0: aportePositivo = int( obtenerParametroSistema('aporte-positivo-cartografia')) aporteNegativo = int( obtenerParametroSistema('aporte-negativo-cartografia')) with transaction.atomic(): for cartografia in cartografias: # Si las cartografias no fueron marcadas como malas se marcan como buenas if cartografia.estado == 0: cartografia.estado = 2 cartografia.save() puntaje = aportePositivo if cartografia.estado == 1: puntaje = aporteNegativo if cartografia.estado == 2: puntaje = aportePositivo asignacionPuntaje(cartografia.userid, tarea.tareid, puntaje) response = True else: raise ValidationError(['No hay cartografias']) else: raise ValidationError(['La tarea no esta terminada o ya fue validada']) return response