Path: blob/1.0-develop/resources/views/admin/mounts/view.blade.php
7461 views
1@extends('layouts.admin')23@section('title')4Mounts → View → {{ $mount->id }}5@endsection67@section('content-header')8<h1>{{ $mount->name }}<small>{{ str_limit($mount->description, 75) }}</small></h1>9<ol class="breadcrumb">10<li><a href="{{ route('admin.index') }}">Admin</a></li>11<li><a href="{{ route('admin.mounts') }}">Mounts</a></li>12<li class="active">{{ $mount->name }}</li>13</ol>14@endsection1516@section('content')17<div class="row">18<div class="col-sm-6">19<div class="box box-primary">20<div class="box-header with-border">21<h3 class="box-title">Mount Details</h3>22</div>2324<form action="{{ route('admin.mounts.view', $mount->id) }}" method="POST">25<div class="box-body">26<div class="form-group">27<label for="PUniqueID" class="form-label">Unique ID</label>28<input type="text" id="PUniqueID" class="form-control" value="{{ $mount->uuid }}" disabled />29</div>3031<div class="form-group">32<label for="pName" class="form-label">Name</label>33<input type="text" id="pName" name="name" class="form-control" value="{{ $mount->name }}" />34</div>3536<div class="form-group">37<label for="pDescription" class="form-label">Description</label>38<textarea id="pDescription" name="description" class="form-control" rows="4">{{ $mount->description }}</textarea>39</div>4041<div class="row">42<div class="form-group col-md-6">43<label for="pSource" class="form-label">Source</label>44<input type="text" id="pSource" name="source" class="form-control" value="{{ $mount->source }}" />45</div>4647<div class="form-group col-md-6">48<label for="pTarget" class="form-label">Target</label>49<input type="text" id="pTarget" name="target" class="form-control" value="{{ $mount->target }}" />50</div>51</div>5253<div class="row">54<div class="form-group col-md-6">55<label class="form-label">Read Only</label>5657<div>58<div class="radio radio-success radio-inline">59<input type="radio" id="pReadOnlyFalse" name="read_only" value="0" @if(!$mount->read_only) checked @endif>60<label for="pReadOnlyFalse">False</label>61</div>6263<div class="radio radio-warning radio-inline">64<input type="radio" id="pReadOnly" name="read_only" value="1" @if($mount->read_only) checked @endif>65<label for="pReadOnly">True</label>66</div>67</div>68</div>6970<div class="form-group col-md-6">71<label class="form-label">User Mountable</label>7273<div>74<div class="radio radio-success radio-inline">75<input type="radio" id="pUserMountableFalse" name="user_mountable" value="0" @if(!$mount->user_mountable) checked @endif>76<label for="pUserMountableFalse">False</label>77</div>7879<div class="radio radio-warning radio-inline">80<input type="radio" id="pUserMountable" name="user_mountable" value="1" @if($mount->user_mountable) checked @endif>81<label for="pUserMountable">True</label>82</div>83</div>84</div>85</div>86</div>8788<div class="box-footer">89{!! csrf_field() !!}90{!! method_field('PATCH') !!}9192<button name="action" value="edit" class="btn btn-sm btn-primary pull-right">Save</button>93<button name="action" value="delete" class="btn btn-sm btn-danger pull-left muted muted-hover"><i class="fa fa-trash-o"></i></button>94</div>95</form>96</div>97</div>9899<div class="col-sm-6">100<div class="box">101<div class="box-header with-border">102<h3 class="box-title">Eggs</h3>103104<div class="box-tools">105<button class="btn btn-sm btn-primary" data-toggle="modal" data-target="#addEggsModal">Add Eggs</button>106</div>107</div>108109<div class="box-body table-responsive no-padding">110<table class="table table-hover">111<tr>112<th>ID</th>113<th>Name</th>114<th></th>115</tr>116117@foreach ($mount->eggs as $egg)118<tr>119<td class="col-sm-2 middle"><code>{{ $egg->id }}</code></td>120<td class="middle"><a href="{{ route('admin.nests.egg.view', $egg->id) }}">{{ $egg->name }}</a></td>121<td class="col-sm-1 middle">122<button data-action="detach-egg" data-id="{{ $egg->id }}" class="btn btn-sm btn-danger"><i class="fa fa-trash-o"></i></button>123</td>124</tr>125@endforeach126</table>127</div>128</div>129130<div class="box">131<div class="box-header with-border">132<h3 class="box-title">Nodes</h3>133134<div class="box-tools">135<button class="btn btn-sm btn-primary" data-toggle="modal" data-target="#addNodesModal">Add Nodes</button>136</div>137</div>138139<div class="box-body table-responsive no-padding">140<table class="table table-hover">141<tr>142<th>ID</th>143<th>Name</th>144<th>FQDN</th>145<th></th>146</tr>147148@foreach ($mount->nodes as $node)149<tr>150<td class="col-sm-2 middle"><code>{{ $node->id }}</code></td>151<td class="middle"><a href="{{ route('admin.nodes.view', $node->id) }}">{{ $node->name }}</a></td>152<td class="middle"><code>{{ $node->fqdn }}</code></td>153<td class="col-sm-1 middle">154<button data-action="detach-node" data-id="{{ $node->id }}" class="btn btn-sm btn-danger"><i class="fa fa-trash-o"></i></button>155</td>156</tr>157@endforeach158</table>159</div>160</div>161</div>162</div>163164<div class="modal fade" id="addEggsModal" tabindex="-1" role="dialog">165<div class="modal-dialog" role="document">166<div class="modal-content">167<form action="{{ route('admin.mounts.eggs', $mount->id) }}" method="POST">168<div class="modal-header">169<button type="button" class="close" data-dismiss="modal" aria-label="Close">170<span aria-hidden="true" style="color: #FFFFFF">×</span>171</button>172173<h4 class="modal-title">Add Eggs</h4>174</div>175176<div class="modal-body">177<div class="row">178<div class="form-group col-md-12">179<label for="pEggs">Eggs</label>180<select id="pEggs" name="eggs[]" class="form-control" multiple>181@foreach ($nests as $nest)182<optgroup label="{{ $nest->name }}">183@foreach ($nest->eggs as $egg)184185@if (! in_array($egg->id, $mount->eggs->pluck('id')->toArray()))186<option value="{{ $egg->id }}">{{ $egg->name }}</option>187@endif188189@endforeach190</optgroup>191@endforeach192</select>193</div>194</div>195</div>196197<div class="modal-footer">198{!! csrf_field() !!}199200<button type="button" class="btn btn-default btn-sm pull-left" data-dismiss="modal">Cancel</button>201<button type="submit" class="btn btn-primary btn-sm">Add</button>202</div>203</form>204</div>205</div>206</div>207208<div class="modal fade" id="addNodesModal" tabindex="-1" role="dialog">209<div class="modal-dialog" role="document">210<div class="modal-content">211<form action="{{ route('admin.mounts.nodes', $mount->id) }}" method="POST">212<div class="modal-header">213<button type="button" class="close" data-dismiss="modal" aria-label="Close">214<span aria-hidden="true" style="color: #FFFFFF">×</span>215</button>216217<h4 class="modal-title">Add Nodes</h4>218</div>219220<div class="modal-body">221<div class="row">222<div class="form-group col-md-12">223<label for="pNodes">Nodes</label>224<select id="pNodes" name="nodes[]" class="form-control" multiple>225@foreach ($locations as $location)226<optgroup label="{{ $location->long }} ({{ $location->short }})">227@foreach ($location->nodes as $node)228229@if (! in_array($node->id, $mount->nodes->pluck('id')->toArray()))230<option value="{{ $node->id }}">{{ $node->name }}</option>231@endif232233@endforeach234</optgroup>235@endforeach236</select>237</div>238</div>239</div>240241<div class="modal-footer">242{!! csrf_field() !!}243244<button type="button" class="btn btn-default btn-sm pull-left" data-dismiss="modal">Cancel</button>245<button type="submit" class="btn btn-primary btn-sm">Add</button>246</div>247</form>248</div>249</div>250</div>251@endsection252253@section('footer-scripts')254@parent255256<script>257$(document).ready(function() {258$('#pEggs').select2({259placeholder: 'Select eggs..',260});261262$('#pNodes').select2({263placeholder: 'Select nodes..',264});265266$('button[data-action="detach-egg"]').click(function (event) {267event.preventDefault();268269const element = $(this);270const eggId = $(this).data('id');271272$.ajax({273method: 'DELETE',274url: '/admin/mounts/' + {{ $mount->id }} + '/eggs/' + eggId,275headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') },276}).done(function () {277element.parent().parent().addClass('warning').delay(100).fadeOut();278swal({ type: 'success', title: 'Egg detached.' });279}).fail(function (jqXHR) {280console.error(jqXHR);281swal({282title: 'Whoops!',283text: jqXHR.responseJSON.error,284type: 'error'285});286});287});288289$('button[data-action="detach-node"]').click(function (event) {290event.preventDefault();291292const element = $(this);293const nodeId = $(this).data('id');294295$.ajax({296method: 'DELETE',297url: '/admin/mounts/' + {{ $mount->id }} + '/nodes/' + nodeId,298headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') },299}).done(function () {300element.parent().parent().addClass('warning').delay(100).fadeOut();301swal({ type: 'success', title: 'Node detached.' });302}).fail(function (jqXHR) {303console.error(jqXHR);304swal({305title: 'Whoops!',306text: jqXHR.responseJSON.error,307type: 'error'308});309});310});311});312</script>313@endsection314315316