Commit 57d0bedd authored by doc@bgerp.org's avatar doc@bgerp.org

PUBLISH 1335

parent 39cd9e9a
Дата Номер сборки (генерируются автоматически)
A - Добавлено, C - Изменено, F - Исправлено
16.11.2019 23:37:49 1335
A: Сохранение выбранной сортировки и типа в просмотре сообщений, обратная сортировка по-умолчанию.
C: Рефакторинг в JS, функция createMenu извлечена из JSP.
04.11.2019 02:50:59 1334
A: Отключена проверка лицензий всвязи с открытием кода проекта, https://bgerp.ru/price.shtml
......
......@@ -533,10 +533,14 @@ public class BaseAction extends DispatchAction {
// параметр не пришёл в запросе - восстановление
if (form.getParamArray(param) == null) {
//TODO: Хранение с разделителями запятыми, может поправить потом.
if (get && prefs.containsKey(key))
form.setParamArray(param, Utils.toList(prefs.get(key)));
} else if (set)
prefs.set(key, Utils.toString(form.getSelectedValuesListStr(param)));
if (get && prefs.containsKey(key)) {
form.setParamArray(param, Utils.toList(prefs.get(key)));
log.debug("Restore param: %s, key: %s", param, key);
}
} else if (set) {
prefs.put(key, Utils.toString(form.getSelectedValuesListStr(param)));
log.debug("Store param: %s, key: %s", param, key);
}
}
new UserDAO(con).updatePersonalization(valueBefore, form.getUser());
}
......
......@@ -12,29 +12,28 @@ import ru.bgcrm.util.sql.ConnectionSet;
import ru.bgerp.i18n.Localization;
public class LoginAction extends BaseAction {
@Override
protected ActionForward unspecified(ActionMapping mapping, DynActionForm form, ConnectionSet conSet)
throws Exception {
//TODO: Когда будет сделано событие авторизации, сделать его слушателя в LoginEventListener.
User user = form.getUser();
if (user != null) {
String onLoginOpen = user.getConfigMap().get("onLoginOpen");
if (Utils.notBlankString(onLoginOpen)) {
LoginEventListener.addOnLoginEvent(form.getUserId(), new UrlOpenEvent(onLoginOpen));
}
}
form.getHttpRequest().setAttribute("l", Localization.getLocalizer());
protected ActionForward unspecified(ActionMapping mapping, DynActionForm form, ConnectionSet conSet)
throws Exception {
//TODO: Когда будет сделано событие авторизации, сделать его слушателя в LoginEventListener.
User user = form.getUser();
if (user != null) {
String onLoginOpen = user.getConfigMap().get("onLoginOpen");
if (Utils.notBlankString(onLoginOpen))
LoginEventListener.addOnLoginEvent(form.getUserId(), new UrlOpenEvent(onLoginOpen));
}
form.getHttpRequest().setAttribute("l", Localization.getLocalizer());
// вывод страницы авторизации если responseType=html
return processUserTypedForward(conSet, mapping, form, FORWARD_DEFAULT);
}
// вывод страницы авторизации если responseType=html
return processUserTypedForward(conSet, mapping, form, FORWARD_DEFAULT);
}
public ActionForward logout(ActionMapping mapping, DynActionForm form, ConnectionSet conSet)
throws Exception {
form.getHttpRequest().getSession(true).invalidate();
return processJsonForward(conSet, form);
}
}
\ No newline at end of file
......@@ -273,8 +273,10 @@ public class MessageAction extends BaseAction {
public ActionForward messageList(ActionMapping mapping, DynActionForm form, final ConnectionSet conSet)
throws BGException {
restoreRequestParams(conSet.getConnection(), form, true, true, "order", "typeId");
boolean processed = form.getParamBoolean("processed", false);
final boolean reverseOrder = form.getParamBoolean("order", false);
final boolean reverseOrder = form.getParamBoolean("order", true);
Set<Integer> allowedTypeIds = Utils.toIntegerSet(form.getPermission().get("allowedTypeIds", ""));
......
......@@ -118,8 +118,8 @@
hiddenName="order" value="${form.param.order}" prefixText="Сортировка:"
widthTextValue="20px" onSelect="${script}">
<jsp:attribute name="valuesHtml">
<li value="0">Прямая</li>
<li value="1">Обратная</li>
<li value="0">Прямая</li>
</jsp:attribute>
</ui:combo-single>
......
......@@ -19,6 +19,29 @@ bgerp.shell = new function () {
if (event)
event.preventDefault();
};
const createMenu = function($launcher, $menu, align) {
$menu.menu().hide();
// пустые пункты меню
$menu.find( "a:not([onclick])" ).click(function (event) {
return false;
});
$launcher.click(function () {
$menu.show().position({
my: align + " top",
at: align + " bottom",
of: this
});
$(document).one("click", function () {
$menu.hide();
});
return false;
});
};
const getCommandDiv = function (command, closable) {
var $commandDiv = $("body > #content > div#" + command );
......@@ -466,6 +489,7 @@ bgerp.shell = new function () {
};
// доступные функции
this.createMenu = createMenu;
this.initBuffer = initBuffer;
this.contentLoad = contentLoad;
this.followLink = followLink;
......
......@@ -78,18 +78,18 @@
<ul id="${uiidProfileMenu}" style="display: none;">
<li><a href="/user/profile" onclick="bgerp.shell.followLink(this.href, event)">${l.l('Профиль')}</a></li>
<li><a href="/user/userProcesses" onclick="bgerp.shell.followLink(this.href, event)">${l.l('Мои процессы')}</a></li>
<%-- отсутствие onclick отключит этот пункт меню --%>
<li><a href="UNDEF" onclick="bgerp.ajax.post('/login.do?action=logout').done(() => window.location.href = '/user'); return false;">${l.l('Выход')}</a></li>
<%-- отсутствие onclick отключит этот пункт меню --%>
<li><a href="UNDEF" onclick="bgerp.ajax.post('/login.do?action=logout').done(() => window.location.href = '/user'); return false;">${l.l('Выход')}</a></li>
</ul>
</div>
<%-- TODO: Переместить большую часть функций в bgcrm.shell, файл crm.shell.js --%>
<%-- TODO: Переместить большую часть функций в bgcrm.shell, файл crm.shell.js --%>
<script>
var menuItems = bgcrm.menuItems = {};
const menuItems = bgcrm.menuItems = {};
${menuItemsJS}
<%-- перенос настроек персонализации в bgcrm.pers для использования в JS скриптах --%>
<%-- перенос настроек персонализации в bgcrm.pers для использования в JS скриптах --%>
<c:forEach var="pair" items="${ctxUser.personalizationMap}">
bgcrm.pers['${pair.key}'] = '${pair.value}';
</c:forEach>
......@@ -98,7 +98,7 @@
let url = null;
let bgcolor = null;
let m = null;
let m = null;
if (false) {}
<c:set var="endpoint" value="user.url.jsp"/>
<%@ include file="/WEB-INF/jspf/plugin_include.jsp"%>
......@@ -108,29 +108,8 @@
bgerp.shell.initBuffer();
$(function () {
const createMenu = function($launcher, $menu, align) {
$menu.menu().hide();
// пустые пункты меню
$menu.find( "a:not([onclick])" ).click(function (event) {
return false;
});
$launcher.click(function () {
$menu.show().position({
my: align + " top",
at: align + " bottom",
of: this
});
$(document).one("click", function () {
$menu.hide();
});
return false;
});
};
$(function () {
const createMenu = $$.shell.createMenu;
createMenu($("#${uiidButtonMenu}"), $("#${uiidCommandMenu}"), "left");
......@@ -144,11 +123,11 @@
timer();
</c:if>
const setSize = function () {
const setSize = function () {
// куда деваются ещё 10 пикселей - непонятно
const width = $('#headWrap').width() -
$('#head > button').outerWidth() -
$('#head > span.right').outerWidth() - 10;
$('#head > span.right').outerWidth() - 10;
$('#taskPanel').css({'max-width': width});
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment