From 441a0f25e0739723e0dc6917f0d42cebc3d986a0 Mon Sep 17 00:00:00 2001 From: itti005 Date: Tue, 10 Oct 2023 01:17:28 +0530 Subject: [PATCH 1/3] Describe your changes here --- employer_recommendation_system/emp/forms.py | 10 ++--- employer_recommendation_system/emp/urls.py | 18 +++++++++ employer_recommendation_system/emp/views.py | 39 +++++++++++++++++++ .../settings.py | 7 +++- .../employer_recommendation_system/urls.py | 6 +++ 5 files changed, 74 insertions(+), 6 deletions(-) diff --git a/employer_recommendation_system/emp/forms.py b/employer_recommendation_system/emp/forms.py index 03a59801..9f199df5 100644 --- a/employer_recommendation_system/emp/forms.py +++ b/employer_recommendation_system/emp/forms.py @@ -10,11 +10,11 @@ class DateInput(forms.DateInput): class StudentGradeFilterForm(forms.Form): - foss = forms.ModelMultipleChoiceField(queryset=FossCategory.objects.using('spk').filter(id__in=[x.foss.id for x in FossMdlCourses.objects.all()]).order_by('foss')) - state = forms.ModelMultipleChoiceField(queryset=SpokenState.objects.using('spk').all(), required=False) - city = forms.ModelMultipleChoiceField(queryset=SpokenCity.objects.using('spk').all().order_by('name'), required=False) - grade = forms.IntegerField(min_value=0, max_value=100) - institution_type = forms.ModelMultipleChoiceField(queryset=InstituteType.objects.using('spk').all().order_by('name'), required=False) + # foss = forms.ModelMultipleChoiceField(queryset=FossCategory.objects.using('spk').filter(id__in=[x.foss.id for x in FossMdlCourses.objects.all()]).order_by('foss')) + # state = forms.ModelMultipleChoiceField(queryset=SpokenState.objects.using('spk').all(), required=False) + # city = forms.ModelMultipleChoiceField(queryset=SpokenCity.objects.using('spk').all().order_by('name'), required=False) + # grade = forms.IntegerField(min_value=0, max_value=100) + # institution_type = forms.ModelMultipleChoiceField(queryset=InstituteType.objects.using('spk').all().order_by('name'), required=False) activation_status = forms.ChoiceField(choices = ACTIVATION_STATUS, required=False) from_date = forms.DateField(widget=DateInput(), required=False) to_date = forms.DateField(widget=DateInput(), required=False) diff --git a/employer_recommendation_system/emp/urls.py b/employer_recommendation_system/emp/urls.py index a0643ab4..25db402e 100644 --- a/employer_recommendation_system/emp/urls.py +++ b/employer_recommendation_system/emp/urls.py @@ -1,8 +1,21 @@ from django.urls import path from .views import * from . import views +from django.urls import include +from .views import StudentViewSet +from .views import DomainViewSet +from rest_framework.routers import DefaultRouter +from .views import DisciplineViewSet +router = DefaultRouter() +router.register(r'students', StudentViewSet) +router.register(r'domains', DomainViewSet) +router.register(r'disciplines', DisciplineViewSet) + urlpatterns = [ + path('api/', include(router.urls)), + path('api/', include(router.urls)), + path('api/', include(router.urls)), path('',views.index,name='index'), path('student',views.student_homepage,name="student"), path('/profile/',views.student_profile_confirm,name='student_profile_confirm'), @@ -69,8 +82,13 @@ # path('image_details/', GalleryImageDetail.as_view(),name='gallery_image_detail' ), path('update_testimonial/', TestimonialUpdate.as_view(),name='update_testimonial' ), path('list_testimonials/', TestimonialsList.as_view(),name='list_testimonials' ), + # Your other URL patterns + # path('api/', include(router.urls)), +# path('', include(router.urls)), + + # path('/', GalleryImageDetail.as_view(), name='gallery-image-detail'), # path('degree//', DegreeDetailView.as_view(), name='degree-detail'), # path('degree/', CompanyListView.as_view(), name='company-list'), diff --git a/employer_recommendation_system/emp/views.py b/employer_recommendation_system/emp/views.py index de52eaf1..1784c690 100644 --- a/employer_recommendation_system/emp/views.py +++ b/employer_recommendation_system/emp/views.py @@ -49,6 +49,45 @@ from collections import defaultdict import csv import os +from django.shortcuts import render +from rest_framework import viewsets, pagination +from emp.models import Student +from .serializers import StudentSerializer +from .pagination import CustomPagination + +class StudentViewSet(viewsets.ModelViewSet): + queryset = Student.objects.all() + serializer_class = StudentSerializer + pagination_class = CustomPagination # Set the custom pagination class + + +class CustomPagination(pagination.PageNumberPagination): + page_size = 1 # Set the number of items per page + page_size_query_param = 'page_size' + # max_page_size = 100 + + +from emp.models import Domain +from .serializers import DomainSerializer +# from .pagination import CustomPagination +class DomainViewSet(viewsets.ModelViewSet): + queryset = Domain.objects.all() + serializer_class = DomainSerializer + +class DomainViewSet(viewsets.ModelViewSet): + queryset = Domain.objects.all() + serializer_class = DomainSerializer + pagination_class = CustomPagination + page_size=2 + + +from emp.models import Discipline +from .serializers import DisciplineSerializer + +class DisciplineViewSet(viewsets.ModelViewSet): + queryset = Discipline.objects.all() + serializer_class = DisciplineSerializer + @check_user def document_view(request,pk): diff --git a/employer_recommendation_system/employer_recommendation_system/settings.py b/employer_recommendation_system/employer_recommendation_system/settings.py index 1c7515b3..66c61a70 100644 --- a/employer_recommendation_system/employer_recommendation_system/settings.py +++ b/employer_recommendation_system/employer_recommendation_system/settings.py @@ -48,7 +48,12 @@ 'spoken', 'ckeditor', 'events', - + 'Utilities', + 'spreadsheet', + 'rest_framework', + 'backend', + 'server_side', + 'student_api' ] MIDDLEWARE = [ diff --git a/employer_recommendation_system/employer_recommendation_system/urls.py b/employer_recommendation_system/employer_recommendation_system/urls.py index a4c8210e..4ef5c11f 100644 --- a/employer_recommendation_system/employer_recommendation_system/urls.py +++ b/employer_recommendation_system/employer_recommendation_system/urls.py @@ -27,7 +27,13 @@ path('',include('emp.urls')), path('',include('moodle.urls')), path('',include('accounts.urls')), + path('api/', include('spreadsheet.urls')), + + # path('api/', include('backend.urls')), + # path('api/', include('server_side.urls')), + # path('api/', include('student_api.urls')), + # ] ]+static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) if settings.DEBUG: From 211412d48fcd2bb15137638902d18f2ae51f11b9 Mon Sep 17 00:00:00 2001 From: itti005 Date: Tue, 10 Oct 2023 09:40:18 +0530 Subject: [PATCH 2/3] Describe your changes here --- .../employer_recommendation_system/settings.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/employer_recommendation_system/employer_recommendation_system/settings.py b/employer_recommendation_system/employer_recommendation_system/settings.py index 66c61a70..36fb67ec 100644 --- a/employer_recommendation_system/employer_recommendation_system/settings.py +++ b/employer_recommendation_system/employer_recommendation_system/settings.py @@ -51,9 +51,9 @@ 'Utilities', 'spreadsheet', 'rest_framework', - 'backend', - 'server_side', - 'student_api' + # 'backend', + # 'server_side', + # 'student_api' ] MIDDLEWARE = [ From d0a49e69e0cc802faf9841efe98fa86704ac39de Mon Sep 17 00:00:00 2001 From: itti005 Date: Tue, 10 Oct 2023 09:42:55 +0530 Subject: [PATCH 3/3] test api added in settings --- .../Utilities/__init__.py | 0 .../Utilities/admin.py | 3 + .../Utilities/apps.py | 6 ++ .../Utilities/create_company.py | 28 ++++++++ .../Utilities/create_company1.py | 17 +++++ .../gentle-pier-398305-718461d4d2cd.json | 13 ++++ .../Utilities/migrations/__init__.py | 0 .../Utilities/models.py | 3 + .../Utilities/tests.py | 3 + .../Utilities/views.py | 54 +++++++++++++++ .../emp/pagination.py | 3 + .../emp/serializers.py | 36 ++++++++++ .../migrations/0003_auto_20230830_1113.py | 41 ++++++++++++ .../request/domains.rest | 24 +++++++ .../request1/discipline.rest | 24 +++++++ .../requirements.txt | 19 ++++++ .../migrations/0004_auto_20230830_1113.py | 66 +++++++++++++++++++ .../migrations/0005_auto_20230830_1158.py | 21 ++++++ .../spreadsheet/__init__.py | 0 .../spreadsheet/admin.py | 3 + .../spreadsheet/apps.py | 6 ++ .../spreadsheet/migrations/0001_initial.py | 30 +++++++++ .../spreadsheet/migrations/__init__.py | 0 .../spreadsheet/models.py | 13 ++++ .../spreadsheet/tests.py | 3 + .../spreadsheet/urls.py | 6 ++ .../spreadsheet/views.py | 62 +++++++++++++++++ .../student_api/__init__.py | 0 .../student_api/admin.py | 3 + .../student_api/apps.py | 6 ++ .../student_api/migrations/__init__.py | 0 .../student_api/models.py | 3 + .../student_api/pagination.py | 4 ++ .../student_api/serializers.py | 7 ++ .../student_api/tests.py | 3 + .../student_api/urls.py | 12 ++++ .../student_api/views.py | 16 +++++ employer_recommendation_system/xyz | 0 38 files changed, 538 insertions(+) create mode 100644 employer_recommendation_system/Utilities/__init__.py create mode 100644 employer_recommendation_system/Utilities/admin.py create mode 100644 employer_recommendation_system/Utilities/apps.py create mode 100644 employer_recommendation_system/Utilities/create_company.py create mode 100644 employer_recommendation_system/Utilities/create_company1.py create mode 100644 employer_recommendation_system/Utilities/gentle-pier-398305-718461d4d2cd.json create mode 100644 employer_recommendation_system/Utilities/migrations/__init__.py create mode 100644 employer_recommendation_system/Utilities/models.py create mode 100644 employer_recommendation_system/Utilities/tests.py create mode 100644 employer_recommendation_system/Utilities/views.py create mode 100644 employer_recommendation_system/emp/pagination.py create mode 100644 employer_recommendation_system/emp/serializers.py create mode 100644 employer_recommendation_system/moodle/migrations/0003_auto_20230830_1113.py create mode 100644 employer_recommendation_system/request/domains.rest create mode 100644 employer_recommendation_system/request1/discipline.rest create mode 100644 employer_recommendation_system/requirements.txt create mode 100644 employer_recommendation_system/spoken/migrations/0004_auto_20230830_1113.py create mode 100644 employer_recommendation_system/spoken/migrations/0005_auto_20230830_1158.py create mode 100644 employer_recommendation_system/spreadsheet/__init__.py create mode 100644 employer_recommendation_system/spreadsheet/admin.py create mode 100644 employer_recommendation_system/spreadsheet/apps.py create mode 100644 employer_recommendation_system/spreadsheet/migrations/0001_initial.py create mode 100644 employer_recommendation_system/spreadsheet/migrations/__init__.py create mode 100644 employer_recommendation_system/spreadsheet/models.py create mode 100644 employer_recommendation_system/spreadsheet/tests.py create mode 100644 employer_recommendation_system/spreadsheet/urls.py create mode 100644 employer_recommendation_system/spreadsheet/views.py create mode 100644 employer_recommendation_system/student_api/__init__.py create mode 100644 employer_recommendation_system/student_api/admin.py create mode 100644 employer_recommendation_system/student_api/apps.py create mode 100644 employer_recommendation_system/student_api/migrations/__init__.py create mode 100644 employer_recommendation_system/student_api/models.py create mode 100644 employer_recommendation_system/student_api/pagination.py create mode 100644 employer_recommendation_system/student_api/serializers.py create mode 100644 employer_recommendation_system/student_api/tests.py create mode 100644 employer_recommendation_system/student_api/urls.py create mode 100644 employer_recommendation_system/student_api/views.py create mode 100644 employer_recommendation_system/xyz diff --git a/employer_recommendation_system/Utilities/__init__.py b/employer_recommendation_system/Utilities/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/employer_recommendation_system/Utilities/admin.py b/employer_recommendation_system/Utilities/admin.py new file mode 100644 index 00000000..8c38f3f3 --- /dev/null +++ b/employer_recommendation_system/Utilities/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/employer_recommendation_system/Utilities/apps.py b/employer_recommendation_system/Utilities/apps.py new file mode 100644 index 00000000..a436e51f --- /dev/null +++ b/employer_recommendation_system/Utilities/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class UtilitiesConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'Utilities' diff --git a/employer_recommendation_system/Utilities/create_company.py b/employer_recommendation_system/Utilities/create_company.py new file mode 100644 index 00000000..707dc6c1 --- /dev/null +++ b/employer_recommendation_system/Utilities/create_company.py @@ -0,0 +1,28 @@ +from emp.models import Company + + + + +def project_one(): + print("Hello World") + company = Company( + name="Example Company", + emp_name="John Doe", + emp_contact="123-456-7890", + state_c=1, # Replace with the actual state ID + city_c=1, # Replace with the actual city ID + address="123 Main St", + email="example@example.com", + logo="logo.png", # Replace with the actual logo file path + description="This is an example company", + + ) + + + company.save() + print("Jagaur") + + + + + \ No newline at end of file diff --git a/employer_recommendation_system/Utilities/create_company1.py b/employer_recommendation_system/Utilities/create_company1.py new file mode 100644 index 00000000..69130192 --- /dev/null +++ b/employer_recommendation_system/Utilities/create_company1.py @@ -0,0 +1,17 @@ +from emp.models import Job +from datetime import date + +def project_two(): + print("Hello World") + job = Job( + title="Software Engineer", + # location="New York", + requirements="Python, Django, SQL", + job_type_id= 1, + last_app_date= date(2023, 8, 30), + foss ="", + institute_type="" + ) + + job.save() + print(" World") \ No newline at end of file diff --git a/employer_recommendation_system/Utilities/gentle-pier-398305-718461d4d2cd.json b/employer_recommendation_system/Utilities/gentle-pier-398305-718461d4d2cd.json new file mode 100644 index 00000000..05222bb8 --- /dev/null +++ b/employer_recommendation_system/Utilities/gentle-pier-398305-718461d4d2cd.json @@ -0,0 +1,13 @@ +{ + "type": "service_account", + "project_id": "gentle-pier-398305", + "private_key_id": "718461d4d2cd16b9584952b998235c64e07f79f8", + "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC9ZIyIIpd1XwDT\nF70jMX9pJotQSgRySnd/PeKkfD25j6LhE2vtquw6Eg7JqpBq3ndv3zZbvKptXTLR\nHhiXlzl8dnMuOsJ88hDQhOmHIdHVAqkFN8/F+inorkpzVTaXhZW88X3mxOcwxG7g\n04ZrNiButM0bsygy/7qNp/jHswrMqMW+0Sn6sPToXRZ4JTR7yorOGxmM3wGw7zK8\nBHOrAcmO5LpS/MOBmjLci2TBpNGReb+DvQZIYtKN85gvGrifzo/pQLKCobQGSqmU\nbKu7T/j1U+FSsr+46jBFHIVC1C3uMYGk7W8QlvPCgDE2bdKWSdJctX79JR1EIHpy\ny+4DO7ZHAgMBAAECggEAOwuuBINEVQNZbnZoMSCtaErsBAwPdtJgjvrsPfu+AqwV\nS7aSX3Z6T2Bx282hWLAi7G3atJ8NQytbPHb1k81Bztve7PrEx89wDpJhfA+/K3m4\n2DeeP0rO5gvwiiR28KZlGJLxfZDFwx56sv0/Ww107w7PI2OnlL7FmoRTu27GXyd1\npJf01iALgyBRo0fbApHtWZepCWzIR9rTmFPQj1QowMX5LLlICdhCNP3vYPN+JPDd\niE/nEV4gjpodbRpG7+iyN6+RcB0r6P3zNbE3HDPw8GaZEPyyZOGYOreN0wD2Acfv\nmaydakzT1gMXsSqXU73EVoOy1C8BierSx18UZTQbgQKBgQDiko0mKFUdo+g3cXjA\nKTgn6ZjEPa3L22yrl2jvdeh7HEQHK4iCLhGm9uCmSUYrZ2PgHxrtfqupVVaJAgvx\nM63RXAmT7FiiAUoegIewFOhIW9Yo3S2eta04gRqtSfW9Rk0uBseH3i20Oj7YhFZz\nXSeJ9RUOjuu/jV6NNDFyFVbozQKBgQDV/clo4e8qbDOop1Te14WOprOdqlVGA5Q5\n7C7AG8fQfatminSYsSYqTYIxwRqzfX5JU6AZkuwPmhvOVXTEfPjS/qir7Bqcd4we\nLUx3K/re2oyjHT24JatDMEN9oOC7mOHnWAfxvDS/mM6028Kq0jqjkJ9R3EJQxaNL\n1ryd9JprYwKBgQC4ZR8888w54EDIhrAIbEOIsCOlarE8XOs3R3WelW5Ma3euAi8K\nC6ZQJVI14yKZhn6RU59dtB7PJGXWAXVoq2+GGQqueca0qqoA4wgLNSjKYvuLrF5J\ncYB1oRTt/Whiz4lWsSvIlvjJWjH1ktas8x6Pt4eYnpadAdf2wYiQWW+u7QKBgCs5\nhlOPP7Y8APtSQYx50FqORb3VSEBKPMiucosPkX8Fw3eFBCRLtD/bRC80qGYVNUsu\nfyprSQ+lu3QkQt/ltoU4N23y1TVB2KXH1KhF0/jsAHh6UZs+0KdTum5H7t019nu6\nhnBH6gfBoA9cTKggqwObFPN+IE8cfO22xIbLf92tAoGBAJcztw/SBkC7N/1sbr3i\nNclHf5Pv+RtW+Ezi1i7L1p2BtnyiuvwedvQhTdg3R1lV7EKbv0cKIKIEu5uskrdF\n9PnAkYiX41Px4UCxoqFxwtCzVVmi2eBWE3A2wriZxgTTjGk1UccbK3SrgDjJgyEi\nH1GMxGBSCRh2fw/0L/sq2KCa\n-----END PRIVATE KEY-----\n", + "client_email": "project-one-257@gentle-pier-398305.iam.gserviceaccount.com", + "client_id": "108282293582119040269", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://oauth2.googleapis.com/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/project-one-257%40gentle-pier-398305.iam.gserviceaccount.com", + "universe_domain": "googleapis.com" +} diff --git a/employer_recommendation_system/Utilities/migrations/__init__.py b/employer_recommendation_system/Utilities/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/employer_recommendation_system/Utilities/models.py b/employer_recommendation_system/Utilities/models.py new file mode 100644 index 00000000..71a83623 --- /dev/null +++ b/employer_recommendation_system/Utilities/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/employer_recommendation_system/Utilities/tests.py b/employer_recommendation_system/Utilities/tests.py new file mode 100644 index 00000000..7ce503c2 --- /dev/null +++ b/employer_recommendation_system/Utilities/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/employer_recommendation_system/Utilities/views.py b/employer_recommendation_system/Utilities/views.py new file mode 100644 index 00000000..da82f9bd --- /dev/null +++ b/employer_recommendation_system/Utilities/views.py @@ -0,0 +1,54 @@ +from django.shortcuts import render +from emp.models import Company +from emp.models import Job +# Create your views here. +def project(): + import gspread + # from oauth2client.service_account import ServiceAccountCredentials + from google.oauth2.service_account import Credentials + + import numpy as np + import pandas as pd + + + + scopes = [ + 'https://www.googleapis.com/auth/spreadsheets', + 'https://www.googleapis.com/auth/drive' + ] + + + + credentials = Credentials.from_service_account_file( + '/home/etti/Employee-Recommendation-System/Employer-Recommendation-System/employer_recommendation_system/Utilities/gentle-pier-398305-718461d4d2cd.json', + scopes=scopes + ) + + + + gc = gspread.authorize(credentials) + sh = gc.open_by_key('1EUN10lGd7_ikNgt7pWRyt5RA5yCVorwMOQOqbDnuzrE') + worksheet = sh.worksheets()[0] + print(worksheet.get('A1')) + values_list = worksheet.col_values(1) + print(values_list) + array = np.array([["Etty", "Student" , "F" , "Karnataka"], ["Rohini" ,"Student" ,"F" ,"Maharashtra"]]) + worksheet.update('A2', array.tolist()) + + # Access and print data + data = worksheet.get_all_values() + for row in data: + + print(len(Company.objects.all())) + + company = Company() + company.company_name = row[2] + company.save() + + print(len(Company.objects.all())) + + + + +# from utilities.views import project +# from emp.models import Company \ No newline at end of file diff --git a/employer_recommendation_system/emp/pagination.py b/employer_recommendation_system/emp/pagination.py new file mode 100644 index 00000000..732e1d7a --- /dev/null +++ b/employer_recommendation_system/emp/pagination.py @@ -0,0 +1,3 @@ +from rest_framework.pagination import PageNumberPagination +class CustomPagination(PageNumberPagination): + page_size = 1#Set the number of items per page diff --git a/employer_recommendation_system/emp/serializers.py b/employer_recommendation_system/emp/serializers.py new file mode 100644 index 00000000..e81c60fe --- /dev/null +++ b/employer_recommendation_system/emp/serializers.py @@ -0,0 +1,36 @@ +# from rest_framework import serializers +# from .models import Company +# from .models import Job + +# class CompanySerializer(serializers.ModelSerializer): +# class Meta: +# model = Company +# fields = '__all__' + + +# class JobSerializer(serializers.ModelSerializer): +# class Meta: +# model = Job +# fields = '__all__' +from rest_framework import serializers +from emp.models import Student + +class StudentSerializer(serializers.ModelSerializer): + class Meta: + model = Student + fields = '__all__' + +from emp.models import Domain + +class DomainSerializer(serializers.ModelSerializer): + class Meta: + model = Domain + fields = '__all__' + + +from emp.models import Discipline + +class DisciplineSerializer(serializers.ModelSerializer): + class Meta: + model = Domain + fields = '__all__' diff --git a/employer_recommendation_system/moodle/migrations/0003_auto_20230830_1113.py b/employer_recommendation_system/moodle/migrations/0003_auto_20230830_1113.py new file mode 100644 index 00000000..8140bc86 --- /dev/null +++ b/employer_recommendation_system/moodle/migrations/0003_auto_20230830_1113.py @@ -0,0 +1,41 @@ +# Generated by Django 3.2.19 on 2023-08-30 11:13 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('moodle', '0002_alter_mdlquizgrades_userid'), + ] + + operations = [ + migrations.RemoveField( + model_name='mdluser', + name='academic_code', + ), + migrations.RemoveField( + model_name='mdluser', + name='age_range', + ), + migrations.RemoveField( + model_name='mdluser', + name='flag', + ), + migrations.RemoveField( + model_name='mdluser', + name='gender', + ), + migrations.RemoveField( + model_name='mdluser', + name='icq', + ), + migrations.RemoveField( + model_name='mdluser', + name='invigilator', + ), + migrations.RemoveField( + model_name='mdluser', + name='organizer', + ), + ] diff --git a/employer_recommendation_system/request/domains.rest b/employer_recommendation_system/request/domains.rest new file mode 100644 index 00000000..b79bb9be --- /dev/null +++ b/employer_recommendation_system/request/domains.rest @@ -0,0 +1,24 @@ +GET http://127.0.0.1:8000/api/domains HTTP/1.1 + +### +POST http://127.0.0.1:8000/api/domains/ HTTP/1.1 +content-type: application/json + +{ + "name": "heroin" + +} + +### +GET http://127.0.0.1:8000/api/domains/2/ HTTP/1.1 + +### +PATCH http://127.0.0.1:8000/api/domains/2/ HTTP/1.1 +content-type: application/json + +{ + "name":"heroine" +} + +### +DELETE http://127.0.0.1:8000/api/domains/2 HTTP/1.1 \ No newline at end of file diff --git a/employer_recommendation_system/request1/discipline.rest b/employer_recommendation_system/request1/discipline.rest new file mode 100644 index 00000000..8049611f --- /dev/null +++ b/employer_recommendation_system/request1/discipline.rest @@ -0,0 +1,24 @@ +GET http://127.0.0.1:8000/api/disciplines HTTP/1.1 + +### +POST http://127.0.0.1:8000/api/disciplines/ HTTP/1.1 +content-type: application/json + +{ + "name": "ruhi" + +} + +### +GET http://127.0.0.1:8000/api/disciplines/2 HTTP/1.1 + +### +PATCH http://127.0.0.1:8000/api/disciplines/2/ HTTP/1.1 +content-type: application/json + +{ + "name":"illu" +} + +### +DELETE http://127.0.0.1:8000/api/disciplines/2 HTTP/1.1 \ No newline at end of file diff --git a/employer_recommendation_system/requirements.txt b/employer_recommendation_system/requirements.txt new file mode 100644 index 00000000..5302305a --- /dev/null +++ b/employer_recommendation_system/requirements.txt @@ -0,0 +1,19 @@ +asgiref==3.3.4 +Django==3.2.19 +django-ckeditor==5.8.0 +django-crispy-forms==1.11.2 +django-crontab==0.7.1 +django-dbbackup==3.3.0 +django-filter==2.4.0 +django-js-asset==1.2.2 +extras==1.0.0 +mysqlclient==2.0.3 +numpy==1.22.0 +pandas==1.1.5 +Pillow==9.3.0 +python-dateutil==2.8.1 +pytz==2021.1 +six==1.16.0 +sqlparse==0.4.4 +typing-extensions==3.10.0.0 +uWSGI==2.0.19.1 diff --git a/employer_recommendation_system/spoken/migrations/0004_auto_20230830_1113.py b/employer_recommendation_system/spoken/migrations/0004_auto_20230830_1113.py new file mode 100644 index 00000000..92c8b3eb --- /dev/null +++ b/employer_recommendation_system/spoken/migrations/0004_auto_20230830_1113.py @@ -0,0 +1,66 @@ +# Generated by Django 3.2.19 on 2023-08-30 11:13 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('spoken', '0003_language_participant'), + ] + + operations = [ + migrations.CreateModel( + name='EventTestStatus', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('mdlemail', models.EmailField(max_length=255, null=True)), + ('mdlcourse_id', models.PositiveIntegerField(default=0)), + ('mdlquiz_id', models.PositiveIntegerField(default=0)), + ('mdlattempt_id', models.PositiveIntegerField(default=0)), + ('part_status', models.PositiveSmallIntegerField(default=0)), + ('mdlgrade', models.DecimalField(decimal_places=5, default=0.0, max_digits=10)), + ('cert_code', models.CharField(max_length=100, null=True)), + ('created', models.DateTimeField(auto_now_add=True)), + ('updated', models.DateTimeField(auto_now=True)), + ], + options={ + 'db_table': 'training_eventteststatus', + 'managed': False, + }, + ), + migrations.CreateModel( + name='StudentBatch', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('year', models.PositiveIntegerField()), + ('stcount', models.PositiveIntegerField(default=0)), + ('batch_name', models.CharField(max_length=200, null=True)), + ], + options={ + 'db_table': 'events_studentbatch', + 'managed': False, + }, + ), + migrations.CreateModel( + name='StudentMaster', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('moved', models.BooleanField(default=False)), + ('created', models.DateTimeField(auto_now_add=True)), + ('updated', models.DateTimeField(auto_now=True)), + ], + options={ + 'db_table': 'events_studentmaster', + 'managed': False, + }, + ), + migrations.AlterModelOptions( + name='language', + options={'managed': False}, + ), + migrations.AlterModelOptions( + name='participant', + options={'managed': False}, + ), + ] diff --git a/employer_recommendation_system/spoken/migrations/0005_auto_20230830_1158.py b/employer_recommendation_system/spoken/migrations/0005_auto_20230830_1158.py new file mode 100644 index 00000000..f53626f5 --- /dev/null +++ b/employer_recommendation_system/spoken/migrations/0005_auto_20230830_1158.py @@ -0,0 +1,21 @@ +# Generated by Django 3.2.19 on 2023-08-30 11:58 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('spoken', '0004_auto_20230830_1113'), + ] + + operations = [ + migrations.AlterModelTable( + name='language', + table='creation_language', + ), + migrations.AlterModelTable( + name='participant', + table='training_participant', + ), + ] diff --git a/employer_recommendation_system/spreadsheet/__init__.py b/employer_recommendation_system/spreadsheet/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/employer_recommendation_system/spreadsheet/admin.py b/employer_recommendation_system/spreadsheet/admin.py new file mode 100644 index 00000000..8c38f3f3 --- /dev/null +++ b/employer_recommendation_system/spreadsheet/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/employer_recommendation_system/spreadsheet/apps.py b/employer_recommendation_system/spreadsheet/apps.py new file mode 100644 index 00000000..b0e33c5d --- /dev/null +++ b/employer_recommendation_system/spreadsheet/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class SpreadsheetConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'spreadsheet' diff --git a/employer_recommendation_system/spreadsheet/migrations/0001_initial.py b/employer_recommendation_system/spreadsheet/migrations/0001_initial.py new file mode 100644 index 00000000..fd228383 --- /dev/null +++ b/employer_recommendation_system/spreadsheet/migrations/0001_initial.py @@ -0,0 +1,30 @@ +# Generated by Django 3.2.19 on 2023-09-20 09:21 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Company', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('company_name', models.CharField(max_length=100)), + ], + ), + migrations.CreateModel( + name='Job', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('job_description', models.CharField(max_length=100)), + ('company', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='spreadsheet.company')), + ], + ), + ] diff --git a/employer_recommendation_system/spreadsheet/migrations/__init__.py b/employer_recommendation_system/spreadsheet/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/employer_recommendation_system/spreadsheet/models.py b/employer_recommendation_system/spreadsheet/models.py new file mode 100644 index 00000000..4f4c4b83 --- /dev/null +++ b/employer_recommendation_system/spreadsheet/models.py @@ -0,0 +1,13 @@ + + +# models.py +from django.db import models + +class Company(models.Model): + company_name = models.CharField(max_length=100) + # Add other fields as needed + +class Job(models.Model): + job_description = models.CharField(max_length=100) + company = models.ForeignKey(Company, on_delete=models.CASCADE) + # Add other fields as needed diff --git a/employer_recommendation_system/spreadsheet/tests.py b/employer_recommendation_system/spreadsheet/tests.py new file mode 100644 index 00000000..7ce503c2 --- /dev/null +++ b/employer_recommendation_system/spreadsheet/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/employer_recommendation_system/spreadsheet/urls.py b/employer_recommendation_system/spreadsheet/urls.py new file mode 100644 index 00000000..6567c8e2 --- /dev/null +++ b/employer_recommendation_system/spreadsheet/urls.py @@ -0,0 +1,6 @@ +from django.urls import path +from . import views + +urlpatterns = [ + path('fetch-google-sheet//', views.fetch_google_sheet, name='fetch_google_sheet'), +] diff --git a/employer_recommendation_system/spreadsheet/views.py b/employer_recommendation_system/spreadsheet/views.py new file mode 100644 index 00000000..bbec5fb3 --- /dev/null +++ b/employer_recommendation_system/spreadsheet/views.py @@ -0,0 +1,62 @@ +from django.http import JsonResponse +from google.oauth2.service_account import Credentials +import gspread +from emp.models import Company,Job +from emp.views import CompanyDetailView + +# from spreadsheet.models import SheetData + +def fetch_google_sheet(request, spreadsheet_id): + # Load the credentials from the JSON key file + print(1) + scopes = [ + 'https://www.googleapis.com/auth/spreadsheets', + 'https://www.googleapis.com/auth/drive' +] + + print(f"spreadsheet_id : {spreadsheet_id}") + credentials = Credentials.from_service_account_file('/home/etti/Employee-Recommendation-System/Employer-Recommendation-System/employer_recommendation_system/Utilities/gentle-pier-398305-718461d4d2cd.json', + scopes=scopes) + print(2) + # Authenticate with Google Sheets + gc = gspread.authorize(credentials) + print(3) + try: + # Open the Google Sheets spreadsheet by ID + sheet = gc.open_by_key(spreadsheet_id) + + # Access a specific worksheet within the spreadsheet + worksheet = sheet.get_worksheet(0) # Change the index as needed + + # Fetch the data from the worksheet + data = worksheet.get_all_records() + print(type(data)) + print(data) + # Save data to the database + for row in data: + company_name = row.get("Company Name") + job_description = row.get('job_description') + print(f"company_name : {company_name}") + company = Company(name=company_name) + # CompanyDetailView.append(company) + company.save() + + + + + + # spreadsheet_id = ('1EUN10lGd7_ikNgt7pWRyt5RA5yCVorwMOQOqbDnuzrE') + # response = fetch_google_sheet(request, spreadsheet_id) + # Query the database to check if data is stored + # Retrieve all records as a queryset + # You can print or return 'stored_data' as a JSON response to verify + + return JsonResponse({'message': 'Data fetched and stored successfully.'}) + + + + + # Return the data as JSON response + # return JsonResponse(data, safe=False) + except Exception as e: + return JsonResponse({'error': str(e)}, status=500) diff --git a/employer_recommendation_system/student_api/__init__.py b/employer_recommendation_system/student_api/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/employer_recommendation_system/student_api/admin.py b/employer_recommendation_system/student_api/admin.py new file mode 100644 index 00000000..8c38f3f3 --- /dev/null +++ b/employer_recommendation_system/student_api/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/employer_recommendation_system/student_api/apps.py b/employer_recommendation_system/student_api/apps.py new file mode 100644 index 00000000..197c73da --- /dev/null +++ b/employer_recommendation_system/student_api/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class StudentApiConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'student_api' diff --git a/employer_recommendation_system/student_api/migrations/__init__.py b/employer_recommendation_system/student_api/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/employer_recommendation_system/student_api/models.py b/employer_recommendation_system/student_api/models.py new file mode 100644 index 00000000..a77c8a71 --- /dev/null +++ b/employer_recommendation_system/student_api/models.py @@ -0,0 +1,3 @@ +# from django.db import models +# from emp.models import Student +# # Create your models here. diff --git a/employer_recommendation_system/student_api/pagination.py b/employer_recommendation_system/student_api/pagination.py new file mode 100644 index 00000000..898344f6 --- /dev/null +++ b/employer_recommendation_system/student_api/pagination.py @@ -0,0 +1,4 @@ + +# from rest_framework.pagination import PageNumberPagination +# class CustomPagination(PageNumberPagination): +# page_size = 1#Set the number of items per page diff --git a/employer_recommendation_system/student_api/serializers.py b/employer_recommendation_system/student_api/serializers.py new file mode 100644 index 00000000..d0d258eb --- /dev/null +++ b/employer_recommendation_system/student_api/serializers.py @@ -0,0 +1,7 @@ +# from rest_framework import serializers +# from emp.models import Student + +# class StudentSerializer(serializers.ModelSerializer): +# class Meta: +# model = Student +# fields = '__all__' diff --git a/employer_recommendation_system/student_api/tests.py b/employer_recommendation_system/student_api/tests.py new file mode 100644 index 00000000..7ce503c2 --- /dev/null +++ b/employer_recommendation_system/student_api/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/employer_recommendation_system/student_api/urls.py b/employer_recommendation_system/student_api/urls.py new file mode 100644 index 00000000..4155de1b --- /dev/null +++ b/employer_recommendation_system/student_api/urls.py @@ -0,0 +1,12 @@ +# from rest_framework.routers import DefaultRouter +# from django.urls import path, include +# from student_api.views import StudentViewSet +# router = DefaultRouter() +# router.register(r'students', StudentViewSet) + +# urlpatterns = [ +# # Your other URL patterns +# path('api/', include(router.urls)), +# ] + + diff --git a/employer_recommendation_system/student_api/views.py b/employer_recommendation_system/student_api/views.py new file mode 100644 index 00000000..d43dd61d --- /dev/null +++ b/employer_recommendation_system/student_api/views.py @@ -0,0 +1,16 @@ +# # from django.shortcuts import render +# from rest_framework import viewsets, pagination +# from emp.models import Student +# from .serializers import StudentSerializer +# from student_api.pagination import CustomPagination + +# class StudentViewSet(viewsets.ModelViewSet): +# queryset = Student.objects.all() +# serializer_class = StudentSerializer +# pagination_class = CustomPagination # Set the custom pagination class + + +# class CustomPagination(pagination.PageNumberPagination): +# page_size = 1 # Set the number of items per page +# page_size_query_param = 'page_size' +# # max_page_size = 100 diff --git a/employer_recommendation_system/xyz b/employer_recommendation_system/xyz new file mode 100644 index 00000000..e69de29b