def post(self): username = self.get_cookie('stuID') if not username: self.redirect('/error') submission_content = self.get_argument('submission_content') submission_files = self.request.files.get('submission_files') homework_id = int(self.get_argument('hw_id', '0')) filepath = '' if submission_files: assert len(submission_files) == 1 for sb_file in submission_files: filename = sb_file['filename'] # TODO: try catch filepath = os.path.join( 'data', 'homework', 'hw_' + str(homework_id), filename) # TODO: this method is unsafe, handle the comflict. with open(filepath, 'wb') as upfile: upfile.write(sb_file['body']) # TODO: find a better file upload way. sbd.insert(username, '', submission_content, time.strftime('%Y-%m-%d %H:%M:%S'), homework_id, filepath, 'submitted') # title is '' self.render('eggs.html', cookie_name=username, messages=md.fetch_message(username))
def get(self): username = self.get_cookie('stuID') self.render('index.html', cookie_name=username, is_admin=adm.is_admin(username), announcements=ad.fetch_all(), messages=md.fetch_message(username))
def get(self): username = self.get_cookie('stuID') if not adm.is_admin(username): self.redirect('/error') self.render('upload_resource.html', cookie_name=username, is_admin=adm.is_admin(username), messages=md.fetch_message(username))
def get(self, para): username = self.get_cookie('stuID') if not username: self.redirect('/error') if para == 'view': homework_list = hd.fetch_all() status_dict = {} enable_submit = {} # True or False for hw in homework_list: hw_id = hw['homework_id'] assert hw_id submission = sbd.fetch_one_submission(username, hw_id) if not submission: status_dict[hw_id] = 'notsubmit' else: status_dict[hw_id] = submission['status'] assert status_dict[hw_id] != 'notsubmit' ddl = time.mktime(time.strptime(hw['deadline'], '%Y-%m-%d %H:%M:%S')) now = time.mktime(time.localtime()) is_enable = now - ddl < 0 enable_submit[hw_id] = is_enable self.render('homework.html', cookie_name=username, homework_list=homework_list, is_admin=adm.is_admin(username), status_dict=status_dict, enable_submit=enable_submit, messages=md.fetch_message(username)) if para == 'assign': if not adm.is_admin(username): self.redirect('/error') self.render('assign_homework.html', cookie_name=username, is_admin=adm.is_admin(username), messages=md.fetch_message(username)) if para == 'delete': if not adm.is_admin(username): self.redirect('/error') homework_id = int(self.get_argument('hw_id')) hd.delete(homework_id) shutil.rmtree(os.path.join('data', 'homework', 'hw_' + str(homework_id))) self.redirect('/homework/view')
def get(self): username = self.get_cookie('stuID') if not username: self.redirect('/error') user_info_list = ui.fetch_member_info() self.render('member.html', cookie_name=username, is_admin=adm.is_admin(username), user_info_list=user_info_list, messages=md.fetch_message(username))
def get(self): username = self.get_cookie('stuID') if not username: self.redirect('/error') resource_list = rd.fetch_all() self.render('resource.html', cookie_name=username, is_admin=adm.is_admin(username), resource_list=resource_list, messages=md.fetch_message(username))
def get(self): username = self.get_cookie('stuID') if not username: self.redirect('/error') homework_id = int(self.get_argument('hw_id', '0')) if homework_id == 0: # cann't get homework id self.redirect('/error') homework_info = hd.fetch_by_id(homework_id) assert homework_info status = 'notsubmit' submission = sbd.fetch_one_submission(username, homework_id) if not submission: status = 'notsubmit' else: status = submission['status'] self.render('submit_homework.html', cookie_name=username, is_admin=adm.is_admin(username), homework_info=homework_info, status=status, messages=md.fetch_message(username))
def get(self): username = self.get_cookie('stuID') if not username: self.redirect('/error') userinfo = ui.fetch(username) info_args = ['username', 'sex', 'email', 'truename', 'mobile', 'self_intro'] info_dict = {} for item in info_args: try: info_dict[item] = userinfo[item] except Exception as e: print(e) info_dict[item] = '' njuid = ud.fetch(username)['njuid'] self.render( 'setting.html', cookie_name=username, is_admin=adm.is_admin(username), njuid=njuid, messages=md.fetch_message(username), **info_dict )
def get(self): username = self.get_cookie('stuID') self.render('error.html', cookie_name=username, messages=md.fetch_message(username))