Пример #1
0
    def create(cls, first_name, last_name, email, password, *args, **kwargs):
        print(first_name + last_name + email + password)
        user_created = User(first_name=first_name, last_name=last_name,
                            password=password, email=email, is_student=True)
        user_created.save()
        last_student = Student.objects.all().order_by('arn').last()

        if not last_student:
            print("last student is empty")
            last_arn_number = ((17 % 100)*1000000)+1
        else:
            last_arn_number = last_student.arn + 1

        student_created = cls(user=user_created, arn=last_arn_number)

        student_created.groups.add(Group.objects.get(name='student_group'))
        print("Returning created student")
        print(student_created)

        return student_created
Пример #2
0
    def create(cls, user=None, **kwargs):
        if user is None:
            username = None
            password = None

            username = kwargs['username']
            password = kwargs['password']

            u = User.create(username=kwargs['username'], password=kwargs['password'],
                            is_faculty=True, is_employee=True)
            user = u

        t = cls(user=user)
        t.save()
        # t.groups.add(Group.objects.get(name='faculty_group'))
        return t
Пример #3
0
    def create(cls, user=None, nu_email=None, **kwargs):
        if user is None:
            username = None
            password = None

            username = kwargs['username']
            password = kwargs['password']

            u = User.create(username=username,
                            password=password,
                            is_teacher=True,
                            is_employee=True)
            user = u

        t = cls(user=user, nu_email=nu_email)
        t.save()
        # t.groups.add(Group.objects.get(name='teacher_group'))
        return t
Пример #4
0
    def delete(self, **kwargs):
        """
        We override delete() to add an Event before deleting the object.
        """
        # get user
        user = get_current_user()
        if user:
            actor = user.actor
        else:
            from actor.models import User

            actor = User.get_anonymous().actor

        # add event
        Event.objects.create(
            event_type=Event.CREATE if self._state.adding else Event.UPDATE,
            actor=actor,
            content_type=ContentType.objects.get_for_model(self),
            object_id=self.uuid,
        )
        super().delete(**kwargs)
Пример #5
0
    def save(self):
        created_user = User(first_name=self.cleaned_data.get('first_name'),
                            last_name=self.cleaned_data.get('last_name'),
                            email=self.cleaned_data.get('email'),
                            username=self.cleaned_data.get('uid'))
        created_user.set_password(self.cleaned_data.get('password'))
        created_user.save()
        created_student = Student(user=created_user,
                                  uid=self.cleaned_data.get('uid'),
                                  arn=arn_helper(
                                      self.cleaned_data.get('batch')),
                                  batch=self.cleaned_data.get('batch'))

        # created_student = Student(user=created_user,uid=created_user.username,arn=1700006,batch=2017)
        created_student.save()
        return created_student
Пример #6
0
    def save(self, **kwargs):
        """
        We override save() to add an Event before creating or updating the object.
        """
        # get request from TLS if possible
        user = get_current_user()
        if user:
            actor = user.actor
        else:
            from actor.models import User

            actor = User.get_anonymous().actor

        # add event
        Event.objects.create(
            event_type=Event.CREATE if self._state.adding else Event.UPDATE,
            actor=actor,
            content_type=ContentType.objects.get_for_model(self),
            object_id=self.uuid,
        )
        # call GFKModel.save()
        super().save(**kwargs)
Пример #7
0
def add_students(file_name='Dumps\Students.json', count=20):
    # u = User(first_name = "saya",last_name = "dapra",email= "*****@*****.**",password = '******')
    # u.save()
    # print(u)
    # print("In test script")
    # s = Student.create("maya","khan", "*****@*****.**",'redragon')
    # u = User.objects.get(id=6)
    # s = Student(user=u,uid=u.username,arn=1700006,batch=2017)
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    # print(BASE_DIR)
    # print(os.path.join(BASE_DIR,'..','..','Dumps/Student.json'))

    drop_all_students()

    with open(os.path.join(BASE_DIR, file_name), 'r') as json_file:

        students_object_list = []
        uni_domain = "nu.edu.pk"
        DEFAULT_PASSWORD = '******'
        data = json.load(json_file)
        # pprint(data)
        for d in data[:count]:
            # pprint(d)
            city_short = d['uid'][2]

            batch_short = d['uid'][0:2]
            batch_year = int("20" + batch_short)
            roll = d['uid'][4:8]

            temp_name = d['name'].split(" ")
            d['first_name'] = temp_name[0]
            if (len(temp_name) > 1):
                d['last_name'] = " ".join(temp_name[1:])
            else:
                d['last_name'] = ""

            d['is_student'] = True
            d['batch'] = "20" + d['uid'][0:2]
            d['arn'] = str(d['uid'][0:2]) + str(d['arn'])

            if d['Department'] == 'BBA':
                d['degree_name'] = "Bachelors of Business Administration"
                d['degree_short'] = 'BBA'
                d['department_name'] = 'Management Sciences'

            elif d['Department'] == 'BS(CS)':
                d['degree_name'] = "Bachelors of Computer Science"
                d['degree_short'] = 'BS(CS)'
                d['department_name'] = 'Computer Sciences'

            elif d['Department'] == 'BS(SE)':
                d['degree_name'] = "Bachelors of Software Engineering"
                d['degree_short'] = 'BS(SE)'
                d['department_name'] = 'Computer Sciences'

            elif d['Department'] == 'BS(EE)':
                d['degree_name'] = "Bachelors of Electrical Engineering"
                d['degree_short'] = 'BS(EE)'
                d['department_name'] = 'Electrical Engineering'

            # print(batch_year)
            # print(ACADEMIC_YEAR - batch_year)
            d['warning_count'] = 0
            d['student_year'] = (
                ACADEMIC_YEAR -
                batch_year) if (ACADEMIC_YEAR - batch_year) <= 4 else 4
            # print(d['student_year'])
            d['uni_mail'] = city_short + batch_short + roll + '@' + uni_domain
            d['attending_semester'] = True
            d['current_semester'] = 1  # Hardcode to Fall Semester
            created_user = User.create(
                first_name=d.get('first_name'),
                last_name=d.get('last_name'),
                email=d.get('registration_mail'),
                username=d.get('uid'),
                gender=d.get('gender'),
                is_student=True,
                CNIC=d.get('CNIC'),
                permanent_address=d.get('address'),
                permanent_home_phone=d.get('home_phone'),
                permanent_postal_code=d.get('postal_code'),
                permanent_city=d.get('city'),
                permanent_country=d.get('country'),
                current_address=d.get('address'),
                current_home_phone=d.get('home_phone'),
                current_postal_code=d.get('postal_code'),
                current_city=d.get('city'),
                current_country=d.get('country'),
                nationality='Pakistani',
                DOB=d.get('DOB'),
                mobile_contact=d.get('mobile_contact'),
                emergency_contact=d.get('emergency_contact'),
                password=DEFAULT_PASSWORD)
            # created_user.set_password(DEFAULT_PASSWORD)
            # created_user.save()
            # pprint(d)
            created_student = Student(
                user=created_user,
                uid=d.get('uid'),
                arn=d.get('arn'),
                batch=d.get('batch'),
                degree_name_enrolled=d.get('degree_name'),
                degree_short_enrolled=d.get('degree_short'),
                department_name_enrolled=d.get('department_name'),
                uni_mail=d.get('uni_mail'),
                student_year=d.get('student_year'),
                attending_semester=d.get('attending_semester'),
                warning_count=d.get('warning_count'),
                admission_section=d.get('Section')
                # current_semester = Semester.objects.get(semester_season = d.get('current_semester'))
            )

            # pprint(d)
            created_student.save()
            students_object_list.append(created_student)

    return students_object_list
Пример #8
0
def create_super_users():
    nu = User(username='******',
              email='*****@*****.**',
              is_staff=True)
    nu.set_password('adminhassanqrsms')
    nu.is_superuser = True
    nu.is_maintainer = True
    nu.save()
    nu.groups.add(Group.objects.get(name='maintainer_group'))
    nu = User(username='******',
              email='*****@*****.**',
              is_staff=True)
    nu.set_password('adminahsanqrsms')
    nu.is_superuser = True
    nu.is_maintainer = True
    nu.save()
    nu.groups.add(Group.objects.get(name='maintainer_group'))
    return nu