<font size=2 face="sans-serif">Hi Ezequiel, </font>
<br><font size=2 face="sans-serif">have you tried function</font>
<br><font size=2 face="sans-serif">midpoint.searchObjectByName(UserType.class,</font><font size=2 color=#2f2f2f face="Arial">managerName</font><font size=2 face="sans-serif">)
   ?</font>
<br>
<br><font size=2 face="sans-serif">Petr</font>
<br>
<br>
<br>
<br>
<br>
<br><font size=1 color=#5f5f5f face="sans-serif">From:      
 </font><font size=1 face="sans-serif">Ezequiel Alonso <ealonso@identicum.com></font>
<br><font size=1 color=#5f5f5f face="sans-serif">To:      
 </font><font size=1 face="sans-serif">midPoint General Discussion
<midpoint@lists.evolveum.com></font>
<br><font size=1 color=#5f5f5f face="sans-serif">Date:      
 </font><font size=1 face="sans-serif">03/04/2018 23:20</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Subject:    
   </font><font size=1 face="sans-serif">Re: [midPoint]
Dynamically set approvers of an approval step</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Sent by:    
   </font><font size=1 face="sans-serif">"midPoint"
<midpoint-bounces@lists.evolveum.com></font>
<br>
<hr noshade>
<br>
<br>
<br><font size=2 color=#2f2f2f face="Arial">Hello Petr, thanks for your
answer!</font>
<br>
<br><font size=2 color=#2f2f2f face="Arial">The role that we are trying
to set approver actually doesn't have any approver, that's why we are trying
to set it dynamically from the information of the user object that is being
assign.</font>
<br><font size=2 color=#2f2f2f face="Arial">The user object of the request
have an attribute (extension attribute managerName) that references to
an attribute value of another user (name), so what we need to do is get
that attribute from the user, search for the user that meet that criteria
and return the approver oid for the ApproverExpression.</font>
<br>
<br><font size=2 color=#2f2f2f face="Arial">What we have up to now is the
following script:</font>
<br>
<br><font size=2 color=#2f2f2f face="Arial"><approverExpression></font>
<br><font size=2 color=#2f2f2f face="Arial">    <script></font>
<br><font size=2 color=#2f2f2f face="Arial">      
   <code></font>
<br><font size=2 color=#2f2f2f face="Arial">      
        import com.evolveum.midpoint.xml.ns._public.common.common_3.*; </font>
<br><font size=2 color=#2f2f2f face="Arial">      
        import java.util.*; </font>
<br>
<br><font size=2 color=#2f2f2f face="Arial">      
        managerName = basic.getExtensionPropertyValue(object,
'</font><a href=http://midpoint.identicum.com/xml/ns/metaPerson target=_blank><font size=2 color=#0062e1 face="Arial"><u>http://midpoint.identicum.com/xml/ns/metaPerson</u></font></a><font size=2 color=#2f2f2f face="Arial">',
'managerName');</font>
<br><font size=2 color=#2f2f2f face="Arial">      
        log.debug("Manager Name : "
+ managerName);</font>
<br>
<br><font size=2 color=#2f2f2f face="Arial">      
        userInMPQuery = QueryBuilder.queryFor(UserType.class,
getPrismContext()).item(UserType.F_NAME).eq(managerName).build();</font>
<br><font size=2 color=#2f2f2f face="Arial">      
        userInMP = midpoint.searchObjects(UserType.class,
userInMPQuery);</font>
<br>
<br><font size=2 color=#2f2f2f face="Arial">      
        log.debug(" Query Result" +
userInMP.get(0).toString());</font>
<br>
<br><font size=2 color=#2f2f2f face="Arial">      
        return userInMP.get(0).getOid();</font>
<br><font size=2 color=#2f2f2f face="Arial">      
   </code></font>
<br><font size=2 color=#2f2f2f face="Arial">     <script></font>
<br><font size=2 color=#2f2f2f face="Arial"></approverExpression></font>
<br><font size=3><br>
But for some reason we are not getting any value from that query, we get
the "managerName" value successfully but then we can't search
for the users that meet that criteria.<br>
<br>
Can anyone give us a clue on how can we execute a query with that criteria
?<br>
<br>
Thanks!</font>
<br>
<br>
<br><font size=3>2018-03-28 6:15 GMT-03:00 <</font><a href=mailto:petr.kulheim@ibacz.eu target=_blank><font size=3 color=blue><u>petr.kulheim@ibacz.eu</u></font></a><font size=3>>:</font>
<br><font size=2 face="sans-serif">Hi Ezequiel,</font><font size=3> </font><font size=2 face="sans-serif"><br>
actually we are using metarole with policyRule in inducement with approverExpression,
e.g.:</font><font size=3> </font><font size=2 face="sans-serif"><br>
<inducement id="1"></font><font size=3> </font><font size=2 face="sans-serif"><br>
         <policyRule></font><font size=3>
</font><font size=2 face="sans-serif"><br>
            <policyConstraints></font><font size=3>
</font><font size=2 face="sans-serif"><br>
               <assignment></font><font size=3>
</font><font size=2 face="sans-serif"><br>
                  <operation>add</operation></font><font size=3>
</font><font size=2 face="sans-serif"><br>
                  <relation>q:any</relation></font><font size=3>
</font><font size=2 face="sans-serif"><br>
               </assignment></font><font size=3>
</font><font size=2 face="sans-serif"><br>
            </policyConstraints></font><font size=3>
</font><font size=2 face="sans-serif"><br>
            <policyActions></font><font size=3>
</font><font size=2 face="sans-serif"><br>
               <approval></font><font size=3>
</font><font size=2 face="sans-serif"><br>
                  <compositionStrategy></font><font size=3>
</font><font size=2 face="sans-serif"><br>
                     <order>20</order></font><font size=3>
</font><font size=2 face="sans-serif"><br>
                  </compositionStrategy></font><font size=3>
</font><font size=2 face="sans-serif"><br>
                  <approvalSchema></font><font size=3>
</font><font size=2 face="sans-serif"><br>
                     <level></font><font size=3>
</font><font size=2 face="sans-serif"><br>
                     
  <name>Role Approvers</name></font><font size=3> </font><font size=2 face="sans-serif"><br>
                     
  <approverExpression></font><font size=3> </font><font size=2 face="sans-serif"><br>
                     
     <script xsi:type="c:ScriptExpressionEvaluatorType"></font><font size=3>
</font><font size=2 face="sans-serif"><br>
                     
        <code></font><font size=3> </font><font size=2 face="sans-serif"><br>
                     
          import com.evolveum.midpoint.xml.ns._public.common.common_3.*;</font><font size=3>
</font><font size=2 face="sans-serif"><br>
                     
          import java.util.*;</font><font size=3>
<br>
</font><font size=2 face="sans-serif"><br>
                     
          //object - user's  object whom
the approval is related to</font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
                     
          roleApproverRefs = target.getApproverRef();</font><font size=3>
</font><font size=2 face="sans-serif"><br>
                     
          approvers = [];</font><font size=3>
</font><font size=2 face="sans-serif"><br>
                     
          for (user in roleApproverRefs) {</font><font size=3>
</font><font size=2 face="sans-serif"><br>
                     
                 approvers.add(user.getOid());</font><font size=3>
</font><font size=2 face="sans-serif"><br>
                     
          }</font><font size=3> </font><font size=2 face="sans-serif"><br>
                     
          return approvers;</font><font size=3>
</font><font size=2 face="sans-serif"><br>
                     
      </code></font><font size=3> </font><font size=2 face="sans-serif"><br>
                     
     </script></font><font size=3> </font><font size=2 face="sans-serif"><br>
                     
  </approverExpression></font><font size=3> </font><font size=2 face="sans-serif"><br>
                     
  <evaluationStrategy>firstDecides</evaluationStrategy></font><font size=3>
</font><font size=2 face="sans-serif"><br>
                     
  <outcomeIfNoApprovers>reject</outcomeIfNoApprovers></font><font size=3>
</font><font size=2 face="sans-serif"><br>
                     
  <duration>PT1H</duration></font><font size=3> </font><font size=2 face="sans-serif"><br>
                     
  <timedActions></font><font size=3> </font><font size=2 face="sans-serif"><br>
                     
     <actions></font><font size=3> </font><font size=2 face="sans-serif"><br>
                     
        <complete></font><font size=3> </font><font size=2 face="sans-serif"><br>
                     
           <outcome>reject</outcome></font><font size=3>
</font><font size=2 face="sans-serif"><br>
                     
        </complete></font><font size=3> </font><font size=2 face="sans-serif"><br>
                     
     </actions></font><font size=3> </font><font size=2 face="sans-serif"><br>
                     
  </timedActions></font><font size=3> </font><font size=2 face="sans-serif"><br>
                     </level></font><font size=3>
</font><font size=2 face="sans-serif"><br>
                  </approvalSchema></font><font size=3>
</font><font size=2 face="sans-serif"><br>
               </approval></font><font size=3>
</font><font size=2 face="sans-serif"><br>
            </policyActions></font><font size=3>
</font><font size=2 face="sans-serif"><br>
         </policyRule></font><font size=3>
</font><font size=2 face="sans-serif"><br>
</inducement></font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
Perhaps you can use <i>object</i>  and/or <i>target </i> objects
and provide your list of approvers.</font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
Hope it helps</font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
Best regard</font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
</font><font size=3><br>
</font><font size=2 face="Arial"><br>
Petr Kulheim<br>
JEE Developer<br>
<br>
IBA CZ, s.r.o.<br>
Office: Petržílkova 2565/23, 158 00 Praha, CZ<br>
Phone: +420 603 272826<br>
E-mail: </font><a href=mailto:petr.kulheim@ibacz.eu target=_blank><font size=2 color=blue face="Arial"><u>petr.kulheim@ibacz.eu</u></font></a><font size=3>
</font>
<br><a href="http://www.ibacz.eu/email-signature/index.html" target=_blank><img src=cid:_4_0531A09805319D1C0065E6BEC1258265 alt="IBACZ email signature" style="border:0px solid;"></a><font size=3><br>
<br>
</font><font size=2 face="sans-serif"><br>
 </font><font size=3> <br>
<br>
<br>
</font><font size=1 color=#5f5f5f face="sans-serif"><br>
From:        </font><font size=1 face="sans-serif">Ezequiel
Alonso <</font><a href=mailto:ealonso@identicum.com target=_blank><font size=1 color=blue face="sans-serif"><u>ealonso@identicum.com</u></font></a><font size=1 face="sans-serif">></font><font size=3>
</font><font size=1 color=#5f5f5f face="sans-serif"><br>
To:        </font><a href=mailto:midpoint@lists.evolveum.com target=_blank><font size=1 color=blue face="sans-serif"><u>midpoint@lists.evolveum.com</u></font></a><font size=3>
</font><font size=1 color=#5f5f5f face="sans-serif"><br>
Date:        </font><font size=1 face="sans-serif">27/03/2018
23:23</font><font size=3> </font><font size=1 color=#5f5f5f face="sans-serif"><br>
Subject:        </font><font size=1 face="sans-serif">[midPoint]
Dynamically set approvers of an approval step</font><font size=3> </font><font size=1 color=#5f5f5f face="sans-serif"><br>
Sent by:        </font><font size=1 face="sans-serif">"midPoint"
<</font><a href="mailto:midpoint-bounces@lists.evolveum.com" target=_blank><font size=1 color=blue face="sans-serif"><u>midpoint-bounces@lists.evolveum.com</u></font></a><font size=1 face="sans-serif">></font><font size=3>
</font>
<br>
<hr noshade>
<br><font size=3><br>
<br>
<br>
Hello,  <br>
<br>
We are trying to figure out how to set approvers of an approval step using
a certain criteria instead of using references to roles or organizations
as it is on several examples on the documentation. <br>
<br>
For example, if a user that is requesting a role needs an approval, then
the approver should be the user that is referenced on an extension attribute
of the user, so to set it as an approver, we need to get that attribute
from the user then search the users that meets that condition in order
to set it as the approver. <br>
<br>
Is this possible or we can only set approvers by members of a role or members
of an Org. <br>
<br>
Thanks!   <br>
<br>
-- </font><font size=1><b><br>
Ezequiel Alonso</b></font><font size=1 color=#a2a2a2 face="Georgia"><i><br>
I</i></font><font size=1 color=#a2a2a2 face="Verdana"><i>denticum S.A.<br>
Jorge Newbery 3226, Argentina<br>
Tel: +54 (11) 4552-3050</i></font><font size=3> </font><font size=3 color=blue><u><br>
</u></font><a href=mailto:ealonso@identicum.com target=_blank><font size=1 color=#0062e1 face="Verdana"><i><u>ealonso@identicum.com</u></i></font></a>
<br><a href=http://www.identicum.com/ target=_blank><font size=1 color=#0062e1 face="Verdana"><i><u>www.identicum.com</u></i></font></a><tt><font size=2>_______________________________________________<br>
midPoint mailing list</font></tt><tt><font size=2 color=blue><u><br>
</u></font></tt><a href=mailto:midPoint@lists.evolveum.com target=_blank><tt><font size=2 color=blue><u>midPoint@lists.evolveum.com</u></font></tt></a><font size=3 color=blue><u><br>
</u></font><a href=http://lists.evolveum.com/mailman/listinfo/midpoint target=_blank><tt><font size=2 color=blue><u>http://lists.evolveum.com/mailman/listinfo/midpoint</u></font></tt></a><font size=3><br>
</font><font size=2 face="sans-serif"><br>
<br>
</font><font size=3><br>
</font>
<hr><font size=2 face="sans-serif">Disclaimer:<br>
<br>
The information contained in this communication is intended solely for
the use of the individual or entity to whom it is addressed and others
authorized to receive it.<br>
It may contain confidential or legally privileged information.<br>
If you are not the intended recipient you are hereby notified that any
disclosure, copying, distribution or taking any action in reliance on the
contents of this information is strictly prohibited and may be unlawful.<br>
If you have received this communication in error, please notify us immediately
by forwarding this email to </font><a href=mailto:ict@ibacz.eu target=_blank><font size=2 color=blue face="sans-serif"><u>ict@ibacz.eu</u></font></a><font size=2 face="sans-serif">
and then delete it from your system.<br>
IBA Group is neither liable for the proper and complete transmission of
the information contained in this communication nor for any delay in its
receipt.</font><font size=3> </font>
<p><font size=3><br>
_______________________________________________<br>
midPoint mailing list</font><font size=3 color=blue><u><br>
</u></font><a href=mailto:midPoint@lists.evolveum.com><font size=3 color=blue><u>midPoint@lists.evolveum.com</u></font></a><font size=3 color=blue><u><br>
</u></font><a href=http://lists.evolveum.com/mailman/listinfo/midpoint target=_blank><font size=3 color=blue><u>http://lists.evolveum.com/mailman/listinfo/midpoint</u></font></a><font size=3><br>
</font>
<br><font size=3><br>
</font>
<br>
<br><font size=3>-- </font>
<br><font size=1><b>Ezequiel Alonso</b></font><font size=1 color=#a2a2a2 face="Georgia"><i><br>
I</i></font><font size=1 color=#a2a2a2 face="Verdana"><i>denticum S.A.<br>
Jorge Newbery 3226, Argentina<br>
Tel: +54 (11) 4552-3050</i></font>
<br><a href=mailto:ealonso@identicum.com target=_blank><font size=1 color=#0062e1 face="Verdana"><i><u>ealonso@identicum.com</u></i></font></a><font size=1 color=#0062e1 face="Verdana"><i><u><br>
</u></i></font><a href=http://www.identicum.com/ target=_blank><font size=1 color=#0062e1 face="Verdana"><i><u>www.identicum.com</u></i></font></a><tt><font size=2>_______________________________________________<br>
midPoint mailing list<br>
midPoint@lists.evolveum.com<br>
</font></tt><a href=http://lists.evolveum.com/mailman/listinfo/midpoint><tt><font size=2>http://lists.evolveum.com/mailman/listinfo/midpoint</font></tt></a><tt><font size=2><br>
</font></tt>
<br><font size=2 face="sans-serif"><br>
<br>
</font>
<hr><font size=2 face="sans-serif">Disclaimer:<br>
<br>
The information contained in this communication is intended solely for
the use of the individual or entity to whom it is addressed and others
authorized to receive it.<br>
It may contain confidential or legally privileged information.<br>
If you are not the intended recipient you are hereby notified that any
disclosure, copying, distribution or taking any action in reliance on the
contents of this information is strictly prohibited and may be unlawful.<br>
If you have received this communication in error, please notify us immediately
by forwarding this email to ict@ibacz.eu and then delete it from your system.<br>
IBA Group is neither liable for the proper and complete transmission of
the information contained in this communication nor for any delay in its
receipt.</font>
<br>