Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
B
bgerp
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
pub
bgerp
bgerp
Commits
57d0bedd
Commit
57d0bedd
authored
Nov 16, 2019
by
doc@bgerp.org
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
PUBLISH 1335
parent
39cd9e9a
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
67 additions
and
55 deletions
+67
-55
build/changes.txt
build/changes.txt
+4
-0
src/ru/bgcrm/struts/action/BaseAction.java
src/ru/bgcrm/struts/action/BaseAction.java
+8
-4
src/ru/bgcrm/struts/action/LoginAction.java
src/ru/bgcrm/struts/action/LoginAction.java
+17
-18
src/ru/bgcrm/struts/action/MessageAction.java
src/ru/bgcrm/struts/action/MessageAction.java
+3
-1
webapps/WEB-INF/jspf/user/message/list.jsp
webapps/WEB-INF/jspf/user/message/list.jsp
+1
-1
webapps/js/crm.shell.js
webapps/js/crm.shell.js
+24
-0
webapps/user/shell.jsp
webapps/user/shell.jsp
+10
-31
No files found.
build/changes.txt
View file @
57d0bedd
Дата Номер сборки (генерируются автоматически)
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
...
...
src/ru/bgcrm/struts/action/BaseAction.java
View file @
57d0bedd
...
...
@@ -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
());
}
...
...
src/ru/bgcrm/struts/action/LoginAction.java
View file @
57d0bedd
...
...
@@ -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
src/ru/bgcrm/struts/action/MessageAction.java
View file @
57d0bedd
...
...
@@ -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"
,
fals
e
);
final
boolean
reverseOrder
=
form
.
getParamBoolean
(
"order"
,
tru
e
);
Set
<
Integer
>
allowedTypeIds
=
Utils
.
toIntegerSet
(
form
.
getPermission
().
get
(
"allowedTypeIds"
,
""
));
...
...
webapps/WEB-INF/jspf/user/message/list.jsp
View file @
57d0bedd
...
...
@@ -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>
...
...
webapps/js/crm.shell.js
View file @
57d0bedd
...
...
@@ -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
;
...
...
webapps/user/shell.jsp
View file @
57d0bedd
...
...
@@ -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
});
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment