Map<String, Object> params = new HashMap<>();
params.putAll(prepareModel(form, tmpl.getCurrentUser()));
Section section = null;
if (group!=null) {
section = sectionService.getSection(group.getSectionId());
}
User user = postingUser(tmpl, form);
user.checkBlocked(errors);
IPBlockDao.checkBlockIP(ipBlockInfo, errors, user);
if (group!=null && !groupPermissionService.isTopicPostingAllowed(group, user)) {
errors.reject(null, "Недостаточно прав для постинга тем в эту группу");
}
String message = processMessage(form.getMsg(), form.getMode());
if (user.isAnonymous()) {
if (message.length() > MAX_MESSAGE_LENGTH_ANONYMOUS) {
errors.rejectValue("msg", null, "Слишком большое сообщение");
}
} else {
if (message.length() > MAX_MESSAGE_LENGTH) {
errors.rejectValue("msg", null, "Слишком большое сообщение");
}
}
Screenshot scrn = null;
if (section!=null && groupPermissionService.isImagePostingAllowed(section, tmpl.getCurrentUser())) {
scrn = processUpload(session, image, errors);
if (section.isImagepost() && scrn == null && !errors.hasErrors()) {
errors.reject(null, "Изображение отсутствует");
}
}
Poll poll = null;
if (section!=null && section.isPollPostAllowed()) {
poll = preparePollPreview(form);
}
Topic previewMsg = null;