133 lines
		
	
	
	
		
			6.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			133 lines
		
	
	
	
		
			6.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <div class="setup-trigger-directive-element">
 | |
|   <!-- Modal message dialog -->
 | |
|   <div class="modal fade" id="setupTriggerModal">
 | |
|     <div class="modal-dialog">
 | |
|       <div class="modal-content">
 | |
|         <div class="modal-header">
 | |
|           <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
 | |
|           <h4 class="modal-title">Setup new build trigger</h4>
 | |
|         </div>
 | |
|         <div class="modal-body loading" ng-show="currentView == 'activating'">
 | |
|           <span class="cor-loader-inline"></span> Setting up trigger...
 | |
|         </div>
 | |
|         <div class="modal-body" ng-show="currentView != 'activating'">
 | |
|           <!-- Trigger-specific setup -->
 | |
|           <div class="trigger-description-element trigger-option-section" ng-switch on="trigger.service">
 | |
|             <div ng-switch-when="custom-git">
 | |
|               <div class="trigger-setup-custom" repository="repository" trigger="trigger"
 | |
|                    next-step-counter="nextStepCounter" current-step-valid="state.stepValid"
 | |
|                    analyze="checkAnalyze(isValid)"></div>
 | |
|             </div>
 | |
|             <div ng-switch-default>
 | |
|               <div class="trigger-setup-githost" repository="repository" trigger="trigger"
 | |
|                    kind="{{ trigger.service }}"
 | |
|                    next-step-counter="nextStepCounter" current-step-valid="state.stepValid"
 | |
|                    analyze="checkAnalyze(isValid)"></div>
 | |
|             </div>
 | |
|           </div>
 | |
| 
 | |
|           <!-- Loading pull information -->
 | |
|           <div ng-show="currentView == 'analyzing'" class="loading">
 | |
|             <span class="cor-loader-inline"></span> Checking pull credential requirements...
 | |
|           </div>
 | |
| 
 | |
|           <!-- Pull information -->
 | |
|           <div class="trigger-option-section" ng-show="currentView == 'analyzed'">
 | |
| 
 | |
|             <!-- Messaging -->
 | |
|             <div ng-switch on="pullInfo.analysis.status">
 | |
|               <div ng-switch-when="error" class="alert alert-danger">{{ pullInfo.analysis.message }}</div>
 | |
|               <div ng-switch-when="warning" class="alert alert-warning">{{ pullInfo.analysis.message }}</div>
 | |
|               <div ng-switch-when="notimplemented" class="alert alert-warning">
 | |
|                 <p>For {{ TriggerService.getTitle(trigger.service) }} triggers, we are unable to determine dependencies automatically.</p>
 | |
|                 <p>If the git repository being built depends on a private base image, you must manually select a robot account with the proper permissions.</p>
 | |
|               </div>
 | |
|             </div>
 | |
|             <div class="dockerfile-found" ng-if="pullInfo.analysis.is_public === false">
 | |
|               <div class="dockerfile-found-content">
 | |
|                 A robot account is <strong>required</strong> for this build trigger because the
 | |
|                 Dockerfile found
 | |
|                 pulls from the private <span class="registry-name"></span> repository
 | |
| 
 | |
|                 <a href="/repository/{{ pullInfo.analysis.namespace }}/{{ pullInfo.analysis.name }}" target="_blank">
 | |
|                   {{ pullInfo.analysis.namespace }}/{{ pullInfo.analysis.name }}
 | |
|                 </a>
 | |
|               </div>
 | |
|             </div>
 | |
| 
 | |
|             <div style="margin-bottom: 12px">
 | |
|               Please select the credentials to use when pulling the base image:
 | |
|             </div>
 | |
|             <div ng-if="!isNamespaceAdmin(repository.namespace)" style="color: #aaa;">
 | |
|               <strong>Note:</strong> In order to set pull credentials for a build trigger, you must be an
 | |
|               Administrator of the namespace <strong>{{ repository.namespace }}</strong>
 | |
|             </div>
 | |
| 
 | |
|             <!-- Namespace admin -->
 | |
|             <div ng-show="isNamespaceAdmin(repository.namespace)">
 | |
|               <!-- Select credentials -->
 | |
|               <div class="btn-group btn-group-sm">
 | |
|                 <button type="button" class="btn btn-default"
 | |
|                         ng-class="pullInfo.is_public ? 'active btn-info' : ''"
 | |
|                         ng-click="pullInfo.is_public = true">
 | |
|                   None
 | |
|                 </button>
 | |
|                 <button type="button" class="btn btn-default"
 | |
|                         ng-class="pullInfo.is_public ? '' : 'active btn-info'"
 | |
|                         ng-click="pullInfo.is_public = false">
 | |
|                   <i class="fa ci-robot"></i>
 | |
|                   Robot account
 | |
|                 </button>
 | |
|               </div>
 | |
| 
 | |
|               <!-- Robot Select -->
 | |
|               <div ng-show="!pullInfo.is_public" style="margin-top: 10px">
 | |
|                 <div class="entity-search" namespace="repository.namespace"
 | |
|                      placeholder="'Select robot account for pulling...'"
 | |
|                      current-entity="pullInfo.pull_entity"
 | |
|                      allowed-entities="['robot']"></div>
 | |
| 
 | |
|                 <div ng-if="pullInfo.analysis.robots.length" style="margin-top: 20px; margin-bottom: 0px;">
 | |
|                   <strong>Note</strong>: We've automatically selected robot account
 | |
|                   <span class="entity-reference" entity="pullInfo.analysis.robots[0]"></span>,
 | |
|                   since it has access to the private repository.
 | |
|                 </div>
 | |
|                 <div ng-if="!pullInfo.analysis.robots.length && pullInfo.analysis.name"
 | |
|                      style="margin-top: 20px; margin-bottom: 0px;">
 | |
|                   <strong>Note</strong>: No robot account currently has access to the private repository. Please create one and/or assign access in the
 | |
|                   <a href="/repository/{{ pullInfo.analysis.namespace }}/{{ pullInfo.analysis.name }}/admin" target="_blank">
 | |
|                     repository's admin panel.
 | |
|                   </a>
 | |
|                 </div>
 | |
|               </div>
 | |
|             </div>
 | |
| 
 | |
|           </div>
 | |
| 
 | |
|           <div class="trigger-option-section" ng-show="currentView == 'postActivation'">
 | |
|             <div ng-if="trigger.config.credentials" class="credentials" trigger="trigger"></div>
 | |
|             <div ng-if="!trigger.config.credentials">
 | |
|               <div class="alert alert-success">The trigger has been successfully created.</div>
 | |
|             </div>
 | |
|           </div>
 | |
| 
 | |
|         </div>
 | |
|         <div class="modal-footer" ng-show="currentView != 'activating'">
 | |
|           <button type="button" class="btn btn-primary" ng-disabled="!state.stepValid"
 | |
|                   ng-click="nextStepCounter = nextStepCounter + 1"
 | |
|                   ng-show="currentView == 'config'">Next</button>
 | |
| 
 | |
|           <button type="button" class="btn btn-primary"
 | |
|                   ng-disabled="!trigger.$ready || (!pullInfo['is_public'] && !pullInfo['pull_entity'])"
 | |
|                   ng-click="activate()"
 | |
|                   ng-show="currentView == 'analyzed'">Create Trigger</button>
 | |
| 
 | |
|           <button type="button" class="btn btn-success" ng-click="runTriggerNow()"
 | |
|                   ng-if="currentView == 'postActivation'">Run Trigger Now</button>
 | |
| 
 | |
|           <button type="button" class="btn btn-default" data-dismiss="modal">{{ currentView == 'postActivation' ? 'Done' : 'Cancel' }}</button>
 | |
|         </div>
 | |
|       </div><!-- /.modal-content -->
 | |
|     </div><!-- /.modal-dialog -->
 | |
|   </div><!-- /.modal -->
 | |
| </div>
 |