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 create(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) or not isinstance( alumno_1, Alumno) or not alumno_1.groups.filter( name='Alumnos').exists(): raise NameError("Error en los parametros de entrada") if utils.existe_tfg_asig(alumno_1): raise NameError("El alumno ya tiene un Tfg asignado") # 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.comprueba_alumno( alumno_1) or utils.existe_tfg_asig(alumno_1): raise NameError("Error en el primer alumno") if utils.comprueba_alumno( alumno_2) and not utils.existe_tfg_asig(alumno_2): alumno2_ok = True if utils.comprueba_alumno( alumno_3) and 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: tfg_asig = 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: tfg_asig = self.model(tfg=tfg, alumno_1=alumno_1, alumno_2=alumno_2, alumno_3=alumno_3) # Si tiene 1 alumno else: tfg_asig = self.model(tfg=tfg, alumno_1=alumno_1, alumno_2=alumno_2, alumno_3=alumno_3) tfg_asig.save() tfg.asignado = True tfg.save() # email_asig_tfg(tfg.titulo, [alumno_1.email if alumno_1.email else '', alumno_2.email if (alumno_2 and alumno_2.email) else '', # alumno_3.email if (alumno_3 and alumno_3.email) else '']) return dict(status=True, data=Tfg_Asig.objects.get(tfg=tfg)) except NameError as e: return dict(status=False, message=e.message)
def create(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) or not isinstance(alumno_1, Alumno) or not alumno_1.groups.filter( name='Alumnos').exists(): raise NameError("Error en los parametros de entrada") if utils.existe_tfg_asig(alumno_1): raise NameError("El alumno ya tiene un Tfg asignado") # 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.comprueba_alumno(alumno_1) or utils.existe_tfg_asig(alumno_1): raise NameError("Error en el primer alumno") if utils.comprueba_alumno(alumno_2) and not utils.existe_tfg_asig(alumno_2): alumno2_ok = True if utils.comprueba_alumno(alumno_3) and 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: tfg_asig = 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: tfg_asig = self.model(tfg=tfg, alumno_1=alumno_1, alumno_2=alumno_2, alumno_3=alumno_3) # Si tiene 1 alumno else: tfg_asig = self.model(tfg=tfg, alumno_1=alumno_1, alumno_2=alumno_2, alumno_3=alumno_3) tfg_asig.save() tfg.asignado = True tfg.save() # email_asig_tfg(tfg.titulo, [alumno_1.email if alumno_1.email else '', alumno_2.email if (alumno_2 and alumno_2.email) else '', # alumno_3.email if (alumno_3 and alumno_3.email) else '']) return dict(status=True, data=Tfg_Asig.objects.get(tfg=tfg)) except NameError as e: return dict(status=False, message=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