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))
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))
def GetBoolTeacher(student): notes = Teacher.query(Teacher.formBool, ancestor=root_parent()).fetch() if notes: # We found a note, return it. return True else: # We didn't find a note, return None return False
def GetCodeTeacher(student): '''Queries datastore to get the current value of the note associated with this user.''' notes = Teacher.query(Teacher.code == student.code, ancestor=root_parent()).fetch() if len(notes) > 0: # We found a note, return it. return notes[0].code else: # We didn't find a note, return None return None
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)
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)
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')
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)
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)
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)
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)
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))
def get(self): data = [t.name for t in Teacher.query()] data = sorted(data, reverse=True) self.response.out.write(json.dumps(data))
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)
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
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")
def get_teacher(self): from models import Teacher teacher = Teacher.query(Teacher.id==self.teacher_id).get() return teacher if teacher else None
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)
def get_teacher(self): from models import Teacher teacher = Teacher.query(Teacher.id == self.teacher_id).get() return teacher if teacher else None