mirror of
https://github.com/Rushilwiz/SkoolOS.git
synced 2025-04-16 02:10:19 -04:00
teacher update
This commit is contained in:
parent
ecaa0faf39
commit
6079019a9a
|
@ -84,6 +84,7 @@ class Teacher:
|
||||||
self.git=data['git']
|
self.git=data['git']
|
||||||
self.username=data['ion_user']
|
self.username=data['ion_user']
|
||||||
self.url= "http://127.0.0.1:8000/api/teachers/" + self.username + "/"
|
self.url= "http://127.0.0.1:8000/api/teachers/" + self.username + "/"
|
||||||
|
self.id = data['user']
|
||||||
#classes in id form (Example: 4,5)
|
#classes in id form (Example: 4,5)
|
||||||
|
|
||||||
#array
|
#array
|
||||||
|
@ -168,23 +169,10 @@ class Teacher:
|
||||||
#add to instance
|
#add to instance
|
||||||
#upate self.classes
|
#upate self.classes
|
||||||
self.classes.append(data)
|
self.classes.append(data)
|
||||||
patchDB(data, self.url)
|
data = {
|
||||||
if(len(self.sclass)==0):
|
'classes':self.classes
|
||||||
self.sclass = data['name']
|
|
||||||
else:
|
|
||||||
self.sclass = self.sclass + "," + str(data['name'])
|
|
||||||
|
|
||||||
#update teacher instance in db, classes field
|
|
||||||
teacher={
|
|
||||||
'git':self.git,
|
|
||||||
'ion_user':self.username,
|
|
||||||
'url':self.url,
|
|
||||||
'classes':self.sclass,
|
|
||||||
}
|
}
|
||||||
putDB(teacher, self.url)
|
patchDB(data, self.url)
|
||||||
|
|
||||||
return teacher
|
|
||||||
|
|
||||||
|
|
||||||
#make a new class from scratch
|
#make a new class from scratch
|
||||||
#subject: string, assignments: list
|
#subject: string, assignments: list
|
||||||
|
@ -220,8 +208,7 @@ class Teacher:
|
||||||
# f.close()
|
# f.close()
|
||||||
# os.chdir(cdir)
|
# os.chdir(cdir)
|
||||||
|
|
||||||
data = self.addClass(path)
|
self.addClass(path)
|
||||||
return data
|
|
||||||
|
|
||||||
def deleteClass(self, path):
|
def deleteClass(self, path):
|
||||||
if(os.path.exists(path) == False):
|
if(os.path.exists(path) == False):
|
||||||
|
@ -236,22 +223,12 @@ class Teacher:
|
||||||
print("DELETE: " + self.classes[i]['name'])
|
print("DELETE: " + self.classes[i]['name'])
|
||||||
for i in range(len(self.classes)):
|
for i in range(len(self.classes)):
|
||||||
c = self.classes[i]
|
c = self.classes[i]
|
||||||
if(c['name'] == cname):
|
if(c == cname):
|
||||||
del self.classes[i]
|
del self.classes[i]
|
||||||
s=""
|
# data={
|
||||||
#recreate sclass field, using ids
|
# 'classes':self.classes,
|
||||||
for c in self.classes:
|
# }
|
||||||
s = s + str(c['name']) + ","
|
# print(patchDB(data, self.url))
|
||||||
print(s)
|
|
||||||
s = s[:-1]
|
|
||||||
print(s)
|
|
||||||
data={
|
|
||||||
'git':self.git,
|
|
||||||
'ion_user':self.username,
|
|
||||||
'url':self.url,
|
|
||||||
'classes':s,
|
|
||||||
}
|
|
||||||
print(putDB(data, self.url))
|
|
||||||
delDB("http://127.0.0.1:8000/api/classes/" + cname + "/")
|
delDB("http://127.0.0.1:8000/api/classes/" + cname + "/")
|
||||||
break
|
break
|
||||||
|
|
||||||
|
@ -275,10 +252,10 @@ class Teacher:
|
||||||
print(sname + " does not exist.")
|
print(sname + " does not exist.")
|
||||||
return False
|
return False
|
||||||
course = getDB("http://127.0.0.1:8000/api/classes/" + cname)
|
course = getDB("http://127.0.0.1:8000/api/classes/" + cname)
|
||||||
if(sname in course['unconfirmed']):
|
if(sname in str(course['unconfirmed'])):
|
||||||
print (sname + " already requested.")
|
print (sname + " already requested.")
|
||||||
return True
|
return True
|
||||||
if(sname in course['confirmed']):
|
if(sname in str(course['confirmed'])):
|
||||||
print (sname + " alredy enrolled.")
|
print (sname + " alredy enrolled.")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -292,32 +269,19 @@ class Teacher:
|
||||||
print(sname + " does not exist.")
|
print(sname + " does not exist.")
|
||||||
return False
|
return False
|
||||||
print(student['added_to'])
|
print(student['added_to'])
|
||||||
s={
|
data={
|
||||||
'git':student["git"],
|
|
||||||
'ion_user':student["ion_user"],
|
|
||||||
'added_to':student['added_to'],
|
'added_to':student['added_to'],
|
||||||
'classes':student["classes"],
|
|
||||||
'grade':student["grade"],
|
|
||||||
'completed':student["completed"],
|
|
||||||
'repo':student["repo"]
|
|
||||||
}
|
}
|
||||||
student = putDB(s, student['url'])
|
student = patchDB(data, "http://localhost:8000/api/students/" + student['ion_user'] + "/")
|
||||||
|
|
||||||
if(course['unconfirmed']==""):
|
if(course['unconfirmed']==[]):
|
||||||
course['unconfirmed']=student['ion_user']
|
course['unconfirmed']=student['ion_user']
|
||||||
else:
|
else:
|
||||||
course['unconfirmed']=course['unconfirmed']+ "," + student['ion_user']
|
course['unconfirmed']=course['unconfirmed'].append(student['ion_user'])
|
||||||
cinfo = {
|
cinfo = {
|
||||||
"name": course['name'],
|
|
||||||
"repo": "",
|
|
||||||
"path": self.username + "/" + course['name'],
|
|
||||||
"teacher": self.username,
|
|
||||||
"assignments": course['assignments'],
|
|
||||||
"default_file": "",
|
|
||||||
"confirmed": course["confirmed"],
|
|
||||||
"unconfirmed": course['unconfirmed']
|
"unconfirmed": course['unconfirmed']
|
||||||
}
|
}
|
||||||
print(putDB(cinfo, course['url']))
|
print(patchDB(cinfo, "http://localhost:8000/api/classes/" + course['name'] + "/"))
|
||||||
return True
|
return True
|
||||||
|
|
||||||
#Student should have confirmed on their endd, but class had not been updated yet
|
#Student should have confirmed on their endd, but class had not been updated yet
|
||||||
|
@ -379,16 +343,10 @@ class Teacher:
|
||||||
course['unconfirmed']= course['unconfirmed'].replace(student['ion_user']+",", "")
|
course['unconfirmed']= course['unconfirmed'].replace(student['ion_user']+",", "")
|
||||||
|
|
||||||
cinfo = {
|
cinfo = {
|
||||||
"name": course['name'],
|
|
||||||
"repo": "",
|
|
||||||
"path": course['path'],
|
|
||||||
"teacher": self.username,
|
|
||||||
"assignments": course['assignments'],
|
|
||||||
"default_file": "",
|
|
||||||
"confirmed": course["confirmed"],
|
"confirmed": course["confirmed"],
|
||||||
"unconfirmed": course['unconfirmed']
|
"unconfirmed": course['unconfirmed']
|
||||||
}
|
}
|
||||||
print(putDB(cinfo, course['url']))
|
print(patchDB(cinfo, "http://localhost:8000/api/classes/" + course['name'] + "/"))
|
||||||
return True
|
return True
|
||||||
|
|
||||||
#goes through list of studennts, tries to add, then request, return unconfirmed students
|
#goes through list of studennts, tries to add, then request, return unconfirmed students
|
||||||
|
@ -434,7 +392,7 @@ class Teacher:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
course = getDB("http://127.0.0.1:8000/api/classes/" + course)
|
course = getDB("http://127.0.0.1:8000/api/classes/" + course)
|
||||||
if(aname in course['assignments']):
|
if(aname in str(course['assignments'])):
|
||||||
print("Assignment name already taken.")
|
print("Assignment name already taken.")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -448,7 +406,7 @@ class Teacher:
|
||||||
slist = os.listdir(os.getcwd() + "/" + self.username + "/Students/" + course['name'])
|
slist = os.listdir(os.getcwd() + "/" + self.username + "/Students/" + course['name'])
|
||||||
cdir = os.getcwd()
|
cdir = os.getcwd()
|
||||||
for st in slist:
|
for st in slist:
|
||||||
if st in course['confirmed']:
|
if st in str(course['confirmed']):
|
||||||
spath = os.path.join(os.getcwd() + "/" + self.username + "/Students/" + course['name'], st)
|
spath = os.path.join(os.getcwd() + "/" + self.username + "/Students/" + course['name'], st)
|
||||||
if(os.path.exists(spath + "/" + aname) == False):
|
if(os.path.exists(spath + "/" + aname) == False):
|
||||||
os.mkdir(spath + "/" + aname)
|
os.mkdir(spath + "/" + aname)
|
||||||
|
@ -476,9 +434,9 @@ class Teacher:
|
||||||
}
|
}
|
||||||
postDB(ass, 'http://127.0.0.1:8000/api/assignments/')
|
postDB(ass, 'http://127.0.0.1:8000/api/assignments/')
|
||||||
if(course['assignments'] == ""):
|
if(course['assignments'] == ""):
|
||||||
course['assignments'] = aname
|
course['assignments'] = ass
|
||||||
else:
|
else:
|
||||||
course['assignments'] = course['assignments'] + "," + aname
|
course['assignments'] = course['assignments'].append(ass)
|
||||||
|
|
||||||
cinfo = {
|
cinfo = {
|
||||||
"name": course['name'],
|
"name": course['name'],
|
||||||
|
|
|
@ -25,9 +25,9 @@ class AssignmentSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Assignment
|
model = Assignment
|
||||||
# fields = ['url','name', 'due_date', 'path' , "Class","teacher",'owner']
|
# fields = ['url','name', 'due_date', 'path' , "Class","teacher",'owner']
|
||||||
fields = ['name', 'due_date', 'path' , "Class","teacher",'owner']
|
fields = ['name', 'due_date', 'path' ,"teacher",'owner']
|
||||||
|
|
||||||
class ClassSerializer(serializers.HyperlinkedModelSerializer):
|
class ClassSerializer(serializers.ModelSerializer):
|
||||||
# assignments = AssignmentSerializer(many=True, read_only=True,allow_null=True)
|
# assignments = AssignmentSerializer(many=True, read_only=True,allow_null=True)
|
||||||
# default_file=DefFilesSerializer(many=True, read_only=True,allow_null=True)
|
# default_file=DefFilesSerializer(many=True, read_only=True,allow_null=True)
|
||||||
#owner = serializers.ReadOnlyField(source='owner.username')
|
#owner = serializers.ReadOnlyField(source='owner.username')
|
||||||
|
@ -36,7 +36,7 @@ class ClassSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
# fields = ['url','name', 'repo','path', "teacher",'assignments',"default_file", 'confirmed', 'unconfirmed','owner']
|
# fields = ['url','name', 'repo','path', "teacher",'assignments',"default_file", 'confirmed', 'unconfirmed','owner']
|
||||||
fields = ['name', 'repo','path','assignments',"teacher","default_file", 'confirmed', 'unconfirmed','owner']
|
fields = ['name', 'repo','path','assignments',"teacher","default_file", 'confirmed', 'unconfirmed','owner']
|
||||||
|
|
||||||
class StudentSerializer(serializers.HyperlinkedModelSerializer):
|
class StudentSerializer(serializers.ModelSerializer):
|
||||||
# Class = ClassSerializer(many=True, read_only=True,allow_null=True)
|
# Class = ClassSerializer(many=True, read_only=True,allow_null=True)
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Student
|
model = Student
|
||||||
|
|
2
snew.py
2
snew.py
|
@ -87,7 +87,7 @@ data = requests.get(url = "http://localhost:8000/api/classes/Math5", auth=('raff
|
||||||
|
|
||||||
r = requests.post(url = "http://localhost:8000/api/classes/", data={'name':'English11', 'teacher':'eharris1', 'owner':2}, auth=('raffukhondaker','hackgroup1'))
|
r = requests.post(url = "http://localhost:8000/api/classes/", data={'name':'English11', 'teacher':'eharris1', 'owner':2}, auth=('raffukhondaker','hackgroup1'))
|
||||||
|
|
||||||
print("POST:" + str(r.status_code))
|
print("POST:" + str(r.json()))
|
||||||
# print(r.json())
|
# print(r.json())
|
||||||
# print(c.name)
|
# print(c.name)
|
||||||
# c = {
|
# c = {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user