Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'develop' into chore/tailwind-css-added
Browse files Browse the repository at this point in the history
Aunshon authored Feb 28, 2024
2 parents be2d6d1 + b631a1a commit 4829b77
Showing 319 changed files with 18,839 additions and 18,803 deletions.
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ trim_trailing_whitespace = false

[{.jshintrc,*.json,*.yml,*.js,*.less}]
indent_style = space
indent_size = 2
indent_size = 4

[{*.txt,wp-config-sample.php}]
end_of_line = lf
Original file line number Diff line number Diff line change
@@ -1,26 +1,42 @@
name: End-to-End Tests Lite
name: E2E_API Tests

on:
# workflow will run daily at 8:00 AM BDT (2:00 AM UTC)
schedule:
- cron: '0 8 * * *'
- cron: '0 2 * * *'
# workflow will trigger on pull request
pull_request:
branches: [develop]
# workflow will trigger on push to develop branch
push:
branches:
- develop
branches: [develop]

# workflow can be manually triggered
workflow_dispatch:
inputs:
testsuite:
description: Choose which test suite to run
default: All
type: choice
options:
- E2E
- API
- All

# Cancels all previous workflow runs for pull requests that have not completed.
concurrency:
# The concurrency group contains the workflow name and the branch name for pull requests or the commit hash for any other events.
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: true

# workflow permissions
permissions:
checks: write
contents: read
contents: write
issues: write
pull-requests: write

# workflow environment variables
env:
ADMIN: admin
ADMIN_PASSWORD: password
@@ -39,33 +55,31 @@ env:
DB_PREFIX: wp
PR_NUMBER: ${{ github.event.number }}
SHA: ${{ github.event.pull_request.head.sha }}
SYSTEM_INFO: ./tests/pw/systemInfo.json
SYSTEM_INFO: ./tests/pw/playwright/systemInfo.json
API_TEST_RESULT: ./tests/pw/playwright-report/api/summary-report/results.json
E2E_TEST_RESULT: ./tests/pw/playwright-report/e2e/summary-report/results.json
API_COVERAGE: ./tests/pw/playwright-report/api/coverage-report/coverage.json

jobs:
tests:
name: e2e tests
name: e2e_api tests
runs-on: ubuntu-latest
# strategy:
# fail-fast: false

steps:
- name: Checkout testing repo
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Use desired version of NodeJS
if: success()
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: '16'
cache: 'npm'

- name: Composer install and build (Dokan-lite)
if: success()
run: |
composer install --no-dev
composer dump-autoload -o
composer install --no-dev -o
- name: Npm install and build (Dokan-lite)
if: success()
@@ -74,12 +88,19 @@ jobs:
npm run build
# Install test dependencies
- name: Install dependencies
- name: Install test dependencies
if: success()
run: |
cd tests/pw
npm ci
# Create wp debuglog file
- name: Create wp debuglog file
if: success()
run: |
cd tests/pw
mkdir -p wp-data && touch wp-data/debug.log
# Start wordpress environment
- name: Start WordPress Env
id: wp-env
@@ -102,7 +123,6 @@ jobs:
run: |
cd tests/pw
echo "The value of test DB_PORT is ${{ env.DB_PORT }}"
echo "The value of test DB_PORT is ${{ env.GMAP }}"
# Set permalink structure
- name: Set Permalink structure
@@ -130,7 +150,7 @@ jobs:
- name: Cache playwright binaries
id: playwright-cache
if: success()
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.cache/ms-playwright
@@ -146,10 +166,17 @@ jobs:
cd tests/pw
npm run pw:browser-with-deps
# # Install only the OS dependencies if cache hit not needed
# - name: Install Playwright OS dependencies
# if: steps.playwright-cache.outputs.cache-hit == 'true'
# run: |
# cd tests/pw
# npm run pw:deps-only

# Run e2e tests
- name: 🧪 Running the e2e tests
id: e2e-test
if: steps.pw-install.outcome == 'success'
if: success() || ( success() && (github.event_name == 'workflow_dispatch' && (github.event.inputs.testsuite == 'E2E' || github.event.inputs.testsuite == 'All')))
timeout-minutes: 40
run: |
cd tests/pw
@@ -158,7 +185,7 @@ jobs:
# Run API tests
- name: 🧪 Running the api tests
id: api-test
if: always()
if: always() && steps.db-port.outcome == 'success' || ( always() && steps.db-port.outcome == 'success' && (github.event_name == 'workflow_dispatch' && (github.event.inputs.testsuite == 'API' || github.event.inputs.testsuite == 'All')))
timeout-minutes: 5
run: |
cd tests/pw
@@ -167,41 +194,50 @@ jobs:
# Prepare test summary
- name: Prepare test summary
id: prepare-test-summary
uses: actions/github-script@v6
uses: actions/github-script@v7
if: always()
with:
result-encoding: string
script: |
const script = require("./tests/pw/utils/gitTestSummary.ts")
return await script({github, context, core})
# Find PR comment
- name: Find PR comment by github-actions[bot]
uses: peter-evans/find-comment@v2
id: find-comment
if: github.event_name == 'pull_request'
with:
issue-number: ${{ github.event.pull_request.number }}
comment-author: 'github-actions[bot]'
body-includes: Tests Summary

# Post test summary as PR comment
- name: Create or update PR comment
uses: peter-evans/create-or-update-comment@v2
if: github.event_name == 'pull_request'
with:
comment-id: ${{ steps.find-comment.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
body: ${{ steps.prepare-test-summary.outputs.result }}
edit-mode: replace
# # Find PR comment
# - name: Find PR comment by github-actions[bot]
# uses: peter-evans/find-comment@v3
# id: find-comment
# if: github.event_name == 'pull_request'
# with:
# issue-number: ${{ github.event.pull_request.number }}
# comment-author: 'github-actions[bot]'
# body-includes: Tests Summary

# # Post test summary as PR comment
# - name: Create or update PR comment
# uses: peter-evans/create-or-update-comment@v4
# if: github.event_name == 'pull_request'
# with:
# comment-id: ${{ steps.find-comment.outputs.comment-id }}
# issue-number: ${{ github.event.pull_request.number }}
# body: ${{ steps.prepare-test-summary.outputs.result }}
# reactions: hooray
# edit-mode: replace

# Backup Database
- name: Backup Database
if: success()
run: |
cd tests/pw
npm run wp-env run tests-cli wp db export wp-data/db.sql
# Upload artifacts
- name: Archive test artifacts (screenshots, HTML snapshots, Reports)
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: always()
with:
name: test-artifact
path: |
tests/pw/wp-data
tests/pw/playwright
tests/pw/playwright-report
if-no-files-found: ignore
62 changes: 58 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -3,11 +3,11 @@
**Donate Link:** http://tareq.co/donate/
**Tags:** WooCommerce multivendor marketplace, multi vendor marketplace, multi seller store, multi-vendor, multi seller, commissions, multivendor, marketplace, product vendors, woocommerce vendor, commission rate, e-commerce, woocommerce, ebay, ecommerce.
**Requires at least:** 5.6
**Tested up to:** 6.3.2
**Tested up to:** 6.4.3
**WC requires at least:** 5.0.0
**WC tested up to:** 8.2.1
**Requires PHP:** 7.3
**Stable tag:** 3.9.1
**WC tested up to:** 8.5.2
**Requires PHP:** 7.4
**Stable tag:** 3.9.9
**License:** GPLv2 or later
**License URI:** http://www.gnu.org/licenses/gpl-2.0.html

@@ -338,6 +338,60 @@ A. Just install and activate the PRO version without deleting the free plugin. A

## Changelog ##

### v3.9.9 ( Feb 12, 2024 ) ###

- **new:** Added PHP 8.2 support
- **fix:** Fixed an issue where the Dokan seller setup wizard does not display a warning message when a seller fails to provide the state for a country that has a state.
- **fix:** Vendor setup wizard issue [#1976] - Properly closed the style tag in the Store Setup step to avoid conflicts with customizations.
- **fix:** Fixed a bug in the store-lists-filter.php template that used the wrong escaping function for the placeholder attribute. [#1984]
- **fix:** Withdrawal class check-in Templates/Withdraw.php.
This fixes a fatal error that could occur when creating a withdrawal request with cache-enabled sites.
- **fix:** The `Share Essentials` field’s description was missing from the Dokan admin setup wizard. This pull request fixes an issue where the description field was not showing up in the Dokan admin setup wizard. It also adds a new hook and admin options to store the `Share Essentials` settings.
- **fix:** Fixed an issue where the sub-orders disappear from the WooCommerce order lists page when orders are filtered by a specific vendor or by sub-order ID when the HPOS feature is enabled.
- **update:** Added validation for bank payments and address data in Dokan Seller Setup Wizard.

### v3.9.8 ( Jan 30, 2024 ) ###

- **fix:** Updated Appsero Client SDK library to version 2.0.2 which will fix a security issue with the previous version of the library and a fatal error caused by the library.

### v3.9.7 ( Jan 29, 2024 ) ###

- **update:** Added WooCommerce Cart and Checkout Block supports for Dokan Lite
- **fix:** Fixed an issue where the vendor’s store map address was not saved during vendor setup wizard configuration
- **fix:** Some links under the vendor dashboard weren't working properly due to a nonce mismatch. With this release, those issues have been fixed.
- **fix:** Fixed an issue where the valid store name required check was missing from the customer-to-vendor migration form.
- **fix:** Fixed an issue where the customer buys digital and physical products from different vendors, shipping charges are applied separately to each vendor.
- **fix:** Fixed some translation-related issues with the date range picker
- **fix:** Fixed some translation-related issues with Dokan Sweetalert


### v3.9.6 ( Jan 11, 2024 ) ###

- **new** Features: Withdraw Charge
Dokan has introduced a new feature that allows the admin to set a withdrawal charge for vendors. This charge can be either a flat rate or a percentage of the withdrawal amount based on the payment gateway used. The charge will be reflected in the details report, and vendors can see how many charges will apply when they request a withdrawal. The vendor dashboard list will also show the charge and receivable amount. This feature provides greater flexibility and transparency in managing vendor withdrawals.

### v3.9.5 ( Dec 28, 2023 ) ###

- **fix:** API request on get all orders returns empty results for the endpoint http://dev.test/wp-json/dokan/v1/orders due to default customer id was set to 0.

### v3.9.4 ( Dec 12, 2023 ) ###

- **fix:** Fixed an issue where the Vendor class shop_data persistence is broken on save()
- **fix:** Fixed a fatal error while trying to edit a subscription under WordPress Admin Panel → WooCommerce → Subscription menu of the WooCommerce Subscription Plugin.
- **fix:** Toggle Sub-Orders and Show Sub-Orders buttons are not working if HPOS feature is disabled.

### v3.9.3 ( Nov 30, 2023 ) ###

- **fix:** Fixed an issue where the Tab fields under the product Add/Edit page don’t display predefined tags until users start typing to select tags.

### v3.9.2 ( Nov 13, 2023 ) ###

- **new:** A new email template has been introduced named Dokan Vendor Product Review. After a product has been reviewed, an email containing information about the review is sent to the vendor. The email includes details such as the reviewer’s name, product name, review rating, and text. The email also contains a link to the review page where the vendor can view the review and respond if necessary.
- **update:** Display a non-purchasable notice for the vendor’s own products.
- **fix:** [RestAPI] Fixed an issue where getting a single order via API gives an 'invalid ID' error If the compatibility mode isn't enabled for the HPOS feature on WooCOmmerce Order data storage settings
- **fix:** [ProductReview] Previously the email notification sent by WordPress when a review was added to a product, was sent to the product owner. This was wrong in the context of a marketplace. Because the email sent by WordPress includes some sensitive information, like the admin dashboard URL, customer email address, etc. With these changes, we are making sure that only the marketplace admin gets the new review emails sent by WordPress.
- **fix:** Previously, there was an issue where selecting “All,” then “None,” and subsequently “All” again didn’t function as expected. This occurred on the vendor product edit page for simple products, specifically within the Attributes section. However, following this update, all special cases of the “Select All” feature now work flawlessly.

### v3.9.1 ( Oct 17, 2023 ) ###

- **update:** Removed flaticon packages and replace used icons with fontAwesome icons. This will reduce the plugin zip size.
3 changes: 3 additions & 0 deletions assets/css/setup-no-wc-style.css
Original file line number Diff line number Diff line change
@@ -385,6 +385,9 @@ body {
width: 100%;
height: 300px;
}
span.required {
color: #e2401c;
}
.wc-return-to-dashboard {
text-align: center;
display: block;
3 changes: 3 additions & 0 deletions assets/css/setup.css
Original file line number Diff line number Diff line change
@@ -256,4 +256,7 @@
width: 100%;
height: 300px;
}
span.required {
color: #e2401c;
}

57 changes: 57 additions & 0 deletions assets/css/vue-admin.css
Original file line number Diff line number Diff line change
@@ -2110,6 +2110,63 @@ ul[data-v-525b077c] {
}
}

.combine_fields[data-v-14248927] {
display: flex;
justify-content: right;
align-items: center;
}
.combine_fields .percent_fee[data-v-14248927] {
padding-right: 10px;
}
.combine_fields .fixed_fee input[data-v-14248927],
.combine_fields .percent_fee input[data-v-14248927] {
width: 100px;
}

.wm-box-container[data-v-31bb288b] {
display: flex;
flex-direction: column;
}
.wm-box-container .wm-methods-box-container[data-v-31bb288b] {
margin-top: 15px;
}
.wm-box-container .wm-methods-box-container .wm-methods-box[data-v-31bb288b] {
border-bottom: 1px solid #f3f4f6;
padding: 0 30px;
display: flex;
justify-content: space-between;
align-items: center;
}
.wm-box-container .wm-methods-box-container .wm-methods-box[data-v-31bb288b]:last-child {
border-bottom: 0;
}
.wm-box-container .wm-methods-box-container .wm-methods-box .wm-method[data-v-31bb288b] {
display: flex;
align-items: center;
}
.wm-box-container .wm-methods-box-container .wm-methods-box .wm-charges[data-v-31bb288b] {
display: flex;
align-items: center;
}
.wm-box-container .wm-methods-box-container .wm-methods-box .wm-charges .wm-automated[data-v-31bb288b] {
border: 1px solid #dbdbdb;
color: #838181;
padding: 5px 8px;
border-radius: 12px;
background: #f5f5f6;
}
@media only screen and (max-width: 782px) {
.wm-box-container .wm-methods-box-container .wm-methods-box[data-v-31bb288b] {
flex-direction: column;
justify-content: start;
align-items: start;
}
.wm-box-container .wm-methods-box-container .wm-methods-box .wm-charges[data-v-31bb288b] {
margin-left: -20px;
margin-bottom: 20px;
}
}

span.repeatable-item-description {
color: #999;
font-size: 11px;
2 changes: 1 addition & 1 deletion assets/js/dokan-promo-notice.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion assets/js/dokan.js

Large diffs are not rendered by default.

Loading

0 comments on commit 4829b77

Please sign in to comment.