File: /home/imensosw/.trash/resources.2/views/admin/events/edit.blade.php
@extends('layouts.admin')
@section("style")
<link href="{{ asset('assets/plugins/select2/css/select2.min.css')}}" rel="stylesheet" />
<link href="{{ asset('assets/plugins/select2/css/select2-bootstrap4.css')}}" rel="stylesheet" />
<link rel="stylesheet" href="{{URL::asset('assets/plugins/bootstrap-material-datetimepicker/css/bootstrap-material-datetimepicker.min.css')}}">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
@endsection
@section('pageTitle')
<title>{{ trans('panel.site_title') }} {{ trans('event.events') }}</title>
@endsection
@section('content')
<!--start page wrapper -->
<div class="page-wrapper">
<div class="page-content">
<!--breadcrumb-->
<div class="page-breadcrumb d-none d-sm-flex align-items-center mb-3">
<div class="breadcrumb-title pe-3">{{ trans('global.events') }}</div>
<div class="ps-3">
<nav aria-label="breadcrumb">
<ol class="breadcrumb mb-0 p-0">
<li class="breadcrumb-item"><a href="javascript:;"><i class="bx bx-home-alt"></i></a>
</li>
<li class="breadcrumb-item active" aria-current="page">{{ trans('global.edit') }} {{ trans('event.event') }} </li>
</ol>
</nav>
</div>
<div class="ms-auto">
<div class="btn-group">
<a href="{{ route("admin.events.index") }}" class="btn btn-primary"> {{ trans('event.event') }} {{ trans('global.list') }}</a>
</div>
</div>
</div>
<!--end breadcrumb-->
<hr/>
@include('layouts/notification')
<form action='{{ route("admin.events.update", [$event->id]) }}' method="POST" enctype="multipart/form-data">
@csrf
@method('PUT')
<div class="card">
<div class="card-body">
<h3>{{trans('event.detail')}}</h3>
<hr/>
<div class="row">
<div class="col-12">
<div class="form-group {{ $errors->has('event_title') ? 'has-error' : '' }}">
<label for="event_title">{{trans('new.title')}}<small class="text-danger">*</small></label>
<input type="text" id="event_title" name="event_title" class="form-control" value="{{ old('event_title', isset($event) ? $event->event_title : '') }}" >
@if($errors->has('event_title'))
<p class="text-danger small">
{{ $errors->first('event_title') }}
</p>
@endif
</div>
</div>
<div class="col-4">
<div class="form-group {{ $errors->has('start_date') ? 'has-error' : '' }}">
<label for="start_date">{{trans('new.start_date')}}<small class="text-danger">*</small></label>
<input type="text" id="start_date" name="start_date" class="form-control " value="{{ old('start_date', isset($event) ? $event->start_date : '') }}" >
@if($errors->has('start_date'))
<p class="text-danger small">
{{ $errors->first('start_date') }}
</p>
@endif
</div>
</div>
<div class="col-4">
<div class="form-group {{ $errors->has('start_time') ? 'has-error' : '' }}">
<label for="start_time">{{trans('new.start_time')}}<small class="text-danger">*</small></label>
<input type="text" id="start_time" name="start_time" class="form-control " value="{{ old('start_time', isset($event) ? $event->start_time : '') }}" >
@if($errors->has('start_time'))
<p class="text-danger small">
{{ $errors->first('start_time') }}
</p>
@endif
</div>
</div>
<div class="col-4">
<div class="form-group {{ $errors->has('end_time') ? 'has-error' : '' }}">
<label for="end_time">{{trans('new.end_time')}}<small class="text-danger">*</small></label>
<input type="text" id="end_time" name="end_time" class="form-control " value="{{ old('end_time', isset($event) ? $event->end_time : '') }}" >
@if($errors->has('end_time'))
<p class="text-danger small">
{{ $errors->first('end_time') }}
</p>
@endif
</div>
</div>
<div class="col-4">
<div class="form-group {{ $errors->has('event_hours') ? 'has-error' : '' }}">
<label for="event_hours">{{trans('event.no_of_hours')}}<small class="text-danger">*</small></label>
<input type="number" min="" id="event_hours" name="event_hours" class="form-control " value="{{ old('event_hours', isset($event) ? $event->event_hours : '') }}" >
@if($errors->has('event_hours'))
<p class="text-danger small">
{{ $errors->first('event_hours') }}
</p>
@endif
</div>
</div>
<div class="col-4">
<div class="form-group {{ $errors->has('no_of_tickets') ? 'has-error' : '' }}">
<label for="no_of_tickets">{{trans('event.no_of_tickets')}}<small class="text-danger">*</small></label>
<input type="number" min="" id="no_of_tickets" name="no_of_tickets" class="form-control " value="{{ old('no_of_tickets', isset($event) ? $event->no_of_tickets : '') }}" >
@if($errors->has('no_of_tickets'))
<p class="text-danger small">
{{ $errors->first('no_of_tickets') }}
</p>
@endif
</div>
</div>
<div class="col-4">
<div class="form-group {{ $errors->has('ticket_price') ? 'has-error' : '' }}">
<label for="ticket_price">{{trans('event.ticket_price')}}<small class="text-danger">*</small></label>
<input type="number" step="0.01" min="0.00" id="ticket_price" name="ticket_price" class="form-control " value="{{ old('ticket_price', isset($event) ? $event->ticket_price : '') }}" >
@if($errors->has('ticket_price'))
<p class="text-danger small">
{{ $errors->first('ticket_price') }}
</p>
@endif
</div>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<h3>{{trans('event.detail')}}</h3>
<div class="row">
<div class="col-12 mb-2">
<div class="form-group {{ $errors->has('feature_image') ? 'has-error' : '' }}">
<label for="feature_image">{{trans('new.f_image')}}<small class="text-danger">*</small></label>
<input class="form-control upload_feature_image" type="file" id="feature_image" accept="image/*" value="Upload" />
<div class="progress mb-3 mt-3 bg-white" style="height: 5px">
<div class="progress-bar feature_image_bar" role="progressbar" style="width: 0%" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100"></div>
</div>
@if($errors->has('feature_image'))
<p class="text-danger small">
{{ $errors->first('feature_image') }}
</p>
@endif
</div>
</div>
<div class="col-12 mb-3 feature_image_div">
<?php $feature_image = URL::asset('images/feature_image.png'); ?>
@if(!empty($event->feature_image))
<?php $feature_image = URL::asset('Event/'.$event->id.'/'.$event->feature_image); ?>
@endif
<a href="{{$feature_image}}" class="" border download><img src="{{$feature_image}}" class="feature_imag img-responsive feature_image_file" alt="Feature Image" /></a>
<a href="javascript:;" class="text-danger delete_feature_image" data_id="{{$event->id}}" data_col="feature_image">{{trans('new.delete')}}</a>
</div>
<div class="col-12">
<div class="form-group {{ $errors->has('event_desc') ? 'has-error' : '' }}">
<label for="event_desc">Description<small class="text-danger">*</small></label>
<textarea type="event_desc" id="event_desc" name="event_desc" class="form-contro textarea_editor" >{{ old('event_desc', isset($event) ? $event->event_desc : '') }}</textarea>
@if($errors->has('event_desc'))
<p class="text-danger small">
{{ $errors->first('event_desc') }}
</p>
@endif
</div>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<h3>{{trans('event.address')}}</h3>
<div class="row">
<div class="col-12">
<div class="form-group {{ $errors->has('address_street') ? 'has-error' : '' }}">
<label for="address_street">{{trans('new.address')}} <small class="text-danger">*</small></label>
<input type="text" id="address_location" name="address_location" class="form-control" value="{{ old('address_location', isset($event) ? $event->address_location : '') }}" >
@if($errors->has('address_location'))
<p class="text-danger small">
{{ $errors->first('address_location') }}
</p>
@endif
</div>
</div>
<div class="col-12">
<div class="form-group {{ $errors->has('address_line1') ? 'has-error' : '' }}">
<label for="address_line1">{{trans('new.address_extra')}}<small class="text-danger"> If required</small></label>
<input type="text" idff="address_line1" id="autocomplete__" name="address_line1" class="form-control" value="{{ old('address_line1', isset($event) ? $event->address_line1 : '') }}" >
<input type="hidden" name="org_lat" id="org_lat" />
<input type="hidden" name="org_lang" id="org_lang" />
@if($errors->has('address_line1'))
<p class="text-danger small">
{{ $errors->first('address_line1') }}
</p>
@endif
</div>
</div>
</div>
<div class="row " style="opacity:0.25;">
<div class="col-4">
<div class="form-group {{ $errors->has('address_city') ? 'has-error' : '' }}">
<label for="address_city">{{trans('new.city')}}<small class="text-danger">*</small></label>
<input type="text" id="locality" name="address_city" class="form-control" value="{{ old('address_city', isset($event) ? $event->address_city : '') }}" >
@if($errors->has('address_city'))
<p class="text-danger small">
{{ $errors->first('address_city') }}
</p>
@endif
</div>
</div>
<div class="col-4">
<div class="form-group {{ $errors->has('address_state') ? 'has-error' : '' }}">
<label for="address_state">{{trans('new.state')}}<small class="text-danger">*</small></label>
<input type="text" id="administrative_area_level_1" name="address_state" class="form-control" value="{{ old('address_state', isset($event) ? $event->address_state : '') }}" >
@if($errors->has('address_state'))
<p class="text-danger small">
{{ $errors->first('address_state') }}
</p>
@endif
</div>
</div>
<div class="col-4">
<div class="form-group {{ $errors->has('address_country') ? 'has-error' : '' }}">
<label for="address_country">{{trans('new.country')}}<small class="text-danger">*</small></label>
<?php /*<select name="address_country" class="form-control select2 single-select address_country" id="country_code">
<option value="">Select Country</option>
@if($countries->count())
@foreach($countries as $key=>$country)
<option value="{{$country->country_code}}" @if(old('address_country', isset($event) ? $event->address_country : '') == $country->country_code) selected @endif >{{$country->country_name}}</option>
@endforeach
@endif
</select>*/ ?>
<input type="hidden" id="country" name="country" class="form-control" value="" >
<input type="text" id="country_code" name="address_country" class="form-control" value="{{ old('address_country', isset($event) ? $event->address_country : '') }}" >
@if($errors->has('address_country'))
<p class="text-danger small">
{{ $errors->first('address_country') }}
</p>
@endif
</div>
</div>
<div class="col-4">
<div class="form-group {{ $errors->has('address_postcode') ? 'has-error' : '' }}">
<label for="address_postcode">{{trans('new.postcode')}}<small class="text-danger">*</small></label>
<input type="text" id="address_postcode" name="address_postcode" class="form-control" value="{{ old('address_postcode', isset($event) ? $event->address_postcode : '') }}" >
@if($errors->has('address_postcode'))
<p class="text-danger small">
{{ $errors->first('address_postcode') }}
</p>
@endif
</div>
</div>
<div class="col-4">
<div class="form-group {{ $errors->has('address_lat') ? 'has-error' : '' }}">
<label for="address_lat">{{trans('new.lat')}}<small class="text-danger">*</small></label>
<input type="text" id="lat" name="address_lat" class="form-control" value="{{ old('address_lat', isset($event) ? $event->address_lat : '') }}" >
@if($errors->has('address_lat'))
<p class="text-danger small">
{{ $errors->first('address_lat') }}
</p>
@endif
</div>
</div>
<div class="col-4">
<div class="form-group {{ $errors->has('address_long') ? 'has-error' : '' }}">
<label for="address_long">{{trans('new.lng')}}<small class="text-danger">*</small></label>
<input type="text" id="lng" name="address_long" class="form-control" value="{{ old('address_long', isset($event) ? $event->address_long : '') }}" >
@if($errors->has('address_long'))
<p class="text-danger small">
{{ $errors->first('address_long') }}
</p>
@endif
</div>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-12">
<div class="form-group {{ $errors->has('event_status') ? 'has-error' : '' }}">
<label for="event_status">{{trans('event.status')}}<small class="text-danger">*</small></label>
<select name="event_status" class="form-control select2 single-select event_status" id="event_status">
<option value="">{{trans('new.select_status')}}</option>
<option value="1" @if(old('event_status', isset($event) ? $event->event_status : '') == 1) selected @endif >{{trans('event.yes')}}</option>
<option value="0" @if(old('event_status', isset($event) ? $event->event_status : '') == 0) selected @endif >{{trans('event.no')}}</option>
</select>
@if($errors->has('event_status'))
<p class="text-danger small">
{{ $errors->first('event_status') }}
</p>
@endif
</div>
</div>
<div class="col-12">
<?php
$artist_ids = $event->event_artist;
$artist_array = array();
if(!empty($artist_ids)){$artist_array = explode(',',$artist_ids);}
?>
<div class="form-group {{ $errors->has('event_artist') ? 'has-error' : '' }}">
<label for="event_artist">{{trans('event.artist')}}<small class="text-danger">*</small></label>
<select name="event_artist[]" class="form-control select2 multiple-select event_artist" id="event_artist" multiple>
<option value="">{{trans('event.select_artist')}}</option>
@if($artists->count())
@foreach($artists as $key=>$artist)
<option value="{{$artist->id}}" @if(in_array($artist->id,$artist_array)) selected @endif >{{$artist->artist_title}}</option>
@endforeach
@endif
</select>
</div>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<div>
<button class="btn btn-primary" type="submit" >{{ trans('global.update') }}</button>
<a class="btn btn-secondary waves-effect waves-ripple mr-3" href="{{ url()->previous() }}">{{ trans('global.back_to_list') }}</a>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
@endsection
@section("script")
<script src="{{ asset('assets/plugins/select2/js/select2.min.js')}}"></script>
<script src="https://maps.googleapis.com/maps/api/js?libraries=places&key=AIzaSyC_yU9pJxAP7_h1YlGOpMPBHgZrpPkoc9k"></script>
<script src="{{URL::asset('assets/plugins/bootstrap-material-datetimepicker/js/moment.min.js')}}"></script>
<script src="{{URL::asset('assets/plugins/bootstrap-material-datetimepicker/js/bootstrap-material-datetimepicker.min.js')}}"></script>
<script>
function get_time_diff(){
var start_time = $('#start_time').val();
var end_time = $('#end_time').val();
var start_date = $('#start_date').val();
if(start_time && end_time){
dt1 = new Date(start_date+' '+start_time);
dt2 = new Date(start_date+' '+end_time);
var diff =(dt2.getTime() - dt1.getTime()) / 1000;
diff /= (60 * 60);
$('#event_hours').val(Math.abs(Math.round(diff)));
}
//alert(+' - '+);
}
$(document).ready(function(){
var dateNow = new Date();
$('#start_date').bootstrapMaterialDatePicker({
time: false,
format: 'YYYY-MM-DD',
minDate: moment(),
//currentDate:dateNow
}).on('change',function(e, date){
var dd = new Date('YYYY-MM-DD',date);
var first_date = moment(date).format('DD-MM-YYYY');
//alert(first_date);
//$('#start_time').bootstrapMaterialDatePicker('setMinDate', '2022-03-10 01:00:00');
//$('#end_time').bootstrapMaterialDatePicker('setMinDate', '2022-03-10 01:00:00');
//$('#start_time').bootstrapMaterialDatePicker('setMaxDate', date);
//$('#end_time').bootstrapMaterialDatePicker('setMaxDate', date);
});
$('#start_time').bootstrapMaterialDatePicker({
time: true,
date: false,
format: 'HH:mm',
//currentDate:dateNow
}).on('change',function(e, date){
$('#end_time').bootstrapMaterialDatePicker('setMinDate', date);
get_time_diff();
});
$('#end_time').bootstrapMaterialDatePicker({
time: true,
date: false,
format: 'HH:mm',
//currentDate:dateNow
}).on('change',function(e, date){
$('#start_time').bootstrapMaterialDatePicker('setMaxDate', date);
get_time_diff();
});
});
</script>
<script>
//new google.maps.places.Autocomplete(document.getElementById("address_location"));
// This example displays an address form, using the autocomplete feature
// of the Google Places API to help users fill in the information.
function fillInAddress() {
// Get the place details from the autocomplete object.
var place = autocomplete.getPlace();
for (var component in componentForm) {
document.getElementById(component).value = '';
}
// Get each component of the address from the place details
// and fill the corresponding field on the form.
for (var i = 0; i < place.address_components.length; i++) {
console.log(place.address_components[i]);
var addressType = place.address_components[i].types[0];
if (componentForm[addressType]) {
var val = place.address_components[i][componentForm[addressType]];
document.getElementById(addressType).value = val;
}
// for the country, get the country code (the "short name") also
if (addressType == "country") {
document.getElementById("country_code").value = place.address_components[i].short_name;
}
if (addressType == "postal_code") {
document.getElementById("address_postcode").value = place.address_components[i].short_name;
}
}
}
var placeSearch, autocomplete;
var componentForm = {
locality: 'long_name',
administrative_area_level_1: 'short_name',
country: 'long_name',
};
function initAutocomplete() {
// Create the autocomplete object, restricting the search to geographical
// location types.
autocomplete = new google.maps.places.Autocomplete(document.getElementById('address_location'));
// When the user selects an address from the dropdown, populate the address
// fields in the form.
// Get Latitude and longitude
google.maps.event.addListener(autocomplete, 'place_changed', function() {
var place = autocomplete.getPlace();
document.getElementById('lat').value = place.geometry.location.lat();
document.getElementById('lng').value = place.geometry.location.lng();
fillInAddress();
});
}
google.maps.event.addDomListener(window, 'load', initAutocomplete);
$(document).ready(function(){
$('.single-select').select2({
theme: 'bootstrap4',
width: $(this).data('width') ? $(this).data('width') : $(this).hasClass('w-100') ? '100%' : 'style',
placeholder: $(this).data('placeholder'),
allowClear: Boolean($(this).data('allow-clear')),
});
$('.multiple-select').select2({
theme: 'bootstrap4',
width: $(this).data('width') ? $(this).data('width') : $(this).hasClass('w-100') ? '100%' : 'style',
placeholder: $(this).data('placeholder'),
allowClear: Boolean($(this).data('allow-clear')),
});
$('body').on('click', '.delete_feature_image', function(ev) {
var data_id = $(this).attr('data_id');
var data_col = $(this).attr('data_col');
var files_div = data_col+'_file';
var postData=new FormData();
postData.append('event_id','{{$event->id}}');
postData.append('data_col','feature_image');
var url="{{ route('admin.events.delete_feature_image') }}";
swal({
title: "{{ trans('new.areYouSure') }}",
text: "{{ trans('new.deleteMessage') }}",
icon: "info", //Success, warning, info, error
buttons: true,
dangerMode: true,
})
.then((willComment) => {
if (willComment) {
$.ajax({
headers:{'X-CSRF-Token':'{{ csrf_token() }}'},
async:true,
type:"post",
dataType: 'json',
contentType:false,
url:url,
data:postData,
processData:false,
success:function(data){
if(data.success == 'done'){
$('body').find('.'+files_div).attr('src',data.doc_url);
$('.delete_feature_image').hide();
swal("Done!",data.msg,"success");
}else{
swal("Opps!",data.msg,"error");
}
},
error: function(data, errorThrown)
{
swal("Opps!",errorThrown,"error");
},
});
}
});
});
$('body').on('change', '.upload_feature_image', function(ev) {
var filedata=this.files[0];
var input = $(this).attr('id');
var input_id = $(this).attr('id');
var prograss_bar = input+'_bar';
var files_div = input+'_file';
$('body').find('.'+prograss_bar).parent('.progress').show();
$('body').find('.'+prograss_bar).attr('style','');
$('body').find('.'+prograss_bar).removeClass('bg-success');
$('body').find('.'+prograss_bar).addClass('bg-danger');
var imgtype=filedata.type;
var reader=new FileReader();
reader.onload=function(ev){
//$('.front_door_img_file').attr('src',ev.target.result).css('width','150px').css('height','150px');
}
reader.readAsDataURL(this.files[0]);
var postData=new FormData();
postData.append('event_id','{{$event->id}}');
postData.append('field_name',input);
postData.append('field_value',this.files[0]);
var url="{{ route('admin.events.upload_feature_image') }}";
$.ajax({
headers:{'X-CSRF-Token':'{{ csrf_token() }}'},
async:true,
type:"post",
dataType: 'json',
contentType:false,
url:url,
data:postData,
processData:false,
success:function(data){
if(data.success == 'done'){
swal("Done!",data.msg,"success");
$('body').find('.'+files_div).attr('src',data.doc_url);
$('body').find('.'+prograss_bar).removeClass('bg-danger');
$('body').find('.'+prograss_bar).addClass('bg-success');
$('.delete_feature_image').show();
$('.delete_feature_image').attr('data_id');
var $el = $('#'+input_id);
$el.wrap('<form>').closest('form').get(0).reset();
$el.unwrap();
}else{
swal("Opps!",data.msg,"error");
}
},
error: function(data, errorThrown)
{
swal("Opps!",errorThrown,"error");
},
xhr: function()
{
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function(evt){
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
var pers = parseInt(percentComplete * 100);
var bar_per = 5;
if(pers > 5){
bar_per = (pers / 5) * 5;
}
var class_p = 'width: '+bar_per+'%';
$('body').find('.'+prograss_bar).attr('style',class_p);
}
}, false);
xhr.addEventListener("progress", function(evt){
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
}
}, false);
return xhr;
}
});
});
});
</script>
@endsection