221 lines
14 KiB
HTML
221 lines
14 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en"
|
||
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||
layout:decorator="default" xmlns:th="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/html">
|
||
<head>
|
||
<link rel="stylesheet" href="../css/grant.css"/>
|
||
</head>
|
||
<body>
|
||
|
||
<div class="container" layout:fragment="content">
|
||
<section id="grant">
|
||
<div class="container">
|
||
<div class="row">
|
||
<div class="col-lg-12 text-center">
|
||
<h2 class="section-heading text-uppercase">Редактирование гранта</h2>
|
||
<div th:replace="grants/fragments/grantNavigationFragment"/>
|
||
</div>
|
||
</div>
|
||
<hr/>
|
||
<div class="row">
|
||
<div class="col-lg-12">
|
||
<form id="grant-form" method="post" th:action="@{'/grants/grant?id='+ *{id == null ? '' : id} + ''}"
|
||
th:object="${grantDto}">
|
||
<div class="row">
|
||
<div class="col-md-6 col-sm-12">
|
||
<input type="hidden" name="id" th:field="*{id}"/>
|
||
<div class="form-group">
|
||
<label for="title">Название:</label>
|
||
<input class="form-control" id="title" type="text"
|
||
placeholder="Название гранта"
|
||
th:field="*{title}"/>
|
||
<p th:if="${#fields.hasErrors('title')}" th:errors="*{title}"
|
||
class="alert alert-danger">Incorrect title</p>
|
||
<p class="help-block text-danger"></p>
|
||
</div>
|
||
<div class="form-group">
|
||
<label for="status">Статус:</label>
|
||
<select class="form-control" th:field="*{status}" id="status">
|
||
<option th:each="status : ${allStatuses}" th:value="${status}"
|
||
th:text="${status.statusName}">Status
|
||
</option>
|
||
</select>
|
||
</div>
|
||
<div class="form-group">
|
||
<label for="comment">Комментарий:</label>
|
||
<textarea class="form-control" rows="3" id="comment"
|
||
th:field="*{comment}"></textarea>
|
||
</div>
|
||
<div class="form-group">
|
||
<label>Дедлайны показателей:</label>
|
||
<div class="row" th:each="deadline, rowStat : *{deadlines}">
|
||
<input type="hidden" th:field="*{deadlines[__${rowStat.index}__].id}"/>
|
||
<div class="col-6 div-deadline-date">
|
||
<input type="date" class="form-control form-deadline-date" name="deadline"
|
||
th:field="*{deadlines[__${rowStat.index}__].date}"/>
|
||
</div>
|
||
<div class="col-4 div-deadline-description">
|
||
<input class="form-control" type="text" placeholder="Описание"
|
||
th:field="*{deadlines[__${rowStat.index}__].description}"/>
|
||
</div>
|
||
<div class="col-2">
|
||
<a class="btn btn-danger float-right"
|
||
th:onclick="|$('#deadlines${rowStat.index}\\.description').val('');
|
||
$('#deadlines${rowStat.index}\\.date').val('');
|
||
$('#addDeadline').click();|"><span
|
||
aria-hidden="true"><i class="fa fa-times"/></span>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
<p th:if="${#fields.hasErrors('deadlines')}" th:errors="*{deadlines}"
|
||
class="alert alert-danger">Incorrect title</p>
|
||
</div>
|
||
<div class="form-group">
|
||
<input type="submit" id="addDeadline" name="addDeadline" class="btn btn-primary"
|
||
value="Добавить дедлайн"/>
|
||
</div>
|
||
<div class="form-group">
|
||
<label for="loader">Загрузить заявку:</label>
|
||
<div id="loader">
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-md-6 col-sm-12">
|
||
<label data-toggle="collapse"
|
||
href="#collapse-filter"
|
||
aria-expanded="false"
|
||
aria-controls="collapse-filter">Фильтр рабочей группы
|
||
</label>
|
||
<div th:class="${grantDto.wasLeader || grantDto.hasAge || grantDto.hasDegree} ?
|
||
'form-check' : 'form-check collapse'" id="collapse-filter">
|
||
<div class="row">
|
||
<div class="col">
|
||
<input class="form-check-input" type="checkbox" id="f1"
|
||
th:field="*{wasLeader}" th:onclick="|$('#filter').click();|"/>
|
||
<label class="form-check-label" for="f1">Был руководителем проекта</label>
|
||
</div>
|
||
<div class="col">
|
||
<input class="form-check-input" type="checkbox" id="f2"
|
||
th:field="*{hasAge}" th:onclick="|$('#filter').click();|"/>
|
||
<label class="form-check-label" for="f2">Младше 35 лет</label>
|
||
</div>
|
||
</div>
|
||
<div class="row">
|
||
<div class="col">
|
||
<input class="form-check-input" type="checkbox" id="f3"
|
||
th:field="*{hasDegree}" th:onclick="|$('#filter').click();|"/>
|
||
<label class="form-check-label" for="f3">Cтепень к.т.н.</label>
|
||
</div>
|
||
<div class="col">
|
||
<input class="form-check-input" type="checkbox" id="f4"/>
|
||
<label class="form-check-label" for="f4">Более 3-х публикаций в
|
||
scopus</label>
|
||
</div>
|
||
</div>
|
||
<div class="row">
|
||
<div class="col">
|
||
<input class="form-check-input" type="checkbox" id="f5"/>
|
||
<label class="form-check-label" for="f5">Наличие ВАК статей</label> <br/>
|
||
</div>
|
||
<div class="col">
|
||
<input class="form-check-input" type="checkbox" id="f6"/>
|
||
<label class="form-check-label" for="f6">Наименьшая загруженность</label>
|
||
</div>
|
||
</div>
|
||
<input type="submit" hidden="hidden" id="filter" name="filterUsers"
|
||
value="Применить фильтр"/>
|
||
<hr/>
|
||
</div>
|
||
<div class="form-group">
|
||
<label>Руководитель проекта:</label>
|
||
<select class="form-control" th:field="*{leaderId}" id="leaderId"
|
||
onchange="updateAuthors();">
|
||
<option selected="selected" hidden="hidden" th:value="-1">-- Выберите
|
||
руководителя --
|
||
</option>
|
||
<option th:each="leader : ${allAuthors}" th:value="${leader.id}"
|
||
th:text="${leader.lastName}"> Руководитель
|
||
</option>
|
||
</select>
|
||
<p th:if="${#fields.hasErrors('leaderId')}" th:errors="*{leaderId}"
|
||
class="alert alert-danger">Choose leader</p>
|
||
<p class="help-block text-danger"></p>
|
||
</div>
|
||
<div class="form-group">
|
||
<label>Участники гранта:</label>
|
||
<select class="selectpicker form-control" multiple="true"
|
||
title="-- Выберите участников --" id="authors"
|
||
th:field="*{authorIds}">
|
||
<option th:each="author : ${allAuthors}" th:value="${author.id}"
|
||
th:text="${author.lastName}"> Участник
|
||
</option>
|
||
</select>
|
||
</div>
|
||
<div class="form-group">
|
||
<label>Список статей:</label>
|
||
<p><a href="./#" class="btn btn-primary"><i class="fa fa-plus-circle"
|
||
aria-hidden="true">
|
||
</i> Добавить статью</a></p>
|
||
</div>
|
||
<div class="form-group">
|
||
<div th:if="*{project} == null">
|
||
<input type="submit" name="createProject" class="btn btn-primary"
|
||
value="Добавить проект"/>
|
||
</div>
|
||
<input type = "hidden" th:field="*{project.id}"/>
|
||
</div>
|
||
</div>
|
||
<div class="clearfix"></div>
|
||
<div class="col-lg-12">
|
||
<div class="form-group">
|
||
<button id="sendMessageButton" name="save" class="btn btn-success text-uppercase"
|
||
type="submit">
|
||
Сохранить
|
||
</button>
|
||
<button id="cancelButton" class="btn btn-default text-uppercase" href="/grants/grants">
|
||
Отмена
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<script type="text/javascript" src="/js/file-loader.js"></script>
|
||
<script>
|
||
/*<![CDATA[*/
|
||
$(document).ready(function () {
|
||
new FileLoader({
|
||
div: "loader",
|
||
url: urlFileUpload,
|
||
maxSize: 1.5,
|
||
extensions: ["doc", "docx", "xls", "jpg", "pdf", "txt", "png"],
|
||
callback: function (response) {
|
||
showFeedbackMessage("Файл успешно загружен");
|
||
console.debug(response);
|
||
}
|
||
});
|
||
$('.selectpicker').selectpicker();
|
||
});
|
||
/*]]>*/
|
||
|
||
|
||
|
||
|
||
</script>
|
||
<script type="text/javascript">
|
||
function updateAuthors() {
|
||
$("#authors").val('default');
|
||
$("#authors").selectpicker("refresh");
|
||
$("#authors").children('option:disabled').prop('disabled', false);
|
||
var lid = $("#leaderId option:selected").val();
|
||
$("#authors [value='" + lid + "']").attr("disabled", "disabled");
|
||
}
|
||
</script>
|
||
</div>
|
||
</body>
|
||
</html>
|