def simular_create_tfg_asig(self, tfg, alumno_1, alumno_2=None, alumno_3=None): alumno2_ok = False alumno3_ok = False try: # Compruebo lo minimo para asignar el tfg if not isinstance(tfg, Tfg): raise NameError("Error en los parametros de entrada") if not utils.is_email_alumno(alumno_1) and not utils.is_dni( alumno_1): raise NameError("Error en el primer alumno") if alumno_2 and not utils.is_email_alumno( alumno_2) and not utils.is_dni(alumno_2): raise NameError("Error en el segundo alumno") if alumno_3 and not utils.is_email_alumno( alumno_3) and not utils.is_dni(alumno_3): raise NameError("Error en el tercer alumno") if utils.existe_tfg_asig(alumno_1): raise NameError("el alumno %s ya tiene un tfg asignado" % alumno_1) # Compruebo que no este ya asignado try: Tfg_Asig.objects.get(tfg=tfg) raise NameError("Tfg ya asignado") except Tfg_Asig.DoesNotExist: if not utils.existe_tfg_asig(alumno_2): alumno2_ok = True if not utils.existe_tfg_asig(alumno_3): alumno3_ok = True # Si tiene 2 alumnos if alumno_2 and not alumno_3: if not alumno2_ok: raise NameError("Error en el segundo alumno") else: self.model(tfg=tfg, alumno_1=alumno_1, alumno_2=alumno_2) # Si tiene 3 alumnos elif alumno_2 and alumno_3: if not alumno2_ok or not alumno3_ok: raise NameError("Error en el tercer alumno") else: self.model(tfg=tfg, alumno_1=alumno_1, alumno_2=alumno_2, alumno_3=alumno_3) # Si tiene 1 alumno else: self.model(tfg=tfg, alumno_1=alumno_1) return True except NameError as e: return e.message
def simular_create_tfg_asig(self, tfg, alumno_1, alumno_2=None, alumno_3=None): alumno2_ok = False alumno3_ok = False try: # Compruebo lo minimo para asignar el tfg if not isinstance(tfg, Tfg): raise NameError("Error en los parametros de entrada") if not utils.is_email_alumno(alumno_1) and not utils.is_dni(alumno_1): raise NameError("Error en el primer alumno") if alumno_2 and not utils.is_email_alumno(alumno_2) and not utils.is_dni(alumno_2): raise NameError("Error en el segundo alumno") if alumno_3 and not utils.is_email_alumno(alumno_3) and not utils.is_dni(alumno_3): raise NameError("Error en el tercer alumno") if utils.existe_tfg_asig(alumno_1): raise NameError("el alumno %s ya tiene un tfg asignado" % alumno_1) # Compruebo que no este ya asignado try: Tfg_Asig.objects.get(tfg=tfg) raise NameError("Tfg ya asignado") except Tfg_Asig.DoesNotExist: if not utils.existe_tfg_asig(alumno_2): alumno2_ok = True if not utils.existe_tfg_asig(alumno_3): alumno3_ok = True # Si tiene 2 alumnos if alumno_2 and not alumno_3: if not alumno2_ok: raise NameError("Error en el segundo alumno") else: self.model(tfg=tfg, alumno_1=alumno_1, alumno_2=alumno_2) # Si tiene 3 alumnos elif alumno_2 and alumno_3: if not alumno2_ok or not alumno3_ok: raise NameError("Error en el tercer alumno") else: self.model(tfg=tfg, alumno_1=alumno_1, alumno_2=alumno_2, alumno_3=alumno_3) # Si tiene 1 alumno else: self.model(tfg=tfg, alumno_1=alumno_1) return True except NameError as e: return e.message
def get_or_create_alumno(self, alumno, nombre=None): if utils.is_email_alumno(alumno): if not Alumno.objects.filter(email=alumno if alumno else None).exists(): Alumno.objects.create_user(email=alumno, first_name=nombre) try: return Alumno.objects.get(email=alumno) except Alumno.DoesNotExist: raise NameError("Error en el alumno %s" % alumno) elif utils.is_dni(alumno): if not Alumno.objects.filter(dni=alumno if alumno else None).exists(): Alumno.objects.create_user(dni=alumno, first_name=nombre) try: return Alumno.objects.get(dni=alumno) except Alumno.DoesNotExist: raise NameError("Error en el alumno %s" % alumno) else: raise NameError("Error en el alumno %s" % alumno)
def get_or_create_alumno(self, alumno, nombre=None): if utils.is_email_alumno(alumno): if not Alumno.objects.filter(email=alumno if alumno else None).exists(): Alumno.objects.create_user(email=alumno, first_name=nombre) try: return Alumno.objects.get(email=alumno) except Alumno.DoesNotExist: raise NameError('Error en el alumno %s' % alumno) elif utils.is_dni(alumno): if not Alumno.objects.filter(dni=alumno if alumno else None).exists(): Alumno.objects.create_user(dni=alumno, first_name=nombre) try: return Alumno.objects.get(dni=alumno) except Alumno.DoesNotExist: raise NameError('Error en el alumno %s' % alumno) else: raise NameError('Error en el alumno %s' % alumno)