Esempio n. 1
0
def get_assignment_submission_resources(request,class_id,assignment_id):
    user = AuthService.get_current_user(request)
    token = token_service.get_access_token(constant.Resources.MSGraph, user.o365_user_id)
    education_service = EducationService(user.tenant_id, token)
    assignemtnResources = education_service.get_Assignment_Resources(class_id,assignment_id)
    submissionResources = education_service.get_Assignment_Submissions_By_User(class_id,assignment_id,user.o365_user_id)
    
    result={}
    resourceArray=[] 
    submissionResourcesArray=[]
    for resource in assignemtnResources:
        obj={}
        obj["id"]=resource.id
        obj["resource"]=resource.resource["displayName"]
        resourceArray.append(obj)
    result["resources"]=resourceArray;
    
    result["submissionId"]=submissionResources[0].id
    for resource in submissionResources:
       for item in resource.resources:
           obj={}
           obj["id"]=item["id"]
           obj["resource"]=item["resource"]["displayName"]
           submissionResourcesArray.append(obj)
    result["submissionResources"]=submissionResourcesArray;
           
    return JsonResponse(result, safe=False)
Esempio n. 2
0
def newAssignmentSubmissionResource(request):
    if request.method == 'POST':
        files= request.FILES.getlist("newResource")
        if len(files)!=0:
            post=request.POST            
            user = AuthService.get_current_user(request)
            token = token_service.get_access_token(constant.Resources.MSGraph, user.o365_user_id)
            education_service = EducationService(user.tenant_id, token)  
            submissions = education_service.get_Assignment_Submissions_By_User(post["classId"],post["assignmentId"],user.o365_user_id)  
            if len(submissions)!=0:
                resourceFolderURL = submissions[0].resourcesFolderUrl
                ids = getIds(resourceFolderURL)
                for file in files:
                    driveFile = uploadFileToOneDrive(resourceFolderURL,file,education_service)      
                    resourceUrl = "https://graph.microsoft.com/v1.0/drives/" + ids[0] + "/items/" + driveFile["id"]
                    education_service.add_Submission_Resource(post["classId"],post["assignmentId"],driveFile["name"],resourceUrl,post["submissionId"])
    
        referer = request.META.get('HTTP_REFERER') 
        if referer.find("?")==-1:
            referer +="?tab=assignments"
        return HttpResponseRedirect(referer)