Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Z
zimbra-admin-api-js
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
Public
zimbra-admin-api-js
Commits
c91a1da8
Commit
c91a1da8
authored
May 27, 2016
by
Patricio Bruna
Browse files
Options
Browse Files
Download
Plain Diff
removed path.json
parents
69c0027a
a1df6d64
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
72 additions
and
12 deletions
+72
-12
path.json
path.json
+1
-0
info_general_mailbox.jsx
src/components/mailbox/info_general_mailbox.jsx
+2
-1
mailbox.jsx
src/components/mailbox/mailbox.jsx
+45
-9
stats_mailbox.jsx
src/components/mailbox/stats_mailbox.jsx
+1
-1
client.jsx
src/utils/client.jsx
+5
-1
utils.jsx
src/utils/utils.jsx
+18
-0
No files found.
path.json
0 → 100644
View file @
c91a1da8
module.exports
=
{
"main"
:{
"js"
:
"/228419bundle.js"
}}
\ No newline at end of file
src/components/mailbox/info_general_mailbox.jsx
View file @
c91a1da8
...
...
@@ -51,7 +51,7 @@ export default class BlockGeneralInfoMailbox extends React.Component {
if
(
window
.
manager_config
.
plans
[
cosID
.
name
])
{
cosName
=
Utils
.
titleCase
(
cosID
.
name
);
statusCos
=
'label btn-xs
margin-left
'
+
window
.
manager_config
.
plans
[
cosID
.
name
].
statusCos
;
statusCos
=
'label btn-xs '
+
window
.
manager_config
.
plans
[
cosID
.
name
].
statusCos
;
}
if
(
this
.
state
.
hasDomain
)
{
...
...
@@ -67,6 +67,7 @@ export default class BlockGeneralInfoMailbox extends React.Component {
const
archive
=
attrs
.
zimbraArchiveAccount
;
const
isAdminDelegated
=
attrs
.
zimbraIsDelegatedAdminAccount
===
'TRUE'
;
if
(
isAdminDelegated
)
{
statusCos
+=
' margin-left'
;
AdminStatus
=
(
<
StatusLabel
classes=
{
'label btn-xs btn-warning2'
}
>
{
'Administrador'
}
...
...
src/components/mailbox/mailbox.jsx
View file @
c91a1da8
...
...
@@ -51,7 +51,7 @@ export default class Mailboxes extends React.Component {
this
.
optionStatus
=
{
active
:
'Active'
,
locked
:
'Inactiva'
,
lock
ed
out
:
'Bloqueada'
,
lockout
:
'Bloqueada'
,
closed
:
'Cerrada'
};
this
.
optionPlans
=
window
.
manager_config
.
plans
;
...
...
@@ -187,6 +187,8 @@ export default class Mailboxes extends React.Component {
}
getAccounts
(
domainName
,
maxResult
)
{
//const promises = [];
const
attrs
=
{
maxResults
:
maxResult
};
...
...
@@ -202,6 +204,19 @@ export default class Mailboxes extends React.Component {
this
.
domainName
=
domainName
;
}
/*const attrsForLockOut = Object.assign({}, attrs);
attrsForLockOut.query = 'zimbraAccountStatus=lockout';
attrsForLockOut.limit = 10;
attrsForLockOut.countOnly = true;
promises.push(Client.getAllAccountsByBatch(attrsForLockOut));
Client.batchRequest(promises, (exito) => {
console.log('exito', exito);
}, (err) => {
console.log('error', err);
});*/
new
Promise
((
resolve
,
reject
)
=>
{
if
(
domainName
)
{
const
hasMailboxForDomain
=
MailboxStore
.
getMailboxByDomainId
(
this
.
domainId
);
...
...
@@ -211,7 +226,9 @@ export default class Mailboxes extends React.Component {
}
return
Client
.
getAllAccounts
(
attrs
,
(
success
)
=>
{
MailboxStore
.
setMailboxesByDomain
(
this
.
domainId
,
success
);
const
data
=
Utils
.
extractLockOuts
(
success
);
MailboxStore
.
setMailboxesByDomain
(
this
.
domainId
,
data
);
return
resolve
(
success
);
},
(
error
)
=>
{
return
reject
(
error
);
...
...
@@ -223,8 +240,10 @@ export default class Mailboxes extends React.Component {
}
return
Client
.
getAllAccounts
(
attrs
,
(
success
)
=>
{
MailboxStore
.
setMailboxes
(
success
);
return
resolve
(
success
);
const
data
=
Utils
.
extractLockOuts
(
success
);
MailboxStore
.
setMailboxes
(
data
);
return
resolve
(
data
);
},
(
error
)
=>
{
return
reject
(
error
);
});
...
...
@@ -238,9 +257,9 @@ export default class Mailboxes extends React.Component {
const
tables
=
this
.
buildTableFromData
(
items
,
[
'Todas'
,
'Bloqueadas'
]);
if
(
tables
.
lockedAler
t
)
{
if
(
items
.
lockou
t
)
{
GlobalActions
.
emitMessage
({
error
:
tables
.
lockedAlert
.
message
,
error
:
`
${
items
.
lockout
.
length
}
casillas bloqueadas.`
,
typeError
:
messageType
.
LOCKED
});
}
...
...
@@ -463,12 +482,22 @@ export default class Mailboxes extends React.Component {
let
lockedAccounts
=
[];
const
tabs
=
{};
let
partialAccounts
=
accounts
;
let
partialLockOut
=
data
.
lockout
?
data
.
lockout
:
0
;
const
limitLockout
=
data
.
lockout
?
data
.
lockout
.
length
:
0
;
const
hasPageLockOut
=
limitLockout
>
Constants
.
QueryOptions
.
DEFAULT_LIMIT
;
if
(
hasPage
)
{
partialAccounts
=
accounts
.
slice
(
this
.
state
.
offset
,
(
this
.
state
.
page
*
Constants
.
QueryOptions
.
DEFAULT_LIMIT
));
limit
=
partialAccounts
.
length
;
}
if
(
hasPageLockOut
)
{
partialLockOut
=
partialLockOut
.
slice
(
this
.
state
.
offset
,
(
this
.
state
.
page
*
Constants
.
QueryOptions
.
DEFAULT_LIMIT
));
partialLockOut
=
partialLockOut
.
map
((
lockout
)
=>
{
return
this
.
buildRow
(
lockout
,
'label label-locked m-r'
,
'Bloqueada'
);
});
}
const
response
=
{};
for
(
let
i
=
0
;
i
<
limit
;
i
++
)
{
...
...
@@ -490,7 +519,7 @@ export default class Mailboxes extends React.Component {
}
}
const
all
=
`
${
arrayTabNames
.
shift
()}
(
${
totalAccounts
}
)`
;
const
locked
=
`
${
arrayTabNames
.
shift
()}
(
${
l
ockedAccounts
.
length
}
)`
;
const
locked
=
`
${
arrayTabNames
.
shift
()}
(
${
l
imitLockout
}
)`
;
// create structure html for all accountsç
let
exportBtn
=
null
;
...
...
@@ -537,7 +566,6 @@ export default class Mailboxes extends React.Component {
];
let
activePagination
=
null
;
let
lockedPagination
=
null
;
if
(
hasPage
)
{
const
totalPage
=
Math
.
ceil
(
totalAccounts
/
QueryOptions
.
DEFAULT_LIMIT
);
activePagination
=
{
...
...
@@ -545,6 +573,14 @@ export default class Mailboxes extends React.Component {
};
}
let
lockedPagination
=
null
;
if
(
hasPageLockOut
)
{
const
totalPageLockOut
=
Math
.
ceil
(
limitLockout
/
QueryOptions
.
DEFAULT_LIMIT
);
lockedPagination
=
{
total
:
totalPageLockOut
};
}
const
status
=
Object
.
keys
(
this
.
optionStatus
).
map
((
item
,
i
)
=>
{
return
(
<
option
...
...
@@ -601,7 +637,7 @@ export default class Mailboxes extends React.Component {
const
panelActive
=
this
.
insertToPanel
(
tableActive
,
'panel-all'
,
btn
,
filter
);
// create structure html for all locked accounts
const
tableLocked
=
this
.
makeTable
(
lockedAccounts
,
lockedPagination
);
const
tableLocked
=
this
.
makeTable
(
partialLockOut
,
lockedPagination
);
const
panelLocked
=
this
.
insertToPanel
(
tableLocked
,
'panel-locked'
);
arrayTabNames
.
push
(
all
,
locked
);
...
...
src/components/mailbox/stats_mailbox.jsx
View file @
c91a1da8
...
...
@@ -33,7 +33,7 @@ export default class BlockGeneralInfoMailbox extends React.Component {
this
.
date
=
Utils
.
dateFormatted
(
this
.
props
.
data
.
attrs
.
zimbraCreateTimestamp
);
switch
(
this
.
props
.
data
.
attrs
.
zimbraAccountStatus
)
{
case
'lock
ed
out'
:
case
'lockout'
:
this
.
status
=
'Bloqueada'
;
this
.
className
=
'label-locked mailbox-status'
;
break
;
...
...
src/utils/client.jsx
View file @
c91a1da8
...
...
@@ -360,6 +360,10 @@ export function getAllAccounts(opts, success, error) {
);
}
export
function
getAllAccountsByBatch
(
attrs
)
{
return
ZimbraStore
.
getCurrent
().
getAllAccounts
(
attrs
);
}
export
function
getAccount
(
id
,
success
,
error
)
{
initZimbra
().
then
(
(
zimbra
)
=>
{
...
...
@@ -572,7 +576,7 @@ export function batchRequest(requestArray, success, error) {
}
return
success
(
data
);
});
}
,
{
onError
:
'continue'
}
);
},
(
err
)
=>
{
const
e
=
handleError
(
'batchRequest'
,
err
);
...
...
src/utils/utils.jsx
View file @
c91a1da8
...
...
@@ -655,3 +655,21 @@ export function getAttrsBySectionFromConfig(section, asObject) {
return
false
;
}
export
function
extractLockOuts
(
object
)
{
if
(
object
&&
object
.
account
)
{
const
lockout
=
object
.
account
.
filter
((
account
)
=>
{
if
(
account
.
attrs
.
zimbraAccountStatus
===
'lockout'
)
{
return
true
;
}
return
false
;
});
if
(
lockout
.
length
>
0
)
{
object
.
lockout
=
lockout
;
}
}
return
object
;
}
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