This project contains 3 parts.
- Admin Home Page. Made by Laravel
- API Endpoint. Made by Node.js
- Payfort. Payment Integration.
Admin/admin/views/StoreCategories/Category.php
Add BackgroundImage File Tag.
<img src="" style="width: 35px; height: 35px; display: none;" class="backgroundImage style_prevu_kit">
###Upload to AWS
Admin/admin/view/StoreCategories/Category.php
Module: $(":file").on("change", function(e)
$(":file").on("change", function (e) {
switch ($(this).attr('id'))
{
...
case "background_image":
type = 8; //background image
folderName = 'backgroundImages'
break;
}
$.ajax({
url: "<?php echo base_url('index.php?/Common') ?>/uploadImagesToAws",
type: "POST",
data: form_data,
dataType: "JSON",
async: false,
success: function (result) {
switch (type)
{
...
case 8:
$('#backgroundImage').val(result.fileName);
$('.backgroundImage').attr('src', result.fileName);
$('.backgroundImage').show();
break;
}
},
}
});
Admin/admin/view/StoreCategories/Category.php
$('#insert').click(function () {
var form_data1 = new FormData();
...
form_data1.append('backgroundImage',backgroundimg);
...
$.ajax({
url: "<?php echo base_url('index.php?/StoreCategoryController/operationCategory') ?>/insert",
type: 'POST',
data: form_data1,
...
});
}
api/web/commonModels/store/categories/get.js
Module: storeCategoryHandler
const storeCategoryHandler = (request, reply) => {
...
result[j].backgroundImage = result[j].backgroundImage ? result[j].backgroundImage : "";
##1. Central product category
###View Changes
Admin/admin/Superadmin/application/views/Category/category.php
Add Commission Toggle Button and Text
<input id="editcommissionCheck" class="cmn-toggle cmn-toggle-round" type="checkbox" style="display: none;" >
<label for="editcommissionCheck"></label>
<br/>
<div class = "col-sm-6" id="editcommissionText" style="display:none">
<input type="text" class="form-control error-box" id="editcommission" name="commission" minlength="3" placeholder="Enter Commission Value" required="">
Admin/admin/Superamin/application/controllers/Category.php
Module: operation
public function operationCategory($param = '', $status = '') {
switch ($param) {
case 'insert':$this->StoreLevelCategorymodal->insertCategory();
break;
case 'edit': $this->StoreLevelCategorymodal->editCategory();
break;
Admin/admin/Superadmin/application/models/Categorymodal.php
Add New Fileds:
- commissionEnable: 0(no), 1(yes)
- commissionValue: commission value (40)
Modules:
- insertCategory(): insert commissionEnable and commissionValue fields
- editCategory(): edit commissionEnable and commissionValue
Edit Store Product
Admin/admin/Superadmin/application/views/storeProductCategory/Cagegory/category.php
Add
Admin/admin/Superadmin/application/controllers/ProductCategory.php
Module: operationCategory()
public function operationCategory($param = '', $status = '') {
switch ($param) {
case 'insert':$this->StoreLevelCategorymodal->insertCategory();
break;
case 'edit': $this->StoreLevelCategorymodal->editCategory();
break;
Admin/admin/Superadmin/application/models/StoreLevelCategoryModal.php
Add New Fileds:
-
commissionEnable: 0(no), 1(yes)
-
commissionValue: commission value (40)
###View Changes
Edit/Add Central Product
Admin/admin/Superadmin/application/view/Products/editProducts.php
Admin/admin/Superadmin/application/view/Products/AddNewProducts.php
Add Commission Toggle Button and Text
<input id="editcommissionCheck" class="cmn-toggle cmn-toggle-round" type="checkbox" style="display: none;" >
<label for="editcommissionCheck"></label>
<br/>
<div class = "col-sm-6" id="editcommissionText" style="display:none">
<input type="text" class="form-control error-box" id="editcommission" name="commission" minlength="3" placeholder="Enter Commission Value" required="">
Admin/admin/Superamin/application/controllers/AddNewProducts.php
Module: operation()
public function operations($operation = '',$id = '') {
switch ($operation) {
case 'getCommission':$this->ProductsModel->getCommission();
break;
case 'commissionUpdate':$this->ProductsModel->commissionUpdate();
break;
case 'commissionEnable':$this->ProductsModel->commissionEnable();
}
}
Admin/admin/Superadmin/application/models/ProductsModel.php
Add New Fileds:
- commissionEnable: 0(no), 1(yes)
- commissionValue: commission value (40)
Add New Modules:
- getCommission(): get commissionEnable and commissionVale
- commissionUpdate(): update commissionValue
- commissionEnable(): update commissionEnable
###View Changes
Admin/admin/Superadmin/application/view/Products/storeProducts.php
Add Commission Enable Toggle Button and Commission Value Edit Modal Dialog
<div class="modal fade" id="commissionSettingsPopUp" role="dialog">
Admin/admin/Superamin/application/controllers/AddNewProducts.php
Module: operation()
public function operations($operation = '',$id = '') {
switch ($operation) {
case 'getCommission':$this->ProductsModel->getCommission();
break;
case 'commissionUpdate':$this->ProductsModel->commissionUpdate();
break;
case 'commissionEnable':$this->ProductsModel->commissionEnable();
}
}
Admin/admin/Superadmin/application/models/ProductsModel.php
Add New Fileds:
- commissionEnable: 0(no), 1(yes)
- commissionValue: commission value (40)
Add New Modules:
- getCommission(): get commissionEnable and commissionVale
- commissionUpdate(): update commissionValue
- commissionEnable(): update commissionEnable
/driver/bookingStatusRide
api/web/routes/driver/booking/statusRide/post.js
Module: chargeCustomer():
Calculate commission value according to product, product category, store commission value
Api/web/commonModels/accounting/accounting.js
Module: calculate()
Calculate commission value according to product, product category, store commission value
Admin/admin/Superadmin/application/views/app_confi.php
Add Delay Time Setting input
Admin/admin/Superadmin/application/models/Superadminmodal.php
Add delayDisplayTime fields to appConfig table
-
Module: updateAppConfigNew()
-
Update delayDisplayTime value
Admin/admin/Superadmin/application/models/OrdersModel.php
Module: datatableOrders()
- Get delayDisplayTime value from appConfig and display new order to delay
api/models/orders/orders.js
Module: getAllOrders()
- Get delayDisplayTime value from appConfig and display new order to delay