Skip to content

Commit f2c323e

Browse files
update check formatting for tables / results
1 parent b960574 commit f2c323e

File tree

5 files changed

+23
-27
lines changed

5 files changed

+23
-27
lines changed

app/db/db_methods.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ def set_passbacked_flag(checks_id, flag):
210210
upd_check['$set']['is_passbacked'] = flag
211211
if not (flag is None):
212212
# None - if user without passback
213-
upd_check['$set']['lms_passback_time'] = datetime.now()
213+
upd_check['$set']['lms_passback_time'] = None
214214
check = checks_collection.update_one({'_id': checks_id}, upd_check)
215215
return check if check else None
216216

app/server.py

Lines changed: 5 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
from flask_recaptcha import ReCaptcha
1818

1919
import servants.user as user
20+
from app.utils import format_check_for_table
2021
from db import db_methods
2122
from db.db_types import Check
2223
from lti_session_passback.lti import utils
@@ -26,7 +27,7 @@
2627
from root_logger import get_logging_stdout_handler, get_root_logger
2728
from servants import pre_luncher
2829
from tasks import create_task
29-
from utils import checklist_filter, decorator_assertion, get_file_len, timezone_offset, format_check
30+
from utils import checklist_filter, decorator_assertion, get_file_len, format_check
3031

3132
logger = get_root_logger('web')
3233
UPLOAD_FOLDER = '/usr/src/project/files'
@@ -35,7 +36,7 @@
3536
'report': {'doc', 'odt', 'docx'}
3637
}
3738
DOCUMENT_TYPES = {'Лабораторная работа', 'Курсовая работа', 'ВКР'}
38-
TABLE_COLUMNS = ['Solution', 'User', 'File', 'Pack', 'Check added', 'LMS date', 'Score']
39+
TABLE_COLUMNS = ['Solution', 'User', 'File', 'Criteria', 'Check added', 'LMS date', 'Score']
3940

4041
app = Flask(__name__, static_folder="./../src/", template_folder="./templates/")
4142
app.config.from_pyfile('settings.py')
@@ -419,17 +420,7 @@ def check_list_data():
419420
# construct response
420421
response = {
421422
"total": count,
422-
"rows": [{
423-
"_id": str(item["_id"]),
424-
"filename": item["filename"],
425-
"criteria": item.get('criteria', ''),
426-
"user": item["user"],
427-
"lms-user-id": item["lms_user_id"] if item.get("lms_user_id") else '-',
428-
"upload-date": (item["_id"].generation_time + timezone_offset).strftime("%d.%m.%Y %H:%M:%S"),
429-
"moodle-date": item['lms_passback_time'].strftime("%d.%m.%Y %H:%M:%S") if item.get(
430-
'lms_passback_time') else '-',
431-
"score": item["score"]
432-
} for item in rows]
423+
"rows": [format_check_for_table(item) for item in rows]
433424
}
434425

435426
# return json data
@@ -452,17 +443,7 @@ def get_query(req):
452443

453444
def get_stats():
454445
rows, count = db_methods.get_checks(**get_query(request))
455-
return [{
456-
"_id": str(item["_id"]),
457-
"filename": item["filename"],
458-
"user": item["user"],
459-
"lms-username": item["user"].rsplit('_', 1)[0],
460-
"lms-user-id": item["lms_user_id"] if item.get("lms_user_id") else '-',
461-
"upload-date": (item["_id"].generation_time + timezone_offset).strftime("%d.%m.%Y %H:%M:%S"),
462-
"moodle-date": item['lms_passback_time'].strftime("%d.%m.%Y %H:%M:%S") if item.get(
463-
'lms_passback_time') else '-',
464-
"score": item["score"]
465-
} for item in rows]
446+
return [format_check_for_table(item) for item in rows]
466447

467448

468449
@app.route("/get_csv")

app/templates/check_list.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
<tr>
4949
<th data-field="_id" data-width="160">Upload ID</th>
5050
<th data-field="filename" data-filter-control="input" data-sortable="true">File name</th>
51-
<th data-field="criteria" data-filter-control="input" data-sortable="true">Criteria pack</th>
51+
<th data-field="criteria" data-sortable="true">Criteria pack</th>
5252
{% if current_user.is_admin %}
5353
<th data-field="user" data-filter-control="input" data-sortable="true">Username</th>
5454
<th data-field="lms-user-id" data-sortable="false">User ID</th>

app/utils/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from .checklist_filter import checklist_filter
22
from .converter import convert_to, open_file
33
from .decorators import decorator_assertion
4-
from .formatters import format_check
4+
from .formatters import format_check, format_check_for_table
55
from .get_file_len import get_file_len
66
from .get_text_from_slides import get_text_from_slides
77
from .parse_for_html import format_descriptions, format_header, find_tasks_on_slides_feedback, \

app/utils/formatters.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,18 @@ def format_check(check):
88
return (str(check['_id']), check['user'], check['filename'], check['criteria'],
99
(check['_id'].generation_time + timezone_offset).strftime("%H:%M:%S - %b %d %Y"),
1010
grade_passback_ts, check['score'])
11+
12+
13+
def format_check_for_table(check):
14+
return {
15+
"_id": str(check["_id"]),
16+
"filename": check["filename"],
17+
"criteria": check.get("criteria", ''),
18+
"user": check["user"],
19+
"lms-username": check["user"].rsplit('_', 1)[0],
20+
"lms-user-id": check["lms_user_id"] if check.get("lms_user_id") else '-',
21+
"upload-date": (check["_id"].generation_time + timezone_offset).strftime("%d.%m.%Y %H:%M:%S"),
22+
"moodle-date": check['lms_passback_time'].strftime("%d.%m.%Y %H:%M:%S") if check.get(
23+
'lms_passback_time') else '-',
24+
"score": check["score"]
25+
}

0 commit comments

Comments
 (0)