2024-05-02 14:15:23 +04:00

216 lines
14 KiB
HTML

<!DOCTYPE html>
<html lang="en"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorate="~{default}" xmlns:th="">
<head>
<link rel="stylesheet" type="text/css" href="../css/conference.css"/>
</head>
<body>
<div layout:fragment="content">
<section id="conference">
<div class="container">
<div class="row">
<div class="col-lg-12">
<h5 class="section-heading text-uppercase text-center">Редактирование конференции</h5>
<div th:replace="conferences/fragments/confNavigationFragment"/>
</div>
</div>
<hr/>
<div class="row">
<div class="col-lg-12">
<form id="conference-form" method="post"
th:action="@{'/conferences/conference?id='+ *{id == null ? '' : id} + ''}"
th:object="${conferenceDto}">
<div class="row">
<div class="col-md-7 col-sm-12">
<input type="hidden" name="id" th:field="*{id}"/>
<div class="form-group">
<label for="title">Название:</label>
<input class="form-control" th:field="*{title}" id="title" type="text"
placeholder="Название конференции"/>
</div>
<p th:if="${#fields.hasErrors('title')}" th:errors="*{title}"
class="alert alert-danger">Incorrect title</p>
<p class="help-block text-danger"></p>
<div class="form-group">
<label for="url">URL:</label>
<input class="form-control" th:field="*{url}" id="url" type="text"
placeholder="http://"/>
</div>
<p th:if="${#fields.hasErrors('url')}" th:errors="*{url}"
class="alert alert-danger">Incorrect description</p>
<p class="help-block text-danger"></p>
<div class="form-group">
<label for="description">Описание:</label>
<textarea class="form-control" rows="8" th:field="*{description}" id="description">
</textarea>
</div>
<p th:if="${#fields.hasErrors('description')}" th:errors="*{description}"
class="alert alert-danger">Incorrect description</p>
<p class="help-block text-danger"></p>
<div class="form-group">
<label for="deadlines">Дедлайны:</label>
<div class="deadline-list form-control list-group" id="deadlines">
<input type="hidden" th:field="*{removedDeadlineIds}"/>
<div class="deadline d-flex p-0 list-group-item list-group-horizontal"
th:each="deadline, rowStat : *{deadlines}">
<input type="hidden" th:field="*{deadlines[__${rowStat.index}__].id}"/>
<input class="deadline-text col-md list-group-item" type="text"
placeholder="Описание"
th:field="*{deadlines[__${rowStat.index}__].description}"/>
<input class="list-group-item" type="date" name="deadline"
th:field="*{deadlines[__${rowStat.index}__].date}"/>
<input type="submit" class="icon icon-delete grey-border"
alt="Удалить" name="removeDeadline" th:value="${rowStat.index}"/>
</div>
</div>
</div>
<p th:if="${#fields.hasErrors('deadlines')}" th:errors="*{deadlines}"
class="alert alert-danger">Incorrect title</p>
<p class="help-block text-danger"></p>
<div class="form-group d-flex justify-content-end">
<input type="submit" id="addDeadline" name="addDeadline"
class="btn btn-primary"
value="Добавить дедлайн"/>
</div>
</div>
<div class="col-md-5 col-sm-12 offset-sm-0">
<div class="form-group">
<label for="dates">Дата проведения:</label>
<div class="row" id="dates">
<div class="d-flex col justify-content-between dates-panel">
<div class="date">
<input class="grey-border form-control" type="date"
th:field="*{beginDate}" id="begin-date"/>
</div>
<div class="date">
<input class="grey-border form-control" type="date"
th:field="*{endDate}" id="end-date"/>
</div>
</div>
</div>
</div>
<p th:if="${#fields.hasErrors('beginDate') || #fields.hasErrors('endDate')}"
th:errors="*{beginDate}"
class="alert alert-danger">Incorrect date</p>
<p class="help-block text-danger"></p>
<div class="form-group">
<label for="members">Участники:</label>
<div class="member-list form-control list-group" id="members">
<div class="member d-flex list-group-item p-0"
th:each="user, rowStat : *{users}">
<input type="hidden" th:field="*{users[__${rowStat.index}__].id}"/>
<input type="hidden" th:field="*{users[__${rowStat.index}__].user}"/>
<input class="member-name w-100" readonly="true"
th:field="*{users[__${rowStat.index}__].user.lastName}"/>
<select class="member-participation w-auto"
th:field="*{users[__${rowStat.index}__].participation}">
<option th:each="participation : ${allParticipation}"
th:value="${participation}"
th:text="${participation.participation}">Participation
</option>
</select>
<select class="member-deposit w-auto"
th:field="*{users[__${rowStat.index}__].deposit}">
<option th:each="deposit : ${allDeposit}" th:value="${deposit}"
th:text="${deposit.deposit}">Deposit
</option>
</select>
</div>
</div>
</div>
<div class="form-group d-flex justify-content-between flex-wrap">
<input id="ping-button" class="btn btn-primary"
type="submit" name="pingConference" value="Ping участникам"
th:disabled="*{id == null ? 'true' : 'false'}"/>
<input type="hidden" th:value="*{disabledTakePart}" th:name="disabledTakePart"/>
<input id="take-part" class="btn btn-primary"
type="submit" name="takePart" value="Принять участие"
th:disabled="*{disabledTakePart}"/>
</div>
<div class="form-group">
<label for="papers">Статьи:</label>
<div class="paper-list form-control list-group" id="papers">
<div class="paper d-flex list-group-item p-0"
th:each="paper, rowStat : *{papers}">
<input type="hidden" th:field="*{papers[__${rowStat.index}__].id}"/>
<input type="hidden" th:field="*{papers[__${rowStat.index}__].title}"/>
<input type="hidden" th:field="*{papers[__${rowStat.index}__].status}"/>
<a class="paper-name"
th:href="@{'/papers/paper?id=' + *{papers[__${rowStat.index}__].id} + ''}"
th:if="*{papers[__${rowStat.index}__].id !=null}">
<span th:replace="~{papers/fragments/paperStatusFragment :: paperStatus(paperStatus=*{papers[__${rowStat.index}__].status},
title=*{papers[__${rowStat.index}__].title}, small=false)}"/>
<span th:text="*{papers[__${rowStat.index}__].title}">
Имя статьи
</span>
</a>
<a class="paper-name"
th:unless="*{papers[__${rowStat.index}__].id !=null}">
<span th:replace="~{papers/fragments/paperStatusFragment :: paperStatus(paperStatus=*{papers[__${rowStat.index}__].status},
title=*{papers[__${rowStat.index}__].title}, small=false)}"/>
<span th:text="*{papers[__${rowStat.index}__].title}">
Имя статьи
</span>
</a>
<input type="submit" class="icon icon-delete grey-border"
alt="Удалить" name="removePaper" th:value="${rowStat.index}"/>
</div>
</div>
</div>
<div class="paper-control form-group d-flex justify-content-end">
<input th:type="hidden" th:field="*{notSelectedPapers}"/>
<select class="selectpicker form-control" multiple="true" data-live-search="true"
title="Прикрепить статью" data-style="btn-primary" data-size="5"
th:field="*{paperIds}">
<option th:each="paper: *{notSelectedPapers}" th:value="${paper.id}"
th:text="${paper.title}">Status
</option>
</select>
<button id="add-paper" class="btn btn-primary"
type="submit" name="addPaper">
Добавить статью
</button>
</div>
</div>
<div class="clearfix"></div>
<div class="col-lg-12">
<div class="form-group d-flex justify-content-between">
<button id="send-message-button" name="save"
class="btn btn-success text-uppercase"
type="submit">
Сохранить
</button>
<a id="cancel-button" class="btn btn-default text-uppercase"
href="/conferences/conferences">
Отмена
</a>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</section>
</div>
</body>
</html>