diff --git a/src/main/java/ru/ulstu/conference/controller/ConferenceDashboardView.java b/src/main/java/ru/ulstu/conference/controller/ConferenceDashboardView.java new file mode 100644 index 0000000..388dbfe --- /dev/null +++ b/src/main/java/ru/ulstu/conference/controller/ConferenceDashboardView.java @@ -0,0 +1,71 @@ +package ru.ulstu.conference.controller; + +import ru.ulstu.conference.model.Conference; +import ru.ulstu.conference.service.ConferenceService; +import ru.ulstu.core.util.FacesUtil; +import ru.ulstu.user.service.UserService; + +import javax.annotation.PostConstruct; +import javax.faces.view.ViewScoped; +import javax.inject.Inject; +import javax.inject.Named; +import java.util.ArrayList; +import java.util.List; + +@Named +@ViewScoped +public class ConferenceDashboardView { + @Inject + private ConferenceService conferenceService; + + @Inject + private UserService userService; + + private List conferences; + + private List selectedConferences = new ArrayList<>(); + + private String newConferenceTitle; + + @PostConstruct + public void init() { + conferences = conferenceService.findAllActiveByCurrentUser(); + } + + public List getConferences() { + return conferences; + } + + public void create() { + conferenceService.createByTitle(newConferenceTitle); + FacesUtil.showInfoMessage("Статья создана", newConferenceTitle); + newConferenceTitle = ""; + conferences = conferenceService.findAllActiveByCurrentUser(); + } + + public void deleteSelected() { + conferenceService.delete(selectedConferences); + conferences = conferenceService.findAllActiveByCurrentUser(); + FacesUtil.showInfoMessage("Было удалено статей: " + selectedConferences.size(), ""); + } + + public String getNewConferenceTitle() { + return newConferenceTitle; + } + + public void setNewConferenceTitle(String newConferenceTitle) { + this.newConferenceTitle = newConferenceTitle; + } + + public List getSelectedConferences() { + return selectedConferences; + } + + public void setSelectedConferences(List selectedConferences) { + this.selectedConferences = selectedConferences; + } + + public String getCurrentUser() { + return userService.getCurrentUser().getUserAbbreviate(); + } +} diff --git a/src/main/java/ru/ulstu/conference/controller/ConferenceView.java b/src/main/java/ru/ulstu/conference/controller/ConferenceView.java new file mode 100644 index 0000000..d0d28d2 --- /dev/null +++ b/src/main/java/ru/ulstu/conference/controller/ConferenceView.java @@ -0,0 +1,89 @@ +package ru.ulstu.conference.controller; + +import ru.ulstu.conference.model.Conference; +import ru.ulstu.conference.service.ConferenceService; +import ru.ulstu.core.navigation.Page; +import ru.ulstu.core.util.FacesUtil; +import ru.ulstu.deadline.model.Deadline; +import ru.ulstu.deadline.service.DeadlineService; +import ru.ulstu.user.model.User; +import ru.ulstu.user.service.UserService; + +import javax.annotation.PostConstruct; +import javax.faces.view.ViewScoped; +import javax.inject.Inject; +import javax.inject.Named; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +@Named +@ViewScoped +public class ConferenceView implements Serializable { + @Inject + private ConferenceService conferenceService; + + @Inject + private DeadlineService deadlineService; + + @Inject + private UserService userService; + + private Conference conference; + + private Date newDeadlineDate; + + private String newDeadlineDescription; + + @PostConstruct + public void init() { + conference = conferenceService.findOne(Integer.valueOf(FacesUtil.getRequestParams().get("id"))); + newDeadlineDescription = ""; + newDeadlineDate = new Date(); + FacesUtil.showInfoMessage("Статья открыта", ""); + } + + public Conference getConference() { + return conference; + } + + public void setConference(Conference conference) { + this.conference = conference; + } + + public List getAuthors() { + return userService.findAll(); + } + + public String save() { + conferenceService.save(conference); + FacesUtil.showInfoMessage("Статья сохранена", ""); + return Page.CONFERENCE_LIST + "?faces-redirect=true"; + } + + public Date getNewDeadlineDate() { + return newDeadlineDate; + } + + public void setNewDeadlineDate(Date newDeadlineDate) { + this.newDeadlineDate = newDeadlineDate; + } + + public String getNewDeadlineDescription() { + return newDeadlineDescription; + } + + public void setNewDeadlineDescription(String newDeadlineDescription) { + this.newDeadlineDescription = newDeadlineDescription; + } + + public void deleteDeadline(Deadline deadline) { + conference.getDeadlines().remove(deadline); + } + + public void addDeadline() { + conference.getDeadlines().add(deadlineService.create(newDeadlineDescription, newDeadlineDate)); + newDeadlineDescription = ""; + newDeadlineDate = new Date(); + } +} diff --git a/src/main/java/ru/ulstu/conference/controller/ConferencesView.java b/src/main/java/ru/ulstu/conference/controller/ConferencesView.java new file mode 100644 index 0000000..59fa81c --- /dev/null +++ b/src/main/java/ru/ulstu/conference/controller/ConferencesView.java @@ -0,0 +1,63 @@ +package ru.ulstu.conference.controller; + +import ru.ulstu.conference.model.Conference; +import ru.ulstu.conference.service.ConferenceService; +import ru.ulstu.core.util.FacesUtil; + +import javax.annotation.PostConstruct; +import javax.faces.view.ViewScoped; +import javax.inject.Inject; +import javax.inject.Named; +import java.util.ArrayList; +import java.util.List; + +@Named +@ViewScoped +public class ConferencesView { + @Inject + private ConferenceService conferenceService; + + private List conferences; + + private List selectedConferences = new ArrayList<>(); + + private String newConferenceTitle; + + @PostConstruct + public void init() { + conferences = conferenceService.findAll(); + } + + public void create() { + conferenceService.createByTitle(newConferenceTitle); + FacesUtil.showInfoMessage("Конференция создана", newConferenceTitle); + newConferenceTitle = ""; + conferences = conferenceService.findAll(); + } + + public void deleteSelected() { + conferenceService.delete(selectedConferences); + conferences = conferenceService.findAll(); + FacesUtil.showInfoMessage("Было удалено конференций: " + selectedConferences.size(), ""); + } + + public List getConferences() { + return conferences; + } + + public String getNewConferenceTitle() { + return newConferenceTitle; + } + + public void setNewConferenceTitle(String newConferenceTitle) { + this.newConferenceTitle = newConferenceTitle; + } + + public List getSelectedConferences() { + return selectedConferences; + } + + public void setSelectedConferences(List selectedConferences) { + this.selectedConferences = selectedConferences; + } +} diff --git a/src/main/java/ru/ulstu/conference/model/Conference.java b/src/main/java/ru/ulstu/conference/model/Conference.java index d11901f..941f825 100644 --- a/src/main/java/ru/ulstu/conference/model/Conference.java +++ b/src/main/java/ru/ulstu/conference/model/Conference.java @@ -17,8 +17,6 @@ import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.ManyToMany; import javax.persistence.OneToMany; import javax.persistence.OrderBy; import javax.persistence.Table; @@ -63,18 +61,21 @@ public class Conference extends BaseEntity implements UserActivity, EventSource @OrderBy("date") private List deadlines = new ArrayList<>(); - @ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.EAGER) - @JoinTable(name = "paper_conference", - joinColumns = {@JoinColumn(name = "conference_id")}, - inverseJoinColumns = {@JoinColumn(name = "paper_id")}) - @Fetch(FetchMode.SUBSELECT) + @OneToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) + @JoinColumn(name = "conference_id") private List papers = new ArrayList<>(); - @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER) + @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinColumn(name = "conference_id", unique = true) - @Fetch(FetchMode.SUBSELECT) private List users = new ArrayList<>(); + public Conference() { + } + + public Conference(@NotBlank String title) { + this.title = title; + } + public String getTitle() { return title; } diff --git a/src/main/java/ru/ulstu/conference/model/ConferenceUser.java b/src/main/java/ru/ulstu/conference/model/ConferenceUser.java index f00b9fa..1cc3244 100644 --- a/src/main/java/ru/ulstu/conference/model/ConferenceUser.java +++ b/src/main/java/ru/ulstu/conference/model/ConferenceUser.java @@ -69,6 +69,8 @@ public class ConferenceUser extends BaseEntity { public ConferenceUser(User user) { this.user = user; + this.deposit = Deposit.REPORT; + this.participation = Participation.INTRAMURAL; } @JsonCreator diff --git a/src/main/java/ru/ulstu/conference/service/ConferenceService.java b/src/main/java/ru/ulstu/conference/service/ConferenceService.java index 470e712..5d1ca47 100644 --- a/src/main/java/ru/ulstu/conference/service/ConferenceService.java +++ b/src/main/java/ru/ulstu/conference/service/ConferenceService.java @@ -22,13 +22,14 @@ import ru.ulstu.user.model.User; import ru.ulstu.user.service.UserService; import java.io.IOException; +import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.Date; import java.util.List; import java.util.stream.Collectors; +import static java.util.stream.Collectors.toList; import static org.springframework.util.ObjectUtils.isEmpty; import static ru.ulstu.core.util.StreamApiUtils.convert; @@ -110,30 +111,44 @@ public class ConferenceService extends BaseService { return true; } + public Conference save(Conference conference) { + if (isEmpty(conference.getId())) { + return create(conference); + } else { + return update(conference); + } + } + @Transactional public Conference create(ConferenceDto conferenceDto) throws IOException { - Conference newConference = copyFromDto(new Conference(), conferenceDto); - newConference = conferenceRepository.save(newConference); - conferenceNotificationService.sendCreateNotification(newConference); - eventService.createFromObject(newConference, Collections.emptyList(), false, "конференции"); - return newConference; + return create(copyFromDto(new Conference(), conferenceDto)); + } + + @Transactional + public Conference create(Conference conference) { + conference = conferenceRepository.save(conference); + conferenceNotificationService.sendCreateNotification(conference); + return conference; } @Transactional private Conference update(ConferenceDto conferenceDto) throws IOException { - Conference conference = conferenceRepository.getOne(conferenceDto.getId()); - List oldDeadlines = conference.getDeadlines().stream() + return update(copyFromDto(conferenceRepository.getOne(conferenceDto.getId()), conferenceDto)); + } + + @Transactional + private Conference update(Conference conference) { + Conference oldConference = conferenceRepository.getOne(conference.getId()); + List oldDeadlines = oldConference.getDeadlines().stream() .map(this::copyDeadline) .collect(Collectors.toList()); Date oldBeginDate = conference.getBeginDate(); Date oldEndDate = conference.getEndDate(); - conferenceRepository.save(copyFromDto(conference, conferenceDto)); - eventService.updateConferenceDeadlines(conference); + conferenceRepository.save(conference); sendNotificationAfterUpdateDeadlines(conference, oldDeadlines); if (!conference.getBeginDate().equals(oldBeginDate) || !conference.getEndDate().equals(oldEndDate)) { conferenceNotificationService.updateConferencesDatesNotification(conference, oldBeginDate, oldEndDate); } - conferenceDto.getRemovedDeadlineIds().forEach(deadlineService::remove); return conference; } @@ -147,6 +162,12 @@ public class ConferenceService extends BaseService { return false; } + @Transactional + public boolean delete(List conferences) { + conferences.forEach(conference -> delete(conference.getId())); + return true; + } + public ConferenceDto addDeadline(ConferenceDto conferenceDto) { conferenceDto.getDeadlines().add(new Deadline()); return conferenceDto; @@ -246,7 +267,7 @@ public class ConferenceService extends BaseService { conferenceRepository.updatePingConference(conferenceDto.getId()); } - private Conference findOne(Integer conferenceId) { + public Conference findOne(Integer conferenceId) { return conferenceRepository.getOne(conferenceId); } @@ -315,4 +336,20 @@ public class ConferenceService extends BaseService { public Conference getActiveConferenceByUser(User user) { return conferenceRepository.findActiveByUser(user); } + + public Conference createByTitle(String newConferenceTitle) { + Conference conference = new Conference(newConferenceTitle); + conference.getUsers().add(new ConferenceUser(userService.getCurrentUser())); + conference.getDeadlines().add(deadlineService.createWithOffset(new Date(), 1, ChronoUnit.WEEKS)); + return save(conference); + } + + public List findAllActiveByCurrentUser() { + return findAllActive() + .stream() + .filter(conference -> conference.getUsers() + .stream() + .anyMatch(user -> user.getUser().equals(userService.getCurrentUser()))) + .collect(toList()); + } } diff --git a/src/main/java/ru/ulstu/core/navigation/Page.java b/src/main/java/ru/ulstu/core/navigation/Page.java index 3b3182e..bd86917 100644 --- a/src/main/java/ru/ulstu/core/navigation/Page.java +++ b/src/main/java/ru/ulstu/core/navigation/Page.java @@ -13,7 +13,9 @@ public class Page { public static final String GRANT_DASHBOARD = "/grant/dashboard.xhtml"; public static final String USER_LIST = "/admin/users.xhtml"; public static final String LOGOUT = "/logout"; + public static final String CONFERENCE = "/conference/conference.xhtml"; public static final String CONFERENCE_DASHBOARD = "/conference/dashboard.xhtml"; + public static final String CONFERENCE_LIST = "/conference/conferences.xhtml"; public static final String PROJECT_DASHBOARD = "/conference/dashboard.xhtml"; public String getIndex() { @@ -59,4 +61,12 @@ public class Page { public String getProjectDashboard() { return PROJECT_DASHBOARD; } + + public String getConference() { + return CONFERENCE; + } + + public String getConferenceList() { + return CONFERENCE_LIST; + } } diff --git a/src/main/java/ru/ulstu/paper/model/Paper.java b/src/main/java/ru/ulstu/paper/model/Paper.java index c76acb8..bc86bf8 100644 --- a/src/main/java/ru/ulstu/paper/model/Paper.java +++ b/src/main/java/ru/ulstu/paper/model/Paper.java @@ -21,6 +21,7 @@ import javax.persistence.Enumerated; import javax.persistence.FetchType; import javax.persistence.JoinColumn; import javax.persistence.ManyToMany; +import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.OrderBy; import javax.persistence.Temporal; @@ -126,8 +127,9 @@ public class Paper extends BaseEntity implements UserActivity, EventSource { @Column(name = "latex_text") private String latexText; - @ManyToMany(mappedBy = "papers") - private List conferences; + @ManyToOne() + @JoinColumn(name = "conference_id") + private Conference conference; @ManyToMany(mappedBy = "papers") private List grants; @@ -251,12 +253,12 @@ public class Paper extends BaseEntity implements UserActivity, EventSource { this.latexText = latexText; } - public List getConferences() { - return conferences; + public Conference getConference() { + return conference; } - public void setConferences(List conferences) { - this.conferences = conferences; + public void setConference(Conference conference) { + this.conference = conference; } public List getGrants() { @@ -321,12 +323,12 @@ public class Paper extends BaseEntity implements UserActivity, EventSource { Objects.equals(files, paper.files) && Objects.equals(authors, paper.authors) && Objects.equals(latexText, paper.latexText) && - Objects.equals(conferences, paper.conferences) && + Objects.equals(conference, paper.conference) && Objects.equals(grants, paper.grants); } @Override public int hashCode() { - return Objects.hash(super.hashCode(), title, status, type, createDate, updateDate, deadlines, comment, url, locked, events, files, authors, latexText, conferences, grants); + return Objects.hash(super.hashCode(), title, status, type, createDate, updateDate, deadlines, comment, url, locked, events, files, authors, latexText, conference, grants); } } diff --git a/src/main/java/ru/ulstu/paper/repository/PaperRepository.java b/src/main/java/ru/ulstu/paper/repository/PaperRepository.java index 42d3703..7a8f8dd 100644 --- a/src/main/java/ru/ulstu/paper/repository/PaperRepository.java +++ b/src/main/java/ru/ulstu/paper/repository/PaperRepository.java @@ -21,7 +21,7 @@ public interface PaperRepository extends JpaRepository { List findByStatusNot(Paper.PaperStatus status); - List findByConferencesIsNullAndStatusNot(Paper.PaperStatus status); + List findByConferenceIsNullAndStatusNot(Paper.PaperStatus status); - List findByIdNotInAndConferencesIsNullAndStatusNot(List paperIds, Paper.PaperStatus status); + List findByIdNotInAndConferenceIsNullAndStatusNot(List paperIds, Paper.PaperStatus status); } diff --git a/src/main/java/ru/ulstu/paper/service/PaperService.java b/src/main/java/ru/ulstu/paper/service/PaperService.java index 3d61c7f..4f2be86 100644 --- a/src/main/java/ru/ulstu/paper/service/PaperService.java +++ b/src/main/java/ru/ulstu/paper/service/PaperService.java @@ -334,9 +334,9 @@ public class PaperService { public List findAllNotSelect(List paperIds) { if (!paperIds.isEmpty()) { - return sortPapers(paperRepository.findByIdNotInAndConferencesIsNullAndStatusNot(paperIds, COMPLETED)); + return sortPapers(paperRepository.findByIdNotInAndConferenceIsNullAndStatusNot(paperIds, COMPLETED)); } else { - return sortPapers(paperRepository.findByConferencesIsNullAndStatusNot(COMPLETED)); + return sortPapers(paperRepository.findByConferenceIsNullAndStatusNot(COMPLETED)); } } diff --git a/src/main/resources/META-INF/resources/basicTemplate.xhtml b/src/main/resources/META-INF/resources/basicTemplate.xhtml index 578bea6..9c777cb 100644 --- a/src/main/resources/META-INF/resources/basicTemplate.xhtml +++ b/src/main/resources/META-INF/resources/basicTemplate.xhtml @@ -34,6 +34,10 @@ + + + + diff --git a/src/main/resources/META-INF/resources/conference/conference.xhtml b/src/main/resources/META-INF/resources/conference/conference.xhtml new file mode 100644 index 0000000..deb39a6 --- /dev/null +++ b/src/main/resources/META-INF/resources/conference/conference.xhtml @@ -0,0 +1,124 @@ + + + + + + Редактирование конференции + + + + +
+
+
+ +
+
+ + +
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+
+ + + + + + + + +
+
+ +
+
+
+
+ +
+ +
+
+ +
+
+ + + +
+
+
+ +
+
+ +
+
+ + + +
+
+
+
+ +
+ +
+
+ +
+
+

+ Конференция создана +

+

+ Конференция обновлена +

+
+
+ +
+
+
+
+
+
+ diff --git a/src/main/resources/META-INF/resources/conference/conferenceStatusFragment.xhtml b/src/main/resources/META-INF/resources/conference/conferenceStatusFragment.xhtml new file mode 100644 index 0000000..cb23a05 --- /dev/null +++ b/src/main/resources/META-INF/resources/conference/conferenceStatusFragment.xhtml @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/src/main/resources/META-INF/resources/conference/conferences.xhtml b/src/main/resources/META-INF/resources/conference/conferences.xhtml new file mode 100644 index 0000000..28d72d9 --- /dev/null +++ b/src/main/resources/META-INF/resources/conference/conferences.xhtml @@ -0,0 +1,79 @@ + + + + + + + + +
+
+
+ + +
+
+ + +
+
+ + + +
+ + + + +
+ + + + + + + + + + + + + + + + + #{conference.title} + + + + +
+
+
+
+ diff --git a/src/main/resources/META-INF/resources/conference/dashboard.xhtml b/src/main/resources/META-INF/resources/conference/dashboard.xhtml new file mode 100644 index 0000000..b8b5a81 --- /dev/null +++ b/src/main/resources/META-INF/resources/conference/dashboard.xhtml @@ -0,0 +1,81 @@ + + + + + + + + +
+
+
+ + +
+
+ + +
+
+ + + +
+ + + + +
+ + + + + + + + + + + + + + + + + #{conference.title} + + + + +
+
+
+
+ diff --git a/src/main/resources/META-INF/resources/error/404.xhtml b/src/main/resources/META-INF/resources/error/404.xhtml index c19d4f4..598c7db 100644 --- a/src/main/resources/META-INF/resources/error/404.xhtml +++ b/src/main/resources/META-INF/resources/error/404.xhtml @@ -6,14 +6,14 @@ Страница не найдена - + - +
- + Вернуться на главную diff --git a/src/main/resources/META-INF/resources/grant/dashboard.xhtml b/src/main/resources/META-INF/resources/grant/dashboard.xhtml index 415eeef..a394873 100644 --- a/src/main/resources/META-INF/resources/grant/dashboard.xhtml +++ b/src/main/resources/META-INF/resources/grant/dashboard.xhtml @@ -33,7 +33,7 @@ action="#{grantDashboardView.deleteSelected}" ajax="true" process="mainForm:grantsRemoveButton" update="messages mainForm:grantsTable"> -
diff --git a/src/main/resources/db/0.1.0/changelog-20200427_164000-schema.xml b/src/main/resources/db/0.1.0/changelog-20200427_164000-schema.xml new file mode 100644 index 0000000..fc2e09e --- /dev/null +++ b/src/main/resources/db/0.1.0/changelog-20200427_164000-schema.xml @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/src/main/resources/db/0.1.0/changelog.xml b/src/main/resources/db/0.1.0/changelog.xml new file mode 100644 index 0000000..3f056d2 --- /dev/null +++ b/src/main/resources/db/0.1.0/changelog.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/src/main/resources/db/changelog-master.xml b/src/main/resources/db/changelog-master.xml index 39d79cb..e23b3b8 100644 --- a/src/main/resources/db/changelog-master.xml +++ b/src/main/resources/db/changelog-master.xml @@ -55,4 +55,5 @@ + \ No newline at end of file diff --git a/src/main/resources/mail_templates/conferenceCreateNotification.html b/src/main/resources/mail_templates/conferenceCreateNotification.html index 055e85d..68cc01a 100644 --- a/src/main/resources/mail_templates/conferenceCreateNotification.html +++ b/src/main/resources/mail_templates/conferenceCreateNotification.html @@ -10,7 +10,7 @@ Уважаемый(ая) Ivan Ivanov

- Была создана новая конференция: " + Была создана новая конференция: " Title".
Спешите принять участие! diff --git a/src/main/resources/mail_templates/conferenceDeadlineNotification.html b/src/main/resources/mail_templates/conferenceDeadlineNotification.html index 77c89b1..0351e4d 100644 --- a/src/main/resources/mail_templates/conferenceDeadlineNotification.html +++ b/src/main/resources/mail_templates/conferenceDeadlineNotification.html @@ -10,7 +10,7 @@ Уважаемый(ая) Ivan Ivanov

- Приближается дедлайн конференции " + Приближается дедлайн конференции " Title".

diff --git a/src/main/resources/mail_templates/conferencePingNotification.html b/src/main/resources/mail_templates/conferencePingNotification.html index a80a3f2..6820b67 100644 --- a/src/main/resources/mail_templates/conferencePingNotification.html +++ b/src/main/resources/mail_templates/conferencePingNotification.html @@ -10,7 +10,7 @@ Уважаемый(ая) Ivan Ivanov

- Конференция " + Конференция " Title" была пропингована раз.
diff --git a/src/main/resources/mail_templates/conferenceUpdateDatesNotification.html b/src/main/resources/mail_templates/conferenceUpdateDatesNotification.html index 479336f..56c472b 100644 --- a/src/main/resources/mail_templates/conferenceUpdateDatesNotification.html +++ b/src/main/resources/mail_templates/conferenceUpdateDatesNotification.html @@ -10,7 +10,7 @@ Уважаемый(ая) Ivan Ivanov

- Даты проведения конференции " + Даты проведения конференции " Title" изменились с
"oldBeginDate" - diff --git a/src/main/resources/mail_templates/conferenceUpdateDeadlinesNotification.html b/src/main/resources/mail_templates/conferenceUpdateDeadlinesNotification.html index f010fb8..8a9a4c6 100644 --- a/src/main/resources/mail_templates/conferenceUpdateDeadlinesNotification.html +++ b/src/main/resources/mail_templates/conferenceUpdateDeadlinesNotification.html @@ -10,7 +10,7 @@ Уважаемый(ая) Ivan Ivanov

- Дедлайны конференции " + Дедлайны конференции " Title" притерпели изменения.
Ознакомтесь с изменениями. diff --git a/src/main/resources/mail_templates/grantAuthorsChangeNotification.html b/src/main/resources/mail_templates/grantAuthorsChangeNotification.html index 2bae4fe..ada7a3f 100644 --- a/src/main/resources/mail_templates/grantAuthorsChangeNotification.html +++ b/src/main/resources/mail_templates/grantAuthorsChangeNotification.html @@ -10,7 +10,7 @@ Уважаемый(ая) Ivan Ivanov

- Состав рабочей группы гранта "Title" сменился с " oldAuthors" на " newAuthors". diff --git a/src/main/resources/mail_templates/grantCreateNotification.html b/src/main/resources/mail_templates/grantCreateNotification.html index 69736cd..c8333dc 100644 --- a/src/main/resources/mail_templates/grantCreateNotification.html +++ b/src/main/resources/mail_templates/grantCreateNotification.html @@ -10,7 +10,7 @@ Уважаемый(ая) Ivan Ivanov

- Был добавлен новый грант: " + Был добавлен новый грант: " Title".

diff --git a/src/main/resources/mail_templates/grantDeadlineNotification.html b/src/main/resources/mail_templates/grantDeadlineNotification.html index 190ef67..01d168b 100644 --- a/src/main/resources/mail_templates/grantDeadlineNotification.html +++ b/src/main/resources/mail_templates/grantDeadlineNotification.html @@ -10,7 +10,7 @@ Уважаемый(ая) Ivan Ivanov

- Приближается дедлайн гранта "Title".

diff --git a/src/main/resources/mail_templates/grantLeaderChangeNotification.html b/src/main/resources/mail_templates/grantLeaderChangeNotification.html index c6a37e0..35bb54a 100644 --- a/src/main/resources/mail_templates/grantLeaderChangeNotification.html +++ b/src/main/resources/mail_templates/grantLeaderChangeNotification.html @@ -10,7 +10,7 @@ Уважаемый(ая) Ivan Ivanov

- Руководитель гранта "Title" сменился с "oldLeader" на "newLeader". diff --git a/src/main/resources/mail_templates/paperCreateNotification.html b/src/main/resources/mail_templates/paperCreateNotification.html index 82362bd..87d070a 100644 --- a/src/main/resources/mail_templates/paperCreateNotification.html +++ b/src/main/resources/mail_templates/paperCreateNotification.html @@ -10,7 +10,8 @@ Уважаемый(ая) Ivan Ivanov

- Вам нужно поработать над статьей "Title". + Вам нужно поработать над статьей "Title".

diff --git a/src/main/resources/mail_templates/paperDeadlineNotification.html b/src/main/resources/mail_templates/paperDeadlineNotification.html index fb5ff32..7b245c4 100644 --- a/src/main/resources/mail_templates/paperDeadlineNotification.html +++ b/src/main/resources/mail_templates/paperDeadlineNotification.html @@ -10,7 +10,8 @@ Уважаемый(ая) Ivan Ivanov

- Приближается дедлайн статьи "Title". + Приближается дедлайн статьи "Title".

Срок исполнения: . diff --git a/src/main/resources/mail_templates/paperFailedNotification.html b/src/main/resources/mail_templates/paperFailedNotification.html index e17ee38..1c9fd8c 100644 --- a/src/main/resources/mail_templates/paperFailedNotification.html +++ b/src/main/resources/mail_templates/paperFailedNotification.html @@ -10,8 +10,9 @@ Уважаемый(ая) Ivan Ivanov

- Статья "Title" провалена. - Предыдущий статус - "oldStatus". + Статья "Title" провалена. + Предыдущий статус - "oldStatus".

Regards, diff --git a/src/main/resources/mail_templates/paperStatusChangeNotification.html b/src/main/resources/mail_templates/paperStatusChangeNotification.html index db58347..fd9ce6e 100644 --- a/src/main/resources/mail_templates/paperStatusChangeNotification.html +++ b/src/main/resources/mail_templates/paperStatusChangeNotification.html @@ -10,8 +10,10 @@ Уважаемый(ая) Ivan Ivanov

- Статус статьи "Title" сменился с - "oldStatus" на "newStatus". + Статус статьи "Title" сменился с + "oldStatus" на "newStatus".

Regards,