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

How can I write for default view to show the fields in approval view and for other view to show the fields in approval 1 view.


What do you mean by default view? Is there a field or something that controls which view your users are supposed to see between approval and approval1 view?


Actually when user selects create new   from change module then we will ask for which type of change you want to create based on the option selected by the user we show the form.



Suppose if user selects option 1 then we will show the default view --- here fields and approvals are different



Suppose if user selects option 2   then we will show the   view 2 ----here fields and approvals are different



Now what my point is in My approvals default view fields are showing even if approval is for view 2




So where i have to modify in that script so that for 'default view approvals' -- default view fields should be displayed and



for 'view 2 approvals' --   view 2 fields should be displayed


Are you understood what I am saying?


in simple



for default view   --- in My approvals I want to show some fields



For other view ---- in My approvals I want to show some other fields



for that where I have to modify in "approval_summarizer_default" script ?