Skip to content

Commit 9259046

Browse files
Merge branch 'krayin:2.1' into script/campaign
2 parents f985089 + d65b8c4 commit 9259046

File tree

48 files changed

+3537
-3725
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+3537
-3725
lines changed

CHANGELOG.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,95 @@
1+
## **v2.1.5 (19 of Sep 2025)** - *Release*
2+
3+
* #2355[fixed] db_prefix support — installation and dashboard now function as expected
4+
5+
## **v2.1.4 (16 of Sep 2025)** - *Release*
6+
7+
* #2355[fixed] Improved database setup compatibility—now supports longer table prefixes during installation.
8+
9+
* #2328[fixed] Enhanced IMAP integration to ensure all incoming emails are reliably received.
10+
11+
## **v2.1.3 (02 of Sep 2025)** - *Release*
12+
13+
* #2236[fixed] Save button now responsive when linking email to lead during lead creation.
14+
15+
* #2211[fixed] Contact number validation works correctly when a custom checkbox attribute (like Gender) is added for Person.
16+
17+
* #2242[fixed] Translation string added in Attributes filter panel.
18+
19+
* #2271[fixed] At least one pipeline must be marked as "Is Default" to ensure proper lead management.
20+
21+
* #2269[fixed] Lookup attribute for Person entity works correctly with bulk-uploaded data via Data Transfer.
22+
23+
* #2170[fixed] Organization name now updates correctly in Person record after save in Contact → Person.
24+
25+
* #2245[fixed] Webhook sends parameter data to endpoint successfully.
26+
27+
* #2246[fixed] Webhook triggers correctly when nested JSON data is entered in JSON field.
28+
29+
* #2260[fixed] Duplicate pipeline names are no longer allowed.
30+
31+
* #2244[fixed] Header key updated to "Content-Type" in Webhook configuration.
32+
33+
* #2241[fixed] Non-admin users with dashboard access but without roles/users permission no longer get redirected to 401.
34+
35+
* #2238[fixed] User creation shortcut opens the create user page directly.
36+
37+
* #2234[fixed] Lead is created in the selected pipeline instead of always default pipeline.
38+
39+
* #2247[closed] Attribute type change and "Is Unique" option for custom attributes behave as intended.
40+
41+
* #1916[fixed] Overlay in Name and Organization fields on Person view page removed.
42+
43+
* #2322[fixed] Lost reason now visible in the activity log when opportunity is marked as "Lost".
44+
45+
* #2314[fixed] Currency displays consistently across Dashboard and throughout CRM.
46+
47+
* #2293[fixed] Contact name input is fully visible in Workflow Action UI.
48+
49+
* #2294[fixed] Salesperson name is fully visible in Workflow Action search dropdown.
50+
51+
* #2301[fixed] `closed_at` date format displays correctly in Lead activity timeline.
52+
53+
* #2300[fixed] Mega Search includes Configuration and Settings modules.
54+
55+
* #2303[fixed] Lead stage change via Kanban drag & drop prompts for required Won/Lost fields.
56+
57+
* #2304[fixed] Duplicate translation key for campaigns removed from Arabic language file (`ar/app.php`).
58+
59+
* #2307[fixed] Event cannot be deleted if associated with a campaign where event is required.
60+
61+
* #2312[fixed] Selected file is visible on Import Edit page.
62+
63+
* #2278[fixed] Groups associated with users cannot be deleted.
64+
65+
* #2291[fixed] Clear error message is shown when deleting a source.
66+
67+
* #2290[fixed] Filters for Source and Lead Type work correctly in Lead list view.
68+
69+
* #2295[fixed] In Leads, when marked as Won, `closed_at` saves the correct date.
70+
71+
* #2230[fixed] Leads graph no longer displays duplicate yearly data when selecting multi-year date range.
72+
73+
* #2282[fixed] Duplicate email template names are no longer allowed.
74+
75+
* #2256[fixed] Lead is not created from Webform submission when "Create Lead" option is disabled.
76+
77+
* #2283[fixed] Duplicate email template cannot be created via POST `/api/v1/settings/email-templates`.
78+
79+
* #2243[fixed] Leads Board View search placeholder updated to "Search by Title".
80+
81+
* #2146[fixed] "Filter by Tag" option added in Products filter panel.
82+
83+
* #2153[fixed] Dashboard restricts future date ranges to avoid empty/no data.
84+
85+
* #2158[fixed] Quote creation from lead negotiation stage redirects correctly within lead context.
86+
87+
* #2168[fixed] "Expired Quote" column in Quotes table displays date without unnecessary time.
88+
89+
* #2141[fixed] Group input field is no longer mandatory when creating a new user.
90+
91+
* #2275[fixed] Users cannot view or assign non-group users as Sales Owner in Persons, Leads, Organizations, and Quotes.
92+
193
## **v2.1.2 (16 of May 2025)** - *Release*
294

395
* #2172[fixed] Cleaned up unnecessary label-value JSON from Email and Contact columns in export.

composer.lock

Lines changed: 35 additions & 35 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/Webkul/Activity/src/Database/Migrations/2025_01_17_151632_alter_activities_table.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,16 @@ public function up()
3030
public function down()
3131
{
3232
Schema::table('activities', function (Blueprint $table) {
33+
$tablePrefix = DB::getTablePrefix();
34+
3335
// Disable foreign key checks temporarily.
3436
DB::statement('SET FOREIGN_KEY_CHECKS=0');
3537

3638
// Drop the foreign key constraint using raw SQL.
37-
DB::statement('ALTER TABLE activities DROP FOREIGN KEY activities_user_id_foreign');
39+
DB::statement('ALTER TABLE '.$tablePrefix.'activities DROP FOREIGN KEY activities_user_id_foreign');
3840

3941
// Drop the index.
40-
DB::statement('ALTER TABLE activities DROP INDEX activities_user_id_foreign');
42+
DB::statement('ALTER TABLE '.$tablePrefix.'activities DROP INDEX activities_user_id_foreign');
4143

4244
// Change the column to be non-nullable.
4345
$table->unsignedInteger('user_id')->nullable(false)->change();

packages/Webkul/Activity/src/Repositories/ActivityRepository.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,8 @@ public function update(array $data, $id, $attribute = 'id')
119119
*/
120120
public function getActivities($dateRange)
121121
{
122+
$tablePrefix = \DB::getTablePrefix();
123+
122124
return $this->select(
123125
'activities.id',
124126
'activities.created_at',
@@ -127,7 +129,7 @@ public function getActivities($dateRange)
127129
'activities.schedule_to as end',
128130
'users.name as user_name',
129131
)
130-
->addSelect(\DB::raw('IF(activities.is_done, "done", "") as class'))
132+
->addSelect(\DB::raw('IF('.$tablePrefix.'activities.is_done, "done", "") as class'))
131133
->leftJoin('activity_participants', 'activities.id', '=', 'activity_participants.activity_id')
132134
->leftJoin('users', 'activities.user_id', '=', 'users.id')
133135
->whereIn('type', ['call', 'meeting', 'lunch'])

packages/Webkul/Admin/src/DataGrids/Product/ProductDataGrid.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ public function prepareQueryBuilder(): Builder
2727
'products.price',
2828
'tags.name as tag_name',
2929
)
30-
->addSelect(DB::raw('SUM(product_inventories.in_stock) as total_in_stock'))
31-
->addSelect(DB::raw('SUM(product_inventories.allocated) as total_allocated'))
32-
->addSelect(DB::raw('SUM(product_inventories.in_stock - product_inventories.allocated) as total_on_hand'))
30+
->addSelect(DB::raw('SUM('.$tablePrefix.'product_inventories.in_stock) as total_in_stock'))
31+
->addSelect(DB::raw('SUM('.$tablePrefix.'product_inventories.allocated) as total_allocated'))
32+
->addSelect(DB::raw('SUM('.$tablePrefix.'product_inventories.in_stock - '.$tablePrefix.'product_inventories.allocated) as total_on_hand'))
3333
->groupBy('products.id');
3434

3535
if (request()->route('id')) {

packages/Webkul/Admin/src/Helpers/Reporting/Lead.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ public function getOverTimeStats($startDate, $endDate, $valueColumn, $dateColumn
360360
->select(
361361
DB::raw("$groupColumn AS date"),
362362
DB::raw('COUNT(DISTINCT id) AS count'),
363-
DB::raw("SUM($valueColumn) AS total")
363+
DB::raw('SUM('.\DB::getTablePrefix()."$valueColumn) AS total")
364364
)
365365
->whereIn('lead_pipeline_stage_id', $this->stageIds)
366366
->whereBetween($dateColumn, [$startDate, $endDate])

packages/Webkul/Admin/src/Http/Controllers/Configuration/ConfigurationController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public function download()
6868
}
6969

7070
/**
71-
* Display a listing of the resource.
71+
* Search for configurations.
7272
*/
7373
public function search(): JsonResponse
7474
{

0 commit comments

Comments
 (0)