Beispiel #1
0
 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={})
Beispiel #2
0
 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)
Beispiel #3
0
 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)
Beispiel #4
0
 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={})
Beispiel #5
0
 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={})
Beispiel #6
0
 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})
Beispiel #7
0
 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)
Beispiel #8
0
 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)
Beispiel #9
0
 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'