Esempio n. 1
0
class ProfileSerializer(serializers.ModelSerializer):
    user = UserSerializer(read_only=True)
    emp_status = EmploymentStatusSerializer(read_only=True)
    college = CollegeSerializer(read_only=True)
    major = MajorSerializer(read_only=True)
    company = CompanyBasicsSerializer(read_only=True)
    country = CountrySerializer(read_only=True)
    state = StateSerializer(read_only=True)
    job_position = JobPositionSerializer(read_only=True)
    dob = serializers.DateField(format="%Y-%m-%d")
    is_google_linked = serializers.SerializerMethodField()
    is_linkedin_linked = serializers.SerializerMethodField()

    def get_is_google_linked(self, obj):
        if obj.social_auth.filter(provider='google-oauth2').count() == 0:
            return False
        return True

    def get_is_linkedin_linked(self, obj):
        if obj.social_auth.filter(provider='linkedin-oauth2').count() == 0:
            return False
        return True

    class Meta:
        model = User
        exclude = [
            'password', 'last_login', 'is_superuser', 'is_staff', 'is_active',
            'is_demo', 'activation_key', 'key_expires', 'forgot_password_key',
            'forgot_password_key_expires', 'approved', 'groups',
            'user_permissions'
        ]
Esempio n. 2
0
class AlumniSerializer(serializers.ModelSerializer):
    first_name = serializers.SerializerMethodField()
    last_name = serializers.SerializerMethodField()
    email = serializers.SerializerMethodField()
    college = CollegeSerializer(read_only=True)
    major = MajorSerializer(read_only=True)
    company = CompanyBasicsSerializer(read_only=True)
    country = CountrySerializer(read_only=True)
    state = StateSerializer(read_only=True)
    job_position = JobPositionSerializer(read_only=True)

    def get_first_name(self, obj):
        return obj.user.first_name

    def get_last_name(self, obj):
        return obj.user.last_name

    def get_email(self, obj):
        return obj.user.email

    class Meta:
        model = Profile
        fields = ('id', 'first_name', 'last_name', 'email', 'college', 'major',
                  'company', 'country', 'state', 'job_position',
                  'profile_photo_social', 'profile_photo_custom', 'grad_year')
Esempio n. 3
0
class JobApplicationSerializer(serializers.ModelSerializer):
    application_status = ApplicationStatusSerializer(read_only=True)
    position = JobPositionSerializer(read_only=True)
    company_object = serializers.SerializerMethodField()
    app_source = SourceSerializer(read_only=True)
    editable = serializers.SerializerMethodField()

    def get_editable(self, obj):
        if obj.msg_id is not None and obj.msg_id != '':
            return False
        return True

    def get_company_object(self, obj):
        context = self.context
        context['position'] = obj.position
        return CompanySerializer(instance=obj.company_object,
                                 many=False,
                                 context=context).data

    def create(self, validated_data):
        return JobApplication.objects.create(**validated_data)

    class Meta:
        model = JobApplication
        fields = ('id', 'editable', 'application_status', 'position',
                  'company_object', 'apply_date', 'app_source', 'is_rejected')
Esempio n. 4
0
def get_company_positions(request, company_pk):
    company = Company.objects.get(pk=company_pk)
    queryset = JobApplication.objects.filter(companyObject=company)
    positions = set()
    for q in queryset:
        positions.add(q.position)
    return JsonResponse(create_response(
        data=JobPositionSerializer(instance=positions, many=True).data),
                        safe=False)
Esempio n. 5
0
class AlumniSerializer(serializers.ModelSerializer):
    college = CollegeSerializer(read_only=True)
    major = MajorSerializer(read_only=True)
    company = CompanyBasicsSerializer(read_only=True)
    country = CountrySerializer(read_only=True)
    state = StateSerializer(read_only=True)
    job_position = JobPositionSerializer(read_only=True)

    class Meta:
        model = get_user_model()
        fields = (
            'id', 'first_name', 'last_name', 'email', 'college', 'major', 'company', 'country', 'state', 'job_position',
            'profile_photo', 'grad_year')
Esempio n. 6
0
def positions(request, company_pk):
    has_review = request.GET.get('hasReview')
    company = Company.objects.get(pk=company_pk)
    queryset = JobApplication.objects.filter(company_object=company)
    if has_review is not None:
        positions_has_review = Review.objects.filter(
            company=company).order_by('position__id').distinct('position__id')
        queryset = queryset.filter(
            position__id__in=[r.position.id for r in positions_has_review])
    positions = set()
    for q in queryset:
        if q is not None:
            positions.add(q.position)
    return JsonResponse(create_response(
        data=JobPositionSerializer(instance=positions, many=True).data),
                        safe=False)
Esempio n. 7
0
def positions(request):
    user_profile = Profile.objects.get(user=request.user)
    if user_profile.user_type < int(Profile.UserTypes.student):
        return JsonResponse(create_response(
            data=None,
            success=False,
            error_code=ResponseCodes.not_supported_user),
                            safe=False)
    college = College.objects.get(pk=user_profile.college.pk)
    alumni = Profile.objects.filter(~Q(major=None), college=college)
    data = []
    for a in alumni:
        if a.job_position is not None:
            data.append(a.job_position)
    data = set(data)
    serialized_positions = JobPositionSerializer(
        instance=data,
        many=True,
    ).data
    return JsonResponse(create_response(data=serialized_positions), safe=False)
Esempio n. 8
0
class AlumniSerializer(serializers.ModelSerializer):
    college = CollegeSerializer(read_only=True)
    major = MajorSerializer(read_only=True)
    company = CompanyBasicsSerializer(read_only=True)
    country = CountrySerializer(read_only=True)
    state = StateSerializer(read_only=True)
    job_position = JobPositionSerializer(read_only=True)
    email = serializers.SerializerMethodField()

    def get_email(self, obj):
        if obj.is_email_public:
            return obj.email
        else:
            return None

    class Meta:
        model = get_user_model()
        fields = ('id', 'first_name', 'last_name', 'email', 'college', 'major',
                  'company', 'country', 'state', 'job_position',
                  'profile_photo', 'grad_year')