Skip to content

Commit

Permalink
Merge pull request #460 from moevm/373_page_with_criteria
Browse files Browse the repository at this point in the history
373 page with criteria
  • Loading branch information
HadronCollider authored Feb 19, 2024
2 parents f9d3640 + 79c8f7e commit d885e21
Show file tree
Hide file tree
Showing 6 changed files with 112 additions and 5 deletions.
2 changes: 1 addition & 1 deletion app/main/check_packs/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from .base_criterion_pack import BaseCriterionPack
from .pack_config import BASE_PACKS, DEFAULT_TYPE, DEFAULT_TYPE_INFO, DEFAULT_PRES_TYPE_INFO, DEFAULT_REPORT_TYPE_INFO, \
REPORT_TYPES
REPORT_TYPES, BASE_PRES_CRITERION, BASE_REPORT_CRITERION
from .utils import init_criterions
54 changes: 51 additions & 3 deletions app/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
from lti_session_passback.lti import utils
from lti_session_passback.lti.check_request import check_request
from main.check_packs import BASE_PACKS, BaseCriterionPack, DEFAULT_REPORT_TYPE_INFO, DEFAULT_TYPE, REPORT_TYPES, \
init_criterions
init_criterions, BASE_PRES_CRITERION, BASE_REPORT_CRITERION
from root_logger import get_logging_stdout_handler, get_root_logger
from servants import pre_luncher
from tasks import create_task
Expand Down Expand Up @@ -157,10 +157,13 @@ def upload():
else:
abort(401)
elif request.method == "GET":
pack = db_methods.get_criteria_pack(current_user.criteria)
list_of_check = pack['raw_criterions']
check_labels_and_discrpt = {CRITERIA_LABELS[check[0]]: CRITERIA_DESCRIPTION[check[0]] for check in list_of_check}
formats = set(current_user.formats)
file_type = current_user.file_type['type']
formats = formats & ALLOWED_EXTENSIONS[file_type] if formats else ALLOWED_EXTENSIONS[file_type]
return render_template("./upload.html", navi_upload=False, formats=sorted(formats))
return render_template("./upload.html", navi_upload=False, formats=sorted(formats), list_of_check=check_labels_and_discrpt)


@app.route("/tasks", methods=["POST"])
Expand Down Expand Up @@ -270,7 +273,9 @@ def get_status(task_id):
'slides_headers': 'Заголовки слайдов присутствуют и занимают не более двух строк',
'goals_slide': 'Слайд "Цель и задачи"', 'probe_slide': 'Слайд "Апробация работы"',
'actual_slide': 'Слайд с описанием актуальности работы', 'conclusion_slide': 'Слайд с заключением',
'find_slides': 'Поиск ключевого слова в заголовках',
'slide_every_task': 'Наличие слайдов, посвященных задачам',
'find_on_slide': 'Поиск ключевого слова в тексте слайда',
'pres_right_words': 'Проверка наличия определенных (правильных) слов в презентации',
'pres_image_share': 'Проверка доли объема презентации, приходящейся на изображения',
'pres_banned_words_check': 'Проверка наличия запретных слов в презентации',
Expand All @@ -291,9 +296,52 @@ def get_status(task_id):
'image_references': 'Проверка наличия ссылок на все рисунки',
'table_references': 'Проверка наличия ссылок на все таблицы',
'report_section_component': 'Проверка наличия необходимых компонент указанного раздела',
'main_text_check': 'Проверка оформления основного текста отчета'
'main_text_check': 'Проверка оформления основного текста отчета',
'headers_at_page_top_check': 'Проверка расположения разделов первого уровня с новой страницы',
'lr_sections_check': 'Проверка соответствия заголовков разделов требуемым стилям',
'style_check': 'Проверка корректности форматирования текста',
'short_sections_check': "Поиск коротких разделов в отчёте",
'spelling_check': "Проверка наличия орфографических ошибок в тексте",
'future_dev': 'Наличие направлений дальнейшего развития',
}

CRITERIA_DESCRIPTION = {'template_name': 'Шаблон названия: "Презентация_ВКР_Иванов", "ПРЕЗЕНТАЦИЯ_НИР_ИВАНОВ"',
'slides_number': 'Подсчет основных и запасных слайдов',
'slides_enum': 'Проверка наличия и корректности номеров слайдов',
'slides_headers': 'Проверка наличия и корректности заголовков',
'goals_slide': 'Проверка наличия слайда',
'probe_slide': 'Проверка наличия слайда',
'conclusion_slide': 'Проверка наличия слайда',
'find_slides': 'Ключевые слова: "Апробация", "Цели и задачи", "Заключение"',
'find_on_slide': 'Ключевое слово: "Актуальность"',
'slide_every_task': 'Проверка на наличие слайдов',
'pres_right_words': '',
'pres_image_share': 'Доля изображений не должна превышать 0,9',
'pres_banned_words_check': '',
'conclusion_actual': 'Проверка соответствия заключения поставленным задачам (в процентах)',
'conclusion_along': 'Проверка слайда "Заключение"',
'simple_check': 'Проверка отчёта на пустоту страниц',
'banned_words_in_literature': 'Запрещено упоминание слова "wikipedia"',
'banned_words_check': 'Запрещено упоминание слова "мы"',
'page_counter': 'Количество страниц должно быть больше 50ти, не считая "Приложения"',
'image_share_check': 'Доля изображений (не включая "Приложение") не должна превышать 0,9',
'right_words_check': 'Определенное слово: "цель"',
'first_pages_check': 'Обязательные страницы: Титульный лист, Задание на выпускную квалификационную работу, Календарный план, Реферат, Abstract, Cодержание',
'main_character_check': 'И.о. зав. кафедрой: А.А. Лисс',
'needed_headers_check': '',
'header_check': '(Шрифты, отступы и т.д.)',
'literature_references': '',
'image_references': '',
'table_references': '',
'report_section_component': 'Раздел "Введение", компоненты: "цель", "задачи", "объект", "предмет"',
'main_text_check': 'Перечень доспустимых стилей: "Основной текст; ВКР_Основной текст", "ВКР_Подпись таблицы", "ВКР_Подпись для рисунков, схем", "ВКР_Содержимое таблицы"',
'headers_at_page_top_check': '',
'lr_sections_check': '',
'style_check': 'Соответствие допустимым стилям',
'short_sections_check': "Минимальное количество абзацев в разделе: 5, минимальное количество слов в абзаце: 20",
'spelling_check': "",
'future_dev': 'Поиск направления развития в разделе "Заключение"',
}

@app.route("/results/<string:_id>", methods=["GET"])
def results(_id):
Expand Down
29 changes: 29 additions & 0 deletions app/templates/upload.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

{% extends "root.html" %}

{% set title = {'report': "Загрузка отчётов", 'pres': "Загрузка презентаций"}[current_user.file_type['type']] %}
Expand Down Expand Up @@ -58,6 +59,34 @@ <h5 class="texteous ins" id="uploading_label">{{ uploading_label }}</h5>
<div class="text-center">
<button type="button" class="btn btn-block btn-secondary" id="upload_upload_button">Загрузить</button>
</div>
<div>
<br>
<div class="text-center">
<button id="btn_table_info" class="btn btn-text" style="font-size:20px">Подробнее о наборе критериев</button>
</div>
<div class="table_info col-12 col-sm-4 col-md-7 col-lg-8">
<table id="table_info" class="hidden-table">
<tr>
<td class="text-left" style="color:grey;font-size:15px;"><i>Максимальный балл для каждого критерия: <b>1</b>
<br>Итоговый балл считается как сумма полученных баллов / общее количество баллов.</i>
<p>
</td>
</tr>
<tr>
<th scope="col">Критерии:</th>
</tr>
{% for criterion_name, criterion_descrpt in list_of_check.items() %}
<tr data-toggle="collapse" data-target="#verd{{ loop.index }}" class="accordion-toggle">
<td scope="row" class="ins"> <b> <li> {{ criterion_name }} </b>
<p> {% if criterion_descrpt %}
{{ criterion_descrpt }}
{% endif %}
</td>
{% endfor %}
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
Expand Down
1 change: 1 addition & 0 deletions assets/scripts/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,4 @@ export function collect_values_if_possible(...ids) {
return result;
}
}

15 changes: 14 additions & 1 deletion assets/scripts/upload.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ file_formats = file_formats[file_formats.length - 1];
file_formats = file_formats.replaceAll(" ", "");
file_formats = file_formats.split(",");

$("#btn_table_info").click(function(){
toggleTable('table_info');
});

const showSizeExceedMessage = () => {
alert(
"Объем загружаемых вами файлов превышает максимально разрешенный объем " + (file_upload_limit / 1024 / 1024) + " МБ." +
Expand Down Expand Up @@ -189,4 +193,13 @@ upload_button.click(async () => {
upload_button.prop("disabled", true);
await upload();
}
});
});

function toggleTable(tableId) {
var table = document.getElementById(tableId);
if (table.classList.contains("hidden-table")) {
table.classList.remove("hidden-table");
} else {
table.classList.add("hidden-table");
}
}
16 changes: 16 additions & 0 deletions assets/styles/upload.css
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,19 @@ h5 {
#upload_title {
margin-bottom: 1rem !important;
}

.hidden-table {
display: none;
}

#table_info {
width: 300%;
}

.btn-text {
background: none;
border: none;
padding: 0;
font: inherit;
color: blue;
}

0 comments on commit d885e21

Please sign in to comment.