mirror of https://github.com/rancher/ui.git
195 lines
6.8 KiB
Handlebars
195 lines
6.8 KiB
Handlebars
<section class="header clearfix">
|
|
{{#if showEdit}}
|
|
<h1>
|
|
{{#if editing}}
|
|
{{t 'viewEditProject.showEdit.edit'}} {{originalProject.displayName}}
|
|
{{else}}
|
|
{{t 'viewEditProject.showEdit.add'}}
|
|
{{/if}}
|
|
</h1>
|
|
{{else}}
|
|
<h1>{{#link-to "authenticated.clusters"}}{{t 'viewEditProject.header'}}{{/link-to}}</h1>
|
|
<div class="right-buttons">
|
|
{{badge-state model=project}}
|
|
{{action-menu model=project size="sm" classNames="ml-10"}}
|
|
</div>
|
|
{{/if}}
|
|
</section>
|
|
|
|
{{#if showEdit}}
|
|
<section class="pt-10">
|
|
{{form-name-description
|
|
model=project
|
|
nameRequired=true
|
|
namePlaceholder="viewEditDescription.form.name.placeholder"
|
|
descriptionPlaceholder="viewEditDescription.form.description.placeholder"
|
|
}}
|
|
</section>
|
|
|
|
<section class="pt-10">
|
|
<label class="pb-5 acc-label">{{t 'viewEditProject.showEdit.cluster.label'}} {{field-required}}</label>
|
|
{{new-select
|
|
classNames="form-control"
|
|
optionValuePath="id"
|
|
optionLabelPath="displayName"
|
|
content=clusters
|
|
value=project.clusterId
|
|
prompt="viewEditProject.showEdit.cluster.prompt"
|
|
localizedPrompt=true
|
|
}}
|
|
</section>
|
|
{{else if project.description}}
|
|
<section class="pt-10">
|
|
<label class="inline-block m-0">{{t 'viewEditProject.description'}}: </label>
|
|
<p class="inline-block m-0">{{project.description}}</p>
|
|
</section>
|
|
{{/if}}
|
|
|
|
<section>
|
|
<div class="box mt-40">
|
|
<h4>{{t 'viewEditProject.showEdit.accessControl'}}</h4>
|
|
{{#if (and accessEnabled showEdit)}}
|
|
<div class="inline-form mb-20">
|
|
{{input-identity action="checkMember" onError="error"}}
|
|
</div>
|
|
{{/if}}
|
|
|
|
{{#if accessEnabled}}
|
|
{{#sortable-table
|
|
classNames="grid fixed mb-0 sortable-table"
|
|
bulkActions=false
|
|
paging=false
|
|
search=false
|
|
sortBy=sortBy
|
|
headers=headers
|
|
body=project.projectMembers
|
|
as |sortable kind member|
|
|
}}
|
|
{{#if (eq kind "row")}}
|
|
<td>
|
|
{{identity-block identity=member}}
|
|
</td>
|
|
<td>{{member.displayType}}</td>
|
|
<td>
|
|
{{#if showEdit}}
|
|
<select class="form-control input-sm" onchange={{action (mut member.role) value="target.value"}}>
|
|
{{#each roleOptions as |choice|}}
|
|
<option value={{choice.value}} selected={{eq member.role choice.value}}>{{t choice.label}}</option>
|
|
{{/each}}
|
|
</select>
|
|
{{else}}
|
|
{{uc-first member.role}}
|
|
{{/if}}
|
|
</td>
|
|
{{#if showEdit}}
|
|
<td>
|
|
{{#if accessEnabled}}
|
|
<button class="btn bg-primary btn-sm pull-right gh-action" {{action "removeMember" member}}><i class="icon icon-minus"/></button>
|
|
{{else}}
|
|
|
|
{{/if}}
|
|
</td>
|
|
{{/if}}
|
|
{{else if (eq kind "norows")}}
|
|
<tr>
|
|
<td colspan="{{sortable.fullColspan}}" class="text-center text-muted">
|
|
{{t 'viewEditProject.showEdit.noMembers'}}
|
|
</td>
|
|
</tr>
|
|
{{/if}}
|
|
{{/sortable-table}}
|
|
{{else}}
|
|
<p class="text-info text-center">
|
|
{{t 'viewEditProject.helpBlock' htmlSafe=true}}
|
|
</p>
|
|
{{/if}}
|
|
</div>
|
|
</section>
|
|
|
|
|
|
{{#if network}}
|
|
<section>
|
|
<div class="box mt-40">
|
|
<h4>{{t 'viewEditProject.networkPolicy.label'}}</h4>
|
|
|
|
<p>{{t 'viewEditProject.networkPolicy.description'}}</p>
|
|
|
|
{{#if missingManager}}
|
|
|
|
<p class="help-block">{{t 'viewEditProject.networkPolicy.noManager'}}</p>
|
|
|
|
{{else if hasUnsupportedPolicy}}
|
|
<div class="row">
|
|
<div class="col span-12">
|
|
<p>{{t 'viewEditProject.networkPolicy.unsupported'}}</p>
|
|
</div>
|
|
</div>
|
|
{{else}}
|
|
<div class="row">
|
|
<div class="col span-3">
|
|
<label>{{t 'viewEditProject.networkPolicy.withinLinked'}}</label>
|
|
{{#if showEdit}}
|
|
<div class="radio">
|
|
<label>{{radio-button selection=npWithinLinked.action value="allow"}} {{t 'viewEditProject.networkPolicy.allow'}}</label>
|
|
</div>
|
|
<div class="radio">
|
|
<label>{{radio-button selection=npWithinLinked.action value="deny"}} {{t 'viewEditProject.networkPolicy.deny'}}</label>
|
|
</div>
|
|
{{else}}
|
|
<div class="row">
|
|
<div class="col span-12">
|
|
<p class="text-muted">{{t 'viewEditProject.networkPolicy.description'}}</p>
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
<div class="col span-3">
|
|
<label>{{t 'viewEditProject.networkPolicy.withinService'}}</label>
|
|
{{#if showEdit}}
|
|
<div class="radio">
|
|
<label>{{radio-button selection=npWithinService.action value="allow"}} {{t 'viewEditProject.networkPolicy.allow'}}</label>
|
|
</div>
|
|
<div class="radio">
|
|
<label>{{radio-button selection=npWithinService.action value="deny"}} {{t 'viewEditProject.networkPolicy.deny'}}</label>
|
|
</div>
|
|
{{else}}
|
|
<div>{{uc-first npWithinService.action}}</div>
|
|
{{/if}}
|
|
</div>
|
|
<div class="col span-3">
|
|
<label>{{t 'viewEditProject.networkPolicy.withinStack'}}</label>
|
|
{{#if showEdit}}
|
|
<div class="radio">
|
|
<label>{{radio-button selection=npWithinStack.action value="allow"}} {{t 'viewEditProject.networkPolicy.allow'}}</label>
|
|
</div>
|
|
<div class="radio">
|
|
<label>{{radio-button selection=npWithinStack.action value="deny"}} {{t 'viewEditProject.networkPolicy.deny'}}</label>
|
|
</div>
|
|
{{else}}
|
|
<div>{{uc-first npWithinStack.action}}</div>
|
|
{{/if}}
|
|
</div>
|
|
<div class="col span-3">
|
|
<label>{{t 'viewEditProject.networkPolicy.default'}}</label>
|
|
{{#if showEdit}}
|
|
<div class="radio">
|
|
<label>{{radio-button selection=network.defaultPolicyAction value="allow"}} {{t 'viewEditProject.networkPolicy.allow'}}</label>
|
|
</div>
|
|
<div class="radio">
|
|
<label>{{radio-button selection=network.defaultPolicyAction value="deny"}} {{t 'viewEditProject.networkPolicy.deny'}}</label>
|
|
</div>
|
|
{{else}}
|
|
<div>{{uc-first network.defaultPolicyAction}}</div>
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
</section>
|
|
{{/if}}
|
|
|
|
{{#if showEdit}}
|
|
{{top-errors errors=errors}}
|
|
{{save-cancel editing=editing save="save" cancel="cancel"}}
|
|
{{/if}}
|