def get_student_course_list(self, studentid, _param): """ 获取学生的课程列表 :param studentid: :return: """ query = ClassCourseInfo.objects.filter(enrollcourseinfo__enrollinfo__user_id=studentid) return utils.gen_query_json_list_array(query, _param, funcstr='get_course_json', funcdic={})
def get_task_record_list(self, taskid, _param): """ 得到作业记录列表 :param taskid: :return: """ query = TaskRecord.objects.filter(task_id=taskid) query = self.verify_user(query, 'task__course__teacherinfo_id', _param) return utils.gen_query_json_list_array(query, _param)
def get_course_task_list(self, courseid, _param): """ 通过课程的id得到作业的列表 :param courseid: :param _param: :return: """ query = Task.objects.filter(course_id=courseid) return utils.gen_query_json_list_array(query, _param)
def get_teacher_course_list(self, _param): """ 获取老师的课程列表 :param teacherid: :return: """ query = ClassCourseInfo.objects.filter() query = self.verify_user(query, 'teacherinfo_id', _param) return utils.gen_query_json_list_array(query, _param, funcstr='get_course_json', funcdic={})
def get_teacher_student_list(self, courseid, _param): """ 通过课程的id得到学生列表 :param courseid: :param _params: :return: """ query = EnrollCourseInfo.objects.filter(gradecourseinfo_id=courseid) query = self.verify_user(query, 'gradecourseinfo__teacherinfo_id', _param) return utils.gen_query_json_list_array(query, _param, funcstr='get_teacher_json', funcdic={})
def get_student_task_list(self, courseid, userid, _param): """ 获取学生的作业记录列表 :param taskid: :param userid: :param _param: :return: """ query = Task.objects.filter(course_id=courseid) return utils.gen_query_json_list_array(query, _param, None, 'get_student_score_json', {'userid': userid})
def getModelList(self, modelname, _param): ''' 获取模型对于的数据列表 @param modelname: @param _param: @return: ''' model = self.getModel(modelname) if not self.check_permission(modelname, 'is_view'): raise ex(u'用户权限不足') query = model.objects.filter() if self.check_permission(modelname, 'is_self'): if self.get_me().isteacher: query = self.verify_user( query, config.model_self_teacher.get(modelname), _param) if self.get_me().isstudent: query = self.verify_user( query, config.model_self_student.get(modelname), _param) if self.get_me().is_teacher_assistant: query = self.verify_user( query, config.model_self_teacher_assistant.get(modelname), _param) if hasattr(model, 'get_list_json'): if hasattr(model, 'showitem'): shwoitem = model.showitem if not hasattr( model.showitem, '__call__') else model.showitem() return gen_query_json_list_array(query, param=_param, showitem=shwoitem, funcstr='get_list_json', funcdic={}) if hasattr(model, 'get_json'): if hasattr(model, 'showitem'): shwoitem = model.showitem if not hasattr( model.showitem, '__call__') else model.showitem() return gen_query_json_list_array(query, param=_param, showitem=shwoitem) return gen_query_json_list_array(query, param=_param) else: raise ex('%s没有get_json()方法' % modelname)
def getUserList(self, _param): """ 获取用户列表 @param _param: @return: """ from base.models import Role query = User.objects.filter() if 'role' in _param: roleids = [r.id for r in Role.objects.filter(role=_param['role'])] if roleids: query = query.filter(role_id__in=roleids) return gen_query_json_list_array(query, _param)
def export_course_excel(self, _param): query = ClassCourseInfo.objects.filter() query = self.verify_user(query, 'teacherinfo_id', _param) listfields = ['courseinfo_name', 'classinfo_name', 'coursestarttime_text', 'courseendtime_text', 'coursetime', 'coursecount', 'studentcount', 'taskcount', 'preenrollcount', 'coursestatus'] data = utils.gen_query_json_list_array(query, _param, listfields=listfields, funcstr='get_course_json', funcdic={}) workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1') datalist = data.items export_header = ('课程名', '班级', '课程开始时间', '课程结束时间', '上课时间', '课时', '学生数', '作业数', '学生预报名数', '课程状态') for index, el in enumerate(export_header): worksheet.write(0, index, el) for index, dl in enumerate(datalist): for index_j, el in enumerate(listfields): worksheet.write(index + 1, index_j, dl[el]) timestrap = str(int(time.time())) path = settings.BASE_DIR + '/media/temp/' + 'export_' + timestrap + '.xls' workbook.save(path) return '/media/temp/' + 'export_' + timestrap + '.xls'