diff --git a/app/Http/Controllers/admin/AdminController.php b/app/Http/Controllers/admin/AdminController.php index b071bbc..0dc5685 100644 --- a/app/Http/Controllers/admin/AdminController.php +++ b/app/Http/Controllers/admin/AdminController.php @@ -247,6 +247,7 @@ class AdminController extends Controller $teamstore_array = $AdminModel->selectTeamstoreById($id); $store_owners_array = $AdminModel->selectStoreOwners($id); + // var_dump($store_owners_array); return view('admin_pages.edit_store') ->with('teamstore_array', $teamstore_array) ->with('store_owners_array', $store_owners_array); @@ -906,12 +907,18 @@ class AdminController extends Controller $template_array = $AdminModel->editVisualizer($id); $sports_category_array = $AdminModel->selectSportsCategory($template_array[0]->SportsId); $template_pattern_array = explode(",", $template_array[0]->PatternId); + $template_path_array = $AdminModel->selectTemplatePath($template_array[0]->TemplateCode); + $default_body_color_array = $AdminModel->selectDefaultBodyColor($template_array[0]->TemplateCode); + $default_trim_color_array = $AdminModel->selectDefaultTrimColor($template_array[0]->TemplateCode); return view('admin_pages.edit_visualizer') ->with('sports_array', $sports_array) ->with('pattern_array', $pattern_array) ->with('template_array', $template_array) ->with('sports_category_array', $sports_category_array) + ->with('template_path_array', $template_path_array) + ->with('default_body_color_array', $default_body_color_array) + ->with('default_trim_color_array', $default_trim_color_array) ->with('template_pattern_array', $template_pattern_array); } @@ -935,5 +942,182 @@ class AdminController extends Controller } + + public function updateVisualizer(Request $request){ + $post = $request->all(); + $AdminModel = new AdminModel; + $tmp_arr_visualizer_pattern = array(); + $template_thumbnail_path = "templates/thumbnail/"; + $template_path = "uniform-templates/"; + $visualizer_id = $post['visualizer_id']; + $templateCode = "TEMP-" . str_pad($visualizer_id, 5,'0',STR_PAD_LEFT); + + foreach($post['visualizer_pattern'] as $item_visualizer){ + $arr_visualizer_pattern = explode("##", $item_visualizer); + array_push($tmp_arr_visualizer_pattern, $arr_visualizer_pattern['0']); + } + + if(isset($post['visualizer_thumbnail'])){ + $orig_visualizer_thumbnail_filename = $request->file('visualizer_thumbnail')->getClientOriginalName(); + + $new_visualizer_thumbnail_filename = $this->generateFileName($orig_visualizer_thumbnail_filename); + Storage::disk('uploads')->put($template_thumbnail_path . $new_visualizer_thumbnail_filename, fopen($request->file('visualizer_thumbnail'), 'r+')); + $template_thumbnail = $template_thumbnail_path . $new_visualizer_thumbnail_filename; + + }else{ + $template_thumbnail = $post['current_visualizer_thumbnail']; + } + + + $final_arr_visualizer_pattern = implode(",", $tmp_arr_visualizer_pattern); + + $data = array( + 'SportsId' => $post['sportName'], + 'Category' => $post['sport_category'], + 'Thumbnail' => $template_thumbnail, + 'TemplateName' => $post['visualizer_name'], + 'Trim' => $post['numberOfTrims'], + 'PatternId' => $final_arr_visualizer_pattern, + 'WithGradient' => ($post['visualizer_format'] == "png") ? 'no' : null, + 'TemplateFormat'=> $post['visualizer_format'], + 'IsActive' => $post['is_active'], + 'Tags' => $post['visualizer_tags'], + ); + + $res_updateVisualizer = $AdminModel->updateVisualizer($visualizer_id, $data); + + + $data_def_main_color = array( + 'RGBColor' => $post['main_body_def_color'], + 'DisplayName' => $post['main_body_label'] + ); + + $res_updateDefaultBodyColor = $AdminModel->updateDefaultBodyColor($templateCode, $data_def_main_color); + + $res_deleteDefaultTrimColor = $AdminModel->deleteDefaultTrimColor($templateCode); + + if($post['numberOfTrims'] != 0){ + for($i = 0; $i < $post['numberOfTrims']; $i++){ + $t = $i + 1; + $data_def_trim_color = array( + 'TrimNumber' => $t, + 'TemplateCode' => $templateCode, + 'RGBColor' => $post['trim_def_color'][$i], + 'DisplayName' => $post['trim_label'][$i] + ); + $AdminModel->saveVisualizerDefaultTrimColor($data_def_trim_color); + + } + } + + // // front saving + if(isset($post['front_visualizer'])){ + $orig_front_visualize_filename = $request->file('front_visualizer')->getClientOriginalName(); + + $new_front_visualize_filename = $this->generateFileName($orig_front_visualize_filename); + Storage::disk('uploads')->put($template_path . $templateCode . '/DISPLAY/' . $new_front_visualize_filename, fopen($request->file('front_visualizer'), 'r+')); + + $data_front_visualizer = array( + 'Type' => $post['front_visualizer_type'], + 'Path' => $template_path . $templateCode . '/DISPLAY/' . $new_front_visualize_filename, + 'TemplateFormat' => $post['visualizer_format'], + 'IsActive' => "TRUE" + ); + + $AdminModel->updateVisualizerPath($post['front_visualizer_id'], $data_front_visualizer); + }else{ + + $data_front_visualizer = array( + 'Type' => $post['front_visualizer_type'], + 'TemplateFormat' => $post['visualizer_format'] + ); + + $AdminModel->updateVisualizerPath($post['front_visualizer_id'], $data_front_visualizer); + } + + // back saving + if(isset($post['back_visualizer'])){ + $orig_front_visualize_filename = $request->file('back_visualizer')->getClientOriginalName(); + + $new_back_visualize_filename = $this->generateFileName($orig_front_visualize_filename); + Storage::disk('uploads')->put($template_path . $templateCode . '/DISPLAY/' . $new_back_visualize_filename, fopen($request->file('back_visualizer'), 'r+')); + + $data_back_visualizer = array( + 'Type' => $post['back_visualizer_type'], + 'Path' => $template_path . $templateCode . '/DISPLAY/' . $new_back_visualize_filename, + 'TemplateFormat' => $post['visualizer_format'], + 'IsActive' => "TRUE" + ); + + $AdminModel->updateVisualizerPath($post['back_visualizer_id'], $data_back_visualizer); + + }else{ + + $data_back_visualizer = array( + 'Type' => $post['back_visualizer_type'], + 'TemplateFormat' => $post['visualizer_format'] + ); + + $AdminModel->updateVisualizerPath($post['back_visualizer_id'], $data_back_visualizer); + } + + // right saving + if(isset($post['right_visualizer'])){ + $orig_right_visualize_filename = $request->file('right_visualizer')->getClientOriginalName(); + + $new_right_visualize_filename = $this->generateFileName($orig_right_visualize_filename); + Storage::disk('uploads')->put($template_path . $templateCode . '/DISPLAY/' . $new_right_visualize_filename, fopen($request->file('right_visualizer'), 'r+')); + + $data_right_visualizer = array( + 'Type' => $post['right_visualizer_type'], + 'Path' => $template_path . $templateCode . '/DISPLAY/' . $new_right_visualize_filename, + 'TemplateFormat' => $post['visualizer_format'], + 'IsActive' => "TRUE" + ); + + $AdminModel->updateVisualizerPath($post['right_visualizer_id'], $data_right_visualizer); + + }else{ + + $data_right_visualizer = array( + 'Type' => $post['right_visualizer_type'], + 'TemplateFormat' => $post['visualizer_format'] + ); + + $AdminModel->updateVisualizerPath($post['right_visualizer_id'], $data_right_visualizer); + } + + // left saving + if(isset($post['left_visualizer'])){ + $orig_left_visualize_filename = $request->file('left_visualizer')->getClientOriginalName(); + + $new_left_visualize_filename = $this->generateFileName($orig_left_visualize_filename); + Storage::disk('uploads')->put($template_path . $templateCode . '/DISPLAY/' . $new_left_visualize_filename, fopen($request->file('left_visualizer'), 'r+')); + + $data_left_visualizer = array( + 'Type' => $post['left_visualizer_type'], + 'Path' => $template_path . $templateCode . '/DISPLAY/' . $new_left_visualize_filename, + 'TemplateFormat' => $post['visualizer_format'], + 'IsActive' => "TRUE" + ); + + $AdminModel->updateVisualizerPath($post['left_visualizer_id'], $data_left_visualizer); + + }else{ + $data_left_visualizer = array( + 'Type' => $post['left_visualizer_type'], + 'TemplateFormat' => $post['visualizer_format'] + ); + + $AdminModel->updateVisualizerPath($post['left_visualizer_id'], $data_left_visualizer); + } + + return response()->json(array( + 'success' => true, + 'message' => "Visualizer is successfully updated." + )); + + } + } \ No newline at end of file diff --git a/app/Http/routes.php b/app/Http/routes.php index df76211..4101b5d 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -60,6 +60,7 @@ Route::group(['middleware' => 'auth'], function () { Route::post('/add-new-visualizer/save', 'admin\AdminController@saveNewVisualizer'); Route::get('/view-visualizer/{id}', 'admin\AdminController@viewVisualizer'); Route::post('visualizer/delete', 'admin\AdminController@deleteVisualizer'); + Route::post('visualizer/update', 'admin\AdminController@updateVisualizer'); Route::get('user-list', 'admin\AdminController@userList'); diff --git a/app/Models/admin/AdminModel.php b/app/Models/admin/AdminModel.php index 143d8ca..c59a3fb 100644 --- a/app/Models/admin/AdminModel.php +++ b/app/Models/admin/AdminModel.php @@ -367,6 +367,44 @@ class AdminModel extends Model return $i; } + function selectTemplatePath($tempCode){ + $i = DB::table('template_paths') + ->where("TemplateCode", $tempCode) + ->get(); + return $i; + } + + function selectDefaultBodyColor($tempCode){ + + $i = DB::table('template_body_colors') + ->where("TemplateCode", $tempCode) + ->get(); + return $i; + } + + function selectDefaultTrimColor($tempCode){ + + $i = DB::table('template_trim_colors') + ->where("TemplateCode", $tempCode) + ->get(); + return $i; + } + + function updateDefaultBodyColor($tempCode, $data){ + + $i = DB::table('template_body_colors') + ->where("TemplateCode", $tempCode) + ->update($data); + return $i; + } + + function updateVisualizerPath($id, $data){ + + $i = DB::table('template_paths') + ->where("Id", $id) + ->update($data); + return $i; + } } diff --git a/resources/views/admin/main.blade.php b/resources/views/admin/main.blade.php index 7e19259..2324999 100644 --- a/resources/views/admin/main.blade.php +++ b/resources/views/admin/main.blade.php @@ -252,13 +252,16 @@ desired effect // hash && $('ul.nav a[href="' + hash + '"]').tab('show'); // $.fn.dataTable.moment( 'DD/M/YYYY' ); - + callSpectrumApi(); $('#orders_table').DataTable({ columnDefs: [{ target: 6, type: 'datetime-moment' }] }); + + $('#store_owners_table').DataTable(); + $.fn.dataTable.ext.search.push( function (settings, data, dataIndex) { @@ -356,7 +359,6 @@ desired effect { targets: 9, type: 'date', visible: false }, { targets: 9, type: 'date' } ], - }); @@ -479,7 +481,7 @@ desired effect - $('#store_owners_table').DataTable(); + $('#list').click(function(event){ event.preventDefault(); @@ -1022,6 +1024,23 @@ desired effect } }); + $('#stepOneNextBtn_edit').click(function() { + if($("#frm_edit_visualizer").valid()){ + var $active = $('.wizard .nav-tabs li.active'); + $active.next().removeClass('disabled'); + nextTab($active); + } + // $('#getSkins').val($('#_addPatterns').val()); + }); + + $('#stepTwoNextBtn_edit').click(function() { + if($("#frm_edit_visualizer").valid()){ + var $active = $('.wizard .nav-tabs li.active'); + $active.next().removeClass('disabled'); + nextTab($active); + } + }); + //Initialize tooltips // $('.nav-tabs > li a[title]').tooltip(); @@ -1055,7 +1074,7 @@ desired effect ' ' + ' ' + '
' + - ' ' + + ' ' + '
' + ''); }else{ @@ -1065,7 +1084,7 @@ desired effect ' ' + ' ' + '
' + - ' ' + + ' ' + '
' + ''); } @@ -1117,18 +1136,29 @@ desired effect $(document).on('button click', '.btn-preview-visualizer', function(event) { event.preventDefault(); - var v = $(this).closest("div.input-group").find("input[type='file']").val(); - if(v == ""){ - return false; - } - $('#modal_preview_visualizer').modal('show'); + if($(this).data("for") != "edit"){ + var v = $(this).closest("div.input-group").find("input[type='file']").val(); + if(v == ""){ + return false; + } + } + $('#modal_preview_visualizer_body').html(''); $('#modal_preview_visualizer_body').html(' ' + 'Your browser is not supported svg file ' + '') + + document.getElementById('obj_visualizer_preview').setAttribute('data', $(this).attr('data-visualizer')); + $(this).attr('disabled', true); + $(this).html(' opening'); - document.getElementById('obj_visualizer_preview').setAttribute('data', $(this).data('visualizer')); + var self = $(this); + setTimeout(function(){ + $('#modal_preview_visualizer').modal('show'); + $(self).attr('disabled', false); + $(self).html(' Preview'); + }, 1000); }); @@ -1142,24 +1172,6 @@ desired effect sportName: { required: true } - // store_url: { - // required: true - // }, - // store_password: { - // required: '#with_password_opt:checked' - // }, - // store_logo: { - // required: true - // }, - // store_banner: { - // required: true - // }, - // store_status: { - // required: true - // }, - // store_currency: { - // required: true - // } }, messages: {}, errorPlacement: function(error, element) { @@ -1173,6 +1185,24 @@ desired effect submitHandler: submitFormAddNewVisualizer }); + $("#frm_edit_visualizer").validate({ + rules: { + sportName: { + required: true + } + }, + messages: {}, + errorPlacement: function(error, element) { + var placement = $(element).data('error'); + if (placement) { + $(placement).append(error); + }else { + error.insertAfter(element); + } + }, + submitHandler: submitFormEditVisualizer + }); + $(document).on('button click', '#btn_delete_visualizer', function() { if (!confirm("Are you sure you want to delete this Visualizer?")) { @@ -1337,8 +1367,8 @@ desired effect contentType: false, dataType: 'json', beforeSend: function(xhr){ - // $("#submitTemplateBtn").attr('disabled', true); - // $("#submitTemplateBtn").html(' Saving...'); + $("#submitTemplateBtn").attr('disabled', true); + $("#submitTemplateBtn").html(' Saving...'); var token = $('meta[name="csrf_token"]').attr('content'); @@ -1359,6 +1389,39 @@ desired effect return false; } + function submitFormEditVisualizer(){ + $.ajax({ + type: "POST", + url: "{{ url('admin/visualizer/update') }}", + data: new FormData($('#frm_edit_visualizer')[0]), + processData: false, + contentType: false, + dataType: 'json', + beforeSend: function(xhr){ + $("#submitTemplateBtn").attr('disabled', true); + $("#submitTemplateBtn").html(' Saving...'); + + var token = $('meta[name="csrf_token"]').attr('content'); + + if (token) { + return xhr.setRequestHeader('X-CSRF-TOKEN', token); + } + + }, + + success: function (response) { + console.log(response) + if(response.success){ + alert(response.message); + location.reload(); + } + } + }); + return false; + } + + + function submitFormCreateStore(){ $.ajax({ type: "POST", @@ -1475,14 +1538,13 @@ desired effect } function readURL(input, id) { - // console.log(input, id) + console.log(input, id) if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function(e) { $('#'+id).attr('src', e.target.result); $('.'+id+'_href').attr('href', e.target.result); - $('.'+id+'_img').attr('src', e.target.result); } @@ -1491,12 +1553,15 @@ desired effect } function readURLVisualizer(input, id) { - // console.log(input, id) + console.log(input, id) if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function(e) { + // $('.'+id+'_href').removeData('data-visualizer'); $('.'+id+'_href').attr('data-visualizer', e.target.result); + // console.log(e.target.result); + // document.getElementById('.'+id+'_href').setAttribute('data', $(this).data('visualizer')) } reader.readAsDataURL(input.files[0]); diff --git a/resources/views/admin_pages/edit_visualizer.blade.php b/resources/views/admin_pages/edit_visualizer.blade.php index 2000b91..b4fff5e 100644 --- a/resources/views/admin_pages/edit_visualizer.blade.php +++ b/resources/views/admin_pages/edit_visualizer.blade.php @@ -230,6 +230,7 @@

Step one


+
@@ -237,6 +238,15 @@
+
+ +
+ +
+
@@ -286,7 +296,8 @@
- + +
@@ -294,9 +305,16 @@

Preview:

- - - + @if($template_array[0]->Thumbnail != null) + + + + @else + + + + @endif +
@@ -304,7 +322,7 @@
    -
  • +
@@ -320,21 +338,27 @@
- - - - - - - + @foreach ($template_path_array as $front) + @if ($front->Side == "Front") + + + + + + + + + + @endif + @endforeach
@@ -343,21 +367,27 @@
- - - - - - - + @foreach ($template_path_array as $back) + @if ($back->Side == "Back") + + + + + + + + + + @endif + @endforeach
@@ -366,21 +396,27 @@
- - - - - - - + @foreach ($template_path_array as $right) + @if ($right->Side == "Right") + + + + + + + + + + @endif + @endforeach
@@ -388,21 +424,27 @@
- - - - - - - + @foreach ($template_path_array as $left) + @if ($left->Side == "Left") + + + + + + + + + + @endif + @endforeach
@@ -413,18 +455,18 @@
- +
- +
@@ -432,20 +474,60 @@
- + {{-- {{ var_dump($default_trim_color_array) }} --}} + @php ($a = 1) + @for ($i = 0; $i < $template_array[0]->Trim; $i++) + {{-- {{ $default_trim_color_array[$i]->RGBColor }} --}} + @if ($i == 0) +
+ +
+ +
+
+ +
+
+ @else +
+ +
+ +
+
+ +
+
+ @endif + @php ($a++) + @endfor + {{-- @foreach ($default_trim_color_array as $trim_color) + @if ($i == 1) + {{ "if " . $i}} + @else + {{ "else " . $i}} + @endif + + $i++; + @endforeach --}}