Project

General

Profile

Bug #18510 » difference-61-62.txt

François ARMAND, 2020-11-09 18:04

 
6.1

<a href="javascript://" onclick="lift.ajax("F1181437850057OOOOSP=true", null, null, null); return false;"><span class="treeActiveTechniqueName bsTooltip " data-toggle="tooltip" data-placement="top" data-html="true" title="&#x000a; <h4>Package manager settings (RUG/YaST/ZMD)</h4>&#x000a; <div class="tooltip-content">&#x000a; <p>This technique configures the RUG and YaST package manager using Novell's ZMD.</p>&#x000a; <p>This Technique is only compatible with <b>Classic</b> agent.</p>&#x000a; &#x000a; </div>"><i class="fa fa-gear tree-icon"></i>Package manager settings (RUG/YaST/ZMD)</span></a>


6.2

<a href="javascript://" onclick="lift.ajax("F10805191239355LRKGG=true", null, null, null); return false;"><span class="treeActiveTechniqueName bsTooltip " data-toggle="tooltip" data-placement="top" data-html="true" title="&#x000a; <h4>Package manager settings (RUG/YaST/ZMD)</h4>&#x000a; <div class="tooltip-content">&#x000a; <p>This technique configures the RUG and YaST package manager using Novell's ZMD.</p>&#x000a; <p>This Technique is only compatible with <b>Classic</b> agent.</p>&#x000a; &#x000a; </div>"><i class="fa fa-gear tree-icon"></i>Package manager settings (RUG/YaST/ZMD)</span><span class="btn btn-success btn-xs create" style="opacity: 0;" onclick="event.preventDefault();event.stopPropagation();jQuery('#'+"policyConfiguration").replaceWith("
<div id=\"policyConfiguration\">
<link href=\"/rudder/cache-6.2.0~beta2-SNAPSHOT/style/rudder/rudder-filemanager.css\" rel=\"stylesheet\">
<script src=\"/rudder/cache-6.2.0~beta2-SNAPSHOT/javascript/rudder/angular/fileManager.js\"></script> <script type=\"text/javascript\" id=\"angular-passwordForm\" src=\"/rudder/cache-6.2.0~beta2-SNAPSHOT/javascript/rudder/angular/passwordForm.js\"></script>
<script type=\"text/javascript\" id=\"angular-textForm\" src=\"/rudder/cache-6.2.0~beta2-SNAPSHOT/javascript/rudder/angular/textForm.js\"></script>
<script type=\"text/javascript\" src=\"/rudder/cache-6.2.0~beta2-SNAPSHOT/javascript/rudder/angular/tags.js\"></script>
<form id=\"F10805191239342CGJW2\" action=\"javascript://\" onsubmit=\"lift.ajax(jQuery('#'+&amp;quot;F10805191239342CGJW2&amp;quot;).serialize(), null, null, &amp;quot;javascript&amp;quot;);return false;\"><div id=\"editForm\">
<div class=\"main-header\">
<div class=\"header-title\">
<h1>
<i class=\"title-icon fa fa-file-text\"></i>
<span id=\"info-title\">Directive <b id=\"directiveTitle\"><span class=\"\">Package manager settings (RUG/YaST/ZMD)</span></b></span>
</h1>
<div class=\"header-buttons\">
<input id=\"removeAction\" name=\"zF1080519123886NKHBYS\" type=\"submit\" class=\"btn btn-danger\" value=\"Delete\" onclick=\"lift.setUriSuffix('zF1080519123886NKHBYS=_'); return true;\">
<input id=\"desactivateAction\" name=\"zF10805191238875DFK3Z\" type=\"submit\" class=\"btn btn-default\" value=\"disable\" onclick=\"lift.setUriSuffix('zF10805191238875DFK3Z=_'); return true;\">
<button id=\"clone\" onclick=\"lift.ajax(&amp;quot;F1080519123888MMNCAT=true&amp;quot;, null, null, null); return false;\" class=\"btn btn-default\" type=\"button\">Clone</button>
<input name=\"zF1080519123889CQZWAO\" type=\"submit\" value=\"Save\" onclick=\"lift.setUriSuffix('zF1080519123889CQZWAO=_'); return true;\" id=\"policyConfigurationSave\" class=\"btn btn-success\">
</div>
</div>
</div>
<div id=\"navbar-scrollspy\" class=\"main-navbar\">
<ul class=\"ui-tabs-nav nav nav-tabs\">
<li role=\"presentation\" class=\"ui-tabs-tab\">
<a onclick=\"navScroll(event, '#directiveInfo', '.main-details')\" href=\"#directiveInfo\">
Information
</a>
</li>
<li role=\"presentation\" class=\"ui-tabs-tab\">
<a onclick=\"navScroll(event, '#parametersTitle', '.main-details')\" href=\"#parametersTitle\">
Parameters
</a>
</li>
<li role=\"presentation\" class=\"ui-tabs-tab\">
<a onclick=\"navScroll(event, '#directiveRulesTabTitle', '.main-details')\" href=\"#directiveRulesTabTitle\">
Target Rules
</a>
</li>
</ul>
</div>
<div class=\"main-details\">
<div class=\"callout callout-warning hidden\" role=\"alert\" id=\"deprecation-warning\">
<div class=\"marker\">
<span class=\"glyphicon glyphicon-info-sign\"></span>
</div>
<h4>Technique version deprecated</h4>
<div>This Directive uses a version of this Technique that is deprecated: <span id=\"deprecation-message\"></span>.<br>
<span id=\"migrate-button\"></span>
</div>
</div>

<div id=\"directiveInfo\">
<div id=\"nameField\" class=\"row wbBaseField form-group \">
<label for=\"F1080519123890AX0HJH\" class=\"col-xs-12 wbBaseFieldLabel\"><b>Name</b> </label>
<div class=\"col-xs-12\">
<input name=\"F1080519123891010QJP\" type=\"text\" value=\"Package manager settings (RUG/YaST/ZMD)\" id=\"F1080519123890AX0HJH\" class=\"form-control\">
</div>
</div>
<div id=\"tagField\">
<div id=\"directiveEditTagsApp\">
<div ng-controller=\"tagsController\" ng-cloak=\"\" id=\"directiveTags\">
<label class=\"col-xs-12 row\" for=\"newTagKey\"><span class=\"text-fit\">Tags</span></label>
<div ng-class=\"{'noTags':tags.length==0}\" class=\"tags-container form-group row col-xs-12\">
<div ng-class=\"{'match': tagMatch(tag)}\" ng-mouseleave=\"showDelete[$index] = false\" ng-mouseenter=\"showDelete[$index] = true\" ng-repeat=\"tag in tags track by $index\" role=\"group\" class=\"btn-group btn-group-xs\">
<button ng-click=\"toggleTag(tag)\" class=\"btn btn-default tags-label\" type=\"button\">
<i class=\"fa fa-tag\"></i>
<span class=\"tag-key\">{{tag.key}}</span>
<span class=\"tag-separator\">=</span>
<span class=\"tag-value\">{{tag.value}}</span>
<span class=\"fa fa-search-plus\"></span>
</button>
<button ng-click=\"removeTag($index)\" class=\"btn btn-default\" type=\"button\" ng-if=\"isEditForm &amp;&amp; showDelete[$index]\"><span class=\"fa fa-times text-danger\"></span></button>
</div>
</div>
<div class=\"form-group\">
<div class=\"input-group col-xs-6\">
<div override-suggestions=\"true\" input-changed=\"updateTag\" match-class=\"highlight\" input-class=\"form-control input-sm input-key\" title-field=\"value\" remote-url-data-field=\"data\" remote-url=\"{{contextPath}}/secure/api/completion/tags/{{kind}}/key/\" selected-object=\"selectTag\" pause=\"500\" maxlength=\"100\" minlength=\"1\" placeholder=\"key\" angucomplete-alt=\"\" id=\"newTagKey\">
</div>
<span class=\"input-group-addon addon-json\">=</span>
<div override-suggestions=\"true\" input-changed=\"updateValue\" match-class=\"highlight\" input-class=\"form-control input-sm input-value\" title-field=\"value\" remote-url-data-field=\"data\" remote-url=\"{{contextPath}}/secure/api/completion/tags/{{kind}}/value/{{newTag.key}}/\" selected-object=\"selectValue\" pause=\"500\" maxlength=\"100\" minlength=\"1\" placeholder=\"value\" angucomplete-alt=\"\" id=\"newTagValue\">
</div>
<span class=\"input-group-btn\">
<button ng-click=\"addTag()\" ng-disabled=\"newTag === undefined || newTag.key.length === 0 || newTag.value.length === 0\" class=\"btn btn-success btn-sm\" type=\"button\"><span class=\"fa fa-plus\"></span></button>
</span>
</div>
</div>

<textarea ng-hide=\"true\" ng-model=\"result\" name=\"F1080519123892GWINYD\"></textarea></div>
</div>
</div>
<div id=\"shortDescriptionField\" class=\"row wbBaseField form-group \">
<label for=\"F1080519123893M3A5A1\" class=\"col-xs-12 wbBaseFieldLabel\"><span class=\"text-fit\">Short description</span> </label>
<div class=\"col-xs-12\">
<input name=\"F1080519123894LW0AXF\" type=\"text\" value=\"\" id=\"F1080519123893M3A5A1\" class=\"form-control\">
</div>
</div>
<div id=\"longDescriptionFieldMarkdownContainer\">
<label class=\"wbBaseFieldLabel\"><span class=\"text-fit\">Description</span>
<i onclick=\"toggleMarkdownEditor('longDescriptionField')\" onmouseout=\"toggleOpacity(this)\" title=\"Edit description\" onmouseenter=\"toggleOpacity(this)\" class=\"fa fa-pencil text-primary cursorPointer half-opacity edit-description-icon\"></i>
</label>
<div class=\"markdown\">
<div id=\"longDescriptionFieldMarkdown\"></div>
<p class=\"nodisplay half-opacity\" id=\"longDescriptionFieldMarkdownEmpty\">No description defined, click on <i onclick=\"toggleMarkdownEditor('longDescriptionField')\" onmouseout=\"toggleOpacity(this)\" onmouseenter=\"toggleOpacity(this)\" class=\"fa fa-pencil text-primary cursorPointer half-opacity\"></i> to edit </p>
</div>
</div>
<div class=\"nodisplay\" id=\"longDescriptionFieldContainer\">
<div id=\"longDescriptionField\" class=\"row wbBaseField form-group col-xs-6 row\">
<label for=\"F1080519123895EBVZUW\" class=\"row col-xs-12 wbBaseFieldLabel\"><span class=\"text-fit\">Description</span> <i class=\"fa fa-check text-success cursorPointer half-opacity\" onmouseenter=\"toggleOpacity(this)\" title=\"Valid description\" onmouseout=\"toggleOpacity(this)\" onclick=\"toggleMarkdownEditor('longDescriptionField')\"></i> <i class=\"fa fa-eye-slash text-primary cursorPointer half-opacity\" onmouseenter=\"toggleOpacity(this)\" title=\"Show/hide preview\" onmouseout=\"toggleOpacity(this)\" onclick=\"togglePreview(this, 'longDescriptionField')\"></i></label>
<div class=\"row col-xs-12\">
<textarea name=\"F1080519123896FLBAGU\" id=\"F1080519123895EBVZUW\" class=\"form-control\" rows=\"15\"></textarea>
</div>
</div>
<div class=\"wbBaseField col-xs-6 row\" id=\"longDescriptionFieldMarkdownPreviewContainer\">
<label class=\"col-xs-12 row wbBaseFieldLabel\"><span class=\"text-fit\">Preview</span></label>
<div class=\" col-xs-12 row markdown\" id=\"longDescriptionFieldPreviewMarkdown\"></div>
</div>
</div>
<div>
<label class=\"wbBaseFieldLabel\"><span class=\"text-fit\">Technique documentation</span></label>
<div class=\"markdown\">
<div id=\"techniqueDescription\">This technique configures the RUG and YaST package manager using Novell's ZMD.</div>
</div>
</div>
<div id=\"priority\" class=\"row wbBaseField form-group \">
<label for=\"F10805191238972F4BBH\" class=\"col-xs-12 wbBaseFieldLabel\"><div>
<b>Priority</b>
<span>
<span tooltipid=\"priorityId\" class=\"ruddericon tooltipable glyphicon glyphicon-question-sign\" title=\"\"></span>
<div class=\"tooltipContent\" id=\"priorityId\">
<h4> Priority </h4>
<p>Priority has two uses depending if the technique from which that directive is derived is <b>Unique</b> or not.</p>
<p>Unique directives can be applied only once (for example Time Settings), so only the highest priority will be applied.</p>
<p>For <b>non-unique</b> directives, priority is used to choose the order of the directive application when applicable. The
highest priority directive comes first.</p>
<p>Note that overriding variable definitions are the ones coming last and so, the used value will be the one with the lowest priority.</p>
<p>More information is available in <a href=\"https://docs.rudder.io/reference/current/usage/advanced_configuration_management.html#_special_use_case_overriding_generic_variable_definition\">documentation about ordering directive application</a>.</p>
</div>
</span>
</div> </label>
<div class=\"col-xs-12\">
<select name=\"F1080519123898XG4F4V\" id=\"F10805191238972F4BBH\" class=\"form-control\"><option value=\"SYGMBO2Z10UT0QOP10VW\">Highest</option><option value=\"HWIEBQHR5OUALIIEPX5Q\">+4</option><option value=\"SVQBNQ5QINENZGUEBNUP\">+3</option><option value=\"R50YZMDETMPKJKDNJ0U1\">+2</option><option value=\"D4UFA23UR311MBKEF1O0\">+1</option><option selected=\"selected\" value=\"SEPZTFBJKMSYG2XOYRB0\">Default</option><option value=\"UVWRDTPUALLOP5PUK0TM\">-1</option><option value=\"KX2PDQHDPTZ1MNFM3NUB\">-2</option><option value=\"AZSQVIYVEDXYFW0GZ3RQ\">-3</option><option value=\"SZNRG5R0L3ZQQ2JHCL3U\">-4</option><option value=\"GBVX2AFYLIH3U34OENNG\">Lowest</option></select>
</div>
</div>
<div class=\"wbBaseField form-group\">
<label id=\"policyModesLabel\" class=\"wbBaseFieldLabel\">
<b>Policy mode</b>
<span>
<span tooltipid=\"policyModeId\" class=\"ruddericon tooltipable glyphicon glyphicon-question-sign\" title=\"\"></span>
<div class=\"tooltipContent\" id=\"policyModeId\">
<h4>Policy mode</h4>
<p>Configuration rules in Rudder can operate in one of two modes:</p>
<ol>
<li><b>Audit</b>: the agent will examine configurations and report any differences, but will not make any changes</li>
<li><b>Enforce</b>: the agent will make changes to fix any configurations that differ from your directives</li>
</ol>
<p>
By default all nodes and all directives operate in the global default mode defined in
<b> Settings</b>, which is currently <b>enforce</b>.
</p>
<div>
You may override the agent policy mode on this directive.
If set to <b>Audit</b> this directive will never be enforced.
If set to <b>Enforce</b> this directive will appply necessary changes except on Nodes with a <b>Verify</b> override setting.
</div>
</div>
</span>
</label>
<div id=\"policyModes\" class=\"row wbBaseField form-group \">
<label for=\"F10805191238995GPQQX\" class=\"hidden wbBaseFieldLabel\"><span class=\"text-fit\">Policy Mode</span> </label>
<div class=\"col-xs-12\">
<div id=\"F10805191238995GPQQX\" class=\"checkbox-group policymode-group\">
<label class=\"radio-inline\">
<input checked=\"checked\" class=\"radio\" type=\"radio\" name=\"F1080519123900CL3SHD\" value=\"global\">
<span class=\"radioTextLabel\"><span class=\"global-btn\">Global mode (<span class=\"global-mode enforce\"></span>)</span></span>
</label><label class=\"radio-inline\">
<input class=\"radio\" type=\"radio\" name=\"F1080519123900CL3SHD\" value=\"audit\">
<span class=\"radioTextLabel\"><span class=\"audit-btn\">Audit</span></span>
</label><label class=\"radio-inline\">
<input class=\"radio\" type=\"radio\" name=\"F1080519123900CL3SHD\" value=\"enforce\">
<span class=\"radioTextLabel\"><span class=\"enforce-btn\">Enforce</span></span>
</label>
</div>
</div>
</div>
</div>
<div class=\"row wbBaseField form-group\" id=\"version\">
<label for=\"version\" class=\"col-xs-12 wbBaseFieldLabel\"><span class=\"text-fit\"><b>Technique version</b></span></label>
<div class=\"col-xs-12\"><input name=\"version\" class=\"form-control\" readonly=\"\" value=\"3.0\"></div>
</div>
<div id=\"showTechnical\" class=\"directiveTechnicalInfo\"><button type=\"button\" class=\"btn btn-technical-details btn-sm btn-primary\" onclick=\"$('#technicalDetails').toggle(400);$(this).toggleClass('opened');\">Technical Details</button></div>
<div class=\"well\" style=\"display:none\" id=\"technicalDetails\">

<table>
<tbody><tr>
<td><label>Directive ID:</label></td>
<td id=\"directiveID\">9e3f2dfb-9b31-467f-97ea-81e7d0924e22</td>
</tr>
<tr>
<td><label>Technique ID:</label></td>
<td id=\"techniqueID\">zmdPackageManagerSettings</td>
</tr>
<tr>
<td><label>Technique name:</label></td>
<td id=\"techniqueName\"><a href=\"/rudder/secure/administration/techniqueLibraryManagement/zmdPackageManagerSettings\">
Package manager settings (RUG/YaST/ZMD) version 3.0
</a></td>
</tr>
<tr>
<td><label>Technique unicity:</label></td>
<td id=\"isSingle\"><span>
Multi instance: Several Directives based on this Technique can be applied on any given node
</span></td>
</tr>
</tbody></table>
</div>
</div>

<h2 class=\"title-tab\" id=\"parametersTitle\">Parameters</h2>
<div id=\"parameters\" class=\"variableDefinition\">
<table class=\"directiveVarDef\">
<tr><td colspan=\"3\">
<div id=\"F1080519123914XUOYCW\" class=\"sectionFieldset foldableSection unfoldedSection\">
<div class=\"section-title\" onClick=\"F1080519123915UPGO5Z()\">Section: General settings</div>
<table class=\"directiveSectionDef\">
<tr>
<td colspan=\"2\">
<span><b>Security level</b> <span tooltipid=\"F1080519123904CVTVKF\" class=\"ruddericon tooltipable glyphicon glyphicon-question-sign\" title=\"\"></span><div class=\"tooltipContent\" id=\"F1080519123904CVTVKF\">This option defines which component of a repository is used as a trusted reference for the packages. Signature checks the package against the repository PGP key and Checksum only checks the package integrity. None installs the packages blindly without checking them.</div> </span>
</td>
<td class=\"directiveVarValue\"><select name=\"F1080519123903DK0XXH\"><option value=\"signature\">Signature</option><option value=\"checksum\">Checksum</option><option value=\"none\">Nothing</option><option selected=\"selected\" value=\"dontchange\">Don't change</option></select></td>
</tr><tr>
<td colspan=\"2\">
<span>Proxy URL <span tooltipid=\"F108051912390744SYEK\" class=\"ruddericon tooltipable glyphicon glyphicon-question-sign\" title=\"\"></span><div class=\"tooltipContent\" id=\"F108051912390744SYEK\">The URL should be in the following format: http://[user:password@]server[:port]/</div> <span> - <small class=\"greyscala\">Optional</small></span></span>
</td>
<td class=\"directiveVarValue\">
<div id=\"F10805191239052S2ZRV\" class=\"directive-input-group\">
<div id=\"F10805191239052S2ZRV-controller\" ng-controller=\"textController\" class=\"input-group input-group-sm text-section col-xs-12\">
<div ng-cloak=\"\" ng-show=\"feature\" class=\"input-group-btn\">
<button type=\"button\" data-toggle=\"dropdown\" class=\"btn btn-default dropdown-toggle\">{{prefixName()}} <span class=\"caret\"></span></button>
<ul class=\"dropdown-menu\">
<li><a href=\"#\" ng-click=\"current.prefix = ''\">Text</a></li>
<li><a href=\"#\" ng-click=\"current.prefix = 'evaljs:'\">JS</a></li>
</ul>
</div>
<input type=\"text\" ng-model=\"current.value\" class=\"form-control monospace-font\">
<textarea ng-hide=\"true\" ng-model=\"result\" name=\"F1080519123906I351CU\"></textarea></div>
</div>
</td>
</tr><tr>
<td colspan=\"2\">
<span>Proxy username <span tooltipid=\"F1080519123910KZ0G5Z\" class=\"ruddericon tooltipable glyphicon glyphicon-question-sign\" title=\"\"></span><div class=\"tooltipContent\" id=\"F1080519123910KZ0G5Z\">This should be the username used to connect to the proxy, if required</div> <span> - <small class=\"greyscala\">Optional</small></span></span>
</td>
<td class=\"directiveVarValue\">
<div id=\"F1080519123908HHEGMH\" class=\"directive-input-group\">
<div id=\"F1080519123908HHEGMH-controller\" ng-controller=\"textController\" class=\"input-group input-group-sm text-section col-xs-12\">
<div ng-cloak=\"\" ng-show=\"feature\" class=\"input-group-btn\">
<button type=\"button\" data-toggle=\"dropdown\" class=\"btn btn-default dropdown-toggle\">{{prefixName()}} <span class=\"caret\"></span></button>
<ul class=\"dropdown-menu\">
<li><a href=\"#\" ng-click=\"current.prefix = ''\">Text</a></li>
<li><a href=\"#\" ng-click=\"current.prefix = 'evaljs:'\">JS</a></li>
</ul>
</div>
<input type=\"text\" ng-model=\"current.value\" class=\"form-control monospace-font\">
<textarea ng-hide=\"true\" ng-model=\"result\" name=\"F1080519123909QWH2YQ\"></textarea></div>
</div>
</td>
</tr><tr>
<td colspan=\"2\">
<span>Proxy password <span tooltipid=\"F1080519123913ZT14GO\" class=\"ruddericon tooltipable glyphicon glyphicon-question-sign\" title=\"\"></span><div class=\"tooltipContent\" id=\"F1080519123913ZT14GO\">This should be the password used to connect to the proxy, if required</div> <span> - <small class=\"greyscala\">Optional</small></span></span>
</td>
<td class=\"directiveVarValue\">
<div id=\"F1080519123911A1JVJK\" class=\"password-app\">
<div id=\"F1080519123911A1JVJK-controller\" ng-cloak=\"\" ng-controller=\"passwordController\" class=\"password-section\">
<div ng-if=\"displayCurrent()\" class=\"current-password padding-form\">
<div class=\"form-group row is-passwd\" ng-if=\"! current.isScript\">
<label class=\"control-label\">Current password <small style=\"color: #999\">- {{displayCurrentHash()}}</small></label>
<div class=\"input-group col-xs-12\">
<input ng-value=\"displayedPass\" class=\"form-control toggle-type\" placeholder=\"\" readonly=\"\" ng-if=\"current.show\" type=\"text\">
<input placeholder=\"\" ng-model=\"displayedPass\" class=\"form-control toggle-type animate-show\" readonly=\"\" type=\"password\" ng-hide=\"current.show\">
<span class=\"input-group-btn\">
<button aria-expanded=\"false\" aria-haspopup=\"true\" ng-if=\"otherPasswords !== undefined\" data-toggle=\"dropdown\" class=\"btn btn-default dropdown-toggle\" type=\"button\">
<span class=\"caret\"></span><span class=\"sr-only\">Toggle Dropdown</span>
</button>
<ul ng-if=\"otherPasswords !== undefined\" class=\"dropdown-menu dropdown-menu-right\">
<li><a ng-click=\"changeDisplayPass(current.password)\">Default</a></li>
<li ng-repeat=\"(name, password) in otherPasswords\">
<a ng-click=\"changeDisplayPass(password)\">{{name}}</a></li>
</ul>
<button class=\"btn btn-default reveal-password\" ng-click=\"current.show = ! current.show\" type=\"button\">
<span class=\"glyphicon \" ng-class=\"current.show ? 'glyphicon-eye-close' : 'glyphicon-eye-open'\"></span>
</button>
<button ng-click=\"changeAction('change')\" ng-if=\"action !== 'change'\" class=\"btn btn-info\" type=\"button\">Change</button>
<button ng-click=\"changeAction('keep')\" ng-if=\"action === 'change'\" class=\"btn btn-success\" type=\"button\">Revert</button>
<button ng-if=\"canBeDeleted\" ng-click=\"changeAction('delete')\" class=\"btn btn-danger\" type=\"button\">Delete</button>
</span>
</div>
</div>
<div>
<div ng-if=\"current.isScript\" class=\"form-group is-script\">
<label class=\"control-label\">Script to compute passwords</label>
<span class=\"btn-group\">
<button ng-click=\"changeAction('change')\" ng-if=\"action !== 'change'\" class=\"btn btn-info\" type=\"button\">Change</button>
<button ng-click=\"changeAction('keep')\" ng-if=\"action === 'change'\" class=\"btn btn-success\" type=\"button\">Revert</button>
<button ng-click=\"changeAction('delete')\" class=\"btn btn-danger\" type=\"button\">Delete</button>
</span>
<div class=\"input-group col-xs-12\">
<textarea placeholder=\"\" ng-model=\"current.password\" class=\"form-control toggle-type\" rows=\"4\" readonly=\"\"></textarea>
</div>
</div>
</div>
</div>
<div ng-if=\"action === 'delete'\" class=\"password-deleted\">
<h4 class=\"\">Password will not be managed by Rudder anymore
<button ng-click=\"changeAction('keep')\" class=\"btn btn-success\" type=\"button\">Revert</button>
</h4>
</div>
<div ng-if=\"action === 'change'\" class=\"actions\">
<div role=\"group\" class=\"btn-group \">
<a class=\"btn btn-default\" ng-click=\"passwordForm('withHashes')\" ng-class=\"formType === 'withHashes' ? 'active' : '' \">Enter password + hash</a>
<a class=\"btn btn-default\" ng-click=\"passwordForm('preHashed') \" ng-class=\"formType === 'preHashed' ? 'active' : '' \">Enter pre-hashed value</a>
<a class=\"btn btn-default\" ng-click=\"passwordForm('clearText') \" ng-class=\"formType === 'clearText' ? 'active' : '' \">Use clear text password</a>
<a ng-if=\"scriptEnabled\" class=\"btn btn-default\" ng-click=\"passwordForm('script') \" ng-class=\"formType === 'script' ? 'active' : '' \">Enter script to set passwords</a>
</div>
<div ng-if=\"formType === 'withHashes'\" class=\"bloc-action\">
<div>
<div class=\"form-group has-feedback\">
<label class=\"control-label\">New password</label>
<div class=\"input-group col-xs-12\">
<input placeholder=\"\" ng-model=\"newPassword.password\" class=\"form-control toggle-type animate-show\" type=\"text\" ng-if=\"newPassword.show\">
<input placeholder=\"\" ng-model=\"newPassword.password\" class=\"form-control toggle-type animate-show\" type=\"password\" ng-hide=\"newPassword.show\">
<span class=\"input-group-btn\">
<button class=\"btn btn-default reveal-password\" ng-click=\"newPassword.show = ! newPassword.show\" type=\"button\">
<span class=\"glyphicon \" ng-class=\"newPassword.show ? 'glyphicon-eye-close' : 'glyphicon-eye-open'\"></span>
</button>
</span>
</div>
</div>
<div class=\"form-group \">
<label class=\"control-label\">Hash algorithm</label>
<div class=\"col-xs-12\">
<select ng-options=\"prefix as hash for (prefix, hash) in hashes\" ng-model=\"newPassword.hash\" class=\"form-control\">
</select>
<span class=\"help-block\">
This password will be hashed using the <strong>{{hashes[newPassword.hash]}}</strong> algorithm and stored and distributed only as a hash.
The plain text value entered above will not be stored.
</span>
</div>
</div>
</div>
</div>
<div ng-if=\"formType === 'preHashed' || formType === 'clearText'\" class=\"panel bloc-action\">
<div class=\"\">
<div class=\"form-group has-feedback\">
<label class=\"control-label\">New password</label>
<div ng-if=\" formType === 'clearText'\" class=\"input-group col-xs-12\">

<input placeholder=\"\" ng-model=\"newPassword.password\" class=\"form-control toggle-type animate-show\" type=\"text\" ng-if=\"newPassword.show\">
<input placeholder=\"\" ng-model=\"newPassword.password\" class=\"form-control toggle-type animate-show\" type=\"password\" ng-hide=\"newPassword.show\">
<span class=\"input-group-btn\">
<button class=\"btn btn-default reveal-password\" ng-click=\"newPassword.show = ! newPassword.show\" type=\"button\">
<span class=\"glyphicon \" ng-class=\"newPassword.show ? 'glyphicon-eye-close' : 'glyphicon-eye-open'\"></span>
</button>
</span>
</div>
<div ng-if=\" formType === 'preHashed'\" class=\"col-xs-12\">
<input placeholder=\"\" ng-model=\"newPassword.password\" class=\"form-control toggle-type\" type=\"text\">
</div>
<span class=\"help-block col-xs-12\">
This <strong class=\"variation\">{{formType === 'preHashed' ? &amp;quot;hash&amp;quot; : &amp;quot;password&amp;quot;}}</strong> will be stored and distributed verbatim (plain text).
</span>
</div>
</div>
</div>
<div ng-if=\"formType === 'script'\" class=\"panel bloc-action\">
<div class=\"\">
<div class=\"form-group has-feedback\">
<label class=\"control-label\">Script</label>
<div class=\"input-group col-xs-12 \">
<textarea rows=\"4\" ng-model=\"newPassword.password\" class=\"form-control\"></textarea>
<span class=\"help-block\">
You can enter a JavaScript expression here. See <a href=\"/rudder-doc/reference/current/usage/advanced_configuration_management.html#_javascript_evaluation_in_directives\">documentation</a> here for details.<br>
Passwords will be computed for each node during policy generation. To use hashed passwords, make sure to call the rudder.password function in the script above.
</span>
</div>
</div>
</div>
</div>
</div>
<input value=\"\" ng-hide=\"true\" ng-model=\"result\" type=\"text\" name=\"F1080519123912LJPQNE\"></div>
</div>
</td>
</tr>
</table>
</div>
</td></tr><tr><td colspan=\"3\">
<div id=\"F1080519123932UVUQ2D\" class=\"sectionFieldset foldableSection unfoldedSection\">
<div class=\"section-title\" onClick=\"F10805191239333RES3W()\">Section: Repository settings</div>
<table class=\"directiveSectionDef\">
<tr>
<td colspan=\"2\">
<span><b>Add the following repository(ies)</b> </span>
</td>
<td class=\"directiveVarValue\"><input type=\"checkbox\" name=\"F1080519123916XRUKPZ\" value=\"true\"><input type=\"hidden\" name=\"F1080519123916XRUKPZ\" value=\"false\"></td>
</tr><tr id=\"F1080519123874J5TQEY\"><td colspan=\"3\">
<div class=\"directiveGroup\"><div id=\"F1080519123917JZYWY2\" class=\"groupFieldset foldableSection foldedSection\">
<div class=\"section-title\" onClick=\"F1080519123918VBKHTZ()\">Repository #1</div>
<table class=\"directiveGroupDef\">
<tbody>
<tr>
<td colspan=\"2\">
<span>Repository URL <span> - <small class=\"greyscala\">Optional</small></span></span>
</td>
<td class=\"directiveVarValue\">
<div id=\"F1080519123919KACJQE\" class=\"directive-input-group\">
<div id=\"F1080519123919KACJQE-controller\" ng-controller=\"textController\" class=\"input-group input-group-sm text-section col-xs-12\">
<div ng-cloak=\"\" ng-show=\"feature\" class=\"input-group-btn\">
<button type=\"button\" data-toggle=\"dropdown\" class=\"btn btn-default dropdown-toggle\">{{prefixName()}} <span class=\"caret\"></span></button>
<ul class=\"dropdown-menu\">
<li><a href=\"#\" ng-click=\"current.prefix = ''\">Text</a></li>
<li><a href=\"#\" ng-click=\"current.prefix = 'evaljs:'\">JS</a></li>
</ul>
</div>
<input type=\"text\" ng-model=\"current.value\" class=\"form-control monospace-font\">
<textarea ng-hide=\"true\" ng-model=\"result\" name=\"F108051912392001BQAH\"></textarea></div>
</div>
</td>
</tr><tr>
<td colspan=\"2\">
<span>Repository local name <span> - <small class=\"greyscala\">Optional</small></span></span>
</td>
<td class=\"directiveVarValue\">
<div id=\"F1080519123921VEKQ4C\" class=\"directive-input-group\">
<div id=\"F1080519123921VEKQ4C-controller\" ng-controller=\"textController\" class=\"input-group input-group-sm text-section col-xs-12\">
<div ng-cloak=\"\" ng-show=\"feature\" class=\"input-group-btn\">
<button type=\"button\" data-toggle=\"dropdown\" class=\"btn btn-default dropdown-toggle\">{{prefixName()}} <span class=\"caret\"></span></button>
<ul class=\"dropdown-menu\">
<li><a href=\"#\" ng-click=\"current.prefix = ''\">Text</a></li>
<li><a href=\"#\" ng-click=\"current.prefix = 'evaljs:'\">JS</a></li>
</ul>
</div>
<input type=\"text\" ng-model=\"current.value\" class=\"form-control monospace-font\">
<textarea ng-hide=\"true\" ng-model=\"result\" name=\"F1080519123922ZPFM02\"></textarea></div>
</div>
</td>
</tr>
</tbody>
</table>
<div class=\"textright directiveDeleteGroup\"><input onclick=\"lift.setUriSuffix('zF10805191239235WOUPD=_'); return true;\" value=\"Delete 'Repository #1'\" class=\"btn btn-danger\" disabled=\"true\" type=\"submit\" name=\"zF10805191239235WOUPD\"></div>
<div class=\"directiveAddGroup\"><input onclick=\"lift.setUriSuffix('zF1080519123924DB10PM=_'); return true;\" value=\"Add another 'Repository'\" class=\"btn new-icon btn-success btn-outline\" type=\"submit\" name=\"zF1080519123924DB10PM\"></div>
</div></div>
</td></tr><tr><td colspan=\"3\">
<div id=\"F1080519123930ZFN5SK\" class=\"sectionFieldset foldableSection unfoldedSection\">
<div class=\"section-title\" onClick=\"F1080519123931OFN3CD()\">Section: Advanced repository settings</div>
<table class=\"directiveSectionDef\">
<tr>
<td colspan=\"2\">
<span><b>Set the refresh interval</b> </span>
</td>
<td class=\"directiveVarValue\"><input type=\"checkbox\" name=\"F1080519123925DMVBMD\" value=\"true\"><input type=\"hidden\" name=\"F1080519123925DMVBMD\" value=\"false\"></td>
</tr><tr>
<td colspan=\"2\">
<span><b>How long between refreshes, in seconds</b> </span>
</td>
<td class=\"directiveVarValue\">
<div id=\"F108051912392653Y1P0\" class=\"directive-input-group\">
<div id=\"F108051912392653Y1P0-controller\" ng-controller=\"textController\" class=\"input-group input-group-sm text-section col-xs-12\">
<div ng-cloak=\"\" ng-show=\"feature\" class=\"input-group-btn\">
<button type=\"button\" data-toggle=\"dropdown\" class=\"btn btn-default dropdown-toggle\">{{prefixName()}} <span class=\"caret\"></span></button>
<ul class=\"dropdown-menu\">
<li><a href=\"#\" ng-click=\"current.prefix = ''\">Text</a></li>
<li><a href=\"#\" ng-click=\"current.prefix = 'evaljs:'\">JS</a></li>
</ul>
</div>
<input type=\"text\" ng-model=\"current.value\" class=\"form-control monospace-font\">
<textarea ng-hide=\"true\" ng-model=\"result\" name=\"F1080519123927KQ3KCJ\"></textarea></div>
</div>
</td>
</tr><tr>
<td colspan=\"2\">
<span><b>Allow clients to connect remotely to this daemon</b> </span>
</td>
<td class=\"directiveVarValue\"><div><div class=\"radio\">
<label>
<input type=\"radio\" name=\"F1080519123928IQB0PO\" value=\"True\">
True
</label>
</div><div class=\"radio\">
<label>
<input type=\"radio\" name=\"F1080519123928IQB0PO\" value=\"False\">
False
</label>
</div><div class=\"radio\">
<label>
<input checked=\"checked\" type=\"radio\" name=\"F1080519123928IQB0PO\" value=\"dontchange\">
Don't change
</label>
</div></div></td>
</tr><tr>
<td colspan=\"2\">
<span><b>Logging level (off, fatal, error, warn, info, debug)</b> </span>
</td>
<td class=\"directiveVarValue\"><select name=\"F1080519123929VA43OO\"><option value=\"off\">Off</option><option value=\"fatal\">Fatal</option><option value=\"error\">Error</option><option value=\"warn\">Warn</option><option value=\"info\">Info</option><option value=\"debug\">Debug</option><option selected=\"selected\" value=\"dontchange\">Don't change</option></select></td>
</tr>
</table>
</div>
</td></tr>
</table>
</div>
</td></tr>
</table>
</div>
<h2 class=\"title-tab\" id=\"directiveRulesTabTitle\">Target rules</h2>
<div id=\"directiveRulesTab\"><div>
<div class=\"row col-small-padding\">
<div class=\"col-xs-12 col-lg-3 col-md-4\">
<div class=\"box\">
<div class=\"box-header with-border\">
<h3 class=\"box-title\"><i class=\"fa fa-filter\" aria-hidden=\"true\"></i>Filters</h3>
<div class=\"box-tools pull-right\">
<button class=\"btn btn-box-tool\" data-widget=\"collapse\"><i class=\"fa fa-chevron-down\"></i></button>
</div>
</div>
<div class=\"box-body\">
<div class=\"row\">
<div class=\"col-xs-12\">
<div id=\"showFiltersRules\" ng-controller=\"filterTagCtrl\" ng-init=\"initRule()\" class=\"filters\" ng-cloak=\"\">
<div class=\"filters-container\">
<div class=\"filterTag\">
<div class=\"input-group search-addon\">
<label for=\"searchStr\" class=\"input-group-addon search-addon\"><span class=\"ion ion-search\"></span></label>
<input type=\"text\" id=\"searchStr\" class=\"input-sm form-control\" placeholder=\"Filter\" ng-model=\"strSearch\" ng-keyup=\"filterGlobal(strSearch)\">
</div>
<div class=\"form-group\">
<label>Tags</label>
<div class=\"input-group\">
<div id=\"ruleFilterKeyInput\" angucomplete-alt=\"\" placeholder=\"key\" minlength=\"1\" maxlength=\"100\" pause=\"500\" selected-object=\"selectTag\" remote-url=\"{{contextPath}}/secure/api/completion/tags/rule/key/\" remote-url-data-field=\"data\" title-field=\"value\" input-class=\"form-control input-sm input-key\" match-class=\"highlight\" input-changed=\"updateTag\" override-suggestions=\"true\">
</div>
<span class=\"input-group-addon addon-json\">=</span>
<div id=\"ruleFilterValueInput\" angucomplete-alt=\"\" placeholder=\"value\" minlength=\"1\" maxlength=\"100\" pause=\"500\" selected-object=\"selectValue\" remote-url=\"{{contextPath}}/secure/api/completion/tags/rule/value/{{newTag.key}}/\" remote-url-data-field=\"data\" title-field=\"value\" input-class=\"form-control input-sm input-value\" match-class=\"highlight\" input-changed=\"updateValue\" override-suggestions=\"true\">
</div>
<span class=\"input-group-btn\">
<button type=\"button\" ng-click=\"addTag(newTag)\" class=\"btn btn-success btn-sm\" ng-disabled=\" (isEmptyOrBlank(newTag.key) &amp;amp;&amp;amp; isEmptyOrBlank(newTag.value)); \">
<span class=\"fa fa-plus\"></span>
</button>
</span>
</div>
</div>
<div class=\"only-tags\">
<button class=\"btn btn-default btn-xs pull-right\" ng-click=\"clearAllTags()\" ng-hide=\"tags.length==0\">
Clear all tags
<i class=\"fa fa-trash\" aria-hidden=\"true\"></i>
</button>
</div>
<div class=\"tags-container\">
<div class=\"btn-group btn-group-xs\" role=\"group\" ng-repeat=\"tag in tags track by $index\">
<button class=\"btn btn-default tags-label\" ng-class=\"{'onlyKey':only.key, 'onlyValue':only.value, 'already-exist':tag.alreadyExist}\" ng-click=\"modifyTag(tag,'ruleFilterKeyInput','ruleFilterValueInput')\">
<i class=\"fa fa-tag\"></i>
<span class=\"tag-key\">
<span ng-show=\"tag.key!=''\">{{tag.key}}</span>
<i class=\"fa fa-asterisk\" aria-hidden=\"true\" ng-show=\"tag.key==''\"></i>
</span>
<span class=\"tag-separator\">=</span>
<span class=\"tag-value\">
<span ng-show=\"tag.value!=''\">{{tag.value}}</span>
<i class=\"fa fa-asterisk\" aria-hidden=\"true\" ng-show=\"tag.value==''\"></i>
</span>
</button>
<button type=\"button\" class=\"btn btn-default\" ng-click=\"removeTag($index)\">
<span class=\"fa fa-times\"></span>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class=\"box\">
<div class=\"box-header with-border\">
<h3 class=\"box-title\"><i class=\"fa fa-list\" aria-hidden=\"true\"></i>Categories</h3>
<div class=\"box-tools pull-right\">
<button class=\"btn btn-sm btn-box-tool\" data-widget=\"collapse\"><i class=\"fa fa-chevron-down\"></i></button>
</div>
</div>
<div class=\"box-body\" id=\"boxTreeRules\">
<div class=\"row\">
<div class=\"col-xs-12\" id=\"categoryTreeParent\">
<div id=\"treeParent\">
<ul class=\"form-group list-sm\">
<li class=\"rudder-form\">
<div class=\"input-group\">
<label for=\"includeCheckbox\" class=\"input-group-addon\" id=\"includeSubCategory\">
<input onclick=\"lift.ajax('F1080519123876ZWUAQ0=' + this.checked, null, null, null)\" checked=\"checked\" id=\"includeCheckbox\" type=\"checkbox\">
<label class=\"label-radio\" for=\"includeCheckbox\">
<span class=\"ion ion-checkmark-round\"></span>
</label>
<span class=\"ion ion-checkmark-round check-icon\"></span>
</label>
<label for=\"includeCheckbox\" class=\"form-control\">
Display Rules from subcategories
</label>
</div>
</li>
</ul>
<div id=\"categoryTree\">
<ul><li id=\"rootRuleCategory\" data-jstree=\"{ &amp;quot;type&amp;quot; : &amp;quot;category&amp;quot; }\">
<a href=\"javascript://\" onclick=\"lift.ajax(&amp;quot;F10805191238801JI35T=true&amp;quot;, null, null, null); return false;\"><span id=\"rootRuleCategoryName\" tooltipid=\"F1080519123877UWPJD2\" title=\"\" class=\"treeRuleCategoryName tooltipable\">
<input onclick=\"lift.ajax('F1080519123879D0P303=' + this.checked, null, null, null)\" style=\"margin : 2px 5px 0px 2px;\" id=\"rootRuleCategoryCheckbox\" type=\"checkbox\">Rules
</span><div class=\"tooltipContent\" id=\"F1080519123877UWPJD2\">
<h3>Rules</h3>
<div>This is the main category of Rules</div>
</div></a>
<ul>
</ul>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class=\"col-lg-9 col-xs-12 col-md-8\">
<div class=\"box\">
<div class=\"box-header with-border\">
<h3 class=\"box-title\"><i class=\"fa fa-gears\" aria-hidden=\"true\"></i>Rules</h3>
<div class=\"box-tools pull-right\">
<button class=\"btn btn-box-tool btn-blue toggleTabFilter updateTable btn-sm\" id=\"updateRuleTable\">Refresh<span class=\"fa fa-refresh\"></span></button>
</div>
</div>
<div class=\"box-body\">
<div class=\"row\">
<div class=\"col-xs-12\" id=\"view\">
<div>
<div id=\"rules_grid_zone\">
<div id=\"modal_rules_grid_zone\" class=\"nodisplay\">
<div id=\"popup_rules_grid_zone\"></div>
</div>
<table id=\"grid_rules_grid_zone\" class=\"display\" cellspacing=\"0\"> </table>
<div class=\"grid_rules_grid_zone_pagination, paginatescala\">
<div id=\"grid_rules_grid_zone_paginate_area\"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div>
</div>
</div></form>
<div tabindex=\"-1\" data-keyboard=\"true\" class=\"modal fade\" id=\"removeActionDialog\"></div>
<div tabindex=\"-1\" data-keyboard=\"true\" class=\"modal fade\" id=\"disableActionDialog\"></div>
<div tabindex=\"-1\" data-keyboard=\"true\" class=\"modal fade\" id=\"confirmUpdateActionDialog\"></div>
<div tabindex=\"-1\" data-keyboard=\"true\" class=\"modal fade\" id=\"createCloneDirectivePopup\"></div>

</div>
"); &#x000a;// <![CDATA[&#x000a;jQuery(document).ready(function() {&#x000a; if(!angular.element('#directiveEditTagsApp').scope()){&#x000a; angular.bootstrap('#directiveEditTagsApp', ['tags']);&#x000a; }&#x000a; var scope = angular.element($("#directiveTags")).scope();&#x000a; scope.$apply(function(){&#x000a; scope.init( [], "directiveFilter" , true, false, "9e3f2dfb-9b31-467f-97ea-81e7d0924e22");&#x000a; });&#x000a; ;});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// <![CDATA[&#x000a;jQuery(document).ready(function() {&#x000a; angular.bootstrap("#F10805191239052S2ZRV", ['text']);&#x000a; var scope = angular.element($("#F10805191239052S2ZRV-controller")).scope();&#x000a; scope.$apply(function(){&#x000a; scope.init(&#x000a; ""&#x000a; , ""&#x000a; , true&#x000a; );&#x000a; });;});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// <![CDATA[&#x000a;jQuery(document).ready(function() {&#x000a; angular.bootstrap("#F1080519123908HHEGMH", ['text']);&#x000a; var scope = angular.element($("#F1080519123908HHEGMH-controller")).scope();&#x000a; scope.$apply(function(){&#x000a; scope.init(&#x000a; ""&#x000a; , ""&#x000a; , true&#x000a; );&#x000a; });;});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// <![CDATA[&#x000a;jQuery(document).ready(function() {&#x000a; angular.bootstrap("#F1080519123911A1JVJK", ['password']);&#x000a; var scope = angular.element($("#F1080519123911A1JVJK-controller")).scope();&#x000a; scope.$apply(function(){&#x000a; scope.init(&#x000a; undefined&#x000a; , "plain"&#x000a; , false&#x000a; , "keep"&#x000a; , {}&#x000a; , undefined&#x000a; , true&#x000a; , true&#x000a; , undefined&#x000a; , "plain"&#x000a; , false&#x000a; );&#x000a; });;});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// <![CDATA[&#x000a; function F1080519123915UPGO5Z() { lift.ajax('F1080519123915UPGO5Z=' + encodeURIComponent(), null, null, null) } ;&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// <![CDATA[&#x000a;jQuery(document).ready(function() {&#x000a; angular.bootstrap("#F1080519123919KACJQE", ['text']);&#x000a; var scope = angular.element($("#F1080519123919KACJQE-controller")).scope();&#x000a; scope.$apply(function(){&#x000a; scope.init(&#x000a; ""&#x000a; , ""&#x000a; , true&#x000a; );&#x000a; });;});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// <![CDATA[&#x000a;jQuery(document).ready(function() {&#x000a; angular.bootstrap("#F1080519123921VEKQ4C", ['text']);&#x000a; var scope = angular.element($("#F1080519123921VEKQ4C-controller")).scope();&#x000a; scope.$apply(function(){&#x000a; scope.init(&#x000a; ""&#x000a; , ""&#x000a; , true&#x000a; );&#x000a; });;});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// <![CDATA[&#x000a; function F1080519123918VBKHTZ() { lift.ajax('F1080519123918VBKHTZ=' + encodeURIComponent(), null, null, null) } ;&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// <![CDATA[&#x000a;jQuery(document).ready(function() {&#x000a; $("input").not("#treeSearch").keydown( function(event) {&#x000a; processKey(event , 'policyConfigurationSave')&#x000a; } ); ;});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// <![CDATA[&#x000a;jQuery(document).ready(function() {&#x000a; angular.bootstrap("#F108051912392653Y1P0", ['text']);&#x000a; var scope = angular.element($("#F108051912392653Y1P0-controller")).scope();&#x000a; scope.$apply(function(){&#x000a; scope.init(&#x000a; "86400"&#x000a; , ""&#x000a; , true&#x000a; );&#x000a; });;});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// <![CDATA[&#x000a; function F1080519123931OFN3CD() { lift.ajax('F1080519123931OFN3CD=' + encodeURIComponent(), null, null, null) } ;&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// <![CDATA[&#x000a; function F10805191239333RES3W() { lift.ajax('F10805191239333RES3W=' + encodeURIComponent(), null, null, null) } ;&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// <![CDATA[&#x000a;jQuery(document).ready(function() {setTimeout(function() {&#x000a; $('#rootRuleCategoryCheckbox').click(function (e) { e.stopPropagation(); })&#x000a; $('#rootRuleCategoryCheckbox').prop("indeterminate",false);;}, 400);});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// <![CDATA[&#x000a;setTimeout(function() {&#x000a; buildRuleCategoryTreeNoDnD('#categoryTree','rootRuleCategory','/rudder');&#x000a; $('#categoryTree').bind("move_node.jstree", function (e,data) {&#x000a; var sourceCatId = data.node.id;&#x000a; var destCatId = data.parent;&#x000a; if( destCatId ) {&#x000a; if( sourceCatId ) {&#x000a; var arg = JSON.stringify({ 'sourceCatId' : sourceCatId, 'destCatId' : destCatId });&#x000a; lift.ajax('F1080519123881YW3Y3X=' + encodeURIComponent(arg), null, null, null);&#x000a; } else {&#x000a; alert("Can not move that kind of object");&#x000a; $.jstree.rollback(data.rlbk);&#x000a; }&#x000a; } else {&#x000a; alert("Can not move to something else than a category");&#x000a; $.jstree.rollback(data.rlbk);&#x000a; }&#x000a; });&#x000a; createTooltip();;}, 50);&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// <![CDATA[&#x000a;jQuery(document).ready(function() {createRuleTable (&#x000a; "grid_rules_grid_zone"&#x000a; , []&#x000a;&#x000a; , true&#x000a; , false&#x000a; , false&#x000a; , false&#x000a; , function(checked) {lift.ajax('F1080519123882NQQEAU=' + encodeURIComponent(checked), null, null, null);}&#x000a; , "/rudder"&#x000a; , function() {lift.ajax('F1080519123883CY4K1X=' + encodeURIComponent(null), null, null, null);}&#x000a; , false&#x000a; );&#x000a; createTooltip();&#x000a; createTooltiptr();&#x000a; var scopeElmnt = '#showFiltersRules'&#x000a; if(angular.element(scopeElmnt).length &amp;&amp; !angular.element(scopeElmnt).scope()){&#x000a; angular.bootstrap(scopeElmnt, ['filters']);&#x000a; }&#x000a; ;});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// <![CDATA[&#x000a;jQuery(document).ready(function() {(function() {lift.ajax('F1080519123884MTIM55=' + encodeURIComponent(null), null, null, null);})();});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// <![CDATA[&#x000a;&#x000a; var include = true;&#x000a; var filter = "";&#x000a; var column = 3;;&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// <![CDATA[&#x000a;jQuery(document).ready(function() {activateButtonOnFormChange("policyConfiguration", "policyConfigurationSave");&#x000a;setupMarkdown("", "longDescriptionField")&#x000a;generateMarkdown("This technique configures the RUG and YaST package manager using Novell's ZMD.", "#techniqueDescription")&#x000a;$('#technicalDetails').hide();&#x000a;$("input").not("#treeSearch").keydown( function(event) {&#x000a; processKey(event , 'policyConfigurationSave');&#x000a;} );&#x000a;checkMigrationButton("3.0 ","F108051912388541X0FE");&#x000a;$('#F108051912388541X0FE').change( function () {&#x000a; checkMigrationButton("3.0 ","F108051912388541X0FE")&#x000a;} );&#x000a;$(document).ready(function(){$('.main-details').bsScrollSpy({ target: '#navbar-scrollspy' })});;});&#x000a;// ]]>&#x000a;;;&#x000a;jQuery('#'+"techniqueDetails").html("");&#x000a;createTooltip();;" title="Create Directive with latest version"><i class="fa fa-plus"></i></span></a>


(3-3/3)