code: def page(self, course, username):
          
          data = list(self.database.user_tasks.find({"username": username, "courseid": course.get_id()}))
  
          tasks = course.get_tasks()
          result = dict([(taskid, {"taskid": taskid, "name": tasks[taskid].get_name(self.user_manager.session_language()),
                                   "tried": 0, "status": "notviewed", "grade": 0,
                                   "url": self.submission_url_generator(username, taskid)}) for taskid in tasks])
  
          for taskdata in data:
              if taskdata["taskid"] in result:
                  result[taskdata["taskid"]]["tried"] = taskdata["tried"]
                  if taskdata["tried"] == 0:
                      result[taskdata["taskid"]]["status"] = "notattempted"
                  elif taskdata["succeeded"]:
                      result[taskdata["taskid"]]["status"] = "succeeded"
                  else:
                      result[taskdata["taskid"]]["status"] = "failed"
                  result[taskdata["taskid"]]["grade"] = taskdata["grade"]
                  result[taskdata["taskid"]]["submissionid"] = str(taskdata["submissionid"])
  
          if "csv" in web.input():
              return make_csv(result)
  
          results = sorted(list(result.values()), key=lambda result: (tasks[result["taskid"]].get_order(), result["taskid"]))
          return self.template_helper.get_renderer().course_admin.student_info(course, username, results)
docs: Get all data and display the page