<section ng-controller="deployEndpointCtrl">
	<div ng-if="!account">
		<alert type="warning">{{translation.noEndPointsAdded[LANG]}}</alert>
	</div>
	<div ng-if="accounts">
		<div ng-if="access.git.listAccounts" id="a_{{account._id}}">
			<div class="body" ng-if="account.loading">
				<button ng-if="access.git.listAccounts" class="btn btn-primary" style="float: right;" ng-click="listEndpoints()">
					<span class="icon icon-loop2"></span>Refresh
				</button>
				<div id="loadingNotification">
					<img class="loadingImageLarge" ng-src="{{imagePath}}" width="32px" height="32px"><br>
					<h5 class="alignCenter">{{translation.gettingReposPleaseWait[LANG]}}</h5>
				</div>
			</div>
			<div class="body" ng-if="!account.loading">
				<button ng-if="access.git.listAccounts" class="btn btn-primary" style="float: right;" ng-click="listEndpoints()">
					<span class="icon icon-loop2"></span>Refresh
				</button>
				<div ng-if="account.repos && account.repos.length === 0">
					<alert type="warning">{{translation.noReposFound[LANG]}}</alert>
				</div>
				<div class="entryBoxes" style="padding-top: 10px;">
					<div ng-repeat="repo in account.repos" class="entryBox pl0" ng-style="{'width': '99%'}">
						<div ng-if = "!repo.full_name" class="header opened">
							{{repo.name}}
						</div>
						<div class="header opened" ng-if = "repo.full_name">
							{{repo.full_name}}
						</div>
						<div class="body">
							<accordion close-others="true" ng-if="repo.servicesList && repo.servicesList.length > 0">
								<accordion-group is-open="false" ng-repeat="service in repo.servicesList" class="blueAccordion" ng-class="{greenAccordion: service.deployed}">
									<accordion-heading>
										<span class="icon icon-cloud"></span>
										<span ng-show="service.name === 'controller'">SOAJS API Gateway </span>
										<span ng-show="service.name !== 'controller'">{{service.name}} </span>
										[{{service.type}}]
										<div style="float: right;" ng-if="service.deployed && service.type !== 'daemon'">
											<span ng-if="service.versions.length > 0" style="margin-right: 30px;"><span class="icon icon-power-cord"></span>{{service.deployedVersionsCounter}} out of {{service.versions.length}} version(s) are plugged</span>
											<span style="float: right; color: green;" ng-if="service.deployed"><span class="icon icon-checkmark"></span>Deployed</span>
										</div>
									</accordion-heading>
									<div class="entryBoxes entryBoxesGrid" ng-if="service.versions.length > 0">
										<div class="entryBox pl0" style="width: 32%" ng-repeat="version in service.versions" ng-class="{greenBox: version.deployed, fullWidth: version.grpConf}">
											<div class="header opened" ng-class="{greenBoxHeader: version.deployed}">
												Version {{version.v}}
												<div style="float: right;">
													<span ng-if="version.grpConf.length > 0 && service.type === 'daemon' && service.deployed" style="margin-right: 30px;"><span class="icon icon-power-cord"></span>{{service.deployedConfigCounter[version.v] || 0}} out of {{version.grpConf.length}} group(s) are plugged</span>
													<span style="float: right; color: green;" ng-if="version.deployed"><span ng-if="service.type !== 'daemon'"><span class="icon icon-checkmark"></span>Deployed</span></span>
												</div>
											</div>
											<div class="body serviceVersionBox" ng-if="service.type !== 'daemon'">
												<a href="" class="btn btn-sm btn-default responsive-width" ng-class="{disabled: (version.deployed || !version.deploySettings || !access.hacloud.services.add)}" ng-click="doDeploy(version.deploySettings.options)">
													<span class="icon icon-power-cord"></span>First Time Deploy</a>
												<a href="" class="btn btn-sm btn-default responsive-width" ng-click="deployService(repo, service, version, account)" ng-class="{disabled: (!access.cd || !access.hacloud.services.add)}" ng-if="!version.deploySettings"><span class="icon icon-cog"></span>Configure
													Deployment</a>
												<a href="" class="btn btn-sm btn-default responsive-width" ng-click="deployService(repo, service, version, account)" ng-if="version.deploySettings"><span class="icon icon-cog"></span>Reconfigure
													Deployment</a>
											</div>
											<div ng-if="version.grpConf && version.grpConf.length === 0 && service.type === 'daemon'">
												<alert type="warning" style="border-radius: 0 0 8px 8px">No
													Daemon Group Configuration found please click
													<a href="#/daemons">here</a> to create one.
												</alert>
											</div>
											<div class="entryBox pl0" style="width: 32%" ng-if="version.grpConf && service.type === 'daemon'" ng-repeat="oneGroupConf in version.grpConf" ng-class="{greenBox: version[oneGroupConf].deployed}">
												<div class="header opened" ng-class="{greenBoxHeader: version.deploySettings[oneGroupConf.daemonConfigGroup].status}">
													Group {{oneGroupConf.daemonConfigGroup}}
													<span style="float: right; color: green;" ng-if="version[oneGroupConf.daemonConfigGroup].deployed"><span class="icon icon-checkmark"></span>Deployed</span>
												</div>
												<div class="body serviceVersionBox">
													<a href="" class="btn btn-sm btn-default responsive-width" ng-class="{disabled: !access.hacloud.services.add || !version.deploySettings[oneGroupConf.daemonConfigGroup] || version.deploySettings[oneGroupConf.daemonConfigGroup].status}" ng-click="doDeploy(version.deploySettings[oneGroupConf.daemonConfigGroup].options)">
														<span class="icon icon-power-cord"></span>First Time
														Deploy</a>
													
													<a href="" class="btn btn-sm btn-default responsive-width" ng-click="deployService(repo, service, version, account, oneGroupConf.daemonConfigGroup)" ng-class="{disabled: (!access.cd || !access.hacloud.services.add)}" ng-if="!version.deploySettings[oneGroupConf.daemonConfigGroup]">
														<span class="icon icon-cog"></span>Configure Deployment</a>
													<a href="" class="btn btn-sm btn-default responsive-width" ng-click="deployService(repo, service, version, account, oneGroupConf.daemonConfigGroup)" ng-if="version.deploySettings[oneGroupConf.daemonConfigGroup]">
														<span class="icon icon-cog"></span>Reconfigure
														Deployment</a>
												</div>
											</div>
										</div>
									</div>
									<div class="entryBox pl0" style="width: 32%" ng-class="{greenBox: service.deployed}" ng-if="service.versions.length === 0">
										<div class="header opened" ng-class="{greenBoxHeader: service.deployed}">
											Default
											<span style="float: right; color: green;" ng-if="service.deployed"><span class="icon icon-checkmark"></span>Deployed</span>
										</div>
										<div class="body serviceVersionBox">
											<a href="" class="btn btn-sm btn-default responsive-width" ng-class="{disabled: (service.deployed || !service.deploySettings || !access.hacloud.services.add)}" ng-click="doDeploy(service.deploySettings.options)">
												<span class="icon icon-power-cord"></span>First Time Deploy</a>
											<a href="" class="btn btn-sm btn-default responsive-width" ng-click="deployService(repo, service, 'Default', account)" ng-class="{disabled: (!access.cd || !access.hacloud.services.add)}" ng-if="!service.deploySettings"><span class="icon icon-cog"></span>Configure
												Deployment</a>
											<a href="" class="btn btn-sm btn-default responsive-width" ng-if="service.deploySettings" ng-click="deployService(repo, service, 'Default', account)"><span class="icon icon-cog"></span>Reconfigure
												Deployment</a>
										</div>
									</div>
								</accordion-group>
							</accordion>
							<div class="entryBox pl0" style="width: 32%" ng-class="{greenBox: repo.deployed}" ng-if="!repo.servicesList || repo.servicesList.length === 0">
								<div class="header opened" ng-class="{greenBoxHeader: repo.deployed}">
									Default
									<span style="float: right; color: green;" ng-if="repo.deployed"><span class="icon icon-checkmark"></span>Deployed</span>
								</div>
								<div class="body serviceVersionBox">
									<a href="" class="btn btn-sm btn-default responsive-width" ng-class="{disabled: (repo.deployed || !repo.deploySettings || !access.hacloud.services.add)}" ng-click="doDeploy(repo.deploySettings.options)">
										<span class="icon icon-power-cord"></span>First Time Deploy</a>
									<a href="" class="btn btn-sm btn-default responsive-width" ng-class="{disabled: (!access.cd || !access.hacloud.services.add)}" ng-if="!repo.deploySettings" ng-click="deployService(repo, service, 'Default', account)"><span class="icon icon-cog"></span>Configure
										Deployment</a>
									<a href="" class="btn btn-sm btn-default responsive-width" ng-if="repo.deploySettings" ng-click="deployService(repo, service, 'Default', account)"><span class="icon icon-cog"></span>Reconfigure
										Deployment</a>
								</div>
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
	</div>
</section>


<script type="text/ng-template" id="deployService.tmpl">
	<div class="modal-body">
		<div class="form">
			<div ng-show="alerts.length >0">
				<alert ng-repeat="alert in alerts" type="{{alert.type}}" close="closeAlert($index)" dismiss-on-timeout="5000">
					{{alert.msg}}
				</alert>
				<br>
			</div>
			<form name="deployRepo" id="deployRepo">
				<div class="form-group">
					<div class="configCd entryBoxes entryBoxesGrid">
						<div class="modal-header cdFormHeader">
							<h3 class="modal-title capitalize">Configure {{oneSrv}} Deployment</h3>
						</div>
						<div class="body">
							<div class="entryAction" ng-show="maxEntries > 1">
								<a href="" ng-click="cdShowHide(oneSrv, cdData.name)">
									<span class="icon icon-{{cdData.icon || 'plus'}}"></span>
								</a>
							</div>
							<div ng-include="'modules/dashboard/environments/directives/cd.tmpl'"></div>
						</div>
					</div>
				</div>
			</form>
		</div>
		<div class="modal-footer">
			<button ng-show="maxEntries > 0 && controllerScope.access.cd" ng-disabled="deployRepo.$invalid || invalidImageType" class="btn btn-success" ng-click="saveRecipe()">
				Save
			</button>
			<button ng-show="maxEntries > 0 && controllerScope.access.hacloud.services.add" ng-disabled="deployRepo.$invalid || invalidImageType" ng-if="!deployed" class="btn btn-primary" ng-click="saveRecipe('deploy')">
				First Time Deploy
			</button>
			<button ng-show="maxEntries > 0 && controllerScope.access.hacloud.services.redeploy" ng-disabled="deployRepo.$invalid || invalidImageType" ng-if="deployed" class="btn btn-info" ng-click="saveRecipe('rebuild')">
				Rebuild Service
			</button>
			<button class="btn btn-danger" ng-click="cancel()">Close</button>
		</div>
	</div>
</script>