<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright (c) 2010-2024 Evolveum
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<systemConfiguration>
    ...
    <audit>
        <eventRecording>
            <property>
                <name>situation</name>
                <expression>
                    <script xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:c="http://midpoint.evolveum.com/xml/ns/public/common/common-3" xsi:type="c:ScriptExpressionEvaluatorType">
                        <code>
                          import com.evolveum.midpoint.schema.ObjectDeltaOperation;
                           import com.evolveum.midpoint.prism.delta.ItemDelta;
                           import com.evolveum.midpoint.prism.path.ItemPath;
                           import com.evolveum.midpoint.xml.ns._public.common.common_3.*;

                           ret = "";
                           if (target instanceof UserType) {
                              for (ObjectDeltaOperation delta : auditRecord.getDeltas()) {
                                 if ("ef2bc95b-76e0-59e2-86d6-9999cccccccc".equals(delta.getResourceOid())) {
                                    for (ItemDelta itemDelta : delta.getObjectDelta().getModifications()){
                                       if (itemDelta.getPath().equivalent(ItemPath.create(UserType.F_ACTIVATION, ActivationType.F_ADMINISTRATIVE_STATUS))){
                                          if (!ret.isEmpty()){
                                             ret = ret + "|";
                                          }
                                          ret = ret + "changeAdminStatR1";

                                       }
                                    }
                                 }
                              }
                           }
                           return ret
                        </code>
                    </script>
                </expression>
            </property>
        </eventRecording>
    </audit>
    ...
</systemConfiguration>
