Merge pull request #3815 from Data-Kiss/templates-update-incident
Add the ability to select a template when adding an incident.
This commit is contained in:
@@ -186,7 +186,7 @@ $(function () {
|
||||
});
|
||||
|
||||
// Incident management
|
||||
/*$('select[name=template]').on('change', function () {
|
||||
$('select[name=template]').on('change', function () {
|
||||
var $this = $(this).find('option:selected'),
|
||||
slug = $this.val();
|
||||
|
||||
@@ -208,7 +208,7 @@ $(function () {
|
||||
}
|
||||
});
|
||||
}
|
||||
});*/
|
||||
});
|
||||
|
||||
// Banner removal JS
|
||||
$('#remove-banner').on('click', function (){
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
const Vue = require('vue');
|
||||
|
||||
Vue.component('report-incident', require('./ReportIncident'));
|
||||
Vue.component('update-incident', require('./UpdateIncident'));
|
||||
Vue.component('report-schedule', require('./ReportSchedule'));
|
||||
Vue.component('invite-team', require('./InviteTeam'));
|
||||
|
||||
|
||||
30
resources/assets/js/components/dashboard/UpdateIncident.vue
Normal file
30
resources/assets/js/components/dashboard/UpdateIncident.vue
Normal file
@@ -0,0 +1,30 @@
|
||||
<script>
|
||||
module.exports = {
|
||||
data () {
|
||||
return {
|
||||
template: null,
|
||||
status: null,
|
||||
message: '',
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getTemplate (template) {
|
||||
axios.get('/dashboard/api/incidents/templates', {
|
||||
params: {
|
||||
slug: template
|
||||
}
|
||||
}).then(response => {
|
||||
this.name = response.data.name
|
||||
this.message = response.data.template
|
||||
}).catch(response => {
|
||||
(new Cachet.Notifier()).notify('There was an error finding that template.');
|
||||
})
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'template' (template) {
|
||||
this.getTemplate(template)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -25,7 +25,7 @@
|
||||
<fieldset>
|
||||
@if($incidentTemplates->count() > 0)
|
||||
<div class="form-group">
|
||||
<label for="incident-template">{{ trans('forms.incidents.templates.template') }}</label>
|
||||
<label for="template">{{ trans('forms.incidents.templates.template') }}</label>
|
||||
<select class="form-control" name="template" v-model="template">
|
||||
<option selected></option>
|
||||
@foreach($incidentTemplates as $tpl)
|
||||
|
||||
@@ -19,87 +19,100 @@
|
||||
</div>
|
||||
@endif
|
||||
@include('partials.errors')
|
||||
<form class="form-vertical" name="IncidentUpdateForm" role="form" method="POST" autocomplete="off">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<fieldset>
|
||||
<div class="form-group">
|
||||
<label for="incident-name">{{ trans('forms.incidents.status') }}</label><br>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="status" value="1" required {{ (int) Binput::old('status') === 1 ? 'checked' : null }}>
|
||||
<i class="icon ion-flag"></i>
|
||||
{{ trans('cachet.incidents.status')[1] }}
|
||||
</label>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="status" value="2" required {{ (int) Binput::old('status') === 2 ? 'checked' : null }}>
|
||||
<i class="icon ion-alert-circled"></i>
|
||||
{{ trans('cachet.incidents.status')[2] }}
|
||||
</label>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="status" value="3" required {{ (int) Binput::old('status') === 3 ? 'checked' : null }}>
|
||||
<i class="icon ion-eye"></i>
|
||||
{{ trans('cachet.incidents.status')[3] }}
|
||||
</label>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="status" value="4" required {{ (int) Binput::old('status') === 4 ? 'checked' : null }}>
|
||||
<i class="icon ion-checkmark"></i>
|
||||
{{ trans('cachet.incidents.status')[4] }}
|
||||
</label>
|
||||
</div>
|
||||
@if($incident->component)
|
||||
<div class="form-group hidden" id="component-status">
|
||||
<input type="hidden" name="component_id" value="{{ $incident->component->id }}">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="radio-items">
|
||||
@foreach(trans('cachet.components.status') as $statusID => $status)
|
||||
<div class="radio-inline">
|
||||
<label>
|
||||
<input type="radio" name="component_status" value="{{ $statusID }}">
|
||||
{{ $status }}
|
||||
</label>
|
||||
</div>
|
||||
<update-incident inline-template>
|
||||
<form class="form-vertical" name="IncidentUpdateForm" role="form" method="POST" autocomplete="off">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<fieldset>
|
||||
@if($incidentTemplates->count() > 0)
|
||||
<div class="form-group">
|
||||
<label for="template">{{ trans('forms.incidents.templates.template') }}</label>
|
||||
<select class="form-control" name="template" v-model="template">
|
||||
<option selected></option>
|
||||
@foreach($incidentTemplates as $tpl)
|
||||
<option value="{{ $tpl->slug }}">{{ $tpl->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
@endif
|
||||
<div class="form-group">
|
||||
<label for="incident-name">{{ trans('forms.incidents.status') }}</label><br>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="status" value="1" required {{ (int) Binput::old('status') === 1 ? 'checked' : null }}>
|
||||
<i class="icon ion-flag"></i>
|
||||
{{ trans('cachet.incidents.status')[1] }}
|
||||
</label>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="status" value="2" required {{ (int) Binput::old('status') === 2 ? 'checked' : null }}>
|
||||
<i class="icon ion-alert-circled"></i>
|
||||
{{ trans('cachet.incidents.status')[2] }}
|
||||
</label>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="status" value="3" required {{ (int) Binput::old('status') === 3 ? 'checked' : null }}>
|
||||
<i class="icon ion-eye"></i>
|
||||
{{ trans('cachet.incidents.status')[3] }}
|
||||
</label>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="status" value="4" required {{ (int) Binput::old('status') === 4 ? 'checked' : null }}>
|
||||
<i class="icon ion-checkmark"></i>
|
||||
{{ trans('cachet.incidents.status')[4] }}
|
||||
</label>
|
||||
</div>
|
||||
@if($incident->component)
|
||||
<div class="form-group hidden" id="component-status">
|
||||
<input type="hidden" name="component_id" value="{{ $incident->component->id }}">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="radio-items">
|
||||
@foreach(trans('cachet.components.status') as $statusID => $status)
|
||||
<div class="radio-inline">
|
||||
<label>
|
||||
<input type="radio" name="component_status" value="{{ $statusID }}">
|
||||
{{ $status }}
|
||||
</label>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@if($incident->component)
|
||||
<div class="form-group" id="component-status">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading"><strong>{{ $incident->component->name }}</strong></div>
|
||||
<div class="panel-body">
|
||||
<div class="radio-items">
|
||||
@foreach(trans('cachet.components.status') as $statusID => $status)
|
||||
<div class="radio-inline">
|
||||
<label>
|
||||
<input type="radio" name="component_status" value="{{ $statusID }}" {{ $incident->component->status == $statusID ? "checked='checked'" : "" }}>
|
||||
{{ $status }}
|
||||
</label>
|
||||
@endif
|
||||
@if($incident->component)
|
||||
<div class="form-group" id="component-status">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading"><strong>{{ $incident->component->name }}</strong></div>
|
||||
<div class="panel-body">
|
||||
<div class="radio-items">
|
||||
@foreach(trans('cachet.components.status') as $statusID => $status)
|
||||
<div class="radio-inline">
|
||||
<label>
|
||||
<input type="radio" name="component_status" value="{{ $statusID }}" {{ $incident->component->status == $statusID ? "checked='checked'" : "" }}>
|
||||
{{ $status }}
|
||||
</label>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
<div class="form-group">
|
||||
<label for="message">{{ trans('forms.incidents.message') }}</label>
|
||||
<div class="markdown-control">
|
||||
<textarea name="message" class="form-control autosize" rows="5" required>{{ Binput::old('message') }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<input type="hidden" name="incident_id" value="{{ $incident->id }}">
|
||||
|
||||
<div class="form-group">
|
||||
<label>{{ trans('forms.incidents.message') }}</label>
|
||||
<div class="markdown-control">
|
||||
<textarea name="message" class="form-control autosize" rows="5" required>{{ Binput::old('message') }}</textarea>
|
||||
<div class="btn-group">
|
||||
<button type="submit" class="btn btn-success">{{ trans('forms.update') }}</button>
|
||||
<a class="btn btn-default" href="{{ cachet_route('dashboard.incidents') }}">{{ trans('forms.cancel') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<input type="hidden" name="incident_id" value="{{ $incident->id }}">
|
||||
|
||||
<div class="form-group">
|
||||
<div class="btn-group">
|
||||
<button type="submit" class="btn btn-success">{{ trans('forms.update') }}</button>
|
||||
<a class="btn btn-default" href="{{ cachet_route('dashboard.incidents') }}">{{ trans('forms.cancel') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</form>
|
||||
</update-incident>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user