From 9365f72876ff02da905adeca2db85a8a568568ca Mon Sep 17 00:00:00 2001
From: Hugo Zigha <hugo.zigha@al-enterprise.com>
Date: Mon, 6 Sep 2021 11:10:24 +0200
Subject: [PATCH] TT#139400 CallForwarding - Integrate conditional visibility
 depending on platform-info for certain call forwarding types

Change-Id: Iae4f8e8e54b5655c65ac6a25f5a723d12abd3d9f
---
 src/components/CscPopupMenuItem.vue               |  5 +++++
 .../call-forwarding/CscCfGroupTitle.vue           | 15 ++++++++++++---
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/src/components/CscPopupMenuItem.vue b/src/components/CscPopupMenuItem.vue
index e5ca4f7f..1c7ead19 100644
--- a/src/components/CscPopupMenuItem.vue
+++ b/src/components/CscPopupMenuItem.vue
@@ -2,6 +2,7 @@
     <q-item
         v-close-popup="closePopup"
         clickable
+        :disable="disable"
         v-bind="$attrs"
         v-on="$listeners"
     >
@@ -45,6 +46,10 @@ export default {
         closePopup: {
             type: Boolean,
             default: true
+        },
+        disable: {
+            type: Boolean,
+            default: false
         }
     }
 }
diff --git a/src/components/call-forwarding/CscCfGroupTitle.vue b/src/components/call-forwarding/CscCfGroupTitle.vue
index 5dc71c24..87c069f1 100644
--- a/src/components/call-forwarding/CscCfGroupTitle.vue
+++ b/src/components/call-forwarding/CscCfGroupTitle.vue
@@ -220,6 +220,7 @@
                         })"
                     />
                     <csc-popup-menu-item
+                        v-if="platformInfo.conference"
                         :icon="destinationIconByType('Conference')"
                         :label="$t('Forward to Conference')"
                         :disable="hasTermination"
@@ -229,6 +230,7 @@
                         })"
                     />
                     <csc-popup-menu-item
+                        v-if="platformInfo.faxserver"
                         :icon="destinationIconByType('Fax2Mail')"
                         :label="$t('Forward to Fax2Mail')"
                         :disable="hasTermination"
@@ -238,6 +240,7 @@
                         })"
                     />
                     <csc-popup-menu-item
+                        v-if="platformInfo.manager_secretary"
                         :icon="destinationIconByType('ManagerSecretary')"
                         :label="$t('Forward to Manager Secretary')"
                         :disable="hasTermination"
@@ -260,7 +263,7 @@
                     v-slot:grid-column-2
                 >
                     <csc-popup-menu-item
-                        v-if="isPbxAttendant"
+                        v-if="isPbxAttendant && platformInfo.cloudpbx"
                         :icon="destinationIconByType('AutoAttendant')"
                         :label="$t('Forward to Auto Attendant')"
                         :disable="hasTermination"
@@ -270,7 +273,7 @@
                         })"
                     />
                     <csc-popup-menu-item
-                        v-if="isPbxAttendant"
+                        v-if="isPbxAttendant && platformInfo.cloudpbx"
                         :icon="destinationIconByType('OfficeHoursAnnouncement')"
                         :label="$t('Forward to Office Hours Announcement')"
                         :disable="hasTermination"
@@ -280,6 +283,7 @@
                         })"
                     />
                     <csc-popup-menu-item
+                        v-if="platformInfo.callingcard"
                         :icon="destinationIconByType('CallingCard')"
                         :label="$t('Forward to Calling Card')"
                         :disable="hasTermination"
@@ -289,6 +293,7 @@
                         })"
                     />
                     <csc-popup-menu-item
+                        v-if="platformInfo.callthrough"
                         :icon="destinationIconByType('CallThrough')"
                         :label="$t('Forward to Call Through')"
                         :disable="hasTermination"
@@ -298,6 +303,7 @@
                         })"
                     />
                     <csc-popup-menu-item
+                        v-if="platformInfo.callthrough || platformInfo.callingcard"
                         :icon="destinationIconByType('LocalSubscriber')"
                         :label="$t('Forward to Local Subscriber')"
                         :disable="hasTermination"
@@ -323,7 +329,7 @@
 <script>
 import _ from 'lodash'
 import {
-    mapActions, mapGetters
+    mapActions, mapGetters, mapState
 } from 'vuex'
 import CscMoreMenu from 'components/CscMoreMenu'
 import CscPopupMenuItemDelete from 'components/CscPopupMenuItemDelete'
@@ -378,6 +384,9 @@ export default {
             'hasSubscriberProfileAttribute',
             'isPbxAttendant'
         ]),
+        ...mapState('user', [
+            'platformInfo'
+        ]),
         clickableClasses () {
             return ['cursor-pointer', 'text-weight-bold', 'text-primary']
         },