EVOLUTION-NINJA
Edit File: assign_ticket.php
<?php $this->load->view('includes/admin_header');?> <link rel="stylesheet" href="<?php echo base_url('admin_assets/toastr/toastr.min.css');?>"> <script src="<?php echo base_url('admin_assets/toastr/toastr.min.js');?>"></script> <link href="http://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel="stylesheet"> <script src="<?php echo base_url('admin_assets/js/jquery-ui.js');?>"></script> <script src="<?php echo base_url('admin_assets/ckeditor/ckeditor.js');?>"></script> <script src="<?php echo base_url('admin_assets/ckeditor/config.js');?>"></script> <div style="margin-left:10%;width: 1015px;"> <h3 style="text-align:center;">Assign Tickets</h3> </div> <form id="land_owner" class="form-inline ticket_form" enctype="multipart/form-data"> <div class="middle_work"> <div class="container"> <div class="task-info"> <div class="task-info-head"> <div class="task-info-checkbox"> </div> <input type="hidden" name="ticket_id" value="<?php echo $this->uri->segment(2);?>" /> <h3>Project:<span style="font-size:14px;"> <?php echo $tickets->project;?></span></h3> <h3>Task: <span style="font-size:14px;"><?php echo $tickets->ticket_title;?></span></h4> <h3>Description:<span style="font-size:14px;"><?php echo $tickets->ticket_description;?></span></h3> <div class="task-info-text"> <input type="text" style="font-size: 14px;" class="form-control" placeholder="Things to do" name="task" required> </div> </div> <div> <textarea class="ckeditor" id="content" name="content"></textarea> </div> <!-- <div class="task-info-button"> <p> <a class="" data-toggle="collapse" data-target="#demo" role="button"><i class="fa fa-paperclip" aria-hidden="true"></i></a> <a class="" data-toggle="modal" data-target="#myModal" role="button"><i class="fa fa-quote-right" aria-hidden="true"></i></a> <span class="a_click">A</span> </p> </div> --> <!-- Modal --> <div class="modal fade" id="myModal" role="dialog"> <div class="modal-dialog"> <!-- Modal content--> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h4 class="modal-title">Link</h4> </div> <div class="modal-body"> <div class="form-group"> <label class="control-label col-sm-2">Link:</label> <div class="col-sm-9"> <input type="text" class="form-control" name="ticket_link" placeholder="Link URL"> </div> </div> <div class="form-group"> <label class="control-label col-sm-2">Text:</label> <div class="col-sm-9"> <input type="text" class="form-control" name="ticket_link_text" placeholder="Link text"> </div> </div> </div> <!-- <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Save</button> <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> </div> --> </div> </div> </div> <!-------- End model --------> <!------------------------------------ drag and drop Start ----------> <div id="demo" class="collapse"> <div class="fallback"> <input name="ticket_file" type="file"/> </div> </div> <div id="preview-template" class="hide"> <div class="dz-preview dz-file-preview"> <div class="dz-image"> <img data-dz-thumbnail="" /> </div> <div class="dz-details"> <div class="dz-size"> <span data-dz-size=""></span> </div> <div class="dz-filename"> <span data-dz-name=""></span> </div> </div> <div class="dz-progress"> <span class="dz-upload" data-dz-uploadprogress=""></span> </div> <div class="dz-error-message"> <span data-dz-errormessage=""></span> </div> <div class="dz-success-mark"> <span class="fa-stack fa-lg bigger-150"> <i class="fa fa-circle fa-stack-2x white"></i> <i class="fa fa-check fa-stack-1x fa-inverse green"></i> </span> </div> <div class="dz-error-mark"> <span class="fa-stack fa-lg bigger-150"> <i class="fa fa-circle fa-stack-2x white"></i> <i class="fa fa-remove fa-stack-1x fa-inverse red"></i> </span> </div> </div> </div> <!------------------------------------ drag and drop End ----------> <div class="task-info-link"> <div class="row row_pad"> <div class="col-sm-3 col-lg-2"> <label style="padding-right:5px;">Responsible person</label> </div> <div class="col-sm-5 col-lg-6"> <select multiple="" class="select2" data-placeholder="Click to Choose..." name="responsible_person[]"> <!-- <option value="AL">Alabama</option> <option value="AK">Alaska</option> <option value="AZ">Arizona</option> <option value="AR">Arkansas</option> --> <?php foreach($employees as $val) { ?> <option value="<?php echo $val->emp_id;?>"><?php echo $val->first_name;?></option> <?php } ?> </select> </div> <!-- <div class="col-sm-4 col-lg-4"> <a class="" data-toggle="collapse" href="#multiCollapseExample1" role="button" aria-expanded="false" aria-controls="multiCollapseExample1">Created by</a> <a class="" data-toggle="collapse" href="#multiCollapseExample2" role="button" aria-expanded="false" aria-controls="multiCollapseExample2">Participants</a> </div> --> </div> <!-- <div class="row row_pad"> <div class="collapse multi-collapse" id="multiCollapseExample1"> <div class="card card-body"> <div class="col-sm-3 col-lg-2"> <label>Created by</label> </div> <div class="col-sm-7 col-lg-8"> <select multiple="" class="select2" data-placeholder="Click to Choose..."> <option value="AL">Alabama</option> <option value="AK">Alaska</option> <option value="AZ">Arizona</option> <option value="AR">Arkansas</option> </select> </div> </div> </div> </div> --> <!-- <div class="row row_pad"> <div class="collapse multi-collapse" id="multiCollapseExample2"> <div class="card card-body"> <div class="col-sm-3 col-lg-2"> <label>Participants</label> </div> <div class="col-sm-7 col-lg-8"> <select multiple="" class="form-control select2" data-placeholder="Click to Choose..."> <option value="AL">Alabama</option> <option value="AK">Alaska</option> <option value="AZ">Arizona</option> <option value="AR">Arkansas</option> </select> </div> </div> </div> </div> --> <div class="row row_pad"> <div class="col-sm-3 col-lg-2"> <label>Deadline</label> </div> <div class="col-sm-4 col-lg-5"> <div class="form-group"> <div class='input-group date' id='datetimepicker1'> <input type='text' class="form-control date_picker" name="due_date"/> <span class="input-group-addon"> <span class="glyphicon glyphicon-calendar"></span> </span> </div> </div> </div> </div> </div> <div class="row"> <div class="col-md-5"></div> <button type="submit" class="btn btn-primary center-block submit submit_button">Submit</button> </div> </div> </div> </div> </form> <style> .middle_work { padding-top:20px; padding-bottom:20px; } .task-info-head { border-bottom: 1px solid #edeef0; padding-bottom: 15px; } .task-info-checkbox { float:right; } .task-info-text { overflow:hidden; } .task-info-text > .form-control { width: 100%; height: 32px; border: 1px solid transparent; outline: 0; font-size: 25px; box-shadow: initial; } .task-info-button p a { font-size: 16px; color: #898989; margin-right: 15px; cursor: pointer; } .task-info-button p a:hover { color: #000; text-decoration:none; } .task-info-button { border-bottom: 1px solid #edeef0; margin-bottom: 15px; } .task-info-link a { color:#898989; padding:0px 10px; } .task-info-link a:hover { color:#000; text-decoration:none; } .select2-container--default .select2-selection--multiple { { border-radius: initial !important; } </style> <style> #menuBarDiv_txtEditor { display:none; } #statusbar_txtEditor { display:none; } .a_click { float: right; font-weight:bold; color:#898989; font-size:17px; cursor: pointer; } .a_click:hover { color:#000; } .row_pad { padding:10px 0px; } .select2-container { width:100% !important; } .task-info-link { background:#F0F5F9; padding:0px 10px; } .task-info-button { padding-top:10px; } .select2-container .select2-search--inline .select2-search__field { { margin-top: 0px !important; } input[type="search"] { margin-bottom: 0px !important; } </style> <script> $(document).ready(function(){ $('.date_picker').datepicker({ changeMonth:true, changeYear:true, // dateFormat: 'yy-mm-dd' dateFormat: 'dd-mm-yy' }); $(".a_click").click(function(){ $("#menuBarDiv_txtEditor").toggle(); }); }); </script> <link rel="stylesheet" href="<?php echo base_url('admin_assets/ticket_assets/new/css/dropzone.min.css');?>" /> <script src="<?php echo base_url('admin_assets/ticket_assets/new/js/dropzone.min.js');?>"></script> <script type="text/javascript"> jQuery(function($){ try { Dropzone.autoDiscover = false; var myDropzone = new Dropzone('#dropzone', { previewTemplate: $('#preview-template').html(), thumbnailHeight: 120, thumbnailWidth: 120, maxFilesize: 0.5, //addRemoveLinks : true, //dictRemoveFile: 'Remove', dictDefaultMessage : '<span class="bigger-150 bolder"><i class="ace-icon fa fa-caret-right red"></i> Drop files</span> to upload \ <span class="smaller-80 grey">(or click)</span> <br /> \ <i class="upload-icon ace-icon fa fa-cloud-upload blue fa-3x"></i>' , thumbnail: function(file, dataUrl) { if (file.previewElement) { $(file.previewElement).removeClass("dz-file-preview"); var images = $(file.previewElement).find("[data-dz-thumbnail]").each(function() { var thumbnailElement = this; thumbnailElement.alt = file.name; thumbnailElement.src = dataUrl; }); setTimeout(function() { $(file.previewElement).addClass("dz-image-preview"); }, 1); } } }); //simulating upload progress var minSteps = 6, maxSteps = 60, timeBetweenSteps = 100, bytesPerStep = 100000; myDropzone.uploadFiles = function(files) { var self = this; for (var i = 0; i < files.length; i++) { var file = files[i]; totalSteps = Math.round(Math.min(maxSteps, Math.max(minSteps, file.size / bytesPerStep))); for (var step = 0; step < totalSteps; step++) { var duration = timeBetweenSteps * (step + 1); setTimeout(function(file, totalSteps, step) { return function() { file.upload = { progress: 100 * (step + 1) / totalSteps, total: file.size, bytesSent: (step + 1) * file.size / totalSteps }; self.emit('uploadprogress', file, file.upload.progress, file.upload.bytesSent); if (file.upload.progress == 100) { file.status = Dropzone.SUCCESS; self.emit("success", file, 'success', null); self.emit("complete", file); self.processQueue(); } }; }(file, totalSteps, step), duration); } } } //remove dropzone instance when leaving this page in ajax mode $(document).one('ajaxloadstart.page', function(e) { try { myDropzone.destroy(); } catch(e) {} }); } catch(e) { //alert('Dropzone.js does not support older browsers!'); } }); </script> <!------------------------ select ------------------> <link rel="stylesheet" href="<?php echo base_url('admin_assets/ticket_assets/new/css/bootstrap-duallistbox.min.css');?>" /> <link rel="stylesheet" href="<?php echo base_url('admin_assets/ticket_assets/new/css/bootstrap-multiselect.min.css');?>" /> <link rel="stylesheet" href="<?php echo base_url('admin_assets/ticket_assets/new/css/select2.min.css');?>" /> <script src="<?php echo base_url('admin_assets/ticket_assets/new/js/jquery.bootstrap-duallistbox.min.js');?>"></script> <script src="<?php echo base_url('admin_assets/ticket_assets/new/js/jquery.raty.min.js');?>"></script> <script src="<?php echo base_url('admin_assets/ticket_assets/new/js/select2.min.js');?>"></script> <script type="text/javascript"> jQuery(function($){ var demo1 = $('select[name="duallistbox_demo1[]"]').bootstrapDualListbox({infoTextFiltered: '<span class="label label-purple label-lg">Filtered</span>'}); var container1 = demo1.bootstrapDualListbox('getContainer'); container1.find('.btn').addClass('btn-white btn-info btn-bold'); /**var setRatingColors = function() { $(this).find('.star-on-png,.star-half-png').addClass('orange2').removeClass('grey'); $(this).find('.star-off-png').removeClass('orange2').addClass('grey'); }*/ $('.rating').raty({ 'cancel' : true, 'half': true, 'starType' : 'i' /**, 'click': function() { setRatingColors.call(this); }, 'mouseover': function() { setRatingColors.call(this); }, 'mouseout': function() { setRatingColors.call(this); }*/ })//.find('i:not(.star-raty)').addClass('grey'); ////////////////// //select2 $('.select2').css('width','200px').select2({allowClear:true}) $('#select2-multiple-style .btn').on('click', function(e){ var target = $(this).find('input[type=radio]'); var which = parseInt(target.val()); if(which == 2) $('.select2').addClass('tag-input-style'); else $('.select2').removeClass('tag-input-style'); }); ////////////////// $('.multiselect').multiselect({ enableFiltering: true, enableHTML: true, buttonClass: 'btn btn-white btn-primary', templates: { button: '<button type="button" class="multiselect dropdown-toggle" data-toggle="dropdown"><span class="multiselect-selected-text"></span> <b class="fa fa-caret-down"></b></button>', ul: '<ul class="multiselect-container dropdown-menu"></ul>', filter: '<li class="multiselect-item filter"><div class="input-group"><span class="input-group-addon"><i class="fa fa-search"></i></span><input class="form-control multiselect-search" type="text"></div></li>', filterClearBtn: '<span class="input-group-btn"><button class="btn btn-default btn-white btn-grey multiselect-clear-filter" type="button"><i class="fa fa-times-circle red2"></i></button></span>', li: '<li><a tabindex="0"><label></label></a></li>', divider: '<li class="multiselect-item divider"></li>', liGroup: '<li class="multiselect-item multiselect-group"><label></label></li>' } }); /////////////////// //typeahead.js //example taken from plugin's page at: https://twitter.github.io/typeahead.js/examples/ var substringMatcher = function(strs) { return function findMatches(q, cb) { var matches, substringRegex; // an array that will be populated with substring matches matches = []; // regex used to determine if a string contains the substring `q` substrRegex = new RegExp(q, 'i'); // iterate through the pool of strings and for any string that // contains the substring `q`, add it to the `matches` array $.each(strs, function(i, str) { if (substrRegex.test(str)) { // the typeahead jQuery plugin expects suggestions to a // JavaScript object, refer to typeahead docs for more info matches.push({ value: str }); } }); cb(matches); } } $('input.typeahead').typeahead({ hint: true, highlight: true, minLength: 1 }, { name: 'states', displayKey: 'value', source: substringMatcher(ace.vars['US_STATES']), limit: 10 }); /////////////// //in ajax mode, remove remaining elements before leaving page $(document).one('ajaxloadstart.page', function(e) { $('[class*=select2]').remove(); $('select[name="duallistbox_demo1[]"]').bootstrapDualListbox('destroy'); $('.rating').raty('destroy'); $('.multiselect').multiselect('destroy'); }); }); </script> <script type="text/javascript"> $(document).ready(function(){ for ( instance in CKEDITOR.instances ) CKEDITOR.instances[instance].updateElement(); $('.ticket_form').submit(function(e){ e.preventDefault(); formdata = new FormData($(this)[0]); formdata.append('content', CKEDITOR.instances['content'].getData()); $(".submit_button").attr('disabled', 'disabled'); $(".submit_button").text("Submitting..."); for ( instance in CKEDITOR.instances ) CKEDITOR.instances[instance].updateElement(); $.ajax({ type : 'post', url : '<?php echo site_url("assign_ticket_task")?>', data : formdata, contentType: false, processData: false, success:function(response){ response=jQuery.parseJSON(response); console.log(response); if(response.result==1) { toastr["success"](response.message); $('.ticket_form')[0].reset(); CKEDITOR.instances['content'].setData(''); $(".submit_button").text("Submit"); $(".submit_button").removeAttr('disabled'); } else if(response.result == 2) { toastr["error"](response.message); $(".submit_button").text("Submit"); $(".submit_button").removeAttr('disabled'); } else { toastr["error"](response.message); $(".submit_button").text("Submit"); $(".submit_button").removeAttr('disabled'); } } }); }); }); </script> <?php $this->load->view('includes/admin_footer');?>