authentication-flows.html 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
  2. <h1>{{:: 'authentication' | translate}}</h1>
  3. <kc-tabs-authentication></kc-tabs-authentication>
  4. <table class="table table-striped table-bordered">
  5. <thead>
  6. <tr>
  7. <th colspan="{{levelmax + 1 + choicesmax + 4}}" class="kc-table-actions">
  8. <div class="dropdown pull-left">
  9. <select class="form-control" ng-model="flow"
  10. ng-options="(flow.alias|capitalize) for flow in flows"
  11. data-ng-change="selectFlow(flow)">
  12. </select>
  13. </div>
  14. &nbsp;&nbsp;<i class="fa fa-question-circle text-muted" tooltip-trigger="mouseover mouseout" tooltip="{{flow.description}}" tooltip-placement="right"> </i>
  15. <div class="pull-right" data-ng-show="access.manageRealm">
  16. <button class="btn btn-default" data-ng-click="createFlow()">{{:: 'new' | translate}}</button>
  17. <button class="btn btn-default" data-ng-click="copyFlow()">{{:: 'copy' | translate}}</button>
  18. <button class="btn btn-default" data-ng-hide="flow.builtIn" data-ng-click="deleteFlow()">{{:: 'delete' | translate}}</button>
  19. <button class="btn btn-default" data-ng-hide="flow.builtIn" data-ng-click="editFlow(flow)">{{:: 'edit-flow' | translate}}</button>
  20. <button class="btn btn-default" data-ng-hide="flow.builtIn" data-ng-click="addExecution()">{{:: 'add-execution' | translate}}</button>
  21. <button class="btn btn-default" data-ng-hide="flow.builtIn || flow.providerId === 'client-flow'" data-ng-click="addFlow()">{{:: 'add-flow' | translate}}</button>
  22. </div>
  23. </th>
  24. </tr>
  25. <tr data-ng-hide="executions.length == 0">
  26. <th colspan="{{levelmax + 1}}">{{:: 'auth-type' | translate}}</th>
  27. <th colspan="{{choicesmax}}">{{:: 'requirement' | translate}}</th>
  28. <th>&nbsp;</th>
  29. </tr>
  30. </thead>
  31. <tbody>
  32. <tr ng-repeat="execution in executions" data-ng-show="executions.length > 0">
  33. <td ng-repeat="lev in execution.preLevels"></td>
  34. <td class="kc-sorter">
  35. <button data-ng-hide="flow.builtIn" data-ng-disabled="$first" class="btn btn-default btn-sm" data-ng-click="raisePriority(execution)"><i class="fa fa-angle-up"></i></button>
  36. <button data-ng-hide="flow.builtIn" data-ng-disabled="$last" class="btn btn-default btn-sm" data-ng-click="lowerPriority(execution)"><i class="fa fa-angle-down"></i></button>
  37. <span>{{execution.displayName|capitalize}}<span ng-if="execution.alias">({{execution.alias}})</span></span>
  38. &nbsp;&nbsp;<i data-ng-hide="!execution.authenticationFlow" class="fa fa-question-circle text-muted" tooltip-trigger="mouseover mouseout" tooltip="{{execution.description}}" tooltip-placement="right"> </i>
  39. </td>
  40. <td ng-repeat="lev in execution.postLevels"></td>
  41. <td ng-repeat="choice in execution.requirementChoices">
  42. <label>
  43. <input type="radio" ng-model="execution.requirement" ng-value="choice" ng-change="updateExecution(execution)">
  44. {{choice}}
  45. </label>
  46. </td>
  47. <td ng-repeat="emptee in execution.empties"></td>
  48. <td>
  49. <div class="dropdown" data-ng-hide="flow.builtIn && !execution.configurable">
  50. <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{:: 'actions' | translate}} <b class="caret"></b></a>
  51. <ul class="dropdown-menu" >
  52. <li data-ng-hide="flow.builtIn"><a href="" ng-click="removeExecution(execution)">{{:: 'delete' | translate}}</a></li>
  53. <li data-ng-hide="flow.builtIn || !execution.authenticationFlow"><a href="" ng-click="addSubFlowExecution(execution)">{{:: 'add-execution' | translate}}</a></li>
  54. <li data-ng-hide="flow.builtIn || !execution.authenticationFlow"><a href="" ng-click="addSubFlow(execution)">{{:: 'add-flow' | translate}}</a></li>
  55. <li data-ng-hide="flow.builtIn || !execution.authenticationFlow"><a href="" ng-click="editExecutionFlow(execution)">{{:: 'edit-flow' | translate}}</a></li>
  56. <li data-ng-show="execution.configurable && execution.authenticationConfig == null"><a href="#/create/authentication/{{realm.realm}}/flows/{{flow.id}}/execution/{{execution.id}}/provider/{{execution.providerId}}">{{:: 'config' | translate}}</a></li>
  57. <li data-ng-show="execution.configurable && execution.authenticationConfig != null"><a href="#/realms/{{realm.realm}}/authentication/flows/{{flow.id}}/config/{{execution.providerId}}/{{execution.authenticationConfig}}">{{:: 'config' | translate}}</a></li>
  58. </ul>
  59. </div>
  60. </td>
  61. </tr>
  62. <tr data-ng-show="executions.length == 0">
  63. <td>{{:: 'no-executions-available' | translate}}</td>
  64. </tr>
  65. </tbody>
  66. </table>
  67. </div>
  68. <kc-menu></kc-menu>