Skip to content
GitLab
Explore
Projects
Groups
Topics
Snippets
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
fusiondirectory
fusiondirectory-plugins
Commits
0cdb433b
Unverified
Commit
0cdb433b
authored
3 years ago
by
Côme Chilliet
Browse files
Options
Download
Patches
Plain Diff
fix(webservice) Improve webservice compatibility with non-simplePlugin tabs
issue
#6126
parent
792d1888
dev
6231-give-the-ability-to-the-webservice-to-notice-if-an-attribute-is-monovalued-or-multivalued
6237-add-requiredattrs-array-to-the-webservice-informations
6245-adapt-the-ci-to-the-reorganisation-of-the-dev-tools-and-fixing-the-trigger-downstream-pipelines
6250-supann-configuration-backend-requires-account-life-cycle-section
6280-plugins-update-plugins-to-take-into-consideration-the-new-directory-of-core-structure
6310-tasks-reminder-error-in-the-schema-duplicate-attribute-id
6311-put-the-version-1-5-in-all-yaml-for-fusiondirectory-1-5
6322-template-issue-when-creating-a-template-with-empty-password-error-message-should-not-be-seen-2
6332-zimbra-allows-update-of-data-for-unknown-domain-name-for-specific-individual-aliases
6337-webservice-issue-with-archiving-post-request-not-responding-but-successfully-archiving-user
6341-supann-extract-resources-states-sub-states-from-backend-configuration-to-their-own-objects
6346-lifecycle-adaptation-to-select-supann-resources-and-related-states-via-regex-mechanism
master
fusiondirectory-1.5
fusiondirectory-1.4
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
webservice/html/rest.php
+10
-16
webservice/html/rest.php
webservice/include/webservice/class_fdRPCService.inc
+2
-2
webservice/include/webservice/class_fdRPCService.inc
with
12 additions
and
18 deletions
+12
-18
webservice/html/rest.php
+
10
−
16
View file @
0cdb433b
...
...
@@ -304,7 +304,7 @@ class fdRestService extends fdRPCService
$fields
=
$object
->
attributesInfo
;
foreach
(
$fields
as
$section
)
{
foreach
(
$section
[
'attrs'
]
as
$attr
)
{
if
(
$object
->
a
cl_is_r
eadable
(
$attr
->
getAcl
()
))
{
if
(
$object
->
a
ttrIsR
eadable
(
$attr
))
{
$attributes
[
$attr
->
getLdapName
()]
=
$attr
->
serializeValue
();
}
}
...
...
@@ -393,23 +393,21 @@ class fdRestService extends fdRPCService
}
else
{
$object
=
$tabobject
->
by_object
[
$tab
];
}
if
(
!
is_subclass_of
(
$object
,
'simplePlugin'
))
{
throw
new
WebServiceError
(
'Invalid tab'
,
501
);
}
if
(
$tabobject
->
by_object
[
$tab
]
->
isActivatable
()
&&
!
$tabobject
->
by_object
[
$tab
]
->
isActive
()
if
(
is_subclass_of
(
$object
,
'simplePlugin'
)
&&
$object
->
isActivatable
()
&&
!
$object
->
isActive
()
)
{
list
(
$disabled
,
,
$htmlText
)
=
$
tab
object
->
by_object
[
$tab
]
->
getDisplayHeaderInfos
();
list
(
$disabled
,
,
$htmlText
)
=
$object
->
getDisplayHeaderInfos
();
if
(
$disabled
)
{
throw
new
WebServiceError
(
htmlunescape
(
$htmlText
));
}
if
(
$
tab
object
->
by_object
[
$tab
]
->
acl_is_createable
())
{
$
tab
object
->
by_object
[
$tab
]
->
is_account
=
TRUE
;
if
(
$object
->
acl_is_createable
())
{
$object
->
is_account
=
TRUE
;
}
else
{
throw
new
WebServiceError
(
'You don\'t have sufficient rights to enable tab "'
.
$tab
.
'"'
,
403
);
}
}
$error
=
$
tab
object
->
by_object
[
$tab
]
->
deserializeValues
([
$attribute
=>
$input
]);
$error
=
$object
->
deserializeValues
([
$attribute
=>
$input
]);
if
(
$error
!==
TRUE
)
{
throw
new
WebServiceErrors
([
$error
]);
}
...
...
@@ -475,10 +473,6 @@ class fdRestService extends fdRPCService
$object
=
$tabobject
->
by_object
[
$tab
];
if
(
!
is_subclass_of
(
$object
,
'simplePlugin'
))
{
throw
new
WebServiceError
(
'Invalid tab'
,
501
);
}
if
(
!
isset
(
$object
->
attributesAccess
[
$attribute
]))
{
throw
new
WebServiceError
(
'Unknown attribute'
,
404
);
}
...
...
@@ -487,7 +481,7 @@ class fdRestService extends fdRPCService
throw
new
WebServiceError
(
'Inactive tab'
,
400
);
}
if
(
!
$object
->
a
cl_is_r
eadable
(
$
object
->
attribute
sAccess
[
$attribute
]
->
getAcl
()
))
{
if
(
!
$object
->
a
ttrIsR
eadable
(
$attribute
))
{
throw
new
WebServiceError
(
'Not enough rights to read "'
.
$attribute
.
'"'
,
403
);
}
...
...
@@ -575,7 +569,7 @@ class fdRestService extends fdRPCService
foreach
(
$fields
as
&
$section
)
{
$attributes
=
[];
foreach
(
$section
[
'attrs'
]
as
$attr
)
{
if
(
$object
->
a
cl_is_r
eadable
(
$attr
->
getAcl
()
))
{
if
(
$object
->
a
ttrIsR
eadable
(
$attr
))
{
$attributes
[]
=
$attr
->
getLdapName
();
}
}
...
...
This diff is collapsed.
Click to expand it.
webservice/include/webservice/class_fdRPCService.inc
+
2
−
2
View file @
0cdb433b
...
...
@@ -394,7 +394,7 @@ class fdRPCService
foreach
(
$fields
as
&
$section
)
{
$attributes
=
[];
foreach
(
$section
[
'attrs'
]
as
$attr
)
{
if
(
$object
->
a
cl_is_r
eadable
(
$attr
->
getAcl
()
))
{
if
(
$object
->
a
ttrIsR
eadable
(
$attr
))
{
$attr
->
serializeAttribute
(
$attributes
,
TRUE
);
}
}
...
...
@@ -478,7 +478,7 @@ class fdRPCService
foreach
(
$fields
as
&
$section
)
{
$attributes
=
[];
foreach
(
$section
[
'attrs'
]
as
$attr
)
{
if
(
$object
->
a
cl_is_r
eadable
(
$attr
->
getAcl
()
))
{
if
(
$object
->
a
ttrIsR
eadable
(
$attr
))
{
$attr
->
serializeAttribute
(
$attributes
,
FALSE
);
}
}
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Topics
Snippets