from controllers.relations.finished import finished_relation_controller
from controllers.relations.learns import student_course_relation_controller
from controllers.relations.group_course_relation import group_course_controller
from controllers.relations.student_group_relation import StudentGroupRelationController
from methods.errors import *
from flask_restful import Resource, reqparse
from flask import jsonify

controller_object = finished_relation_controller()
current_object = student_course_relation_controller()
student_course_object = StudentGroupRelationController()
course_obj = group_course_controller()


# /student/<student_id>/finishedCourses
class finished_relation_view(Resource):
    def __init__(self):
        self.reqparse = reqparse.RequestParser()
        self.reqparse.add_argument('course_code', type=str, location='json')
        self.reqparse.add_argument('student_id', type=str, location='json')
        self.reqparse.add_argument('total', type=str, location='json')

    def get(self, student_id):
        try:
            finished_courses = controller_object.get_finished_courses(
                student_id)
            data_list = []
            for i in range(len(finished_courses)):
                data_list.append({
                    'course_code':
                    finished_courses[i]["course_code"],
from controllers.relations.teaches import professor_course_relation_controller
from controllers.relations.learns import student_course_relation_controller
from controllers.relations.group_course_relation import group_course_controller
from controllers.course.group_project import GroupProjectController
from controllers.relations.has_prerequisites import prequisite_controller
from controllers.relations.finished import finished_relation_controller
from methods.errors import *
from methods.auth import *
from flask_restful import Resource, reqparse
from flask import current_app, jsonify
from datetime import datetime

controller_object = courses_controller()
professor_controller_object = professor_course_relation_controller()
student_controller_object = student_course_relation_controller()
group_course_object = group_course_controller()
group_object = GroupProjectController()
prequisite_object = prequisite_controller()
finished_object = finished_relation_controller()

# /courses/<course_code>


class Course(Resource):
    def __init__(self):
        self.reqparse = reqparse.RequestParser()
        self.reqparse.add_argument('course_code', type=str, location='json')
        self.reqparse.add_argument('course_name', type=str, location='json')
        self.reqparse.add_argument('weekly_hours', type=int, location='json')
        self.reqparse.add_argument('group_number', type=int, location='json')
        self.reqparse.add_argument('max_students', type=int, location='json')
示例#3
0
from controllers.relations.student_group_relation import StudentGroupRelationController
from controllers.relations.group_course_relation import group_course_controller
from controllers.relations.teaches import professor_course_relation_controller
from controllers.course.group_project import GroupProjectController
from methods.errors import *
from methods.auth import *
from flask_restful import Resource, reqparse
from flask import jsonify

controller_object=StudentGroupRelationController()
group_course = group_course_controller()
courses_object = professor_course_relation_controller()
groups_object = GroupProjectController()

#/my_groups
class StudentGroupView(Resource):
    method_decorators = {'get': [requires_auth_identity("")]}
    def get(self, user_id, role):
        try:
            if role=='student': 
                groups= controller_object.get_one_student_all_groups(user_id)    
            else: 
                courses = courses_object.get_courses_by_professor_id(user_id)
                groups = []
                for course in courses:
                    g = group_course.get_all_course_groups(course=course['course_code'])
                    for gg in g:
                        groups.append(groups_object.get_group(gg['group_id']))
                    
                return {"groups":groups, 'status_code':200}