Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 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)