Modifed color pickeer logic under categories, you can pick from 20 different colors and it will only show the color not used when adding or editing new, also updated categories listing to now be categrizerd

This commit is contained in:
johnny@pittpc.com
2021-02-15 17:10:01 -05:00
parent 1ef8925774
commit 08fcea5f43
4 changed files with 109 additions and 39 deletions

View File

@@ -2,32 +2,40 @@
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content bg-dark"> <div class="modal-content bg-dark">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title"><i class="fa fa-fw fa-list"></i> New Category</h5> <h5 class="modal-title"><i class="fa fa-fw fa-list"></i> New <?php echo $category; ?> Category</h5>
<button type="button" class="close text-white" data-dismiss="modal"> <button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span> <span>&times;</span>
</button> </button>
</div> </div>
<form action="post.php" method="post" autocomplete="off"> <form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="type" value="<?php echo $category; ?>">
<div class="modal-body bg-white"> <div class="modal-body bg-white">
<div class="form-group"> <div class="form-group">
<label>Name <strong class="text-danger">*</strong></label> <label>Name <strong class="text-danger">*</strong></label>
<input type="text" class="form-control" name="name" placeholder="Category name" required autofocus> <input type="text" class="form-control" name="name" placeholder="Category name" required autofocus>
</div> </div>
<div class="form-group"> <label>Color <strong class="text-danger">*</strong></label>
<label>Type <strong class="text-danger">*</strong></label> <div class="form-row">
<select class="form-control select2" name="type" required>
<option value="">- Type -</option> <?php
<?php foreach($category_types_array as $category_type) { ?>
<option><?php echo $category_type; ?></option> foreach($colors_diff as $color) {
<?php } ?>
</select> ?>
</div>
<div class="col-3 mb-3">
<div class="form-group"> <div class="form-check">
<label>Color <strong class="text-danger">*</strong></label> <input class="form-check-input" type="radio" name="color" value="<?php echo $color; ?>">
<input type="color" class="form-control col-md-2" name="color"> <label class="form-check-label">
<i class="fa fa-fw fa-3x fa-circle" style="color:<?php echo $color; ?>"></i>
</label>
</div>
</div>
<?php } ?>
</div> </div>
</div> </div>

View File

@@ -17,6 +17,12 @@ if(isset($_GET['q'])){
$q = ""; $q = "";
} }
if(isset($_GET['category'])){
$category = mysqli_real_escape_string($mysqli,$_GET['category']);
}else{
$category = "Expense";
}
if(!empty($_GET['sb'])){ if(!empty($_GET['sb'])){
$sb = mysqli_real_escape_string($mysqli,$_GET['sb']); $sb = mysqli_real_escape_string($mysqli,$_GET['sb']);
}else{ }else{
@@ -40,7 +46,8 @@ if(isset($_GET['o'])){
$url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o)));
$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM categories $sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM categories
WHERE (category_name LIKE '%$q%' OR category_type LIKE '%$q%') WHERE category_name LIKE '%$q%'
AND category_type = '$category'
AND category_archived_at IS NULL AND category_archived_at IS NULL
AND company_id = $session_company_id AND company_id = $session_company_id
ORDER BY $sb $o LIMIT $record_from, $record_to" ORDER BY $sb $o LIMIT $record_from, $record_to"
@@ -48,22 +55,47 @@ $sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM categories
$num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
//Colors Used
$sql_colors_used = mysqli_query($mysqli,"SELECT category_color FROM categories
WHERE category_type = '$category'
AND category_archived_at IS NULL
AND company_id = $session_company_id"
);
while($color_used_row = mysqli_fetch_array($sql_colors_used)){
$colors_used_array[] = $color_used_row['category_color'];
}
$colors_diff = array_diff($colors_array,$colors_used_array);
?> ?>
<div class="card card-dark"> <div class="card card-dark">
<div class="card-header py-2"> <div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-list"></i> Categories</h3> <h3 class="card-title mt-2"><i class="fa fa-fw fa-list"></i> <?php echo $category; ?> Categories</h3>
<div class="card-tools"> <div class="card-tools">
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#addCategoryModal"><i class="fas fa-fw fa-plus"></i> New Category</button> <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#addCategoryModal"><i class="fas fa-fw fa-plus"></i> New</button>
</div> </div>
</div> </div>
<div class="card-body"> <div class="card-body">
<form autocomplete="off"> <form autocomplete="off">
<div class="input-group"> <input type="hidden" name="category" value="<?php echo $category; ?>">
<input type="search" class="form-control col-md-4" name="q" value="<?php if(isset($q)){echo stripslashes($q);} ?>" placeholder="Search Categories"> <div class="row">
<div class="input-group-append"> <div class="col-sm-4 mb-2">
<button class="btn btn-primary"><i class="fa fa-search"></i></button> <div class="input-group">
<input type="search" class="form-control" name="q" value="<?php if(isset($q)){echo stripslashes($q);} ?>" placeholder="Search Categories">
<div class="input-group-append">
<button class="btn btn-primary"><i class="fa fa-search"></i></button>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="btn-group float-right">
<a href="?category=Expense" class="btn <?php if($category == 'Expense'){ echo 'btn-primary'; }else{ echo 'btn-default'; } ?>">Expense</a>
<a href="?category=Income" class="btn <?php if($category == 'Income'){ echo 'btn-primary'; }else{ echo 'btn-default'; } ?>">Income</a>
<a href="?category=Referral" class="btn <?php if($category == 'Referral'){ echo 'btn-primary'; }else{ echo 'btn-default'; } ?>">Refferal</a>
<a href="?category=Payment Method" class="btn <?php if($category == 'Payment Method'){ echo 'btn-primary'; }else{ echo 'btn-default'; } ?>">Payment Method</a>
</div>
</div> </div>
</div> </div>
</form> </form>
@@ -73,25 +105,23 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
<thead class="text-dark <?php if($num_rows[0] == 0){ echo "d-none"; } ?>"> <thead class="text-dark <?php if($num_rows[0] == 0){ echo "d-none"; } ?>">
<tr> <tr>
<th><a class="text-dark" href="?<?php echo $url_query_strings_sb; ?>&sb=category_name&o=<?php echo $disp; ?>">Name</a></th> <th><a class="text-dark" href="?<?php echo $url_query_strings_sb; ?>&sb=category_name&o=<?php echo $disp; ?>">Name</a></th>
<th><a class="text-dark" href="?<?php echo $url_query_strings_sb; ?>&sb=category_type&o=<?php echo $disp; ?>">Type</a></th>
<th>Color</th> <th>Color</th>
<th class="text-center">Action</th> <th class="text-center">Action</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<?php <?php
while($row = mysqli_fetch_array($sql)){ while($row = mysqli_fetch_array($sql)){
$category_id = $row['category_id']; $category_id = $row['category_id'];
$category_name = $row['category_name']; $category_name = $row['category_name'];
$category_type = $row['category_type'];
$category_color = $row['category_color']; $category_color = $row['category_color'];
//$colors_used_array[] = $row['category_color'];
?> ?>
<tr> <tr>
<td><a class="text-dark" href="#" data-toggle="modal" data-target="#editCategoryModal<?php echo $category_id; ?>"><?php echo "$category_name"; ?></a></td> <td><a class="text-dark" href="#" data-toggle="modal" data-target="#editCategoryModal<?php echo $category_id; ?>"><?php echo "$category_name"; ?></a></td>
<td><?php echo $category_type; ?></td> <td><i class="fa fa-3x fa-circle" style="color:<?php echo $category_color; ?>;"></i></td>
<td><i class="fa fa-2x fa-circle" style="color:<?php echo $category_color; ?>;"></i></td>
<td> <td>
<div class="dropdown dropleft text-center"> <div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown"> <button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
@@ -108,7 +138,10 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
<?php <?php
//$colors_diff = array_diff($colors_array,$colors_used_array);
include("edit_category_modal.php"); include("edit_category_modal.php");
} }
?> ?>

View File

@@ -9,6 +9,7 @@
</div> </div>
<form action="post.php" method="post" autocomplete="off"> <form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="category_id" value="<?php echo $category_id; ?>"> <input type="hidden" name="category_id" value="<?php echo $category_id; ?>">
<input type="hidden" name="type" value="<?php echo $category; ?>">
<div class="modal-body bg-white"> <div class="modal-body bg-white">
<div class="form-group"> <div class="form-group">
@@ -16,18 +17,23 @@
<input type="text" class="form-control" name="name" value="<?php echo $category_name; ?>" required> <input type="text" class="form-control" name="name" value="<?php echo $category_name; ?>" required>
</div> </div>
<div class="form-group"> <label>Color <strong class="text-danger">*</strong></label>
<label>Type <strong class="text-danger">*</strong></label> <div class="form-row">
<select class="form-control select2" name="type" required>
<?php foreach($category_types_array as $category_type_select) { ?> <?php
<option <?php if($category_type == $category_type_select) { echo "selected"; } ?>><?php echo $category_type_select; ?></option>
<?php } ?> foreach($colors_diff as $color) {
</select> ?>
</div> <div class="col-3 mb-3">
<div class="form-check">
<div class="form-group"> <input class="form-check-input" type="radio" name="color" value="<?php echo $color; ?>" <?php if($category_color == $color){ echo "checked"; } ?>>
<label>Color <strong class="text-danger">*</strong></label> <label class="form-check-label">
<input type="color" class="form-control col-md-2" name="color" value="<?php echo $category_color; ?>"> <i class="fa fa-fw fa-3x fa-circle" style="color:<?php echo $color; ?>"></i>
</label>
</div>
</div>
<?php } ?>
</div> </div>
</div> </div>

View File

@@ -61,6 +61,29 @@ $config_stripe_enable = $row['config_stripe_enable'];
$config_stripe_publishable = $row['config_stripe_publishable']; $config_stripe_publishable = $row['config_stripe_publishable'];
$config_stripe_secret = $row['config_stripe_secret']; $config_stripe_secret = $row['config_stripe_secret'];
$colors_array = array(
'green',
'olive',
'yellowgreen',
'lime',
'blue',
'darkblue',
'cadetblue',
'cyan',
'purple',
'indigo',
'magenta',
'red',
'crimson',
'indianred',
'pink',
'orange',
'teal',
'black',
'gray-dark',
'gray'
);
$net_terms_array = array( $net_terms_array = array(
'0'=>'On Reciept', '0'=>'On Reciept',
'7'=>'7 Days', '7'=>'7 Days',