diff --git a/css/style.css b/css/style.css
index f9bde8d5..53464dea 100644
--- a/css/style.css
+++ b/css/style.css
@@ -93,4 +93,31 @@ ul#menu ul.ssmenu {
.ui-slider .ui-widget-header {
background: #FEC95C;
cursor: pointer;
+}
+
+/*---------------- POLICY VALUE ----------------*/
+.plugin_flyvemdm_policy_value{
+ display: inline-block;
+ width: 100%;
+ max-width: 100%;
+ overflow-y: auto;
+}
+
+.plugin_flyvemdm_policy_value table{
+ width: 100%
+}
+.plugin_flyvemdm_policy_value table > tbody > tr > td span.no-wrap a{
+ margin-right: .5em;
+}
+.plugin_flyvemdm_policy_value table > tbody > tr > td span.no-wrap{
+ margin-right: 3em;
+}
+.plugin_flyvemdm_policy_value table .select2-container{
+ width: 90%
+}
+.plugin_flyvemdm_policy_value table > tbody > tr > td span.no-wrap span.fa {
+ padding: 0;
+}
+.plugin_flyvemdm_policy_value table .select2-container .select2-choice {
+ max-width: none;
}
\ No newline at end of file
diff --git a/inc/policybase.class.php b/inc/policybase.class.php
index f3851272..2572d3db 100644
--- a/inc/policybase.class.php
+++ b/inc/policybase.class.php
@@ -240,9 +240,12 @@ public function post_unapply($value, $itemtype, $itemId, PluginFlyvemdmNotifiabl
* @return string
*/
public function showValueInput($value = '', $itemType = '', $itemId = 0) {
- $html = '';
- return $html;
+ $data['itemtype'] = $itemType;
+ $data['value'] = $value;
+ $data['typeTmpl'] = PluginFlyvemdmPolicyBase::class;
+ $twig = plugin_flyvemdm_getTemplateEngine();
+ return $twig->render('policy_value.html.twig', ['data' => $data]);
}
/**
diff --git a/inc/policyboolean.class.php b/inc/policyboolean.class.php
index e9dae32c..e38dac31 100644
--- a/inc/policyboolean.class.php
+++ b/inc/policyboolean.class.php
@@ -89,7 +89,13 @@ public function getMqttMessage($value, $itemtype, $itemId) {
* @return int|string
*/
public function showValueInput($value = '', $itemType = '', $itemId = 0) {
- return Dropdown::showYesNo('value', $value, -1, ['display' => false]);
+ $data['itemtype'] = $itemType;
+ $data['typeTmpl'] = PluginFlyvemdmPolicyBoolean::class;
+ $data['dropdown'] = [
+ Dropdown::showYesNo('value', $value, -1, ['display' => false])
+ ];
+ $twig = plugin_flyvemdm_getTemplateEngine();
+ return $twig->render('policy_value.html.twig', ['data' => $data]);
}
/**
diff --git a/inc/policydeployapplication.class.php b/inc/policydeployapplication.class.php
index ab8cc1f7..a5df68bd 100644
--- a/inc/policydeployapplication.class.php
+++ b/inc/policydeployapplication.class.php
@@ -235,26 +235,20 @@ public function showValueInput($value = '', $itemType = '', $itemId = 0) {
$removeOnDelete = $value['remove_on_delete'];
}
- $packageDropdown = PluginFlyvemdmPackage::dropdown([
- 'display' => false,
- 'displaywith' => ['alias'],
- 'name' => 'items_id',
- 'value' => $itemId,
- ]);
-
- $removeDropdown = Dropdown::showYesNo('value[remove_on_delete]', $removeOnDelete,
- -1, ['display' => false]);
-
- $data = [
- 'package' => [
- 'dropdown' => $packageDropdown,
- 'itemtype' => $itemtype
- ],
- 'remove' => $removeDropdown
+ $data['typeTmpl'] = $itemtype;
+ $data['itemtype'] = $itemtype;
+ $data['dropdown'] = [
+ PluginFlyvemdmPackage::dropdown([
+ 'display' => false,
+ 'displaywith' => ['alias'],
+ 'name' => 'items_id',
+ 'value' => $itemId,
+ ]),
+ Dropdown::showYesNo('value[remove_on_delete]', $removeOnDelete, -1, ['display' => false])
];
$twig = plugin_flyvemdm_getTemplateEngine();
- return $twig->render('policy_deploy_app_form.html.twig', $data);
+ return $twig->render('policy_value.html.twig', ['data' => $data]);
}
/**
diff --git a/inc/policydeployfile.class.php b/inc/policydeployfile.class.php
index c029923f..3ffe15ea 100644
--- a/inc/policydeployfile.class.php
+++ b/inc/policydeployfile.class.php
@@ -279,37 +279,26 @@ public function showValueInput($value = '', $itemType = '', $itemId = 0) {
$destination = substr($value['destination'], $cut);
$destination_base = substr($value['destination'], 0, $cut);
}
- $filesDropdown = PluginFlyvemdmFile::dropdown([
- 'display' => false,
- 'name' => 'items_id',
- 'value' => $itemId,
- ]);
-
- //Copy to
$path = new PluginFlyvemdmWellknownpath();
$path->getFromDBByPath($destination_base);
-
- $knownPathDropdown = PluginFlyvemdmWellknownpath::dropdown([
- 'display' => false,
- 'name' => 'destination_base',
- 'value' => $path->getID(),
- ]);
-
- $removeDropdown = Dropdown::showYesNo('value[remove_on_delete]', $removeOnDelete,
- -1, ['display' => false]);
-
- $data = [
- 'files' => [
- 'dropdown' => $filesDropdown,
- 'itemtype' => $itemtype,
- 'knownPath' => $knownPathDropdown,
- 'destination' => $destination,
- ],
- 'remove' => $removeDropdown,
+ $data['destination'] = $destination;
+ $data['typeTmpl'] = $itemtype;
+ $data['itemtype'] = $itemtype;
+ $data['dropdown'] = [
+ PluginFlyvemdmFile::dropdown([
+ 'display' => false,
+ 'name' => 'items_id',
+ 'value' => $itemId,
+ ]),
+ PluginFlyvemdmWellknownpath::dropdown([
+ 'display' => false,
+ 'name' => 'destination_base',
+ 'value' => $path->getID(),
+ ]),
+ Dropdown::showYesNo('value[remove_on_delete]', $removeOnDelete, -1, ['display' => false])
];
-
$twig = plugin_flyvemdm_getTemplateEngine();
- return $twig->render('policy_deploy_file_form.html.twig', $data);
+ return $twig->render('policy_value.html.twig', ['data' => $data]);
}
/**
diff --git a/inc/policydropdown.class.php b/inc/policydropdown.class.php
index 6c1e9fc2..85113336 100644
--- a/inc/policydropdown.class.php
+++ b/inc/policydropdown.class.php
@@ -102,7 +102,13 @@ public function translateData() {
* @return int|string
*/
public function showValueInput($value = '', $itemType = '', $itemId = 0) {
- return Dropdown::showFromArray('value', $this->valueList, ['display' => false, 'value' => $value]);
+ $data['itemtype'] = $itemType;
+ $data['typeTmpl'] = PluginFlyvemdmPolicyDropdown::class;
+ $data['dropdown'] = [
+ Dropdown::showFromArray('value', $this->valueList, ['display' => false, 'value' => $value])
+ ];
+ $twig = plugin_flyvemdm_getTemplateEngine();
+ return $twig->render('policy_value.html.twig', ['data' => $data]);
}
/**
diff --git a/tests/suite-unit/PluginFlyvemdmPolicyBase.php b/tests/suite-unit/PluginFlyvemdmPolicyBase.php
index 25cda713..59183d42 100644
--- a/tests/suite-unit/PluginFlyvemdmPolicyBase.php
+++ b/tests/suite-unit/PluginFlyvemdmPolicyBase.php
@@ -123,7 +123,11 @@ public function testPre_unapply() {
*/
public function testShowValueInput() {
list($policy) = $this->createNewPolicyInstance();
- $this->string($policy->showValueInput())->isEqualTo('');
+ $data['itemtype'] = '';
+ $data['value'] = '';
+ $data['typeTmpl'] = \PluginFlyvemdmPolicyBase::class;
+ $twig = plugin_flyvemdm_getTemplateEngine();
+ $this->string($policy->showValueInput())->isEqualTo($twig->render('policy_value.html.twig', ['data' => $data]));
}
/**
diff --git a/tpl/fleet_policy.html.twig b/tpl/fleet_policy.html.twig
index 930c86c2..d44b020d 100644
--- a/tpl/fleet_policy.html.twig
+++ b/tpl/fleet_policy.html.twig
@@ -81,7 +81,8 @@
});
function editPolicy(policyId, taskId) {
- $('#policy_editor').dialog('open');
+ var editorId = "#policy_editor";
+ $(editorId).dialog('option', 'position', 'center');
$.ajax({
url: '../ajax/policyValue.php',
method: 'POST',
@@ -94,6 +95,7 @@
},
success: function (response) {
$('#policy_editor_form').html(response);
+ $(editorId).dialog('open');
}
});
}
diff --git a/tpl/policy_value.html.twig b/tpl/policy_value.html.twig
new file mode 100644
index 00000000..29d8c6a9
--- /dev/null
+++ b/tpl/policy_value.html.twig
@@ -0,0 +1,75 @@
+
+{% if data.typeTmpl is same as("PluginFlyvemdmFile") %}
+
+
+
+{% elseif data.typeTmpl is same as("PluginFlyvemdmPackage") %}
+
+
+
+
+
+
+ {{ data.dropdown[0]|raw }}
+ |
+
+ {{ __('copy to', 'flyvemdm') }}
+ |
+
+ {{ data.dropdown[1]|raw }}
+
+ |
+
+
+
+
+
+{% elseif data.typeTmpl is same as("PluginFlyvemdmPolicyBoolean") or data.typeTmpl is same as("PluginFlyvemdmPolicyDropdown") %}
+
+
+ {{ data.dropdown[0]|raw }}
+
+
+{% elseif data.typeTmpl is same as("PluginFlyvemdmPolicyBase") %}
+
+
+
+
+
+{% endif %}
\ No newline at end of file