Пример #1
0
def create_instance_test():
    t1 = Teacher.create(name='t1')
    t2 = Teacher.create(name='t2')
    s1 = Student.create(name = 's1', teacher=t1)
    s2 = Student.create(name = 's2', teacher=t1)
    s3 = Student.create(name = 's3', teacher=t2)
    s4 = Student.create(name = 's4', teacher=t2)
Пример #2
0
def teacher_upload_process_controller():
	file = request.files['file']
	rows = get_row_values(file)
	rows=rows[1:]
	for column in rows:
		new_teacher = Teacher(
					id=generate_key(),
					name=column[0],
					email=column[1])
		new_teacher.put()
	return render_template('all_done.html')
Пример #3
0
    def save(self):
        user = Account(**self.data)
        user.save()
        if self.role.data == 1:
            stuusr = Student(stuid=self.username.data)
            stuusr.save()
        if self.role.data == 3:
            teausr = Teacher(teaid=self.username.data)
            teausr.save()

        return self.username.data, self.role.data
Пример #4
0
def teacher_registration(request):
    jsonObj=json.loads(request.body)
    jsonObj=jsonObj['userInfo']

    if User.objects.filter(username = jsonObj['userName']).exists():
        print "Username already Exist."
        return HttpResponse(json.dumps({"validation":"Username is already exist.","status":False}), content_type="application/json")
    username = jsonObj['userName'].strip()
    teacherName = jsonObj['teacherName'].strip()

    password = jsonObj['password']
    confirmPassword = jsonObj['confirmPassword']
    if password != confirmPassword:
        print "Passwords Are not Matching"
        return HttpResponse(json.dumps({"validation":"Passwords are not Matched","status":False}), content_type="application/json")
    email = validateEmail(jsonObj['email'])
    if email != True:
        print "Email is already Exist."
        return HttpResponse(json.dumps({"validation":"Email is already exist.Try with another Email.","status":False}), content_type="application/json")
    else:
        email = jsonObj['email']

    mobileNo = jsonObj['mobileNo']
    mobileNo = int(mobileNo)
    mobileNo = validate_mobile(str(mobileNo))
    if mobileNo == False:
        return HttpResponse(json.dumps([{"validation": "This mobile number is already used..please try with another one.", "status": False}]), content_type = "application/json")
    else:
        workExperience = jsonObj['workExperience']
        areaOfInterestList = jsonObj['areaOfInterestList']
        qualification = jsonObj['qualification']
        userObj = User(username=userName,email=email,password=password)
        userObj.set_password(password)
        userObj.save()
        teacherObj = Teacher(user=userObj,
                            teacherName=teacherName,
                            qualification=qualification,
                            mobileNo=mobileNo,
                            workExperience=workExperience)
        teacherObj.save()

        for i in areaOfInterestList:
            subjectName = i.subjectName
            semester = i.semester
            courseName = i.courseName
            courseYear = i.courseYear
            subjectObj = Subject(subjectName=subjectName,
                                semester=semester,
                                courseName=courseName,
                                courseYear=courseYear)
            teacherObj.areaOfInterest.add(subjectObj)
            teacherObj.save()
        print "Registration Successful"
        return HttpResponse(json.dumps({"validation":"Registration Successful.","redirecturl":"#/login","status":True}), content_type="application/json")
Пример #5
0
 def test_teacher_insert(self):
   print "in test_teacher_insert"
   setup(self)    
   
   self.assertEqual(Teacher.objects.count(), 2)
   user3 = User(username="******", email="*****@*****.**", first_name="juan", last_name="garcia")
   user3.save()
   teacher3 = Teacher()
   teacher3.teacher = user3
   teacher3.save()
   self.assertEqual(Teacher.objects.count(), 3)
Пример #6
0
def registert(request):
    if request.POST:
        post = request.POST
        new_teacher = Teacher(
        Username = post["username"],
        Password= post["password"],
        Research_area = post["research_area"],
        Email = post["email"],
        Introduction  = post["introduction"]) 
        new_teacher.save()
    return render_to_response("register-t.html")    
Пример #7
0
def teacher_register_view(request):
	if request.method == "POST":
		username = request.POST['username']
		if not User.objects.filter(username = username).exists():
			return render(request, 'reg/teacher_teacher.html', {'error':'Username or email already used, or passwords do not match'})
		u = User.objects.get(username = username)

		t = Teacher(user=u)
		t.save()
		return redirect('home')
	else:
		if Student.objects.filter(user=request.user).count() > 0 or Teacher.objects.filter(user=request.user).count() > 0 or Parent.objects.filter(user=request.user).count() > 0:
			return redirect('home')
		return render(request, 'reg/teacher_register.html')
Пример #8
0
def setup(self):  
  user1 = User(username="******", email="*****@*****.**", first_name="john", last_name="smith")
  user2 = User(username="******", email="*****@*****.**", first_name="sally", last_name="smith")
  user1.save()
  user2.save()
  
  teacher1 = Teacher()
  teacher1.teacher = user1
  teacher1.save()
  teacher2 = Teacher()
  teacher2.teacher = user2
  teacher2.save()  

  course1 = Course(teacher=teacher1, name="Intro1", position=1)
  course2 = Course(teacher=teacher2, name="Advanced2", position=2)
  course1.save()
  course2.save()
  
  lesson1 = Lesson(course=course1, name="Lesson1", description="Intro1 - Lesson1", position=1)
  lesson2 = Lesson(course=course1, name="Lesson2", description="Intro1 - Lesson2", position=2)
  lesson1.save()
  lesson2.save()

  slide1 = Slide(lesson=lesson1, name="Slide1", content="<h1>Slide1</h1>", position=1, googleStyles=" ")
  slide2 = Slide(lesson=lesson1, name="Slide2", content="<h1>Slide2</h1>", position=2, googleStyles=" ")
  slide1.save()
  slide2.save()
Пример #9
0
def AddTeacher(request):
    if request.method == 'POST':
        form = AddNameForm(request.POST)
        if form.is_valid():
            user = request.user
            if user.is_authenticated() and IsHead(user):
                thUser = User.objects.create_user(
                    username=form.cleaned_data['Name'],
                    password=form.cleaned_data['Name'])
                thUser.save()
                head = StudyHead.objects.get(ForUser=user)
                th = Teacher(ForHead=head, User=thUser)
                th.save()

    return HttpResponseRedirect("/accounts/")
Пример #10
0
def flush():
    ndb.delete_multi(School.query().fetch(keys_only=True))
    ndb.delete_multi(QuestionInstance.query().fetch(keys_only=True))
    ndb.delete_multi(State_Questions.query().fetch(keys_only=True))
    ndb.delete_multi(Topic_States.query().fetch(keys_only=True))
    ndb.delete_multi(Question.query().fetch(keys_only=True))
    ndb.delete_multi(State.query().fetch(keys_only=True))
    ndb.delete_multi(Address.query().fetch(keys_only=True))
    ndb.delete_multi(Teacher.query().fetch(keys_only=True))
    ndb.delete_multi(Class.query().fetch(keys_only=True))
    ndb.delete_multi(Assessment_Record.query().fetch(keys_only=True))
    ndb.delete_multi(Student.query().fetch(keys_only=True))
    ndb.delete_multi(UserInfo.query().fetch(keys_only=True))
    ndb.delete_multi(Student_Assessments.query().fetch(keys_only=True))
    ndb.delete_multi(Assessment.query().fetch(keys_only=True))
    ndb.delete_multi(Subject.query().fetch(keys_only=True))
    ndb.delete_multi(Topic_Questions.query().fetch(keys_only=True))
    ndb.delete_multi(State_Questions.query().fetch(keys_only=True))
    ndb.delete_multi(Topic_States.query().fetch(keys_only=True))
    ndb.delete_multi(Subject_Topics.query().fetch(keys_only=True))
    ndb.delete_multi(Student_Assessments.query().fetch(keys_only=True))
    ndb.delete_multi(Topic.query().fetch(keys_only=True))
    ndb.delete_multi(User.query().fetch(keys_only=True))
    ndb.delete_multi(Assessment_Record.query().fetch(keys_only=True))
    ndb.delete_multi(State_Types.query().fetch(keys_only=True))
Пример #11
0
    def setUp(self):
        if 'TEST_PROVIDER' in os.environ:
            self.good_provider = os.environ['TEST_PROVIDER']
        else:
            # This is the default server thread started by django test,
            # but it only works for this app.
            self.good_provider = 'http://*****:*****@example.com', 'Jeff T', [['MG4', '1st period math', TeacherClass()]]),
                             ('*****@*****.**', 'Jeff J', [['MG4', '5th period math', TeacherClass()]])]
        self.email1 = self.teacher_data[0][0]
        self.name1 = self.teacher_data[0][1]

        self.u1_password = '******'
        self.u1 = User.objects.create_user(username='******', email='*****@*****.**',
                                           password=self.u1_password)
        user = authenticate(username=self.u1.username, password=self.u1_password)
        assert user

        self.teachers = []
        for teacher_email, teacher_name, teacher_classes in self.teacher_data:
            t = Teacher(email=teacher_email, name=teacher_name, user=self.u1)
            t.full_clean()
            t.save()
            self.teachers.append(t)

            for i in range(len(teacher_classes)):
                course_id, class_name, _ = teacher_classes[i]
                c = TeacherClass(name=class_name,
                                 course_id=course_id,
                                 teacher=t,
                                 repo_provider=self.good_provider)
                c.full_clean()
                c.save()
                teacher_classes[i][2] = c

        # create a calendar entry for the 2nd teacher
        teacher_2 = self.teacher_data[1]
        teacher_2_class = teacher_2[2][0][2]
        e1 = Entry(teacher=self.teachers[1], teacher_class=teacher_2_class, date=datetime.date.today(),
                   objective='MG4-FACTMULT')
        e1.full_clean()
        e1.save()

        self.good_course = 'MG4'
        self.bad_course = 'xxx' + self.good_course + 'xxx'
Пример #12
0
def addteacher(request):
    category = 'Teacher'
    if request.method == 'POST':
        form = TeacherForm(request.POST)
        if form.is_valid():
            s = Teacher(first_name=form.cleaned_data["first_name"],
                        last_name=form.cleaned_data["last_name"],
                        email=form.cleaned_data["email"],
                        phone=form.cleaned_data["phone"],
                        office_details=form.cleaned_data["office_details"]
                        )
            s.save()
            return HttpResponseRedirect('/all_teachers/')
    else:
        form = TeacherForm()

    return render_to_response('add.html', {'form': form, 'type': category},
                              RequestContext(request))
Пример #13
0
def register():
    error = None
    form = RegisterForm(request.form)
    if form.validate_on_submit():
        teacher = Teacher(
            first_name=form.first_name.data,
            last_name=form.last_name.data,
            email=form.email.data,
            password=form.password.data,
        )
        try:
            teacher.put()
            teacher_id = teacher.key.id()
            flash(u'Teacher %s successfully saved.' % teacher_id, 'success')
            return redirect(url_for('login'))
        except CapabilityDisabledError:
            flash(u'App Engine Datastore is currently in read-only mode.', 'info')
            return redirect(url_for('register'))
    return render_template('register.html', form=form)
Пример #14
0
    def save_article(self, num, content):
        '''
        :param content: a list get from screen
        '''
        chinese_keyword = {
            'board': '看板',
        }

        author_line = content[0].encode('utf-8').split()
        if not chinese_keyword['board'] in author_line:
            return
        _i = author_line.index(chinese_keyword['board'])
        author = ' '.join(author_line[1:_i])

        title_line = content[1].encode('utf-8').split()[1:]
        title = ' '.join(title_line)

        time_line = content[2].encode('utf-8').split()[1:]
        time = ' '.join(time_line)
        if not time.find('(') == -1:
            time = time[time.find('(') + 1:time.find(')')]
        time = time.split()
        time.pop(1)
        time = ' '.join(time)
        print time


        article = '\n'.join(content[3:]).encode('utf-8')

        try:
            post = Teacher.get(bbs_id=num)
            post.content = article
            post.save()
            logger.info('Update: {id}'.format(id=num))
        except Teacher.DoesNotExist:
            post = Teacher.create(author=author,
                title=title,
                pub_time=time,
                content=article,
                bbs_id=num
            )
            logger.info('Insert: {id}'.format(id=num))
Пример #15
0
	def get(self):
		qo = ndb.QueryOptions(keys_only=True)
		query = Student.query()
		ndb.delete_multi(query.fetch(1000, options=qo))

		query = Teacher.query()
		for t in query:
			t.currentMilestone = None
			t.put()

		self.redirect('/milestones')
Пример #16
0
def teacher_controller(id):
	name = request.values.get('name')
	email = request.values.get('email')

	if id:
		teacher = Teacher.query(Teacher.id==id).get()
		if teacher:
			if request.method == 'GET':
				if request.values.get('json'):
					return json.dumps(dict(teacher=teacher.json))
				return render_template('teacher_view.html',teacher = teacher, title = "Teacher List")
			elif request.method == 'PUT':
				teacher = edit_parser(teacher,request)
				teacher.put()
				return 'Value Updated', 204
			elif request.method == 'DELETE':
				teacher.key.delete()
				return 'Item deleted', 204
			else:
				return 'Method Not Allowed'
	else:
		if request.method == 'GET':
			teacher_list = Teacher.query().fetch(1000)
			entries=None
			if teacher_list:
				entries = [teacher.dto() for teacher in teacher_list]
			if request.values.get('json'):
				return json.dumps(dict(teacher=entries))
			return render_template('teacher.html',teacher_entries = entries, title = "Teacher List")
		elif request.method == 'POST':
			teacher = Teacher()
			teacher = new_parser(teacher,request)
			teacher.put()
			url = '/teacher/'
			if request.values.get('json'):
				url = '/teacher/json=true'
			return redirect(url)
		else:
			return abort(405)
Пример #17
0
def login():
    error = None
    if request.method == 'POST':
        t = Teacher.query(Teacher.email == request.form['email'], 
            Teacher.password == request.form['password']).fetch(1)
        if len(t) == 0:
            flash('Email/PW combo not found')
        else:
            name = t[0].first_name
            email = t[0].email
            session['logged_in'] = True
            session['name'] = name
            session['email'] = email
            flash('You are logged in. Go Crazy.')
            return redirect(url_for('list_tests'))
    return render_template('login.html', form = LoginForm(), error = error)
Пример #18
0
    def test_1(self):
        """Basic creation/update of Teacher"""
        email = '*****@*****.**'
        name1 = 'Jeff'
        name2 = 'Jeff T'
        t1 = Teacher(email=email, name=name1, user=self.u1)
        t1.save()
        t2 = Teacher(email=email, name=name2, user=self.u1)
        t2.save()

        obj = Teacher.objects.get(email=email)
        self.assertEquals(obj.name, name2)
Пример #19
0
def generatestates(userbuffer,topickey,schoolkey):
    logging.error("entered g")
    statesgen =[]
    numoftype = userbuffer.typeCache.getlength()
    for questiontype in range(0,numoftype):
        surmiselist = userbuffer.surmiseRelation.getstates(questiontype)
        for surmisestate in surmiselist:
            tobeaddedlist =[]
            tobeaddedlist.append(surmisestate)
            for state in statesgen:
                tobeaddedlist.append(surmisestate.union(state))
            for stateadd in tobeaddedlist:
                if stateadd not in statesgen:
                 statesgen.append(stateadd)
    stateall = set()
    num = numoftype-1
    while num >= 0:
        stateall.add(num)
        logging.error(userbuffer.typeCache.gettype(num))
        num-=1
    logging.error(stateall)
    if stateall not in statesgen:
        statesgen.append(stateall)
        tobeaddedlist=[]
    queryreadydict = {}
    statenum =0
    for stateset in statesgen:
        templist = []
        for items in stateset:
            templist.append(userbuffer.typeCache.gettypekey(items))
        queryreadydict[statenum]=templist
        statenum+=1
    session = get_current_session()
    logging.error(queryreadydict)
    #user_name = User.query((User.username == 'Vijay_Mehta')).get()
    teacher = Teacher.query(Teacher.username == 'Vijay_Mehta',ancestor=schoolkey).get()
    logging.info('@@@@@@@@@@@@@@@@@@@@@@'+str(teacher))
    #Query.map_state_to_questions_dummy(queryreadydict,session['schoolkey'])
    Query.map_state_to_questions(topickey,queryreadydict,schoolkey)
    count=topickey.get().assessment_count
    count+=1
    class_v=(teacher.classes_under_teacher)[0]
    #teacher=UserInfo.query()
    assessment1=Query.addAssessment(name="Know Your Numbers : "+str(count),list_topic_key=[topickey,topickey],school_key=schoolkey,date=datetime.datetime.now(),due_date=datetime.datetime(int(2014),int(11),int(12),int(23),int(12),int(8)),published=True,teacher_key=teacher.key,class_key=class_v)
    a=Query.get_states_of_topic(topickey)
Пример #20
0
def fetch_my_teacher(id):
	student = Student.query(Student.id == id).get()
	teacher_list = []
	schedules = student.get_schedule()
	for schedule in schedules:
		teacher = schedule.get_teacher()
		if teacher.dto() not in teacher_list:
			teacher_list.append(teacher.dto())
	other_list = []
	teachers = Teacher.query().fetch(1000)
	for teacher in teachers:
		if teacher.dto() not in teacher_list:
			other_list.append(teacher.dto())
	teacher_list = multikeysort(teacher_list, ['name'])
	teacher_list = add_sort_order(teacher_list)
	other_list = multikeysort(other_list, ['name'])
	other_list = add_sort_order(other_list)
	return json.dumps(dict(my_teacher=teacher_list,other_teachers=other_list))
Пример #21
0
def import_teacher(request, filter_id):
    '''
        Импорт учителей.
    '''
    render = {}
    if request.user.type == 'EduAdmin':
        if request.user.school.id != int(filter_id):
            raise Http404
    render['school'] = school = get_object_or_404(School, id = filter_id)

    if request.method == 'GET':
        render['form'] = form = ImportForm()
    else:
        render['form'] = form = ImportForm(request.POST, request.FILES)
        if form.is_valid():
            render['errors'] = errors = []
            teachers = []
            rows = csv.reader(form.cleaned_data['file'], delimiter = ';')
            i = 0
            for row in rows:
                i += 1
                if len(row) < 7:
                    errors.append({'line': i, 'column': 0, 'error': u'неверное количество столбцов'})
                    continue
                try:
                    row = ";".join(row)
                    row = row.decode('cp1251')
                except UnicodeError:
                    errors.append({'line': i, 'column': 0,
                                   'error': u'некорректное значение (невозможно определить кодировку)'})
                    continue
                row = row.split(';')
                if len(row[0]) < 2 or len(row[1]) < 2 or len(row[2]) < 2:
                    errors.append({'line': i, 'column': 0, 'error': u'сликшом короткое ФИО'})
                    continue
                try:
                    validate_email(row[3])
                except ValidationError:
                    errors.append({'line': i, 'column': 4, 'error': u'email указан неверно'})
                    continue
                teacher = Teacher(school = school, last_name = row[0],
                                  first_name = row[1], middle_name = row[2], email = row[3])
                teacher._subjects = []
                t = [j.strip() for j in row[4].split(',')]
                for sbj in t:
                    try: teacher._subjects.append(Subject.objects.get(name = sbj, school = school))
                    except Subject.DoesNotExist: errors.append({'line': i, 'column': 5,
                                                                'error': u'предмет "%s" не найден' % sbj})
                teacher._grades = []
                t = [j.strip() for j in row[5].split(',')]
                for grade in t:
                    if not get_grade(grade):
                        errors.append({'line': i, 'column': 5, 'error': u'класс "%s" не найден' % grade})
                        continue
                    try: teacher._grades.append(Grade.objects.get(school = school, **get_grade(grade)))
                    except Grade.DoesNotExist: errors.append({'line': i, 'column': 5,
                                                              'error': u'класс "%s" не найден' % grade})
                if row[6]:
                    if not get_grade(row[6]):
                        errors.append({'line': i, 'column': 6, 'error': u'класс "%s" не найден' % row[6]})
                        continue
                    try:
                        teacher.grade = Grade.objects.get(school = school, **get_grade(row[6]))
                    except Grade.DoesNotExist:
                        errors.append({'line': i, 'column': 6, 'error': u'класс "%s" не найден' % row[6]})
                        continue
                teachers.append(teacher)

            if len(errors) == 0:
                for teacher in teachers: 
                    teacher.save()
                    [teacher.subjects.add(sbj) for sbj in teacher._subjects]
                    [teacher.grades.add(sbj) for sbj in teacher._grades]
                    teacher.save()
                messages.success(request, u'Преподаватели импортированы')
                return HttpResponseRedirect('..')
    return render_to_response('~userextended/teacherImport.html', render, context_instance = RequestContext(request))
Пример #22
0
from models import Student, Teacher, Course, Grade, db

student0 = Student(name="李玲", gender="女", phone="12345678900")
student1 = Student(name="李依", gender="女", phone="12345678901")
student2 = Student(name="李贰", gender="男", phone="12345678902")
student3 = Student(name="李叁", gender="男", phone="12345678903")
student4 = Student(name="李斯", gender="男", phone="12345678904")
student5 = Student(name="李舞", gender="女", phone="12345678905")
student6 = Student(name="李榴", gender="男", phone="12345678906")
student7 = Student(name="李淇", gender="女", phone="12345678907")
student8 = Student(name="李巴", gender="男", phone="12345678908")
student9 = Student(name="李玖", gender="男", phone="12345678909")

teacher0 = Teacher(name="老数", gender="男", phone="12345678910")
teacher1 = Teacher(name="老语", gender="女", phone="12345678911")
teacher2 = Teacher(name="老英", gender="女", phone="12345678912")
teacher3 = Teacher(name="老物", gender="男", phone="12345678913")
teacher4 = Teacher(name="老化", gender="男", phone="12345678914")
teacher5 = Teacher(name="老生", gender="男", phone="12345678915")

course0 = Course(name="数学")
course1 = Course(name="语文")
course2 = Course(name="英语")
course3 = Course(name="物理")
course4 = Course(name="化学")
course5 = Course(name="生物")


# 增
def add_one_by_one(data):
    db.session.add(data)
Пример #23
0
def create_table_test():
    Teacher.create_table()
    Student.create_table()
Пример #24
0
import json

from app import db
from models import Teacher, Booking, Request

teachers_records = json.load(open('mock_db.json', 'r', encoding='utf-8'))[1]
teachers = []
for record in teachers_records:
    goals = " ".join([x for x in record.get("goals")])
    print(goals)
    teacher = Teacher(name=record.get("name"),
                      about=record.get("about"),
                      rating=record.get("rating"),
                      picture=record.get("picture"),
                      price=record.get("price"),
                      goals=goals,
                      free=record.get("free"))
    teachers.append(teacher)

book_records = json.load(open('booking.json', 'r', encoding='utf-8'))
bookings = []
for record in book_records:
    booking = Booking(clientName=record.get("clientName"),
                      clientPhone=record.get("clientPhone"),
                      clientTime=record.get("clientTime"),
                      teacher_id=record.get("clientTeacher"))
    bookings.append(booking)

request_records = json.load(open('request.json', 'r', encoding='utf-8'))
requests = []
for record in request_records:
Пример #25
0
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
import torchvision
import scheduler

from models import Teacher

MNIST_DIR = '../mnist/'

# Create gpu device
device = torch.device('cuda')
print(device)

# Create model
teacher_model = Teacher()

# Transfer
teacher_model.to(device)

# Define Loss
criterion = nn.CrossEntropyLoss(reduction='mean')

# Define optimizer
optimizer = optim.SGD(teacher_model.parameters(), lr=0.1)

# Define schedule for learning rate and momentum
lr_init = 0.1
gamma = 0.998
lrs = np.zeros(shape=(3000,))
lr = lr_init
Пример #26
0
        for test_item in tests[subject_name][type_name]:
            test = Test()
            test.type_ = type_name
            if type_name == "选择题":
                test.question = test_item["question"] + "\nA." + test_item["A"] + "\nB." + \
                                test_item["B"] + "\nC." + test_item[
                                    "C"] + "\nD." + test_item["D"]
            else:
                test.question = test_item["question"]
            if tests[subject_name] == "填空题":
                answer = ""
                for blank in test_item["answer"]:
                    answer += blank
            else:
                answer = test_item["answer"]
            test.answer = answer
            test.level = test_item["level"]
            subject.tests.append(test)

for i in range(84001, 84111):
    teacher = Teacher()
    teacher.id = i
    last_name = random.choice(last_names)
    sex = random.choice(["male", "female"])
    first_name = random.choice(first_names[sex])
    name = last_name + first_name
    teacher.name = name
    teacher.password_hash = "pbkdf2:sha256:150000$LssWNeqi$de05643547efe747ad0a14b74ac2e0e036e2d21fcae3be98bd43c94392f2226d"
    db.session.add(teacher)
db.session.commit()
Пример #27
0
from flask import Flask
from models import db, School, Class, Student, Teacher
from routes import classesApi, schoolsApi, teachersApi, studentsApi, index

app = Flask(__name__)
app.register_blueprint(classesApi)
app.register_blueprint(schoolsApi)
app.register_blueprint(teachersApi)
app.register_blueprint(studentsApi)
app.register_blueprint(index)
db.init_app(app)

with app.app_context():
    db.create_all()
    school = School(name='middle50', address='address')
    db.session.add(school)
    db.session.commit()
    group = Class(name='1A', school_id=school.id)
    db.session.add(group)
    db.session.commit()
    db.session.add(Student(name='Vasya', class_id=group.id))
    db.session.add(Teacher(name='Irina', class_id=group.id, subject='Math'))
    db.session.commit()
if __name__ == "__main__":
    app.run()
Пример #28
0
 def get_teacher(self):
     from models import Teacher
     teacher = Teacher.query(Teacher.id == self.teacher_id).get()
     return teacher if teacher else None
Пример #29
0
def teacher_edit_controller(id):
	#this is the controller to edit model entries
	teacher_item = Teacher.query(Teacher.id==id).get()
	return render_template('teacher_edit.html', teacher_item = teacher_item, title = "Edit Entries")
Пример #30
0
 def get_all_teachers(self, q):
     df = pd.read_sql("SELECT * FROM Teacher " + q, self.conn)
     return [
         Teacher(*kwargs.values())
         for kwargs in df.to_dict(orient='records')
     ]
Пример #31
0
def schedule_add_controller():
	#this is the controller to add new model entries
	students = Student.query().fetch(1000)
	teachers = Teacher.query().fetch(1000)
	subjects = Subject.query().fetch(1000)
	return render_template('schedule_add.html', title = "Add New Entry", students=students, teachers=teachers, subjects=subjects)
Пример #32
0
def register():
    if request.form:
        login = request.form.get("login")
        password = request.form.get("password")
        name = request.form.get("name")
        surname = request.form.get("surname")
        position = request.form.get("position")

        if position == "Teacher":
            teacher = Teacher.auth(login, password)

            if teacher:
                return json.dumps({'resultCode': 1})

            email = request.form.get("email")
            phone = request.form.get("phone")
            qualification = request.form.get("qualification")

            teacher = Teacher(login, password, name, surname, qualification,
                              phone, email, False)
            teacher.save()

            session["auth"] = teacher.id

            return json.dumps({
                'resultCode': 0,
                'data': {
                    'userId': teacher.id,
                    'login': login,
                    'password': password,
                    'position': position,
                    'name': name,
                    'surname': surname,
                    'email ': email,
                    'phone ': phone,
                    'qualification ': qualification
                }
            })

        elif position == "Pupil":
            pupil = Pupil.auth(login, password)

            print(pupil)

            if pupil:
                return json.dumps({'resultCode': 1})

            clas = request.form.get('clas')
            pupil = Pupil(name, surname, login, password, clas)
            pupil.save()

            school_class = SchoolClass.get_class_by_name(clas)
            school_class.add_student(pupil.id)

            session["auth"] = pupil.id

            return json.dumps({
                'resultCode': 0,
                'data': {
                    'userId': pupil.id,
                    'login': login,
                    'password': password,
                    'position': position,
                    'name': name,
                    'surname': surname,
                    'clas': clas
                }
            })

        elif position == "Parent":
            parent = Parent.auth(login, password)

            if parent:
                return json.dumps({'resultCode': 1})

            child_id = request.form.get("child_id")
            parent = Parent(name, surname, child_id, login, password)
            parent.save()

            session["auth"] = parent.id

            return json.dumps({
                'resultCode': 0,
                'data': {
                    'userId': parent.id,
                    'login': login,
                    'password': password,
                    'position': position,
                    'name': name,
                    'surname': surname,
                    'child_id': child_id
                }
            })

        else:
            return json.dumps({'resultCode': 1})
Пример #33
0
def jsonTeacherCrud(request):
    
    # Display/Filter is only on GET
    if request.is_ajax() and request.method == 'GET':
        id = request.GET.get('id', None)
        action = request.GET.get('action', None)
        
        if (action=="filter"):
            dictData = Teacher.objects.filter(id=id).values()
        else: 
            dictData = Teacher.objects.all().values()
        #print dictData
        jsonData = json.dumps(list(dictData))
        return HttpResponse(jsonData, content_type='application/json')
    
    # CRUD is only on POST
    if request.is_ajax() and request.method == 'POST':
        action = request.POST.get('action', None)

        #ADD
        if (action=="add"):
            codeAfm = request.POST.get('codeAfm', None)
            codeGrad = request.POST.get('codeGrad', None)
            codeSpec = request.POST.get('codeSpec', None)
            surname = request.POST.get('surname', None)
            name = request.POST.get('name', None)
                    
            record = Teacher( codeAfm = codeAfm, codeGrad = codeGrad , codeSpec = codeSpec, surname = surname, name=name, ).save()
            # return Lesson record            
            dictData = Teacher.objects.filter(id=record.id).values()
            jsonData = json.dumps(dictData)
            return HttpResponse(jsonData, content_type='application/json')

        #DELETE 
        if (action=="delete"):
            id = request.POST.get('id', None)
            record = Teacher.objects.filter(id=id)
            try:
                record.delete()
                result = "Teacher (%s) deleted successfully." %(record)
            except IntegrityError:
                transaction.rollback()   
                result = "Error Teacher (%s) could not be deleted." %(record)
            return HttpResponse(result, content_type='application/json')

        #UPDATE
        elif (action=="update"):
            id = request.POST.get('id', None)
            codeAfm = request.POST.get('codeAfm', None)
            codeGrad = request.POST.get('codeGrad', None)
            codeSpec = request.POST.get('codeSpec', None)
            surname = request.POST.get('surname', None)
            name = request.POST.get('name', None)

            record = Teacher.objects.filter(id=id)            
            record.update( codeAfm = codeAfm, codeGrad = codeGrad , codeSpec = codeSpec,surname = surname, name=name , )
            dictData = record.values()
            #print dictData
            jsonData = json.dumps(list(dictData))
            return HttpResponse(jsonData, content_type='application/json')
    
    # DEFAULT on View
    else: 
        dictData = Teacher.objects.all().values()
        jsonData = json.dumps(list(dictData))
        #print jsonData
        return HttpResponse(jsonData, content_type='application/json')
Пример #34
0
    except DoesNotExist,e:
	errorMsg='无法在%s %s找到%s,%s' % (province_name,city_name,district_name,e)
	return InvalidUrl(errorMsg)
    try:
	school = district.filter(school__name=out['school_name'])
    except DoesNotExist,e:
	errorMsg = "can not find school %s in %s" % (out['school_name'],out['district'])
	return InvalidUrl(errorMsg)

    try:
	class_id = school.filter(class__name=out['class_name'])
    except DoesNotExist,e:
	errorMsg = "can not find class %s in school %s" % (out['class_name'],out['school_name'])
	return InvalidUrl(errorMsg)

    tea = Teacher(name=out['name'],telephone=out['telephone'],email = out['email'],status='NE') 
    tea.save() 
    class_id.add(tea)
    class_id.save()
    tea.status='EI'
    #发送url给学校管理员的邮箱对新注册的老师进行审核
    url_yes=''
    url_no=''
    mail_title = '幼儿园教师注册审核'
    mail_content = '教师%s 头像预留正在注册为你的学校%s的教师,请点击下面链接确认是否同意:\n\t同意链接:%s,拒绝链接:%s' % (out['name'],out['school_name'],url_yes,url_no)
    from_mail = '*****@*****.**'
    to_mail = ['*****@*****.**']
    #这里需要考虑发送邮件失败的情况,目前暂时未处理
    send_mail(mail_title,mail_content,from_mail,to_mail,fail_silently = False)
    
    tea.status='EI'
Пример #35
0
def admin_teacher():

    create_form = CreateTeacherForm()

    delete_form = DeleteTeacherForm()
    delete_form.teachers.query = Teacher.query.all()

    update_form = UpdateTeacherForm()
    update_form.teachers.query = Teacher.query.all()

    if request.method=='POST':
        if create_form.data['create'] and create_form.validate():
            form = create_form
            teacher = Teacher.query.filter_by(tea_id=form.create_id.data).first()
            
            if teacher == None:
                teacher = Teacher(
                    tea_id=form.create_id.data,
                    tea_name=form.create_name.data,
                    tea_unit=form.create_unit.data
                )
            
            db.session.add(teacher)
            db.session.commit()
            
            status = u'success'
            message = u'成功添加教师'
            session['message']=messages(status, message)

            return redirect(url_for('admin'))
        elif delete_form.data['delete'] and delete_form.validate():
            form = delete_form
            teacher = form.teachers.data
            
            db.session.delete(teacher)
            db.session.commit()
            
            status = u'warning'
            message = u'成功删除教师'
            session['message']=messages(status, message)

            return redirect(url_for('admin'))
        elif update_form.data['update'] and update_form.validate():
            form = update_form
            teacher = form.teachers.data
            name = form.update_name.data
            unit = form.update_unit.data
            
            if name != '':
                teacher.tea_name = name
            
            if unit !='':
                teacher.tea_unit = unit

            db.session.add(teacher)
            db.session.commit()

            status = u'info'
            message = u'成功修改教师信息'
            session['message']=messages(status, message)
            return redirect(url_for('admin'))
    return render_template("admin-teacher.html",
            create_form=create_form, 
            delete_form=delete_form, 
            update_form=update_form
        )
Пример #36
0
    def get(self):
        try:
            # template variable
            temp = Template("""
                <tr>
                    <td> $teacher </td>
                    <td> $city </td>
                    <td> $progress </td>
                </tr>
                """)

            subject = 'Weekly Milestone Progress Report: ' + str(date.today())
            
            body = """
            <html>
                <body>
                    <center><h2>WEEKLY PROGRESS REPORT</h2></center>
                    <table style="width:75%">
                        <tr>
                            <td><b>Teacher Name</b></td>
                            <td><b>Current Milestone</b></td>
                            <td><b>Miles To Go To Reach Milestone</b></td>
                        </tr>
            """

            # get all of the teacher from the database
            teachers = Teacher.query()

            # iterate through list of teachers
            for result in teachers:
                # get the current teacher's total miles
                miles = result.totalClassMiles

                # get the current teacher's current milestone

                current_milestone = (result.currentMilestone).get()

                # get the progress
                miles_left = current_milestone.goalMiles - miles

                # add to the body of the email
                body = body + temp.substitute(
                    teacher=result.name, 
                    city=current_milestone.city_name, 
                    progress=miles_left)


            # finish the body
            body = body + """
                    </table>
                </body>
            </html>
            """

            # set the body as the email message html and send
            app_id = app_identity.get_application_id()
            mail.send_mail_to_admins("support@"+app_id+".appspotmail.com", subject, body, html=body)

        except Exception as message:
            # Log the error.
            logging.error(message)
            raise message
Пример #37
0
	def get(self):
		data = [t.name for t in Teacher.query()]
		data = sorted(data, reverse=True)
		self.response.out.write(json.dumps(data))
Пример #38
0
    def get(self):
        # a list of teachers that have completed their milestone objective
        teacherList = []

        # get a list of all teachers
        allTeachers = Teacher.query()

        # iterate through all teachers
        for teacher in allTeachers:
            # get the current milestone for the teacher
            if not teacher.currentMilestone:
                currentMilestone = Milestone.query().order(Milestone.goalMiles).get()
                teacher.currentMilestone = currentMilestone.key
                teacher.put()
            else:
                currentMilestone = teacher.currentMilestone.get()
            
            # if the totalClassMiles of a teacher is >= its current milestone goal:
            if teacher.totalClassMiles >= currentMilestone.goalMiles:
                # add the teacher to the list
                teacherList.append((teacher.name, currentMilestone.city_name))

                # find the next milestone and assign it to the teacher
                nextMilestone = Milestone.query(Milestone.goalMiles > int(teacher.totalClassMiles)).order(Milestone.goalMiles).get()

                # check if there is a milestone
                if nextMilestone:
                    teacher.currentMilestone = nextMilestone.key
                    teacher.put()

        # if the teacherList is not empty
        if teacherList:
            # create an email to send to the teacher with the names of the teacher
            rowTemplate = Template("""
                <tr>
                    <td>$teacher</td>
                    <td>$milestone</td>
                </tr>
            """)


            body = """
            <html><body>
                <center><h2>Milestone Reached!</h2></center>
                The following teachers have reached their milestones:<br>
                <table width='30%' border='1'>
                    <tr>
                        <th>Teacher Name</th>
                        <th>Milestone</th>
                    </tr>
            """

            # for every teacher name that has passed their milestone
            for t, m in teacherList:
                body = body + rowTemplate.substitute(teacher=t, milestone=m)

            body = body + """
                </table>
            </body></html>
            """

            subject = 'A Milestone Has Been Reached! ' + str(date.today())
            app_id = app_identity.get_application_id()
            mail.send_mail_to_admins("support@"+app_id+".appspotmail.com", subject, body, html=body)
Пример #39
0
    def createBuilding(self, building):
        db.begin()
        try:
            Building(name=building.get("name")).save()
            if building.get("floors") is not None:
                for floor in building.get("floors"):
                    Floor(level=floor.get("level"),
                          buildingName=building.get("name")).save()

                    if floor.get("waypoints") is not None:
                        for waypoint in floor.get("waypoints"):
                            if ("type" in waypoint):
                                if (waypoint.get("type") ==
                                        WAYPOINT_TYPES["ClassRoom"]):
                                    classRoom = ClassRoom(
                                        name=waypoint.get("name"),
                                        markerId=waypoint.get("markerId"),
                                        buildingName=building.get("name"),
                                        floorLevel=floor.get("level"),
                                        shapeType=waypoint.get("shapeType"),
                                        color=waypoint.get("color"),
                                        width=waypoint.get("width"),
                                        length=waypoint.get("length"),
                                        x=waypoint.get("x"),
                                        y=waypoint.get("y")).save()
                                    for schedule in waypoint["schedule"]:
                                        group = Group.nodes.get_or_none(
                                            name=schedule["group"],
                                            buildingName=building.get("name"))
                                        if group is None:
                                            group = Group(
                                                name=schedule["group"],
                                                buildingName=building.get(
                                                    "name")).save()
                                        group.classes.connect(
                                            classRoom, {
                                                'course':
                                                schedule["course"],
                                                'dayOfWeek':
                                                schedule["dayOfWeek"],
                                                'startTime':
                                                schedule["startTime"],
                                                'finishTime':
                                                schedule["finishTime"]
                                            })
                                elif (waypoint.get("type") ==
                                      WAYPOINT_TYPES["Office"]):
                                    office = Office(
                                        name=waypoint.get("name"),
                                        markerId=waypoint.get("markerId"),
                                        buildingName=building.get("name"),
                                        floorLevel=floor.get("level"),
                                        shapeType=waypoint.get("shapeType"),
                                        color=waypoint.get("color"),
                                        width=waypoint.get("width"),
                                        length=waypoint.get("length"),
                                        x=waypoint.get("x"),
                                        y=waypoint.get("y")).save()
                                    for prof in waypoint["professors"]:
                                        teacher = Teacher.nodes.get_or_none(
                                            name=prof,
                                            buildingName=building.get("name"))
                                        if teacher is None:
                                            teacher = Teacher(
                                                name=prof,
                                                buildingName=building.get(
                                                    "name")).save()
                                        teacher.office.connect(office)
                                elif (waypoint.get("type") ==
                                      WAYPOINT_TYPES["Connector"]):
                                    Connector(
                                        name=waypoint.get("name"),
                                        markerId=waypoint.get("markerId"),
                                        buildingName=building.get("name"),
                                        floorLevel=floor.get("level"),
                                        shapeType=waypoint.get("shapeType"),
                                        color=waypoint.get("color"),
                                        width=waypoint.get("width"),
                                        length=waypoint.get("length"),
                                        x=waypoint.get("x"),
                                        y=waypoint.get("y")).save()
                                else:
                                    Waypoint(
                                        name=waypoint.get("name"),
                                        markerId=waypoint.get("markerId"),
                                        buildingName=building.get("name"),
                                        floorLevel=floor.get("level"),
                                        shapeType=waypoint.get("shapeType"),
                                        color=waypoint.get("color"),
                                        width=waypoint.get("width"),
                                        length=waypoint.get("length"),
                                        x=waypoint.get("x"),
                                        y=waypoint.get("y")).save()
                            else:
                                Waypoint(name=waypoint.get("name"),
                                         markerId=waypoint.get("markerId"),
                                         buildingName=building.get("name"),
                                         floorLevel=floor.get("level"),
                                         shapeType=waypoint.get("shapeType"),
                                         color=waypoint.get("color"),
                                         width=waypoint.get("width"),
                                         length=waypoint.get("length"),
                                         x=waypoint.get("x"),
                                         y=waypoint.get("y")).save()

                    if floor.get("hallways") is not None:
                        for hallway in floor.get("hallways"):
                            Hallway(name=hallway["name"],
                                    markerId=hallway["markerId"],
                                    buildingName=building.get("name"),
                                    floorLevel=floor.get("level"),
                                    shapeType=hallway["shapeType"],
                                    color=hallway["color"],
                                    width=hallway["width"],
                                    length=hallway["length"],
                                    x=hallway["x"],
                                    y=hallway["y"]).save()

                if building.get("floors") is not None:
                    for floor in building.get("floors"):
                        if floor.get("waypoints") is not None:
                            for waypoint in floor.get("waypoints"):
                                base = Waypoint.nodes.get(
                                    name=waypoint.get("name"),
                                    floorLevel=floor.get("level"),
                                    buildingName=building.get("name"))
                                for neighbor in waypoint["neighbors"]:
                                    base.neighbors.connect(
                                        Waypoint.nodes.get(
                                            name=neighbor.get("name"),
                                            floorLevel=floor.get("level"),
                                            buildingName=building.get("name")),
                                        {
                                            'direction':
                                            neighbor.get("direction")
                                        })
            self.checkBuilding(building.get("name"))
            db.commit()
            return self.get(building.get("name")), 200
        except Exception as e:
            db.rollback()
            return str(e), 500
Пример #40
0
def query_test():
    t1 = Teacher.get(name='t1')
    print t1
    print t1.students.count()
    for one in t1.students:
        print one.name
Пример #41
0
from app import app
from models import db, Teacher, Student, Assignment, StudentAssignment
import requests

db.drop_all()
db.create_all()

scott = Teacher.seed_db(name="burden", username="******", password="******")

db.session.add(scott)
db.session.commit()

s = Teacher.query.get(1)

s0 = Student.seed_db(name="John A",
                     username="******",
                     password="******",
                     teacher_id=1)
s1 = Student.seed_db(name="John B",
                     username="******",
                     password="******",
                     teacher_id=1)
s2 = Student.seed_db(name="John C",
                     username="******",
                     password="******",
                     teacher_id=1)
s3 = Student.seed_db(name="John D",
                     username="******",
                     password="******",
                     teacher_id=1)
s4 = Student.seed_db(name="John E",
Пример #42
0
#coding=utf-8
from teachingWeb import db
from models import Admin, Student, Teacher, Course

db.create_all()

admin = Admin(name='admin', id=-1)
db.session.add(admin)
db.session.commit()

student = Student(id=121, password='******')
db.session.add(student)
db.session.commit()

teacher = Teacher(id=1, password='******')
db.session.add(teacher)
db.session.commit()

course = Course(name='DB', teacher_id=1)
db.session.add(course)
db.session.commit()