Esempio n. 1
0
def index(request):
    if request.user.is_authenticated:
        current_profile = request.user.profile
        transactions = Transaction.objects.filter(user=request.user)
        if request.user.profile.stage == 'profile_type_selection':
            return profile_type_selection(request, current_profile)
        elif request.user.profile.stage == 'developer_filling_details':
            return developer_filling_details(request, current_profile)
        elif request.user.profile.stage == 'recruiter_filling_details':
            return recruiter_filling_details(request, current_profile)
        elif request.user.profile.stage == 'complete':
            if request.user.profile.user_type == 'developer':
                try:
                    student = Student.objects.get(user_id=request.user.id)
                    passedquizz = TakenQuiz.objects.filter(
                        score__gt=50).filter(student_id=student)
                    return render(request, 'frontend/developer/developer.html',
                                  {'passedquizz': passedquizz})
                except Student.DoesNotExist:
                    obj = Student(user=request.user)
                    obj.save()
                    return render(request, 'frontend/developer/developer.html')
            elif request.user.profile.user_type == 'recruiter':
                return render(request, 'frontend/recruiter/recruiter.html',
                              {'transactions': transactions})
    else:
        return home(request)
Esempio n. 2
0
    def save(self):
        data = self.cleaned_data
        # user = User(email=data['email'],first_name=data['first_name'],last_name=data['last_name'])
        user = super().save(commit=False)
        user.is_student = True
        user.save()
        student = Student.objects.create(user=user)
        student = Student(user=user, year=data['year'], branch=data['branch'])

        # student.year.add(*self.cleaned_data.get('year'))
        # student.branch.add(*self.cleaned_data.get('branch'))
        student.save()
        return user
Esempio n. 3
0
def index(request):
    if request.user.is_staff and \
            not (request.user.is_student or request.user.is_teacher):
        request.user.is_student = True
        Student.of(request.user)
        request.user.save()

    if not request.user.is_authenticated:
        return render(request, 'unauthenticated_index.html')
    elif request.user.is_student:
        return redirect(reverse('student_dashboard'))
    elif request.user.is_teacher:
        return redirect(reverse('class_list'))
    else:
        raise Http404("You not a student or teacher")
Esempio n. 4
0
def try_me(request):
    if request.user.is_authenticated:
        return redirect('')
    user = User.objects.create_guest_student()
    student = Student.of(user)
    login(request, user)
    try_me_set = CharacterSet.objects.get(name='try_me')
    obj = StudentCharacterTag.objects.create(character_set=try_me_set,
                                             student=student)
    obj.update_from_character_set()
    process = LearningProcess.of(request.user.student)
    process.start([obj.pk])
    return redirect(reverse('continue_learning'))
Esempio n. 5
0
 def save(self):
     if not Student.objects.filter(
             reg_no=self.cleaned_data.get('reg_no')).exists():
         user = super().save(commit=False)
         user.is_student = True
         user.save()
         student = Student()
         student.user = user
         student.reg_no = self.cleaned_data.get('reg_no')
         student.save()
         # student = Student.objects.create(user=user)
         # student.reg_no = self.cleaned_data.get('reg_no')
         return user
Esempio n. 6
0
def students():
    if request.method == "GET":
        students = []
        for st in Student.query.all():
            students.append({
                "id": st.id,
                "name": st.name,
                "surname": st.surname,
                "roll": st.roll
            })
        res = {
            "status": "success",
            "data": students,
            "length": len(Student.query.all())
        }
    else:
        data = request.get_json()
        s = Student(**data)
        db.session.add(s)
        db.session.commit()
        res = {"status": "success", "message": "Student saved to the database"}
    return jsonify(res)
Esempio n. 7
0
def user_linked_display(user):
    if user.is_student:
        student = Student.of(user)
        if student.klass is None:
            return format_html('<a href={}>S:{}</a> orphan',
                               get_admin_url(user),
                               str(student.user))
        return format_html('<a href={}>S:{}</a> '
                           'in <a href={}>C:{}</a> '
                           'by <a href={}>T:{}</a>',
                           get_admin_url(user),
                           str(user),
                           get_admin_url(student.klass),
                           student.klass.name,
                           get_admin_url(student.klass.teacher.user),
                           str(student.klass.teacher.user))
    elif user.is_teacher:
        return format_html('<a href={}>T:{}</a>',
                           get_admin_url(user),
                           str(user))
    else:
        return format_html('<a href={}>{}</a> no role',
                           get_admin_url(user),
                           str(user))
Esempio n. 8
0
def create_student():
    user = User.objects.create_user(uuid4().hex,
                                    is_student=True,
                                    display_name='test_student_name')
    return Student.of(user)
Esempio n. 9
0
def index(request):
    if request.user.is_authenticated:
        current_profile = request.user.profile
        transactions = Transaction.objects.filter(user=request.user).filter(stage='complete')
        if request.user.profile.stage == 'profile_type_selection':
            return profile_type_selection(request, current_profile)
        elif request.user.profile.stage == 'developer_filling_details':
            return developer_filling_details(request, current_profile)
        elif request.user.profile.stage == 'recruiter_filling_details':
            return recruiter_filling_details(request, current_profile)
        elif request.user.profile.stage == 'complete':
            if request.user.profile.user_type == 'developer':
                try:
                    student = Student.objects.get(user_id=request.user.id)
                    passedquizz = TakenQuiz.objects.filter(score__gt=50).filter(student_id=student)
                    # if request.user.profile.profile_tags == None:
                    #     tags = []
                    #     frameworks = Profile.objects.get(user_id=request.user.id)
                    #     tags = []
                    #     if frameworks:
                    #         if 'react' in frameworks.framework.lower():
                    #             tags.insert(0, True)
                    #         else:
                    #             tags.insert(0, False)
                    #         if 'vue' in frameworks.framework.lower():
                    #             tags.insert(1, True)
                    #         else:
                    #             tags.insert(1, False)
                    #         if 'angular' in frameworks.framework.lower():
                    #             tags.insert(2, True)
                    #         else:
                    #             tags.insert(2, False)
                    #         if 'express' in frameworks.framework.lower():
                    #             tags.insert(3, True)
                    #         else:
                    #             tags.insert(3, False)
                    #         if 'laravel' in frameworks.framework.lower():
                    #             tags.insert(4, True)
                    #         else:
                    #             tags.insert(4, False)
                    #         if 'django' in frameworks.framework.lower():
                    #             tags.insert(5, True)
                    #         else:
                    #             tags.insert(5, False)
                    #         if 'net' in frameworks.framework.lower():
                    #             tags.insert(6, True)
                    #         else:
                    #             tags.insert(6, False)
                    #         if 'flutter' in frameworks.framework.lower():
                    #             tags.insert(7, True)
                    #         else:
                    #             tags.insert(7, False)
                    #         if 'android' in frameworks.framework.lower():
                    #             tags.insert(8, True)
                    #         else:
                    #             tags.insert(8, False)
                    #         if 'ionic' in frameworks.framework.lower():
                    #             tags.insert(9, True)
                    #         else:
                    #             tags.insert(9, False)
                    #         if 'java' in frameworks.language.lower():
                    #             tags.insert(10, True)
                    #         else:
                    #             tags.insert(10, False)
                    #         if 'c++' in frameworks.language.lower():
                    #             tags.insert(11, True)
                    #         else:
                    #             tags.insert(11, False)
                    #         if 'c#' in frameworks.language.lower():
                    #             tags.insert(12, True)
                    #         else:
                    #             tags.insert(12, False)
                    #     dev_tags = Profile.objects.get(user_id=request.user.id)
                    #     dev_tags.profile_tags = tags
                    #     dev_tags.save()
                    #
                    #     return render(request, 'frontend/developer/developer.html', {'passedquizz': passedquizz})
                    # else:
                    return render(request, 'frontend/developer/developer.html', {'passedquizz': passedquizz})

                except Student.DoesNotExist:
                    obj = Student(user=request.user)
                    obj.save()
                    return render(request, 'frontend/developer/developer.html')
            elif request.user.profile.user_type == 'recruiter':

                return render(request, 'frontend/recruiter/recruiter.html', {'transactions': transactions})
    else:
        return home(request)