def update(self, tfg_asig, validated_data): try: # comprobando alumno_1 if 'alumno_1' in validated_data.keys(): alumno_1 = utils.get_or_create_alumno( validated_data.get('alumno_1')) tfg_asig.alumno_1 = alumno_1 # comprobando alumno_2 if 'alumno_2' in validated_data.keys(): alumno_2 = utils.get_or_create_alumno( validated_data.get('alumno_2')) tfg_asig.alumno_2 = alumno_2 # comprobando alumno_3 if 'alumno_3' in validated_data.keys(): alumno_3 = utils.get_or_create_alumno( validated_data.get('alumno_3')) tfg_asig.alumno_3 = alumno_3 # comprobando convocatoria if 'convocatoria' in validated_data.keys(): try: res_subtipo = SubTipo_Evento.objects.get(codigo='SOL_EVAL') except: raise NameError("El Tipo no existe") try: res_tipo = Tipo_Evento.objects.get( codigo=validated_data.get('convocatoria')) res_convocatoria = Convocatoria.objects.get( titulacion=tfg_asig.tfg.titulacion, subtipo=res_subtipo, tipo=res_tipo, anio=validated_data.get('anio')) except: raise NameError("La convocatoria no existe") if not utils.check_convocatoria(res_convocatoria, res_subtipo): raise NameError("Fuera de plazo") else: tfg_asig.convocatoria = res_convocatoria tfg_asig.save() return dict(status=True, data=Tfg_Asig.objects.get(tfg=tfg_asig.tfg)) except NameError as e: return dict(status=False, message=e.message)
def update(self, tfg_asig, validated_data): try: # comprobando alumno_1 if 'alumno_1' in validated_data.keys(): alumno_1 = utils.get_or_create_alumno(validated_data.get('alumno_1')) tfg_asig.alumno_1 = alumno_1 # comprobando alumno_2 if 'alumno_2' in validated_data.keys(): alumno_2 = utils.get_or_create_alumno(validated_data.get('alumno_2')) tfg_asig.alumno_2 = alumno_2 # comprobando alumno_3 if 'alumno_3' in validated_data.keys(): alumno_3 = utils.get_or_create_alumno(validated_data.get('alumno_3')) tfg_asig.alumno_3 = alumno_3 # comprobando convocatoria if 'convocatoria' in validated_data.keys(): try: res_subtipo = SubTipo_Evento.objects.get(codigo='SOL_EVAL') except: raise NameError("El Tipo no existe") try: res_tipo = Tipo_Evento.objects.get(codigo=validated_data.get('convocatoria')) res_convocatoria = Convocatoria.objects.get(titulacion=tfg_asig.tfg.titulacion, subtipo=res_subtipo, tipo=res_tipo, anio=validated_data.get('anio')) except: raise NameError("La convocatoria no existe") if not utils.check_convocatoria(res_convocatoria, res_subtipo): raise NameError("Fuera de plazo") else: tfg_asig.convocatoria = res_convocatoria tfg_asig.save() return dict(status=True, data=Tfg_Asig.objects.get(tfg=tfg_asig.tfg)) except NameError as e: return dict(status=False, message=e.message)
def update(self, user, comision, validated_data): try: # comprobando presidente if 'presidente' in validated_data.keys(): try: presidente = Profesor.objects.get(email=validated_data.get('presidente')) posicion, id_comision = utils.check_miembro(comision, presidente) comision_intercambiar = Comision_Evaluacion.objects.get(id=id_comision) if not posicion: comision.presidente = presidente elif utils.check_miembro_repetido(comision_intercambiar, comision.presidente.email) and utils.check_miembro_repetido( comision, presidente): utils.intercambiar_miembros(comision, comision_intercambiar, 'presidente', posicion) comision_intercambiar.save() except Profesor.DoesNotExist: raise NameError('El presidente no existe') # comprobando primer titular if 'titular_1' in validated_data.keys(): try: titular_1 = Profesor.objects.get(email=validated_data.get('titular_1')) if not utils.check_miembro(comision, titular_1): raise NameError('El cambio no esta permitido') except: raise NameError('El primer vocal no existe') if not isinstance(titular_1, Profesor) or titular_1.groups.filter(name='Profesores').exists(): raise NameError("Primer Titular incorrecto") else: comision.titular_1 = titular_1 # comprobando segundo titular if 'titular_2' in validated_data.keys(): try: titular_2 = Profesor.objects.get(email=validated_data.get('titular_2')) if not utils.check_miembro(comision, titular_2): raise NameError('El cambio no esta permitido') except: raise NameError('El segundo vocal') if not isinstance(titular_2, Profesor) or titular_2.groups.filter(name='Profesores').exists(): raise NameError("Segundo titular incorrecto") else: comision.titular_2 = titular_2 # comprobando primer suplente if 'suplente_1' in validated_data.keys(): try: suplente_1 = Profesor.objects.get(email=validated_data.get('sup_presidente')) if not utils.check_miembro(comision, suplente_1): raise NameError('El cambio no esta permitido') except: raise NameError('El suplente del presidente no existe') if not isinstance(suplente_1, Profesor) or suplente_1.groups.filter(name='Profesores').exists(): raise NameError("Suplente del presidente incorrecto") else: comision.suplente_1 = suplente_1 # comprobando suplente del primer titular if 'suplente_2' in validated_data.keys(): try: suplente_2 = Profesor.objects.get(email=validated_data.get('suplente_2')) if not utils.check_miembro(comision, suplente_2): raise NameError('El cambio no esta permitido') except: raise ('El suplente del primer vocal no existe') if not isinstance(suplente_2, Profesor) or suplente_2.groups.filter(name='Profesores').exists(): raise NameError("Suplente del primer titular incorrecto") else: comision.suplente_2 = suplente_2 # comprobando convocatoria if 'convocatoria' in validated_data.keys(): try: res_tipo = Tipo_Evento.objects.get(codigo=validated_data.get('convocatoria')) except: raise NameError("La convocatoria no existe") try: res_subtipo = SubTipo_Evento.objects.get(codigo=validated_data.get('tipo')) except: raise NameError("El Tipo no existe") if not utils.check_convocatoria(res_tipo, res_subtipo): raise NameError("Fuera de plazo") else: comision.convocatoria = res_tipo comision.save() return dict(status=True, data=Comision_Evaluacion.objects.get(presidente=comision.presidente).to_dict(user)) except NameError as e: return dict(status=False, message=e.message)
def update(self, user, comision, validated_data): try: # comprobando presidente if 'presidente' in validated_data.keys(): try: presidente = Profesor.objects.get( email=validated_data.get('presidente')) posicion, id_comision = utils.check_miembro( comision, presidente) comision_intercambiar = Comision_Evaluacion.objects.get( id=id_comision) if not posicion: comision.presidente = presidente elif utils.check_miembro_repetido( comision_intercambiar, comision.presidente.email ) and utils.check_miembro_repetido(comision, presidente): utils.intercambiar_miembros(comision, comision_intercambiar, 'presidente', posicion) comision_intercambiar.save() except Profesor.DoesNotExist: raise NameError('El presidente no existe') # comprobando primer titular if 'titular_1' in validated_data.keys(): try: titular_1 = Profesor.objects.get( email=validated_data.get('titular_1')) if not utils.check_miembro(comision, titular_1): raise NameError('El cambio no esta permitido') except: raise NameError('El primer vocal no existe') if not isinstance(titular_1, Profesor) or titular_1.groups.filter( name='Profesores').exists(): raise NameError("Primer Titular incorrecto") else: comision.titular_1 = titular_1 # comprobando segundo titular if 'titular_2' in validated_data.keys(): try: titular_2 = Profesor.objects.get( email=validated_data.get('titular_2')) if not utils.check_miembro(comision, titular_2): raise NameError('El cambio no esta permitido') except: raise NameError('El segundo vocal') if not isinstance(titular_2, Profesor) or titular_2.groups.filter( name='Profesores').exists(): raise NameError("Segundo titular incorrecto") else: comision.titular_2 = titular_2 # comprobando primer suplente if 'suplente_1' in validated_data.keys(): try: suplente_1 = Profesor.objects.get( email=validated_data.get('sup_presidente')) if not utils.check_miembro(comision, suplente_1): raise NameError('El cambio no esta permitido') except: raise NameError('El suplente del presidente no existe') if not isinstance(suplente_1, Profesor) or suplente_1.groups.filter( name='Profesores').exists(): raise NameError("Suplente del presidente incorrecto") else: comision.suplente_1 = suplente_1 # comprobando suplente del primer titular if 'suplente_2' in validated_data.keys(): try: suplente_2 = Profesor.objects.get( email=validated_data.get('suplente_2')) if not utils.check_miembro(comision, suplente_2): raise NameError('El cambio no esta permitido') except: raise ('El suplente del primer vocal no existe') if not isinstance(suplente_2, Profesor) or suplente_2.groups.filter( name='Profesores').exists(): raise NameError("Suplente del primer titular incorrecto") else: comision.suplente_2 = suplente_2 # comprobando convocatoria if 'convocatoria' in validated_data.keys(): try: res_tipo = Tipo_Evento.objects.get( codigo=validated_data.get('convocatoria')) except: raise NameError("La convocatoria no existe") try: res_subtipo = SubTipo_Evento.objects.get( codigo=validated_data.get('tipo')) except: raise NameError("El Tipo no existe") if not utils.check_convocatoria(res_tipo, res_subtipo): raise NameError("Fuera de plazo") else: comision.convocatoria = res_tipo comision.save() return dict(status=True, data=Comision_Evaluacion.objects.get( presidente=comision.presidente).to_dict(user)) except NameError as e: return dict(status=False, message=e.message)