How to change 'My approval' fields for Change management module

mdsannavulla
Kilo Guru

Hi All,

 

For change management module we are using OOTB UI macro 'approval_summarizer_default' for showing fields in My approvals.

 

Now I want to add some more fields to that My approvals for that where I have to change in UI macro?

 

Below is the OOTB code for that

 

<?xml version="1.0" encoding="utf-8" ?>

<j:jelly trim="true" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">

  <g:evaluate var="jvar_has_source" >

      var flag = !${ref}.sysapproval.nil() || !${ref}.source_table.nil();

      flag;

  </g:evaluate>

  <j:if test="${jvar_has_source}">

      <g:evaluate var="jvar_ni" expression="

      var gr = null;

              if ( !${ref}.source_table.nil()) {

                    gr = new GlideRecord(${ref}.source_table);

                                      gr.get( ${ref}.document_id);

                              } else {

                                      gr = new GlideRecord('task');

                                      gr.get(${ref}.sysapproval);

                              }

              " />

      <g:evaluate>

              g_approval_form_request = true; // this global is checked in ACLs

      </g:evaluate>

      <g:evaluate var="jvar_my_form">

              var gc =   new GlideController();

              var p =   new GlidePopup(gc, "${gr.sys_class_name}");

              p.putParameter("sys_id", "${gr.sys_id}");

              p.putParameter("sysparm_view", "approval");

              var rp = p.getRenderProperties();

              rp.setSmallCaption(true);

              var s = p.getPopup();

              s;

      </g:evaluate>

      <tr id="approval_summary_row">

              <td width="100%" colspan="2">

                      <j2:if test="${gs.getProperty('glide.security.use_csrf_token')}" >

  <input type="HIDDEN" name="sysparm_ck" value="$[gs.getSessionToken()]"/>

        </j2:if>

                      <div id="approval_summary" style="padding-top:8px;display:none;">

                <div class="caption" style="padding:4px;">${gs.getMessage('Summary of Item being approved')}</div>

                <div style="padding-left:2px;"><g:no_escape>${jvar_my_form}</g:no_escape></div>

                      </div>

  </td>

      </tr>

      <g:evaluate>

              delete g_approval_form_request; // removes the global

      </g:evaluate>

      <script>

              addRenderEvent(moveSummaryForm);

              function moveSummaryForm() {

                      var e = $("approval_summary");

                      var form = $("sysapproval_approver.do");

                      var formParent = form.parentNode;

                      formParent.appendChild(e);

                      e.show();

              }

      </script>

  </j:if>

</j:jelly>

 

 

See the below screen shot

 

41.png

 

Here I want to add and remove some fields.For that where I have to change in that UI macro

1 ACCEPTED SOLUTION

You can use an if statement in the g:evaluate block where the p.putParameter("sysparm_view", "approval"); line is. Just use the gr object to check the user selected value on the change request and pass in the view name for approval.


View solution in original post

23 REPLIES 23

Hi All,



Any idea on this?


The view just determines what fields you see when you look at the record, so an approval wouldn't necessarily be tied to a specific view. You would need to determine which view you want to show in the macro (probably using some attribute on the record or from the logged in user), and then call either one of your change views based on that.


Hi Brad,



I want to call both the views in that ui macro based on the option selected by the user.How can I write that condition in UI macro?


You can use an if statement in the g:evaluate block where the p.putParameter("sysparm_view", "approval"); line is. Just use the gr object to check the user selected value on the change request and pass in the view name for approval.


Excellent idea it is working