initial commit
This commit is contained in:
8
resources/views/admin/footer.blade.php
Normal file
8
resources/views/admin/footer.blade.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<footer class="main-footer">
|
||||
<!-- To the right -->
|
||||
<div class="pull-right hidden-xs">
|
||||
<!-- Anything you want -->
|
||||
</div>
|
||||
<!-- Default to the left -->
|
||||
<strong>Copyright © 2019 <a href="#">crewsportswear.com</a>.</strong> All rights reserved.
|
||||
</footer>
|
||||
58
resources/views/admin/header.blade.php
Normal file
58
resources/views/admin/header.blade.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<header class="main-header">
|
||||
|
||||
<!-- Logo -->
|
||||
<a href="index2.html" class="logo">
|
||||
<!-- mini logo for sidebar mini 50x50 pixels -->
|
||||
<span class="logo-mini"><b>C</b></span>
|
||||
<!-- logo for regular state and mobile devices -->
|
||||
<span class="logo-lg"><b>CREW</b> Admin</span>
|
||||
</a>
|
||||
|
||||
<!-- Header Navbar -->
|
||||
<nav class="navbar navbar-static-top" role="navigation">
|
||||
<!-- Sidebar toggle button-->
|
||||
<a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
</a>
|
||||
<!-- Navbar Right Menu -->
|
||||
<div class="navbar-custom-menu">
|
||||
<ul class="nav navbar-nav">
|
||||
<!-- User Account Menu -->
|
||||
<li class="dropdown user user-menu">
|
||||
<!-- Menu Toggle Button -->
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<!-- The user image in the navbar-->
|
||||
<img src="{{ asset('/bower_components/admin-lte/dist/img/user2-160x160.jpg') }}" class="user-image" alt="User Image">
|
||||
<!-- hidden-xs hides the username on small devices so only the image appears. -->
|
||||
<span class="hidden-xs">{{ Auth::user()->name }}</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<!-- The user image in the menu -->
|
||||
<li class="user-header">
|
||||
<img src="{{ asset('/bower_components/admin-lte/dist/img/user2-160x160.jpg') }}" class="img-circle" alt="User Image">
|
||||
|
||||
<p>
|
||||
{{ Auth::user()->name }}
|
||||
<small>Administrator</small>
|
||||
</p>
|
||||
</li>
|
||||
|
||||
<!-- Menu Footer-->
|
||||
<li class="user-footer">
|
||||
<div class="pull-left">
|
||||
<a href="#" class="btn btn-default btn-flat">Profile</a>
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
<a href="{{ url('/logout') }}" class="btn btn-default btn-flat">Sign out</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<!-- Control Sidebar Toggle Button -->
|
||||
<!-- <li>
|
||||
<a href="#" data-toggle="control-sidebar"><i class="fa fa-gears"></i></a>
|
||||
</li> -->
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
948
resources/views/admin/main.blade.php
Normal file
948
resources/views/admin/main.blade.php
Normal file
@@ -0,0 +1,948 @@
|
||||
<!DOCTYPE html>
|
||||
<!--
|
||||
This is a starter template page. Use this page to start your new project from
|
||||
scratch. This page gets rid of all links and provides the needed markup only.
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>CREW Administrator</title>
|
||||
<!-- Tell the browser to be responsive to screen width -->
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<meta name="csrf_token" content="{{ csrf_token() }}" />
|
||||
<link rel="stylesheet" href="{{ asset('/bower_components/bootstrap/dist/css/bootstrap.min.css') }}">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="{{ asset('/bower_components/font-awesome/css/font-awesome.min.css') }}">
|
||||
<!-- Ionicons -->
|
||||
<link rel="stylesheet" href="{{ asset('/bower_components/Ionicons/css/ionicons.min.css') }}">
|
||||
|
||||
<!-- DataTables -->
|
||||
<link rel="stylesheet" href="{{ asset('/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css') }}">
|
||||
<!-- AdminLTE Skins. Choose a skin from the css/skins
|
||||
folder instead of downloading all of them to reduce the load. -->
|
||||
<link rel="stylesheet" href="{{ asset('/bower_components/admin-lte/dist/css/skins/_all-skins.min.css') }}">
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- Google Font -->
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">
|
||||
<!-- bootstrap-toggle -->
|
||||
<link href="https://gitcdn.github.io/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css" rel="stylesheet">
|
||||
<!-- ekko-lightbox -->
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/ekko-lightbox/5.3.0/ekko-lightbox.css" rel="stylesheet">
|
||||
<!-- bootstrap-tagsinput -->
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-tagsinput/0.8.0/bootstrap-tagsinput.css">
|
||||
<!-- select2 -->
|
||||
<link href="{{ asset('/bower_components/select2/dist/css/select2.min.css') }}" rel="stylesheet" />
|
||||
<!-- Theme style -->
|
||||
<link rel="stylesheet" href="{{ asset('/bower_components/admin-lte/dist/css/AdminLTE.min.css') }}">
|
||||
|
||||
<style>
|
||||
/* .store-password-field {
|
||||
|
||||
} */
|
||||
/* .select2{
|
||||
width: 100% !important;
|
||||
} */
|
||||
.store-logo-holder {
|
||||
width: 200px;
|
||||
height:200px;
|
||||
border: 1px solid #e2e2e2;
|
||||
padding:2px;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#img_store_logo {
|
||||
position: absolute;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.store-banner-holder {
|
||||
width: 100%;
|
||||
height:100px;
|
||||
border: 1px solid #e2e2e2;
|
||||
padding:2px;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#img_store_banner {
|
||||
position: absolute;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.error{
|
||||
color: red;
|
||||
}
|
||||
|
||||
.store-logo{
|
||||
width: 200px;
|
||||
height:200px;
|
||||
margin: auto;
|
||||
padding:2px;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.bootstrap-tagsinput {
|
||||
width: 100% !important;
|
||||
border-radius: 0;
|
||||
box-shadow: none;
|
||||
border-color: #d2d6de;
|
||||
}
|
||||
|
||||
.change_color {
|
||||
height: 45px;
|
||||
width: 45px;
|
||||
margin: 2px;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<!--
|
||||
BODY TAG OPTIONS:
|
||||
=================
|
||||
Apply one or more of the following classes to get the
|
||||
desired effect
|
||||
|---------------------------------------------------------|
|
||||
| SKINS | skin-blue |
|
||||
| | skin-black |
|
||||
| | skin-purple |
|
||||
| | skin-yellow |
|
||||
| | skin-red |
|
||||
| | skin-green |
|
||||
|---------------------------------------------------------|
|
||||
|LAYOUT OPTIONS | fixed |
|
||||
| | layout-boxed |
|
||||
| | layout-top-nav |
|
||||
| | sidebar-collapse |
|
||||
| | sidebar-mini |
|
||||
|---------------------------------------------------------|
|
||||
-->
|
||||
<body class="hold-transition skin-black sidebar-mini">
|
||||
<div class="wrapper">
|
||||
|
||||
<!-- Main Header -->
|
||||
@include('admin.header')
|
||||
<!-- Left side column. contains the logo and sidebar -->
|
||||
@include('admin.sidebar')
|
||||
|
||||
<!-- Content Wrapper. Contains page content -->
|
||||
@yield('content')
|
||||
<!-- /.content-wrapper -->
|
||||
|
||||
<!-- Main Footer -->
|
||||
@include('admin.footer')
|
||||
|
||||
<!-- Add the sidebar's background. This div must be placed
|
||||
immediately after the control sidebar -->
|
||||
<div class="control-sidebar-bg"></div>
|
||||
</div>
|
||||
<!-- ./wrapper -->
|
||||
|
||||
<!-- REQUIRED JS SCRIPTS -->
|
||||
|
||||
<!-- jQuery 3 -->
|
||||
<script src="{{ asset('/bower_components/jquery/dist/jquery.min.js') }}"></script>
|
||||
<!-- Bootstrap 3.3.7 -->
|
||||
<script src="{{ asset('/bower_components/bootstrap/dist/js/bootstrap.min.js') }}"></script>
|
||||
<!-- DataTables -->
|
||||
<script src="{{ asset('/bower_components/datatables.net/js/jquery.dataTables.min.js') }}"></script>
|
||||
<script src="{{ asset('/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js') }}"></script>
|
||||
<!-- moment -->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.js"></script>
|
||||
<!-- datetime-moment -->
|
||||
<script src="http://cdn.datatables.net/plug-ins/1.10.19/sorting/datetime-moment.js"></script>
|
||||
<!-- bootstrap-toggle -->
|
||||
<script src="https://gitcdn.github.io/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script>
|
||||
<!-- AdminLTE App -->
|
||||
<script src="{{ asset('/bower_components/admin-lte/dist/js/adminlte.min.js') }}"></script>
|
||||
<!-- ekko-lightbox -->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/ekko-lightbox/5.3.0/ekko-lightbox.js"></script>
|
||||
<!-- validate -->
|
||||
<script src="{{ asset('/bower_components/jquery-validation/dist/jquery.validate.min.js') }}"></script>
|
||||
<!-- Optionally, you can add Slimscroll and FastClick plugins.
|
||||
Both of these plugins are recommended to enhance the
|
||||
user experience. -->
|
||||
<!-- bootstrap-tagsinput.js -->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-tagsinput/0.8.0/bootstrap-tagsinput.js"></script>
|
||||
<!-- fabric js -->
|
||||
<script src="http://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.7.15/fabric.min.js"></script>
|
||||
<!-- select2 -->
|
||||
<script src="{{ asset('/bower_components/select2/dist/js/select2.min.js') }}"></script>
|
||||
|
||||
<script>
|
||||
$(function () {
|
||||
|
||||
// var hash = window.location.hash;
|
||||
// hash && $('ul.nav a[href="' + hash + '"]').tab('show');
|
||||
|
||||
// $.fn.dataTable.moment( 'DD/M/YYYY' );
|
||||
try{
|
||||
var canvas = new fabric.Canvas('canvas');
|
||||
canvas.setWidth($('.canvas-container').width());
|
||||
}catch(e){
|
||||
|
||||
}
|
||||
|
||||
$('#svg_clipart').on('change', function(event) {
|
||||
var tmppath = URL.createObjectURL(event.target.files[0]);
|
||||
// $("img").fadeIn("fast").attr('src', URL.createObjectURL(event.target.files[0]));
|
||||
fabric.loadSVGFromURL(URL.createObjectURL(event.target.files[0]), function(objects, options) {
|
||||
var clipart = fabric.util.groupSVGElements(objects, options, );
|
||||
clipart.set({
|
||||
|
||||
borderColor: '#71b7f3',
|
||||
cornerColor: '#71b7f3',
|
||||
opacity: 10,
|
||||
cornerSize: 10,
|
||||
transparentCorners: false,
|
||||
hasControls: true,
|
||||
lockScalingFlip: true,
|
||||
centeredScaling: true,
|
||||
lockUniScaling: true,
|
||||
cache: false,
|
||||
}).scale('0.1');
|
||||
canvas.clear();
|
||||
canvas.add(clipart);
|
||||
canvas.setActiveObject(clipart);
|
||||
clipart.bringToFront();
|
||||
clipart.center();
|
||||
clipart.setCoords();
|
||||
canvas.renderAll();
|
||||
var obj = canvas.getActiveObject();
|
||||
|
||||
$('.available-colors').html('');
|
||||
$('.available-colors').append('<h4> Colors: </h4>');
|
||||
for (var j in obj.paths) {
|
||||
|
||||
var i = j;
|
||||
var idName = "color";
|
||||
var count = ++j;
|
||||
var fill = obj.paths[i].get('fill');
|
||||
obj.paths[i].id = idName + count;
|
||||
var id = obj.paths[i].get('id');
|
||||
|
||||
$('.available-colors').append('<button type="button" data-id="' + id + '" data-orig-color="'+fill+'" id="btn_' + id + '" data-toggle="popover" title="HEX Color" data-content="' + fill + '" class="btn btn-default change_color" style="background-color:' + fill + '"></button>');
|
||||
|
||||
}
|
||||
|
||||
$('.additional-info').css("display", "block");
|
||||
|
||||
$('[data-toggle="popover"]').popover({
|
||||
trigger: "hover",
|
||||
placement: "bottom"
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on('button click', '.change_color', function() {
|
||||
|
||||
var getPathId = $(this).data('id');
|
||||
var hexc = hexcolor();
|
||||
// var colour = hex2rgb(hexc);
|
||||
|
||||
$(this).attr('data-content', hexc);
|
||||
$($(this).next().children()[2]).text(hexc);
|
||||
|
||||
changeColor(getPathId, hexc);
|
||||
/* alert(getPathId); */
|
||||
|
||||
});
|
||||
|
||||
$('#orders_table').DataTable({
|
||||
columnDefs: [{
|
||||
target: 5,
|
||||
type: 'datetime-moment'
|
||||
}]
|
||||
});
|
||||
|
||||
$('#store_owners_table').DataTable();
|
||||
|
||||
|
||||
|
||||
$('#list').click(function(event){
|
||||
event.preventDefault();
|
||||
$('#products .item').addClass('list-group-item');
|
||||
});
|
||||
|
||||
$('#grid').click(function(event){
|
||||
event.preventDefault();
|
||||
$('#products .item').removeClass('list-group-item');
|
||||
$('#products .item').addClass('grid-group-item');
|
||||
});
|
||||
|
||||
$("#store_name").on('keyup',function(){
|
||||
var getsportName = $(this).val();
|
||||
getsportName = getsportName.replace(/\s+/g, '-').toLowerCase(); //new object assigned to var str
|
||||
$("#store_url").val(getsportName);
|
||||
});
|
||||
|
||||
$(document).on('click', '[data-toggle="lightbox"]', function(event) {
|
||||
event.preventDefault();
|
||||
$(this).ekkoLightbox({
|
||||
alwaysShowClose: true,
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on('change', '#select_sort_stores', function(event) {
|
||||
event.preventDefault();
|
||||
$('#frm_search_store').submit();
|
||||
});
|
||||
|
||||
$(document).on('click', '#btn_delete_store', function(event) {
|
||||
event.preventDefault();
|
||||
|
||||
var r = confirm("Do you really want to delete this Store? This process cannot be undone.");
|
||||
var id = $(this).data('store-id');
|
||||
var store_url = $(this).data('store-url');
|
||||
|
||||
if (r == true) {
|
||||
|
||||
$.ajax({
|
||||
type : 'POST',
|
||||
url : "{{ url('admin/store/delete') }}/"+id+'/'+store_url,
|
||||
data : {
|
||||
id : id,
|
||||
store_url : store_url
|
||||
},
|
||||
beforeSend: function(xhr){
|
||||
|
||||
var token = $('meta[name="csrf_token"]').attr('content');
|
||||
if (token) {
|
||||
return xhr.setRequestHeader('X-CSRF-TOKEN', token);
|
||||
}
|
||||
|
||||
},
|
||||
success : function(response){
|
||||
if(response.success){
|
||||
alert(response.message);
|
||||
window.location = "{{ url('admin/stores-list') }}";
|
||||
}else{
|
||||
alert(response.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$("#frm_create_store").validate({
|
||||
rules: {
|
||||
store_name: {
|
||||
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
|
||||
},
|
||||
},
|
||||
messages: {},
|
||||
errorPlacement: function(error, element) {
|
||||
var placement = $(element).data('error');
|
||||
if (placement) {
|
||||
$(placement).append(error);
|
||||
}else {
|
||||
error.insertAfter(element);
|
||||
}
|
||||
},
|
||||
submitHandler: submitFormCreateStore
|
||||
});
|
||||
|
||||
$("#frm_edit_store").validate({
|
||||
rules: {
|
||||
store_name: {
|
||||
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
|
||||
},
|
||||
},
|
||||
messages: {},
|
||||
errorPlacement: function(error, element) {
|
||||
var placement = $(element).data('error');
|
||||
if (placement) {
|
||||
$(placement).append(error);
|
||||
}else {
|
||||
error.insertAfter(element);
|
||||
}
|
||||
},
|
||||
submitHandler: submitFormEditStore
|
||||
});
|
||||
|
||||
$("#frm_tag_user_as_store_owner").validate({
|
||||
rules: {
|
||||
user_name: {
|
||||
required: true
|
||||
},
|
||||
user_id: {
|
||||
required: true
|
||||
},
|
||||
|
||||
},
|
||||
messages: {},
|
||||
errorPlacement: function(error, element) {
|
||||
var placement = $(element).data('error');
|
||||
if (placement) {
|
||||
$(placement).append(error);
|
||||
}else {
|
||||
error.insertAfter(element);
|
||||
}
|
||||
},
|
||||
submitHandler: submitForm_frm_tag_user_as_store_owner
|
||||
});
|
||||
|
||||
$("#frm_create_user_as_store_owner").validate({
|
||||
rules: {
|
||||
name: {
|
||||
required : true
|
||||
},
|
||||
username: {
|
||||
required : true
|
||||
},
|
||||
email: {
|
||||
required: true,
|
||||
email: true
|
||||
},
|
||||
password: {
|
||||
required: true
|
||||
//minlength: 6 // <-- remove
|
||||
}
|
||||
|
||||
},
|
||||
messages: {},
|
||||
errorPlacement: function(error, element) {
|
||||
var placement = $(element).data('error');
|
||||
if (placement) {
|
||||
$(placement).append(error);
|
||||
}else {
|
||||
error.insertAfter(element);
|
||||
}
|
||||
},
|
||||
submitHandler: submitForm_frm_create_user_as_store_owner
|
||||
});
|
||||
|
||||
|
||||
|
||||
$('#with_password_opt').change(function() {
|
||||
if($(this).prop('checked')){
|
||||
$('.store-password-field').css({
|
||||
'display': 'block'
|
||||
});
|
||||
}else{
|
||||
$('.store-password-field').css({
|
||||
'display': 'none'
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$(".upload_img").change(function() {
|
||||
var $id = $(this).data('use-id');
|
||||
readURL(this, $id);
|
||||
});
|
||||
|
||||
function changeColor(pathid, hexc) {
|
||||
//hexcolor();
|
||||
var obj = canvas.getActiveObject();
|
||||
for (var j in obj.paths) {
|
||||
|
||||
var id = obj.paths[j].get('id');
|
||||
|
||||
if (id == pathid) {
|
||||
//console.log(objects[j].toObject(['idNumber']));
|
||||
//console.log(objects[j].getText());
|
||||
obj.paths[j].setFill(hexc);
|
||||
/* objects[j].setText(p_name.toString());
|
||||
objects[j].centerH();
|
||||
objects[j].setCoords(); */
|
||||
|
||||
canvas.renderAll();
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
//:red;
|
||||
$('#btn_' + pathid).css({
|
||||
'background-color': hexc
|
||||
})
|
||||
}
|
||||
|
||||
$("#frm_add_category").validate({
|
||||
rules: {
|
||||
category: {
|
||||
required: true
|
||||
},
|
||||
is_active: {
|
||||
required: true
|
||||
}
|
||||
},
|
||||
messages: {},
|
||||
errorPlacement: function(error, element) {
|
||||
var placement = $(element).data('error');
|
||||
if (placement) {
|
||||
$(placement).append(error);
|
||||
}else {
|
||||
error.insertAfter(element);
|
||||
}
|
||||
},
|
||||
submitHandler: submitAddCategoryForm
|
||||
});
|
||||
|
||||
|
||||
$(document).on('hidden.bs.modal', '.modal-close-reload', function(){
|
||||
location.reload();
|
||||
});
|
||||
|
||||
|
||||
$(document).on('button click', '.remove-store-access', function(e){
|
||||
|
||||
var get_user_id = $(this).data('id');
|
||||
$.ajax({
|
||||
type : 'POST',
|
||||
url : "{{ url('admin/post/remove-store-access') }}",
|
||||
data : {
|
||||
id : get_user_id
|
||||
},
|
||||
beforeSend:function(xhr){
|
||||
var token = $('meta[name="csrf_token"]').attr('content');
|
||||
|
||||
if (token) {
|
||||
return xhr.setRequestHeader('X-CSRF-TOKEN', token);
|
||||
}
|
||||
xhr.setRequestHeader( 'X-Requested-With', 'XMLHttpRequest');
|
||||
},
|
||||
success : function(response){
|
||||
// console.log(response);
|
||||
if(response.result){
|
||||
alert("User is successfully remove as Store Owner.");
|
||||
location.reload();
|
||||
}else{
|
||||
alert("Something went wrong. Please try again!");
|
||||
location.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
$("#frm_clipart").validate({
|
||||
rules: {
|
||||
upload_clipart: {
|
||||
required: true
|
||||
},
|
||||
category: {
|
||||
required: true
|
||||
},
|
||||
clipart_tags: {
|
||||
required: true
|
||||
}
|
||||
},
|
||||
messages: {},
|
||||
errorPlacement: function(error, element) {
|
||||
var placement = $(element).data('error');
|
||||
if (placement) {
|
||||
$(placement).append(error);
|
||||
}else {
|
||||
error.insertAfter(element);
|
||||
}
|
||||
},
|
||||
submitHandler: submitClipartForm
|
||||
});
|
||||
|
||||
///
|
||||
|
||||
function formatUserList(data) {
|
||||
if (data.loading) return data.text;
|
||||
var user = "<div class='select2-result-listsitory clearfix'>" +
|
||||
"<div class='select2-result-listsitory__meta'>" +
|
||||
"<div class='select2-result-listsitory__title'>" + data.name + " — " + data.email + "</div>";
|
||||
"</div>";
|
||||
return user;
|
||||
}
|
||||
|
||||
function formatUserListSelection(list) {
|
||||
return list.name;
|
||||
}
|
||||
|
||||
$('.select2-select-user').on('select2:select', function(e) {
|
||||
$('#user_id').val(e.params.data.id);
|
||||
});
|
||||
|
||||
$(".select2-select-user").select2({
|
||||
placeholder: "Select a state",
|
||||
allowClear: true,
|
||||
dropdownParent: $('#modal_add_existing_user'),
|
||||
ajax: {
|
||||
url: "{{ url('/') . '/admin/user-list' }}",
|
||||
dataType: 'json',
|
||||
delay: 250,
|
||||
data: function(params) {
|
||||
return {
|
||||
q: params.term // search term
|
||||
};
|
||||
},
|
||||
|
||||
processResults: function(data, params) {
|
||||
// parse the results into the format expected by Select2
|
||||
// since we are using custom formatting functions we do not need to
|
||||
// alter the remote JSON data, except to indicate that infinite
|
||||
// scrolling can be used
|
||||
var resData = [];
|
||||
data.results.forEach(function(value) {
|
||||
if (value.name.indexOf(params.term) != -1 || value.email.indexOf(params.term) != -1 )
|
||||
resData.push(value)
|
||||
})
|
||||
return {
|
||||
results: $.map(resData, function(item) {
|
||||
return {
|
||||
id: item.id,
|
||||
name: item.name,
|
||||
email: item.email
|
||||
}
|
||||
})
|
||||
};
|
||||
},
|
||||
cache: true
|
||||
},
|
||||
escapeMarkup: function(user) {
|
||||
return user;
|
||||
},
|
||||
minimumInputLength: 1,
|
||||
templateResult: formatUserList,
|
||||
templateSelection: formatUserListSelection,
|
||||
|
||||
})
|
||||
|
||||
}); // end document ready
|
||||
|
||||
function submitClipartForm(){
|
||||
var obj = canvas.getActiveObject(canvas.setActiveObject(canvas.item(0)));
|
||||
obj.set({
|
||||
left: 0,
|
||||
top: 0
|
||||
}).scale(1);
|
||||
|
||||
$('.change_color').each(function(i, elem) {
|
||||
|
||||
var def_color = $(elem).data('orig-color');
|
||||
var def_id = $(elem).data('id');
|
||||
var id = obj.paths[i].get('id');
|
||||
|
||||
if (id == def_id) {
|
||||
obj.paths[i].setFill(def_color);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
var normal_obj = canvas.getActiveObject(obj);
|
||||
var svg = canvas.toSVG({
|
||||
width: normal_obj.getWidth(),
|
||||
height: normal_obj.getHeight(),
|
||||
viewBox: {
|
||||
x: '0',
|
||||
y: '0',
|
||||
width: normal_obj.getWidth(),
|
||||
height: normal_obj.getHeight()
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
var files = $("#svg_clipart")[0].files[0];
|
||||
var getCategory = $('#category').val();
|
||||
var getTags = $('#tags').val();
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url : "{{ url('admin/clipart/save-svg-clipart') }}",
|
||||
data: {
|
||||
svg_data : svg,
|
||||
category : getCategory,
|
||||
tags : getTags,
|
||||
filename : files.name
|
||||
},
|
||||
beforeSend: function(xhr){
|
||||
var token = $('meta[name="csrf_token"]').attr('content');
|
||||
if (token) {
|
||||
return xhr.setRequestHeader('X-CSRF-TOKEN', token);
|
||||
}
|
||||
},
|
||||
success: function(response){
|
||||
// $('#c).html(response)
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
function submitAddCategoryForm(){
|
||||
|
||||
var data = $("#frm_add_category").serialize();
|
||||
|
||||
$.ajax({
|
||||
type : 'POST',
|
||||
url : "{{ url('admin/clipart/save-category') }}",
|
||||
data : data,
|
||||
beforeSend: function(xhr){
|
||||
var token = $('meta[name="csrf_token"]').attr('content');
|
||||
if (token) {
|
||||
return xhr.setRequestHeader('X-CSRF-TOKEN', token);
|
||||
}
|
||||
},
|
||||
success : function(response){
|
||||
if(response.success){
|
||||
$('#modal_add_category').addClass(response.addClass);
|
||||
|
||||
$('#modal_add_category_msg').html('<div class="alert alert-success alert-dismissible"> ' +
|
||||
'<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> ' +
|
||||
'<h4><i class="icon fa fa-check"></i> Success!</h4> ' +
|
||||
'<p>'+response.message+'</p> ' +
|
||||
'</div>').fadeIn().delay(5000).fadeOut();
|
||||
|
||||
var form = $('#frm_add_category')
|
||||
form.validate().resetForm();
|
||||
form[0].reset();
|
||||
|
||||
}else{
|
||||
$('#modal_add_category_msg').html('<div class="alert alert-danger alert-dismissible"> ' +
|
||||
'<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> ' +
|
||||
'<h4><i class="icon fa fa-ban"></i> Error!</h4> ' +
|
||||
'<p>'+response.message+'</p> ' +
|
||||
'</div>').fadeIn().delay(5000).fadeOut();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function hexcolor() {
|
||||
var colorSet = '#' + Math.random().toString(16).slice(2, 8).toUpperCase();
|
||||
/* console.log(colorSet); */
|
||||
return colorSet;
|
||||
}
|
||||
|
||||
function submitFormCreateStore(){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "{{ url('admin/create-store/save') }}", // admin/sports/save
|
||||
data: new FormData($('#frm_create_store')[0]),
|
||||
processData: false,
|
||||
contentType: false,
|
||||
dataType: 'json',
|
||||
beforeSend: function(xhr){
|
||||
$("#btn_save_new_store").attr('disabled', true);
|
||||
$("#btn_save_new_store").html('<i class="fa fa-spinner fa-spin"></i> Saving...');
|
||||
|
||||
var token = $('meta[name="csrf_token"]').attr('content');
|
||||
|
||||
if (token) {
|
||||
return xhr.setRequestHeader('X-CSRF-TOKEN', token);
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
success: function (response) {
|
||||
if(response.success){
|
||||
$('#create_store_msg').html('<div class="alert alert-success alert-dismissible"> ' +
|
||||
'<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> ' +
|
||||
'<h4><i class="icon fa fa-check"></i> Success!</h4> ' +
|
||||
'<p>'+response.message+'</p> ' +
|
||||
'</div>').fadeIn().delay(5000).fadeOut();
|
||||
|
||||
}else{
|
||||
$('#create_store_msg').html('<div class="alert alert-danger alert-dismissible"> ' +
|
||||
'<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> ' +
|
||||
'<h4><i class="icon fa fa-ban"></i> Error!</h4> ' +
|
||||
'<p>'+response.message+'</p> ' +
|
||||
'</div>').fadeIn().delay(5000).fadeOut();
|
||||
}
|
||||
|
||||
$("html, body").animate({ scrollTop: 0 }, "slow");
|
||||
$("#btn_save_new_store").attr('disabled', false);
|
||||
$("#btn_save_new_store").html('Save');
|
||||
|
||||
if(response.clearform){
|
||||
var form = $('#frm_create_store')
|
||||
form.validate().resetForm();
|
||||
form[0].reset();
|
||||
|
||||
// $("#with_password_opt").prop("checked", false);
|
||||
|
||||
$('.img_store_logo_href').attr('href', "{{ config('site_config.images_directory') . 'teamstore/store-logo-placeholder.jpg' }}");
|
||||
$('.img_store_logo_img').attr('src', "{{ config('site_config.images_directory') . 'teamstore/store-logo-placeholder.jpg' }}");
|
||||
|
||||
$('.img_store_banner_href').attr('href', "{{ config('site_config.images_directory') . 'teamstore/store-banner-placeholder.jpg' }}");
|
||||
$('.img_store_banner_img').attr('src', "{{ config('site_config.images_directory') . 'teamstore/store-banner-placeholder.jpg' }}");
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
function submitFormEditStore(){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "{{ url('admin/store/update') }}", // admin/sports/save
|
||||
data: new FormData($('#frm_edit_store')[0]),
|
||||
processData: false,
|
||||
contentType: false,
|
||||
dataType: 'json',
|
||||
beforeSend: function(xhr){
|
||||
$("#btn_update_store").attr('disabled', true);
|
||||
$("#btn_update_store").html('<i class="fa fa-spinner fa-spin"></i> 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){
|
||||
$('#edit_store_msg').html('<div class="alert alert-success alert-dismissible"> ' +
|
||||
'<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> ' +
|
||||
'<h4><i class="icon fa fa-check"></i> Success!</h4> ' +
|
||||
'<p>'+response.message+'</p> ' +
|
||||
'</div>').fadeIn().delay(5000).fadeOut();
|
||||
|
||||
}else{
|
||||
$('#edit_store_msg').html('<div class="alert alert-danger alert-dismissible"> ' +
|
||||
'<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> ' +
|
||||
'<h4><i class="icon fa fa-ban"></i> Error!</h4> ' +
|
||||
'<p>'+response.message+'</p> ' +
|
||||
'</div>').fadeIn().delay(5000).fadeOut();
|
||||
}
|
||||
|
||||
$("html, body").animate({ scrollTop: 0 }, "slow");
|
||||
$("#btn_update_store").attr('disabled', false);
|
||||
$("#btn_update_store").html('Save Changes');
|
||||
|
||||
if(response.clearform){
|
||||
var form = $('#frm_edit_store')
|
||||
form.validate().resetForm();
|
||||
form[0].reset();
|
||||
|
||||
// $("#with_password_opt").prop("checked", false);
|
||||
|
||||
$('.img_store_logo_href').attr('href', "{{ config('site_config.images_directory') . 'teamstore/store-logo-placeholder.jpg' }}");
|
||||
$('.img_store_logo_img').attr('src', "{{ config('site_config.images_directory') . 'teamstore/store-logo-placeholder.jpg' }}");
|
||||
|
||||
$('.img_store_banner_href').attr('href', "{{ config('site_config.images_directory') . 'teamstore/store-banner-placeholder.jpg' }}");
|
||||
$('.img_store_banner_img').attr('src', "{{ config('site_config.images_directory') . 'teamstore/store-banner-placeholder.jpg' }}");
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
function readURL(input, id) {
|
||||
|
||||
if (input.files && input.files[0]) {
|
||||
var reader = new FileReader();
|
||||
|
||||
reader.onload = function(e) {
|
||||
$('#'+id).attr('src', e.target.result);
|
||||
// for lightbox
|
||||
$('.'+id+'_href').attr('href', e.target.result);
|
||||
$('.'+id+'_img').attr('src', e.target.result);
|
||||
}
|
||||
|
||||
reader.readAsDataURL(input.files[0]);
|
||||
}
|
||||
}
|
||||
|
||||
function submitForm_frm_tag_user_as_store_owner (){
|
||||
var data = $("#frm_tag_user_as_store_owner").serialize();
|
||||
$.ajax({
|
||||
type : 'POST',
|
||||
url : "{{ url('admin/post/update-user-as-store-owner') }}",
|
||||
data : data,
|
||||
beforeSend:function(xhr){
|
||||
var token = $('meta[name="csrf_token"]').attr('content');
|
||||
|
||||
if (token) {
|
||||
return xhr.setRequestHeader('X-CSRF-TOKEN', token);
|
||||
}
|
||||
xhr.setRequestHeader( 'X-Requested-With', 'XMLHttpRequest');
|
||||
},
|
||||
success : function(response){
|
||||
if(response.result){
|
||||
alert("User is successfully add as Store Owner.");
|
||||
location.reload();
|
||||
}else{
|
||||
alert("Something went wrong. Please try again!");
|
||||
location.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
function submitForm_frm_create_user_as_store_owner(){
|
||||
var data = $("#frm_create_user_as_store_owner").serialize();
|
||||
|
||||
$.ajax({
|
||||
type : 'POST',
|
||||
url : "{{ url('admin/post/save-new-store-owner') }}",
|
||||
data : data,
|
||||
beforeSend:function(xhr){
|
||||
var token = $('meta[name="csrf_token"]').attr('content');
|
||||
|
||||
if (token) {
|
||||
return xhr.setRequestHeader('X-CSRF-TOKEN', token);
|
||||
}
|
||||
xhr.setRequestHeader( 'X-Requested-With', 'XMLHttpRequest');
|
||||
},
|
||||
success : function(response){
|
||||
// console.log(response)
|
||||
if(response.success){
|
||||
alert("User is successfully add as Store Owner.");
|
||||
location.reload();
|
||||
}else{
|
||||
$('#add_user_msg').html(response.message);
|
||||
// location.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
74
resources/views/admin/sidebar.blade.php
Normal file
74
resources/views/admin/sidebar.blade.php
Normal file
@@ -0,0 +1,74 @@
|
||||
<aside class="main-sidebar">
|
||||
|
||||
<!-- sidebar: style can be found in sidebar.less -->
|
||||
<section class="sidebar">
|
||||
|
||||
<!-- Sidebar user panel (optional) -->
|
||||
<div class="user-panel">
|
||||
<div class="pull-left image">
|
||||
<img src="{{ asset('/bower_components/admin-lte/dist/img/user2-160x160.jpg') }}" class="img-circle" alt="User Image">
|
||||
</div>
|
||||
<div class="pull-left info">
|
||||
<p>Frank John Begornia</p>
|
||||
<!-- Status -->
|
||||
<a href="#">Administrator</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@php $getrequest_url = Request::getPathInfo() . (Request::getQueryString() ? ('?' . Request::getQueryString()) : ''); @endphp
|
||||
<!-- Sidebar Menu -->
|
||||
<ul class="sidebar-menu" data-widget="tree">
|
||||
<li class="header">Navigation Menu</li>
|
||||
<!-- Optionally, you can add icons to the links -->
|
||||
<li class="{{ Request::is('admin') ? 'active' : '' }}">
|
||||
<a href="{{ url('/admin') }}">
|
||||
<i class="fa fa-dashboard"></i> <span>Dashboard</span>
|
||||
</a>
|
||||
</li>
|
||||
<!-- <li class="{{ Request::is('admin/stores') ? 'active' : '' }}">
|
||||
<a href="{{ url('/admin/stores') }}">
|
||||
<i class="fa fa-list"></i> <span>Stores</span>
|
||||
</a>
|
||||
</li> -->
|
||||
@php $under_store_management = array("/admin/create-store", "/admin/stores-list") @endphp
|
||||
<li class="treeview {{ (in_array($getrequest_url, $under_store_management)) ? 'active' : '' }}">
|
||||
<a href="#"><i class="fa fa-link"></i> <span>Store Management</span>
|
||||
<span class="pull-right-container">
|
||||
<i class="fa fa-angle-left pull-right"></i>
|
||||
</span>
|
||||
</a>
|
||||
<ul class="treeview-menu">
|
||||
<li {{ ($getrequest_url == '/admin/create-store') ? 'class=active' : '' }}><a href="{{ url('/admin/create-store') }}"><i class="fa fa-plus"></i> Create New Store</a></li>
|
||||
<li {{ ($getrequest_url == '/admin/stores-list') ? 'class=active' : '' }}><a href="{{ url('/admin/stores-list') }}"><i class="fa fa-list"></i> List of Stores</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
@php $under_designer_management = array("/admin/clipart", "/admin/overlay-pattern") @endphp
|
||||
<li class="treeview {{ (in_array($getrequest_url, $under_designer_management)) ? 'active' : '' }}">
|
||||
<a href="#"><i class="fa fa-paint-brush"></i> <span>Designer Management</span>
|
||||
<span class="pull-right-container">
|
||||
<i class="fa fa-angle-left pull-right"></i>
|
||||
</span>
|
||||
</a>
|
||||
<ul class="treeview-menu">
|
||||
<li {{ ($getrequest_url == '/admin/clipart') ? 'class=active' : '' }}><a href="{{ url('/admin/clipart') }}"><i class="fa fa-circle-o"></i> Clipart</a></li>
|
||||
<li {{ ($getrequest_url == '/admin/overlay-pattern') ? 'class=active' : '' }}><a href="{{ url('/admin/overlay-pattern') }}"><i class="fa fa-circle-o"></i> Overlay Pattern</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="{{ Request::is('admin/orders') ? 'active' : '' }}">
|
||||
<a href="{{ url('/admin/orders') }}">
|
||||
<i class="fa fa-list-alt"></i> <span>Orders</span>
|
||||
</a>
|
||||
</li>
|
||||
<!-- <li class="active"><a href="#"><i class="fa fa-dashboard"></i> <span>Dashboard</span></a></li> -->
|
||||
<li class="{{ Request::is('admin/reports') ? 'active' : '' }}">
|
||||
<a href="{{ url('/admin/reports') }}">
|
||||
<i class="fa fa-line-chart"></i> <span>Reports</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<!-- /.sidebar-menu -->
|
||||
</section>
|
||||
<!-- /.sidebar -->
|
||||
</aside>
|
||||
Reference in New Issue
Block a user